@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Lexend:wght@400;500;600&family=Momo+Trust+Display&display=swap');
:root{--ink:#0e4d4b;--gold:#c8a24a;--sky:#d6e0e4;--paper:#fafaf8;--panel:#f5f5f3;--text:#1a1a1a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--text);font:16px/1.7 Inter,Arial,sans-serif}a{color:inherit}button,a{touch-action:manipulation}h1,h2{font-family:Lexend,sans-serif;color:var(--ink);font-weight:500;line-height:1.18;letter-spacing:-.035em}h1{font-size:clamp(38px,5vw,64px);margin:15px 0 24px}h2{font-size:32px;margin:0 0 24px}h3{font-size:20px;line-height:1.4;color:var(--ink)}p{margin:0 0 22px}.wrap{max-width:1180px;margin:auto;padding:0 40px}header{border-bottom:1px solid #0e4d4b15;background:var(--paper)}header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:104px;gap:30px}.brand{text-decoration:none;display:flex;gap:14px;align-items:center;font-size:13px;font-weight:600;letter-spacing:.08em;line-height:1.3}.brand img{width:49px;height:49px;object-fit:contain}nav{display:flex;gap:29px;font-size:14px}nav a{text-decoration:none;padding:9px 0;border-bottom:2px solid transparent}nav a.active{border-color:var(--gold);color:var(--ink)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:600;color:var(--ink)}.hero{padding:75px 0 70px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:70px}.display{font-family:'Momo Trust Display',Lexend,sans-serif;font-size:clamp(42px,5vw,66px);line-height:1.08}.lead{font-size:18px;max-width:620px;color:#535b58}.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:5px;padding:12px 22px;font-size:13px;font-weight:600;text-decoration:none}.btn.secondary{color:var(--ink);background:transparent}.btn span{color:var(--gold)}.cover-stage{position:relative;text-align:center;padding:25px 20px}.cover-stage:before{content:'';position:absolute;width:380px;height:380px;max-width:100%;background:var(--sky);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.cover-stage:after{content:'';position:absolute;width:55px;height:55px;background:var(--gold);border-radius:50%;right:3%;top:3%;z-index:-1}.cover-stage img{position:relative;max-height:420px;max-width:100%;object-fit:contain}.section{padding:64px 0}.band{background:var(--panel)}.section-top{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-bottom:28px}.section-top h2{margin:0}.text-link{font-size:13px;text-underline-offset:5px;color:var(--ink)}.book-card{display:grid;grid-template-columns:190px 1fr;gap:44px;align-items:center;max-width:800px}.book-card img{width:100%;max-height:290px;object-fit:contain}.book-card h3{font-family:Lexend;font-size:26px;margin-top:0}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.panel{background:var(--panel);padding:36px;border-radius:5px}.band .panel{background:var(--paper)}.panel h3{margin-top:0}.circle-icon{display:flex;width:48px;height:48px;border-radius:50%;align-items:center;justify-content:center;color:var(--ink);background:var(--sky);margin-bottom:22px;font-size:22px}.page-intro{padding:65px 0 44px;max-width:850px}.page-intro h1{font-size:48px}.book-hero{grid-template-columns:.8fr 1.2fr;gap:75px}.book-hero h1{font-size:48px}.subtitle{font-size:21px;color:var(--ink);font-family:Lexend;line-height:1.5}.book-body{display:grid;grid-template-columns:1.6fr 1fr;gap:65px;align-items:start}.book-body aside{position:sticky;top:30px}.list{padding-left:20px}.list li{margin-bottom:13px}.author{display:grid;grid-template-columns:100px 1fr;gap:30px;align-items:start}.monogram{width:90px;height:90px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ink);color:var(--gold);font-family:Lexend;font-size:30px}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.contact-grid a{word-break:break-word;font-size:14px}.quiet{color:#68716d;font-size:14px}.resource{display:grid;grid-template-columns:150px 1fr;gap:35px;align-items:center}.resource img{max-width:150px;max-height:200px;object-fit:contain}.notice{border-left:2px solid var(--gold);padding-left:20px;color:#5d6662}footer{background:var(--ink);color:var(--paper);padding:44px 0;margin-top:45px}footer .wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}footer a{font-size:13px;text-decoration:none}footer .links{display:flex;gap:20px;flex-wrap:wrap}.foot-small{font-size:12px;color:#d3e0dc;margin-top:25px}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:10px;background:white;padding:10px;z-index:99}@media(max-width:760px){.wrap{padding:0 22px}header .wrap{padding-top:22px;padding-bottom:18px;flex-direction:column;align-items:flex-start;gap:13px;min-height:0}nav{gap:20px;width:100%;overflow:auto;font-size:12px}.hero,.book-hero{grid-template-columns:1fr;gap:25px;padding:45px 0}.cover-stage img{max-height:310px}.cover-stage:before{width:290px;height:290px}.hero .cover-stage{order:2}.book-hero .cover-stage{order:0}.grid,.contact-grid,.book-body{grid-template-columns:1fr}.section{padding:43px 0}.book-card{grid-template-columns:110px 1fr;gap:22px}.book-card h3{font-size:21px}.page-intro h1,.book-hero h1{font-size:36px}.section-top{align-items:flex-start}.section-top h2{font-size:26px}.resource{grid-template-columns:95px 1fr;gap:22px}.resource img{max-width:95px}.panel{padding:26px}.author{grid-template-columns:70px 1fr;gap:20px}.monogram{width:65px;height:65px;font-size:23px}.book-body aside{position:static}}

/* Independent brand artwork preserves logo scale as decorative waves recede. */
header{position:relative;isolation:isolate;overflow:hidden}
header .wrap{position:relative;z-index:1;min-height:210px;padding-top:16px;padding-bottom:30px}
header .brand{flex:0 0 auto;display:block;font-size:0;max-width:100%}
header .brand .site-wordmark{display:block;width:320px;height:auto;max-width:100%;object-fit:contain}
header nav{flex-shrink:0;position:relative;isolation:isolate}
header nav::before{content:"";position:absolute;inset:-6px -14px;z-index:-1;pointer-events:none;background:rgba(255,255,255,.82);border-radius:16px;filter:blur(10px)}
.header-waves{position:absolute;z-index:0;pointer-events:none;inset:0;mix-blend-mode:multiply;background:url('/assets/ib-waves.svg') center bottom / max(1180px,100%) auto no-repeat;opacity:.8;mask-image:linear-gradient(to right,transparent 15%,#000 65%);-webkit-mask-image:linear-gradient(to right,transparent 15%,#000 65%)}
@media(max-width:900px){header .brand .site-wordmark{width:280px}header nav{gap:20px}.header-waves{opacity:.5}}
@media(max-width:760px){header .wrap{min-height:0;padding-top:16px;padding-bottom:22px;gap:12px}header .brand .site-wordmark{width:270px}header nav{flex-wrap:wrap;overflow:visible;gap:4px 20px}.header-waves{opacity:.25;mask-image:linear-gradient(to right,transparent 35%,#000);-webkit-mask-image:linear-gradient(to right,transparent 35%,#000)}}
@media(max-width:420px){.header-waves{display:none}}


/* Sky Haze supports selected fields; neutral cards retain Light Grey. */
.book-body aside.panel{background:var(--sky)}

/* Expanded catalog and author entries. */
.featured-title{font-size:clamp(40px,5vw,64px);line-height:1.1}
.book-list,.author-list{display:grid;gap:52px}
.author-photo{display:block;width:90px;height:110px;object-fit:cover;object-position:center 35%;border-radius:5px}
.author-profile{grid-template-columns:180px 1fr;gap:36px}
.author-profile .author-photo{width:180px;height:240px}
.author-aside .author-photo{width:120px;height:150px;margin-bottom:26px}
.author-aside h2{font-size:26px}.author-aside h3{margin-top:0}
.author-aside p{font-size:15px}
@media(max-width:760px){.author-photo{width:65px;height:85px}.author-profile{grid-template-columns:1fr;gap:24px}.author-profile .author-photo{width:150px;height:200px}.book-list,.author-list{gap:38px}}

/* Paper-size choices and shared resource groups. */
.resource-downloads{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.resource-downloads .btn{gap:12px;text-align:left;font-size:14px}
.book-body aside .resource-downloads{display:grid}
.book-body aside h2{font-size:26px}
.book-resources{margin-top:48px;padding-top:16px}
.resource-note,.book-resource-jump{margin-top:20px}
.resource-group{margin-bottom:30px}
.resource-group h2{font-size:26px}
.author-name{text-decoration:none}
.entity-image-link{display:block;width:fit-content;max-width:100%}
.cover-stage .entity-image-link{position:relative;margin:auto}
.book-title-link{text-underline-offset:4px}
h1 .book-title-link,h2 .book-title-link,h3 .book-title-link{text-decoration:none}
h1 .book-title-link:hover,h2 .book-title-link:hover,h3 .book-title-link:hover{text-decoration:underline}
section[id]{scroll-margin-top:24px}
@media(max-width:760px){.resource-group .resource{grid-template-columns:1fr}.resource-group .resource>img{max-width:110px}.resource-downloads{flex-direction:column;align-items:flex-start}.resource-downloads .btn{max-width:100%}}

/* Book contents, samples and publication details. */
.book-content-section{max-width:800px;padding:38px 0}
.book-body-solo{grid-template-columns:minmax(0,800px)}
.book-section-links{display:flex;flex-wrap:wrap;gap:14px 22px;margin-top:24px}
.sample-panel{padding:36px;background:var(--sky);border-radius:5px;margin:12px 0 36px}
.sample-panel .eyebrow{margin-bottom:14px}
.sample-panel h2{font-size:28px;line-height:1.3}
.contents-group,.contents-chapters li{display:flex;justify-content:space-between;align-items:baseline;gap:24px}
.contents-group{font:600 19px/1.5 Inter,Arial,sans-serif;margin:28px 0 12px}
.contents-chapters{list-style:none;margin:0;padding:0 0 0 20px}
.contents-chapters li{margin:0 0 12px}
.contents-page{flex-shrink:0;font-variant-numeric:tabular-nums;color:var(--ink)}
.book-facts{margin:0;background:var(--panel);padding:24px 28px;border-radius:5px}
.book-facts>div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px;padding:12px 0}
.book-facts dt{font-weight:600;color:var(--ink)}
.book-facts dd{margin:0;overflow-wrap:anywhere}
.workbook-guidance{margin:18px 0 24px}
.workbook-guidance summary{cursor:pointer;color:var(--ink);font-weight:600;text-underline-offset:4px}
.workbook-guidance[open] summary{margin-bottom:18px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
@media(max-width:760px){.book-content-section{padding:28px 0}.sample-panel{padding:26px;margin:8px 0 24px}.book-facts{padding:18px 22px}.book-facts>div{grid-template-columns:1fr;gap:4px}.contents-chapters{padding-left:12px}.contents-group,.contents-chapters li{gap:14px}.contents-group{font-size:18px}}

/* Reader questions share the sample panel's quiet emphasis. */
.story-callout h3{font-family:Lexend,sans-serif;font-size:26px;font-weight:500;line-height:1.3;margin:0 0 22px}
.story-questions{list-style:none;padding:0;margin:0}
.story-questions li{position:relative;padding-left:23px;margin:0 0 14px}
.story-questions li:last-child{margin-bottom:0}
.story-questions li::before{content:"";position:absolute;left:0;top:.55em;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid var(--ink)}

/* Full-width companion workbook band, with copy and stacked downloads. */
.workbook-band{background:var(--ink);color:var(--paper);padding:64px 0;margin:36px 0}
.workbook-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:80px;align-items:start}
.workbook-band h2,.workbook-band .text-link{color:var(--paper)}
.workbook-copy p:last-child{margin-bottom:0}
.workbook-downloads{padding-top:8px}
.workbook-downloads .resource-downloads{display:flex;flex-direction:column;align-items:stretch;margin-top:24px}
.workbook-band .btn.secondary{color:var(--paper);border-color:var(--paper);justify-content:space-between;width:100%;background:transparent}
.workbook-band .btn span{color:var(--gold)}
.workbook-band .btn:hover{background:#fafaf814}
.workbook-band a:focus-visible{outline-color:var(--paper)}
.workbook-band .resource-note{margin:24px 0 0}
.studios-imprint{margin-top:30px}
.collection-jumps{display:flex;flex-wrap:wrap;gap:12px 24px;width:100%;overflow:visible;margin:0 0 48px}
.collection-jumps a{display:inline-flex;align-items:center;gap:10px;padding:8px 0;color:var(--ink);text-underline-offset:5px}
.collection-count{font-size:11px;background:var(--sky);border-radius:50%;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}
.studios-group{padding:30px 0 42px}
/* Previous desktop card: (1180px wrapper - 80px padding - 26px gap) / 2 = 537px. New minimum: 537px × 0.8 = 429.6px. */
.studios-page>.wrap{max-width:none}
.studios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,429.6px),1fr));gap:26px}
.studios-card{display:flex;flex-direction:column;min-width:0;padding:32px}
.studios-cover{display:flex;align-items:center;justify-content:center;height:260px;margin-bottom:28px}
.studios-cover img{display:block;max-width:100%;width:auto;height:auto;max-height:260px;object-fit:contain}
.studios-card-copy{display:flex;flex-direction:column;flex:1}
.studios-card .eyebrow{margin-bottom:12px}
.studios-card h3{font-family:Lexend,sans-serif;font-size:22px;font-weight:500;margin:0 0 24px;overflow-wrap:anywhere}
.studios-card .btn{align-self:flex-start;margin-top:auto;max-width:100%;gap:16px}
.studios-intro{max-width:800px;margin-top:8px}
.studios-intro h2{font-size:30px;margin-top:14px}
@media(max-width:640px){.studios-grid{grid-template-columns:1fr;gap:22px}.studios-card{padding:26px}.studios-cover{height:240px}.studios-cover img{max-height:240px}.studios-group{padding:20px 0 28px}.collection-jumps{gap:8px 20px;margin-bottom:30px}.studios-intro h2{font-size:26px}}
@media(max-width:760px){.workbook-band{padding:43px 0;margin:24px 0}.workbook-grid{grid-template-columns:1fr;gap:32px}.workbook-downloads{padding-top:0}.workbook-downloads .resource-downloads .btn{max-width:100%}}
