:root{
  --ink:#17121c;--ink-2:#29212d;--paper:#f6f0e7;--paper-2:#fffaf3;--paper-3:#ebe1d5;
  --plum:#4d244f;--berry:#8c4a70;--rose:#d18cae;--copper:#c66742;--muted:#6b606d;
  --line:rgba(34,24,38,.14);--shadow:0 24px 70px rgba(29,18,34,.13);
  --serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'Cascadia Mono','SFMono-Regular',Consolas,'Liberation Mono',monospace;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.68 var(--sans);text-rendering:optimizeLegibility}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-shell{min-height:100vh}.wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}.narrow{width:min(780px,calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;z-index:1000;left:12px;top:12px;padding:.7rem 1rem;background:#fff;color:#111;border-radius:8px;transform:translateY(-160%);box-shadow:var(--shadow)}.skip-link:focus{transform:none}
.site-header{background:#120d18;color:#f9f0f3;border-bottom:1px solid rgba(255,255,255,.08)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup img{width:44px;height:44px}.brand-lockup span{display:flex;align-items:baseline;gap:7px;font-family:var(--mono);letter-spacing:.03em}.brand-lockup strong{font-size:1.15rem}.brand-lockup b{font-size:.86rem;color:#e5b5ca;text-transform:uppercase;letter-spacing:.13em}.site-nav{display:flex;align-items:center;gap:24px;font:600 .86rem/1 var(--mono)}.site-nav a{color:#cfc1d0}.site-nav a:hover,.site-nav a[aria-current=page]{color:#fff}.site-nav .record-link{padding:.65rem .9rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#fff}.menu-button{display:none;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.55rem .8rem}
.breadcrumbs{padding:16px 0 10px}.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none;font:650 .68rem/1.3 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:#857684}.breadcrumbs li{display:flex;align-items:center;gap:8px}.breadcrumbs li+li:before{content:'/';color:#b9a9b3}.breadcrumbs a:hover{color:var(--plum)}
.eyebrow,.section-kicker{font:700 .72rem/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--berry)}.hero{position:relative;overflow:hidden;background:#130e19;color:#f8edf3}.hero:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:54px 54px}.hero:after{content:'';position:absolute;inset:-20%;background:radial-gradient(circle at 22% 75%,rgba(113,41,116,.44),transparent 35%),radial-gradient(circle at 78% 28%,rgba(57,45,112,.32),transparent 34%)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:72px;align-items:center;min-height:660px;padding:86px 0}.hero h1{max-width:11ch;margin:17px 0 22px;font:700 clamp(3.8rem,7vw,7.4rem)/.88 var(--serif);letter-spacing:-.065em}.hero .lede{max-width:640px;margin:0;color:#d4c5d2;font-size:1.12rem}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.78rem 1rem;border-radius:999px;border:1px solid transparent;font:700 .79rem/1 var(--mono);letter-spacing:.02em;transition:transform .15s,background .15s,border-color .15s}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--ink);color:#fff}.hero .button.primary{background:#f4eaf0;color:#17121c}.button.secondary{border-color:var(--line);background:transparent;color:var(--ink)}.hero .button.secondary{border-color:rgba(255,255,255,.25);color:#fff}.text-link{font:700 .8rem/1.4 var(--mono);color:var(--plum);border-bottom:1px solid currentColor}.hero .text-link{color:#e7c9da}.book-stage{position:relative;min-height:500px}.stage-cover{position:absolute;box-shadow:0 35px 80px rgba(0,0,0,.44);border:1px solid rgba(255,255,255,.12)}.stage-cover.syntax{width:265px;right:70px;top:4px;transform:rotate(3deg)}.stage-cover.world{width:220px;left:8px;top:150px;transform:rotate(-5deg)}.stage-cover.fruit{width:205px;right:0;bottom:2px;transform:rotate(7deg)}.stage-note{position:absolute;left:0;top:34px;width:220px;padding:18px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(17,12,23,.72);backdrop-filter:blur(14px);font-family:var(--mono);color:#d6c6d3}.stage-note strong{display:block;color:#fff;margin-bottom:5px}
.section{padding:82px 0}.section.alt{background:var(--paper-2)}.section-heading{display:grid;grid-template-columns:190px minmax(0,1fr);gap:44px;align-items:start;margin-bottom:40px}.section-heading h2{max-width:16ch;margin:0;font:700 clamp(2.4rem,5vw,4.8rem)/.95 var(--serif);letter-spacing:-.045em}.section-heading p{max-width:660px;margin:8px 0 0;color:var(--muted)}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.catalog-card{display:flex;flex-direction:column;min-height:100%;padding:22px;border:1px solid var(--line);background:#fffaf4;box-shadow:0 14px 42px rgba(32,20,36,.07)}.catalog-card .cover-frame{display:grid;place-items:center;min-height:360px;padding:18px;background:#e8ded3}.catalog-card img{display:block;max-height:320px;width:auto;box-shadow:0 17px 35px rgba(28,17,31,.25)}.catalog-card.square img{width:100%;max-height:none}.catalog-card .card-copy{padding:22px 5px 4px;display:flex;flex:1;flex-direction:column}.catalog-card h3{margin:8px 0 10px;font:700 1.75rem/1.05 var(--serif)}.catalog-card p{margin:0;color:var(--muted)}.catalog-card .card-footer{margin-top:auto;padding-top:20px;display:flex;justify-content:space-between;gap:12px;align-items:end}.status{display:inline-flex;width:max-content;padding:.38rem .58rem;border-radius:999px;background:#eadde7;color:#58264f;font:700 .67rem/1 var(--mono);letter-spacing:.07em;text-transform:uppercase}.status.dev{background:#efe2c8;color:#684c1f}.price{font:700 .79rem/1 var(--mono)}
.statement-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px}.statement-card{padding:36px;border:1px solid var(--line);background:#fffaf4}.statement-card.dark{background:#17111d;color:#f4e9f0;border-color:#17111d}.statement-card h3{max-width:16ch;margin:10px 0 16px;font:700 clamp(2rem,4vw,3.7rem)/.98 var(--serif);letter-spacing:-.04em}.statement-card p{color:var(--muted)}.statement-card.dark p{color:#cbbdca}.resource-list{display:grid;gap:10px;margin-top:24px}.resource-link{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-top:1px solid var(--line);font:650 .86rem/1.4 var(--mono)}.dark .resource-link{border-color:rgba(255,255,255,.14)}
.page-hero{padding:66px 0 72px;background:linear-gradient(140deg,#faf5ed,#e9dfd5)}.page-hero h1{max-width:17ch;margin:12px 0 18px;font:700 clamp(3rem,6vw,6rem)/.92 var(--serif);letter-spacing:-.055em}.page-hero .lede{max-width:720px;margin:0;color:#655a66;font-size:1.1rem}.page-hero.dark{position:relative;overflow:hidden;background:#15101b;color:#fff}.page-hero.dark:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:46px 46px}.page-hero.dark>.wrap{position:relative}.page-hero.dark .lede{color:#cbbec9}.page-hero.dark .eyebrow{color:#dfa7c5}
.book-detail{display:grid;grid-template-columns:minmax(240px,360px) minmax(0,1fr);gap:72px;align-items:start}.book-detail-cover{position:sticky;top:24px}.book-detail-cover img{display:block;width:100%;box-shadow:var(--shadow)}.draft-label{margin-top:12px;font:700 .68rem/1.5 var(--mono);color:#765b34}.book-detail-copy h1{margin:7px 0 10px;font:700 clamp(3rem,6vw,6rem)/.9 var(--serif);letter-spacing:-.055em}.subtitle{margin:0 0 26px;font:500 1.1rem/1.5 var(--mono);color:var(--berry)}.book-summary{font-size:1.08rem;color:#514752}.book-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:32px 0;background:var(--line);border:1px solid var(--line)}.book-meta div{padding:16px;background:#fffaf4}.book-meta dt{margin-bottom:5px;font:700 .65rem/1.2 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#8a7985}.book-meta dd{margin:0}.edition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px}.edition-card{padding:24px;border:1px solid var(--line);background:#fffaf4}.edition-card h3{margin:0 0 8px;font:700 1.5rem/1 var(--serif)}.edition-card .edition-price{font:700 1.2rem/1 var(--mono);color:var(--plum)}.edition-card p{color:var(--muted)}.book-overview{margin:32px 0 36px;padding-top:4px}.book-overview h2{margin:1.65em 0 .48em;font:700 1.65rem/1.08 var(--serif);letter-spacing:-.025em}.book-overview h2:first-child{margin-top:0}.book-overview p{margin:.5em 0;color:#514852}.facts-panel .actions .button{white-space:nowrap;max-width:100%}
.prose{font-size:1.05rem}.prose h2{margin:2.2em 0 .6em;font:700 2.4rem/1 var(--serif)}.prose h3{margin:1.8em 0 .5em;font:700 1.5rem/1.1 var(--serif)}.prose p,.prose li{color:#514852}.prose a{color:var(--plum);border-bottom:1px solid currentColor}.prose blockquote{margin:2rem 0;padding:1.3rem 1.5rem;border-left:4px solid var(--berry);background:#fffaf4;font:italic 1.22rem/1.55 var(--serif)}.facts-panel{padding:30px;border:1px solid var(--line);background:#fffaf4}.facts-panel dl{margin:0}.facts-panel div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:14px 0;border-top:1px solid var(--line)}.facts-panel div:first-child{border-top:0}.facts-panel dt{font:700 .68rem/1.4 var(--mono);text-transform:uppercase;color:#826f7c}.facts-panel dd{margin:0}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:62px;align-items:start}.series-covers{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.series-covers img{width:100%;box-shadow:var(--shadow)}.series-covers img:nth-child(2){margin-top:80px}.author-card{padding:34px;border:1px solid var(--line);background:#fffaf4}.author-monogram{display:grid;place-items:center;width:82px;height:82px;border-radius:50%;background:#211727;color:#fff;font:700 1.5rem/1 var(--mono)}.author-mark-image{display:block;width:82px;height:82px;border-radius:50%;object-fit:cover;box-shadow:0 10px 24px rgba(12,18,39,.12)}
.listing{display:grid;gap:18px}.listing-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;padding:25px;border:1px solid var(--line);background:#fffaf4}.listing-card h2{margin:5px 0 9px;font:700 2rem/1 var(--serif)}.listing-card p{margin:0;color:var(--muted)}.listing-card .listing-index{font:700 3rem/1 var(--serif);color:#cbbbc5}.timeline{display:grid;gap:0}.timeline article{display:grid;grid-template-columns:160px 1fr;gap:26px;padding:28px 0;border-top:1px solid var(--line)}.timeline time{font:700 .74rem/1.4 var(--mono);color:var(--berry)}.timeline h2{margin:0 0 7px;font:700 1.7rem/1 var(--serif)}.timeline p{margin:0;color:var(--muted)}
.notice{padding:20px 22px;border-left:4px solid var(--copper);background:#fff8eb;color:#5c4d42}.callout{padding:34px;background:#17111d;color:#f5ebf0}.callout p{color:#cbbdca}.callout h2{margin:7px 0 12px;font:700 2.3rem/1 var(--serif)}
.site-footer{padding:58px 0 24px;background:#0d0a11;color:#cbbdca}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .8fr;gap:52px}.footer-brand{font:700 1.3rem/1 var(--serif);color:#fff}.site-footer p{max-width:360px;color:#958996}.footer-links{display:flex;flex-direction:column;gap:10px;font:600 .82rem/1.4 var(--mono)}.footer-links a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:42px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font:500 .7rem/1.5 var(--mono);color:#827785}
/* Companion */
.syntax-page{background:#ece6df}.reading-progress{position:fixed;z-index:1001;top:0;left:0;width:100%;height:3px}.reading-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#b34d86,#6556a8)}.syntax-hero{position:relative;overflow:hidden;padding:78px 0;background:#15101b;color:#f8edf4}.syntax-hero:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px}.syntax-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.85fr);gap:65px;align-items:center}.syntax-hero h1{margin:12px 0 5px;font:700 clamp(3.2rem,7vw,6.8rem)/.88 var(--serif);letter-spacing:-.06em}.syntax-subtitle{margin:0 0 22px;font:500 1.15rem/1.4 var(--mono);color:#d6a8c3}.syntax-hero .lede{color:#cbbec9}.syntax-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.syntax-facts span{padding:7px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;font:600 .68rem/1 var(--mono);color:#ddd1dc}.syntax-actions{display:flex;gap:18px;flex-wrap:wrap;align-items:center}.syntax-hero-visual{margin:0;padding:14px;border:1px solid rgba(255,255,255,.14);background:rgba(5,5,9,.55);box-shadow:0 30px 75px rgba(0,0,0,.35)}.syntax-hero-visual img{display:block;width:100%}.syntax-hero-visual figcaption{margin:10px 4px 2px;color:#aaa0ab;font-size:.83rem}.book-release-strip{padding:48px 0;background:#fffaf4;border-bottom:1px solid var(--line)}.book-release-grid{display:grid;grid-template-columns:1fr .75fr;gap:55px}.book-release-strip h2{margin:7px 0 12px;font:700 2.6rem/1 var(--serif)}.release-details{margin:0}.release-details div{display:grid;grid-template-columns:130px 1fr;padding:10px 0;border-top:1px solid var(--line)}.release-details dt{font:700 .66rem/1.4 var(--mono);text-transform:uppercase;color:#827381}.release-details dd{margin:0}.companion-status{padding:16px 0;background:#322339;color:#e9dde5}.companion-status p{margin:0}.companion-status .button.secondary{color:#fff;border-color:rgba(255,255,255,.3)}.companion-status .button.secondary:hover{background:rgba(255,255,255,.08)}.companion-shell{padding:65px 0 92px}.companion-layout{display:grid;grid-template-columns:250px minmax(0,760px);gap:48px;justify-content:center;align-items:start}.companion-sidebar{position:sticky;top:22px;max-height:calc(100vh - 44px);overflow:auto}.companion-toc details{border:1px solid var(--line);background:#fffaf4;box-shadow:0 12px 35px rgba(32,20,36,.08)}.companion-toc summary{padding:17px 18px;cursor:pointer;font:700 .77rem/1.3 var(--mono);list-style:none}.companion-toc summary::-webkit-details-marker{display:none}.companion-toc summary:after{content:'−';float:right}.companion-toc details:not([open]) summary:after{content:'+'}.companion-toc-nav{padding:0 10px 12px}.companion-toc ol{list-style:none;padding:0;margin:5px 0}.companion-toc a{display:flex;gap:8px;padding:7px 8px;border-radius:7px;font-size:.75rem;line-height:1.35;color:#625763}.companion-toc a:hover{background:#eee3eb}.companion-toc a span{min-width:20px;font:700 .64rem/1.4 var(--mono);color:#a04477}.companion-toc a.is-active{background:#271c2d;color:#fff}.companion-content{min-width:0}.companion-chapter{scroll-margin-top:22px;margin-bottom:27px;padding:36px 40px 40px;border:1px solid var(--line);background:#fffaf4;box-shadow:0 18px 50px rgba(32,20,36,.07)}.companion-chapter.is-current{border-color:rgba(121,72,118,.42);box-shadow:0 23px 60px rgba(32,20,36,.11)}.companion-intro{background:linear-gradient(145deg,#fffaf4,#f4eaf1)}.companion-closing{background:#18111d;color:#eee3ea}.chapter-heading{padding-bottom:21px;margin-bottom:23px;border-bottom:1px solid var(--line)}.companion-closing .chapter-heading{border-color:rgba(255,255,255,.14)}.chapter-kicker{margin:0 0 8px;font:700 .68rem/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:#a04477}.chapter-heading h2{max-width:18ch;margin:0;font:700 clamp(1.8rem,3.8vw,2.8rem)/1 var(--serif);letter-spacing:-.04em}.chapter-body{color:#4f4650}.chapter-body p{margin:0 0 1.05rem}.chapter-body a{color:#51448b;border-bottom:1px solid currentColor}.chapter-body code:not(pre code){padding:.12em .36em;border:1px solid var(--line);border-radius:5px;background:#eee8ed;font:500 .88em/1.3 var(--mono);color:#502d55}.companion-closing .chapter-body{color:#cbbec8}.companion-closing .chapter-body em{color:#fff}.companion-label{display:flex;align-items:center;gap:9px;margin:27px 0 11px;font:700 .73rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#94466f}.companion-label:before{content:'';width:20px;height:2px;background:currentColor}.companion-label.now-you-try{color:#4c5f91}.qf-code{margin:12px 0 23px;padding:19px 21px;overflow:auto;border:1px solid #313448;border-radius:12px;background:#0e1117;color:#e2e8f0;font:500 .86rem/1.7 var(--mono);white-space:pre}.code-sample{margin:14px 0 25px}.code-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:9px 11px;border:1px solid #313448;border-bottom:0;border-radius:12px 12px 0 0;background:#181d29;color:#9aa8bd}.companion-js .qf-code{margin:0;border-radius:0 0 12px 12px}.code-language{font:700 .66rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}.code-actions{display:flex;gap:7px}.code-copy,.code-run{border:1px solid #3d455a;border-radius:7px;background:#242c3d;color:#eef3fa;padding:7px 9px;font:700 .66rem/1 var(--mono);cursor:pointer}.code-run{background:#e66d24;border-color:#e66d24}.exercise-block{padding:2px 0}.chapter-note-label{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eee1ec;color:#6d355e;font:700 .63rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.chapter-jump{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.chapter-jump-link,.chapter-guide-link{display:flex;min-height:53px;padding:10px 12px;border:1px solid var(--line);background:#f4ecef}.chapter-jump-link{flex-direction:column;justify-content:center}.chapter-jump-link.next{align-items:flex-end;text-align:right}.chapter-guide-link{align-items:center;justify-content:center;font:700 .67rem/1.2 var(--mono)}.jump-direction{font:700 .61rem/1 var(--mono);text-transform:uppercase;color:#9a6b87}.jump-title{font-size:.78rem}.companion-closing .chapter-jump-link,.companion-closing .chapter-guide-link{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
/* Specification */
.spec-hero{padding:60px 0;background:#15101b;color:#fff}.spec-hero h1{margin:9px 0 14px;font:700 clamp(3rem,6vw,5.5rem)/.9 var(--serif)}.spec-hero .lede{color:#cbbec9}.spec-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.spec-hero .button.primary{background:#f4eaf0;color:#17121c}.spec-hero .button.secondary{color:#fff;border-color:rgba(255,255,255,.24)}.spec-shell{padding:55px 0 90px}.spec-layout{display:grid;grid-template-columns:250px minmax(0,800px);gap:44px;justify-content:center;align-items:start}.spec-sidebar{position:sticky;top:22px;max-height:calc(100vh - 44px);overflow:auto;padding:20px;border:1px solid var(--line);background:#fffaf4}.spec-sidebar ol{margin:12px 0 0;padding:0;list-style:none}.spec-sidebar li{margin:0}.spec-sidebar a{display:block;padding:5px 0;font-size:.73rem;line-height:1.4;color:#625763}.spec-content{padding:38px 42px;background:#fffaf4;border:1px solid var(--line);box-shadow:0 18px 50px rgba(32,20,36,.07)}.spec-content h2{scroll-margin-top:20px;margin:2.2em 0 .65em;font:700 2.25rem/1 var(--serif)}.spec-content h2:first-child{margin-top:0}.spec-content h3{scroll-margin-top:20px;margin:1.9em 0 .55em;font:700 1.45rem/1.12 var(--serif)}.spec-content h4{font-size:1.1rem}.spec-content p,.spec-content li{color:#4f4650}.spec-content a{color:#51448b;border-bottom:1px solid currentColor}.spec-content code:not(pre code){padding:.12em .35em;background:#ece5eb;font:.88em var(--mono)}.spec-content pre{overflow:auto;padding:18px;background:#0e1117;color:#e2e8f0;font:.84rem/1.7 var(--mono)}.spec-content table{width:100%;border-collapse:collapse;font-size:.9rem}.spec-content th,.spec-content td{padding:10px;border:1px solid var(--line);text-align:left;vertical-align:top}.spec-heading-link{margin-left:.35rem;border:0!important;color:#b08ca3!important;font-family:var(--mono);font-size:.7em}

/* Underneath the Syntax audience landing pages */
.campaign-page{background:var(--paper)}.campaign-hero{position:relative;overflow:hidden;padding:74px 0;background:#15101b;color:#f8edf4}.campaign-hero:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:46px 46px}.campaign-hero:after{content:'';position:absolute;inset:-25%;background:radial-gradient(circle at 18% 78%,rgba(118,42,119,.35),transparent 34%),radial-gradient(circle at 78% 23%,rgba(43,66,116,.28),transparent 32%)}.campaign-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:70px;align-items:center}.campaign-hero h1{max-width:13ch;margin:12px 0 20px;font:700 clamp(3.1rem,6.5vw,6.5rem)/.9 var(--serif);letter-spacing:-.058em}.campaign-hero .lede{max-width:730px;margin:0;color:#cfc1cc;font-size:1.12rem}.campaign-hero .button.primary{background:#f4eaf0;color:#17121c}.campaign-hero .button.secondary{border-color:rgba(255,255,255,.28);color:#fff}.campaign-cover{margin:0;padding:10px;border:1px solid rgba(255,255,255,.16);background:rgba(5,5,9,.42);box-shadow:0 30px 70px rgba(0,0,0,.38)}.campaign-cover img{display:block;width:100%;box-shadow:0 18px 42px rgba(0,0,0,.35)}.campaign-reassurance{display:inline-block;margin:22px 0 0;padding:9px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#e6d9e3;font:650 .72rem/1.4 var(--mono)}.campaign-subnav{background:#302237;color:#e9dde5;border-bottom:1px solid rgba(0,0,0,.18)}.campaign-subnav .wrap{display:flex;flex-wrap:wrap;gap:0}.campaign-subnav a{padding:14px 19px;border-right:1px solid rgba(255,255,255,.1);font:650 .72rem/1.3 var(--mono)}.campaign-subnav a:hover{background:rgba(255,255,255,.08);color:#fff}.audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.audience-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.audience-card{display:flex;flex-direction:column;min-height:100%;padding:30px;border:1px solid var(--line);background:#fffaf4;box-shadow:0 14px 42px rgba(32,20,36,.06)}.audience-card h2{margin:8px 0 12px;font:700 2rem/1.02 var(--serif);letter-spacing:-.03em}.audience-card p:not(.section-kicker){margin:0;color:var(--muted)}.audience-card .actions{margin-top:auto;padding-top:24px}.use-case-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.use-case-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card{padding:25px;border:1px solid var(--line);background:#fffaf4}.feature-card h3{margin:0 0 10px;font:700 1.5rem/1.05 var(--serif)}.feature-card p{margin:0;color:var(--muted)}.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.download-card{display:flex;flex-direction:column;padding:28px;border:1px solid var(--line);background:#fffaf4}.download-card h3{margin:7px 0 10px;font:700 1.7rem/1.05 var(--serif)}.download-card p{color:var(--muted)}.download-card .button{width:max-content;max-width:100%;margin-top:auto}.download-type{margin:0;font:700 .65rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--berry)!important}.outcome-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.outcome-item{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:start;padding:22px;background:#fffaf4}.outcome-item span{font:700 1.2rem/1 var(--serif);color:#b38da4}.outcome-item p{margin:0;color:#514852}.centered-actions{justify-content:center}.faq-heading{margin:10px 0 30px;font:700 clamp(2.3rem,5vw,4.2rem)/.96 var(--serif);letter-spacing:-.045em}.faq-list{display:grid;gap:10px}.faq-list details{border:1px solid var(--line);background:#fffaf4}.faq-list summary{cursor:pointer;padding:18px 22px;font:700 .9rem/1.4 var(--mono);color:#352a37}.faq-list summary::marker{color:var(--berry)}.faq-list details p{margin:0;padding:0 22px 20px;color:#5a505a}.campaign-closing-band{background:#18111d;color:#f4e9f0}.campaign-closing-band h2{margin:8px 0 12px;font:700 clamp(2.5rem,5vw,4.6rem)/.96 var(--serif);letter-spacing:-.045em}.campaign-closing-band p{color:#cbbec9}.campaign-closing-band .button.primary{background:#f4eaf0;color:#17121c}.campaign-closing-band .button.secondary{border-color:rgba(255,255,255,.25);color:#fff}.campaign-page .notice p{margin-bottom:0}.book-audience-paths{margin:36px 0}.book-audience-paths>h2{margin:0 0 8px;font:700 2rem/1 var(--serif)}.book-audience-paths>.intro{margin:0 0 18px;color:#514852}.book-audience-paths .audience-card h2{font-size:1.55rem}.download-listing-badge{display:grid;place-items:center;width:90px;height:90px;border-radius:50%;background:#211727;color:#fff;font:700 .82rem/1.2 var(--mono);text-align:center}.contact-topic{scroll-margin-top:24px;padding-top:4px}
@media(max-width:980px){.site-nav{display:none;position:absolute;z-index:50;left:24px;right:24px;top:72px;flex-direction:column;align-items:stretch;padding:18px;background:#19111f;border:1px solid rgba(255,255,255,.16);box-shadow:0 20px 45px rgba(0,0,0,.34)}.site-nav.is-open{display:flex}.menu-button{display:block}.header-inner{position:relative}.hero-grid,.syntax-hero-grid,.book-release-grid,.book-detail,.split,.statement-grid{grid-template-columns:1fr}.hero-grid{min-height:0;padding:70px 0}.book-stage{min-height:470px;max-width:620px}.catalog-grid{grid-template-columns:1fr 1fr}.section-heading{grid-template-columns:1fr;gap:12px}.book-detail-cover{position:relative;top:auto;max-width:340px}.companion-layout,.spec-layout{grid-template-columns:1fr}.companion-sidebar,.spec-sidebar{position:relative;top:auto;max-height:none}.companion-toc ol{columns:2}.spec-sidebar ol{columns:2}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.listing-card{grid-template-columns:120px 1fr}}
@media(max-width:680px){.wrap,.narrow{width:min(100% - 30px,1180px)}.header-inner{min-height:70px}.brand-lockup img{width:38px;height:38px}.brand-lockup strong{font-size:1rem}.brand-lockup b{font-size:.72rem}.hero h1{font-size:clamp(3.25rem,17vw,5rem)}.hero-grid{padding:54px 0}.book-stage{min-height:400px}.stage-cover.syntax{width:205px;right:32px}.stage-cover.world{width:170px;top:135px}.stage-cover.fruit{width:155px}.stage-note{display:none}.section{padding:58px 0}.catalog-grid{grid-template-columns:1fr}.catalog-card .cover-frame{min-height:300px}.page-hero{padding:48px 0 53px}.page-hero h1,.book-detail-copy h1{font-size:clamp(2.8rem,15vw,4.5rem)}.book-meta,.edition-grid,.series-covers{grid-template-columns:1fr}.series-covers img:nth-child(2){margin-top:0}.facts-panel div{grid-template-columns:1fr;gap:4px}.listing-card{grid-template-columns:1fr}.timeline article{grid-template-columns:1fr;gap:5px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.companion-toc ol,.spec-sidebar ol{columns:1}.companion-chapter,.spec-content{padding:25px 19px}.chapter-jump{grid-template-columns:1fr 1fr}.chapter-guide-link{grid-column:1/-1;grid-row:2}.spec-layout,.spec-content{min-width:0}.spec-content{overflow:hidden}.spec-content table{display:block;max-width:100%;overflow-x:auto}.spec-content pre{max-width:100%;margin-inline:0;overflow-x:auto}.spec-content a{overflow-wrap:anywhere}.spec-content code:not(pre code){overflow-wrap:anywhere}.book-release-grid{gap:25px}}

@media(max-width:980px){.campaign-hero-grid{grid-template-columns:1fr 210px;gap:42px}.audience-grid,.use-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.use-case-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.outcome-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.campaign-hero{padding:52px 0}.campaign-hero-grid{grid-template-columns:1fr}.campaign-cover{max-width:220px}.campaign-subnav .wrap{width:100%}.campaign-subnav a{flex:1 1 50%;text-align:center;border-bottom:1px solid rgba(255,255,255,.1)}.audience-grid,.audience-grid.two,.use-case-grid,.use-case-grid.three,.download-grid,.outcome-grid{grid-template-columns:1fr}.audience-card,.download-card,.feature-card{padding:22px}.campaign-reassurance{border-radius:10px}.download-card .button{width:100%}.download-listing-badge{width:72px;height:72px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.button:hover{transform:none}}
@media print{.site-header,.site-footer,.breadcrumbs,.companion-sidebar,.reading-progress,.chapter-jump,.code-toolbar,.actions{display:none!important}body{background:#fff;color:#000}.companion-layout,.spec-layout{display:block}.companion-chapter,.spec-content{box-shadow:none;border:0;break-inside:avoid}.qf-code,.spec-content pre{white-space:pre-wrap;color:#000;background:#eee;border:1px solid #aaa}}
