/* Fidelity pass: align the implemented layout with the approved v4 concept. */
@font-face{font-family:Oswald;src:url('/assets/Oswald-Variable.ttf') format('truetype');font-weight:200 700;font-display:swap}
:root{--display:Oswald,Product,"Arial Narrow",sans-serif;--paper:#faf8f3;--orange:#ef8045;--teal:#10b4bd;--teal-dark:#078e98;--ink:#092342}
body{font-size:18px;line-height:1.5}
.shell{width:min(1120px,calc(100% - 184px))}
.header-inner{min-height:72px}
.brand{font-family:Product,"Arial Narrow",sans-serif;font-size:1.9rem;gap:7px}
.brand-mark{width:56px;height:58px}
.main-nav{font-size:1rem;gap:26px}
.button{font-weight:500;font-size:1.16rem;min-height:55px;padding:13px 25px}
.button.small{font-weight:400;font-size:.94rem;min-height:44px;padding:10px 16px}
.geometry{background-color:#092a4d;background-image:linear-gradient(132deg,transparent 0 30%,#13538b30 30% 40%,transparent 40% 65%,#236aaa2e 65% 75%,transparent 75%),linear-gradient(43deg,transparent 0 22%,#041b3566 22% 34%,transparent 34% 57%,#15477435 57% 69%,transparent 69%),linear-gradient(110deg,#09213b,#0d3057)}
.hero-grid{grid-template-columns:1.1fr 1fr;gap:38px;min-height:594px;padding-block:26px}
.hero-copy>.eyebrow{margin-bottom:25px}
.eyebrow{font-size:.875rem;letter-spacing:.12em;line-height:1.35;min-width:210px;padding-bottom:8px;margin-bottom:16px}
.hero h1{font-size:3.9rem;line-height:1.08;font-weight:650;letter-spacing:-.025em}
.hero h1 span{color:#11bfc8}
.hero-intro{font-size:1.4rem;line-height:1.4;margin-top:25px;max-width:480px}
.hero-actions{margin-top:29px;gap:20px}
.formats{font-size:.92rem;margin-top:15px}
.hero-art{height:540px;width:420px;max-width:100%;position:relative;padding:0;align-self:center}
.hero-art .cover{position:absolute;top:-38px;left:0;width:100%;max-width:none;transform:none}
.section{padding:44px 0}
.why-grid{grid-template-columns:1fr 1fr;gap:58px}
h2{font-weight:650;line-height:1.1;letter-spacing:-.018em}
.why h2{font-size:2.95rem}
.why-copy{padding-top:18px}
.lead{font-size:1.15rem;line-height:1.45}
.audiences{margin-top:18px}
.audiences li{grid-template-columns:132px 1fr;gap:12px;padding:9px 0;font:400 1.06rem/1.45 var(--display)}
.audiences li strong{font:500 1.06rem/1.45 var(--display)}
.inside{background:#fffefa;padding:32px 0 20px}
.inside-heading{font-size:2.05rem;margin-bottom:18px;line-height:1.2}
.inside-grid{grid-template-columns:1.95fr 1fr;gap:30px;align-items:center}
.spread-figure{margin-inline:-16px}
.spread{box-shadow:none;background:transparent;display:block}
.spread>.open-book-image{width:100%;height:auto;max-width:100%;object-fit:contain;mix-blend-mode:multiply}
.spread-invite{font-size:.95rem;opacity:0;bottom:20px}
.spread:hover .spread-invite,.spread:focus-visible .spread-invite{opacity:1}
figcaption{font-size:.85rem;padding-top:2px;margin-left:12px;line-height:1.45}
.inside-copy>.lead{font-size:1.14rem;line-height:1.4}
.disciplines{margin:18px 0 15px}
.disciplines li{grid-template-columns:22px 58px 1fr;gap:12px;padding:15px 0;font:400 .99rem/1.4 var(--display)}
.disciplines strong,.step{font:500 .99rem/1.4 var(--display)}
.step{color:var(--ink)}
.text-link{font-weight:500;font-size:1.1rem;text-decoration:none;position:relative}
.text-link:after{content:"";height:1px;width:calc(100% - 40px);position:absolute;left:0;bottom:5px;background:currentColor}
.text-link span{font-size:1.8rem}
.author-grid{grid-template-columns:.9fr 1.2fr;gap:55px;min-height:245px}
.author-copy{padding:26px 0;max-width:500px}
.author-copy>.eyebrow{margin-bottom:9px;min-width:230px}
.author h2{font-size:2.3rem}
.author-copy>p:not(.eyebrow):not(.series-note){font-size:1.02rem;line-height:1.45;margin-top:7px}
.author-details{margin-top:6px}
.author-details summary{min-height:35px;font-weight:400;font-size:1.04rem}
.series-note{font-size:.85rem;line-height:1.4;margin-top:14px}
.author-mark{width:400px;height:405px;bottom:-113px;left:max(calc((100% - 1120px)/2 - 100px),-24px);background:#06bbc5}
.library-teaser{padding:27px 0 0}
.library-grid{grid-template-columns:1fr 1fr;gap:66px;max-height:245px}
.library-copy{padding-top:8px;padding-bottom:22px}
.library-copy h2{font-size:2.06rem}
.library-copy .lead{font-size:1.1rem;line-height:1.4;margin:12px 0 14px}
.document-preview{margin:0 0 0 10px}
.footer-inner{min-height:78px;font-size:.9rem}
.footer-brand{font-family:Product,"Arial Narrow",sans-serif;font-size:1.25rem}
.footer-inner nav{gap:22px}
.reader-dialog,.contents-dialog{font-size:16px}
.reader-note{font-size:.9rem}
.contents-part h3{font-weight:500}
.resource-meta{font-size:.85rem}
.resource-body h3{font-size:1.7rem}
.resource-body p{font-size:1rem}
@media(min-width:1500px){.hero-grid{min-height:630px}.hero-art{height:565px;width:440px;max-width:440px}.hero h1{font-size:4.1rem}}
@media(max-width:1100px) and (min-width:761px){
 .shell{width:calc(100% - 120px)}.hero-grid{gap:25px;min-height:560px;padding-block:25px}.hero-art{height:490px;width:380px;max-width:100%}.hero-art .cover{top:-30px}
 .hero h1{font-size:3.4rem}.hero-intro{font-size:1.24rem}.hero-actions{gap:14px}.hero-actions .button{font-size:1.04rem;padding-inline:19px}.why-grid{gap:45px}.why h2{font-size:2.5rem}
 .audiences li{font-size:.95rem;grid-template-columns:115px 1fr;gap:10px}.audiences li strong{font-size:.95rem}
 .inside-grid{grid-template-columns:1.8fr 1fr;gap:24px}.inside-heading{font-size:1.85rem}
 .disciplines li{font-size:.9rem;grid-template-columns:19px 52px 1fr;gap:8px;padding:13px 0}.disciplines strong,.step{font-size:.9rem}
 .author-grid{gap:40px}.author-copy{padding:23px 0}.author-mark{width:345px;height:370px;bottom:-108px;left:-12px}
 .library-grid{gap:38px;max-height:235px}.library-copy h2{font-size:1.85rem}.library-copy .lead{font-size:1rem}
}
@media(max-width:760px){
 .shell{width:calc(100% - 48px)}body{font-size:17px}.header-inner{min-height:70px}.brand{font-size:1.75rem}.brand-mark{width:46px;height:52px}.main-nav{top:70px;font-size:1.06rem}.main-nav .button{font-size:1rem}
 .hero-grid{display:grid;grid-template-columns:1fr;gap:22px;padding:30px 0 15px;min-height:0}
 .eyebrow{font-size:.77rem;letter-spacing:.11em;min-width:150px;margin-bottom:14px}
 .hero-copy>.eyebrow{font-size:.73rem;margin-bottom:22px}
 .hero h1{font-size:clamp(2.5rem,11.25vw,3.2rem);line-height:1.1;font-weight:650;letter-spacing:-.025em}
 .hero-intro{font-size:1.09rem;line-height:1.45;margin-top:21px}
 .hero-actions{margin-top:22px;gap:8px}.hero-actions .button{font-size:1.11rem;min-height:49px;font-weight:500}.hero-actions .outline{min-height:40px;font-weight:400}
 .formats{font-size:.85rem;margin-top:6px}
 .hero-art{width:min(340px,100%);max-width:none;height:425px;padding:0;position:relative}
 .hero-art .cover{top:-32px;left:0;position:absolute;transform:none}
 .section{padding:30px 0}.why-grid{grid-template-columns:1fr;gap:18px}.why h2{font-size:2.15rem}.why-copy{padding:0}
 .lead{font-size:1rem;line-height:1.45}.audiences{margin-top:18px}.audiences li{font:400 .95rem/1.45 var(--display);grid-template-columns:110px 1fr;gap:12px;padding:13px 0}.audiences li strong{font:500 .95rem/1.45 var(--display)}
 .inside{padding:30px 0}.inside-heading{font-size:1.82rem;line-height:1.2;margin-bottom:15px}.inside-grid{grid-template-columns:1fr;gap:23px}
 .spread-figure{margin-inline:-12px}.spread-invite{display:none}figcaption{font-size:.8rem;margin-left:12px;padding-top:3px}
 .inside-copy>.lead{display:none}.disciplines{margin:0 0 12px}.disciplines li{grid-template-columns:20px 61px 1fr;gap:10px;padding:15px 0;font:400 .93rem/1.45 var(--display)}.disciplines strong,.step{font:500 .93rem/1.45 var(--display)}
 .text-link{font-size:1.03rem}
 .author-grid{display:block;min-height:0}.author-copy{padding:27px 0;max-width:none}.author-copy>.eyebrow{min-width:168px;width:fit-content;max-width:65%;font-size:.76rem;margin-bottom:12px}
 .author h2{font-size:2rem}.author-copy>p:not(.eyebrow):not(.series-note){max-width:60%;font-size:.93rem;line-height:1.45;margin-top:10px}
 .author-mark{left:auto;right:-80px;bottom:-70px;width:300px;height:365px;opacity:1}
 .author-details{margin-top:7px}.author-details summary{font-size:1rem}.author-details .detail-copy{font-size:.93rem;position:relative}
 .series-note{font-size:.76rem;max-width:100%;margin-top:13px;position:relative}
 .library-teaser{padding:27px 0 0}.library-grid{grid-template-columns:1fr;gap:20px;max-height:none}
 .library-copy{padding:0}.library-copy h2{font-size:1.84rem}.library-copy .lead{font-size:.99rem;line-height:1.4;margin:10px 0 10px}
 .document-preview{margin:0;max-height:220px}.footer-inner{min-height:108px;padding:18px 0;gap:16px 10px;font-size:.85rem}.footer-inner nav{gap:18px}.footer-inner>span{font-size:.8rem}
 .library-hero{padding:32px 0}.library-hero h1{font-size:2.4rem}.resource-image{height:250px}.resource-grid{margin-top:25px}
}
@media(min-width:500px) and (max-width:760px){.hero-copy{max-width:480px}.hero-art{height:440px}.author-copy>p:not(.eyebrow):not(.series-note){max-width:65%}.author-mark{right:-25px;width:275px;height:325px}}
@media(max-width:360px){.shell{width:calc(100% - 40px)}.brand{font-size:1.58rem}.brand-mark{width:40px;height:46px}.hero h1{font-size:2.3rem}.hero-art{width:285px;height:365px}.hero-art .cover{top:-27px}.hero-intro{font-size:1rem}.hero-actions .button{font-size:1rem}.author-mark{right:-64px;width:220px}.author-copy>p:not(.eyebrow):not(.series-note){max-width:61%}.disciplines li{grid-template-columns:18px 55px 1fr;gap:7px;font-size:.9rem}}

/* Shared refinements: consistent row alignment and a clean author disclosure. */
 .audiences li{grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);column-gap:20px;align-items:baseline}
 .audiences li>span,.disciplines li>span:last-child{text-align:right}
 .author-details summary{display:flex;align-items:center;width:fit-content;min-height:44px;gap:16px;list-style:none;cursor:pointer;text-decoration:none;transition:color .18s}
 .author-details summary::-webkit-details-marker{display:none}
 .author-details summary>span{display:inline-flex;align-items:center;justify-content:center;width:32px;height:20px;flex-shrink:0;text-decoration:none;transition:transform .18s}
 .author-details summary:hover{color:#52d8df}
 .author-details summary:hover>span{transform:translateX(3px)}
 .author-details[open] summary>span{transform:rotate(90deg)}
.home-inside-copy h3{font-size:2rem;line-height:1.2;margin-bottom:17px}
.home-inside-copy .eyebrow{font-size:.8rem;min-width:0}
.home-inside-copy .preview-meta,.preview-meta{font-size:.85rem;line-height:1.5;color:var(--muted);margin-top:15px}
.home-inside-copy .text-link{margin-top:16px}
.main-nav a[aria-current="page"]:after{transform:scaleX(1)}
@media(min-width:761px){.hero-art{margin-block:12px 18px}.hero-grid{padding-block:32px}.series-note{max-width:100%;line-height:1.5;text-wrap:pretty}}
/* Centering serves the mobile stack; desktop keeps its editorial left edge. */
@media(max-width:760px){
 .hero h1{text-align:center}
 .hero-art{margin-block:20px 28px}
 .series-note{max-width:42%;font-size:.82rem;line-height:1.5;text-wrap:pretty}
 .home-inside-copy>.lead{display:block;font-size:1rem;line-height:1.6}
 .home-inside-copy h3{font-size:1.8rem;margin-bottom:14px}
 .home-inside-copy .preview-meta{font-size:.8rem}
}

/* A slower homepage rhythm: generous section edges, quieter internal spacing. */
.why.section{padding-block:clamp(64px,7vw,96px)}
.inside.section{padding-block:clamp(72px,8vw,112px)}
.inside-heading{max-width:780px;margin-bottom:38px}
.inside-grid{column-gap:48px}
.home-inside-copy .eyebrow{margin-bottom:22px}
.author-grid{min-height:380px}
.author-copy{padding-block:72px;max-width:530px}
.author-copy>.eyebrow{margin-bottom:20px}
.author-copy>p:not(.eyebrow):not(.series-note){margin-top:18px;line-height:1.65}
.author-details{margin-top:18px}
.author-details .detail-copy{padding-top:22px;font-size:1rem;line-height:1.75}
.author-details .detail-copy p+p{margin-top:22px}
.author-portrait{position:absolute;top:72px;right:calc(100% + clamp(40px,5vw,72px));width:clamp(180px,21vw,260px);margin:0;border:1px solid #ffffff30;background:#18364e}
.author-portrait img{display:block;width:100%;height:auto}
.author-mark{bottom:-72px}
.author[data-expanded="true"] .author-mark{bottom:48px}
.library-teaser.section{padding-block:80px}
.library-grid{max-height:none;align-items:center;overflow:visible}
.library-copy{padding-block:0}
.library-copy .lead{margin-block:18px 24px;line-height:1.6}
.library-teaser .document-preview{max-height:320px;overflow:hidden}
.footer-inner{min-height:104px}
.availability{font-size:.85rem;line-height:1.5;color:#bfcedd;margin-top:6px}
@media(max-width:1100px) and (min-width:761px){
 .inside-grid{column-gap:36px}
 .author-copy{padding-block:64px}
 .author-portrait{top:64px}
 .library-teaser.section{padding-block:72px}
}
@media(max-width:760px){
 .why.section{padding-block:56px}
 .inside.section{padding-block:64px}
 .inside-heading{margin-bottom:30px}
 .inside-grid{row-gap:36px}
 .home-inside-copy .eyebrow{margin-bottom:18px}
 .author-grid{min-height:0}
 .author-copy{padding-block:56px}
 .author-copy>p:not(.eyebrow):not(.series-note){max-width:72%;font-size:1rem;line-height:1.65}
 .author-details{max-width:100%;margin-top:20px}
 .author-details .detail-copy{padding:22px 0 0;background:transparent;font-size:1rem;line-height:1.75}
 .author-portrait{position:static;width:min(200px,70%);margin:0 0 28px}
 .author-mark{width:230px;height:270px;right:-92px;bottom:-58px}
 .author[data-expanded="true"] .author-copy{padding-bottom:244px}
 .author[data-expanded="true"] .author-mark{width:160px;height:180px;right:24px;bottom:28px}
 .library-teaser.section{padding-block:60px}
 .library-grid{row-gap:32px}
 .library-teaser .document-preview{max-height:280px}
 .footer-inner{padding-block:28px}
 .availability{text-align:center}
}
@media(prefers-reduced-motion:no-preference){
 .author-mark{transition:bottom .48s cubic-bezier(.4,0,.2,1),right .48s cubic-bezier(.4,0,.2,1),width .48s cubic-bezier(.4,0,.2,1),height .48s cubic-bezier(.4,0,.2,1)}
 .author-portrait{overflow:hidden}
 .author-portrait img{transition:transform .5s cubic-bezier(.22,1,.36,1)}
 .document-preview{transition:transform .3s ease,box-shadow .3s ease}
 .text-link span{transition:transform .25s ease}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .author-portrait:hover img{transform:scale(1.025)}
 .document-preview:hover{box-shadow:0 8px 24px #12283b24}
}
.main-nav .buy-trigger{display:inline-flex;white-space:nowrap}
.purchase-dialog{width:520px}
.purchase-body{padding:28px}
.edition-options{border:0;padding:0;margin:0 0 26px;min-width:0}
.edition-options legend{font-size:.9rem;color:var(--muted);margin-bottom:14px}
.edition-option{display:flex;align-items:center;gap:16px;padding:18px 16px;border:1px solid var(--line);cursor:pointer;background:#fffefa}
.edition-option+.edition-option{margin-top:12px}
.edition-option:has(input:checked){border-color:var(--teal-dark);background:#eef6f3}
.edition-option input{accent-color:var(--teal-dark);width:18px;height:18px;flex-shrink:0}
.edition-option strong{display:block;font:500 1.25rem var(--display)}
.edition-option small{display:block;font-size:.9rem;line-height:1.5;margin-top:5px;color:var(--muted)}
.amazon-purchase{width:100%}
.amazon-purchase[hidden]{display:none}
.amazon-purchase:disabled{cursor:default;opacity:.65;transform:none}
#purchase-note{font-size:.9rem;line-height:1.6;color:var(--muted);margin-top:16px;text-align:center}
@media(min-width:761px) and (max-width:960px){.header-inner{gap:16px}.brand{font-size:1.65rem}.main-nav{gap:16px;font-size:.95rem}.main-nav .buy-trigger{padding-inline:14px}}
@media(max-width:760px){.purchase-body{padding:22px}.main-nav .buy-trigger{width:100%}}

/* Let the paired claims share two lines when the desktop column has room. */
@media(min-width:1200px){.hero-first-break{display:none}}
.hero-copy{min-width:0}
.edition-description{flex:1;min-width:0}
.edition-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;flex-wrap:wrap}
.edition-price{font:500 1.12rem var(--display);white-space:nowrap;font-variant-numeric:tabular-nums}
.edition-price>span{font:400 .7rem var(--body);letter-spacing:.04em;color:var(--muted);margin-left:3px}
.edition-options{margin-bottom:16px}
.marketplace-note{font-size:.8rem;line-height:1.5;color:var(--muted);margin:0 0 22px}
.author-details summary{caret-color:transparent;user-select:none;-webkit-user-select:none}

/* Marketplace preferences stay quiet and local to the purchasing experience. */
.store-choice,.footer-store{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}
.store-choice{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.store-choice select,.footer-store select{font:inherit;color:var(--ink);max-width:100%;min-height:44px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:8px 24px 8px 0;cursor:pointer}
.store-choice select{flex:1;min-width:180px}
.footer-store{padding-bottom:28px;justify-content:flex-end}
.footer-store select{max-width:270px;font-size:.78rem}
@media(max-width:760px){.footer-store{justify-content:flex-start}.edition-price{font-size:1rem}.store-choice{margin-bottom:16px;padding-bottom:12px}}

@media(max-width:420px){.edition-option{padding:14px 12px;gap:12px}.edition-option strong{font-size:1.12rem}.edition-option small{font-size:.82rem}.edition-heading{gap:6px}.edition-price{font-size:.95rem}.store-choice select{min-width:0;width:175px}.purchase-body{padding:18px}}
/* Keep mobile page introductions focused; desktop breadcrumbs remain available. */
@media(max-width:760px){main .inside-breadcrumb,main .breadcrumbs{display:none}}
