@font-face{font-family:Gambarino;src:url('/fonts/gambarino.woff2') format('woff2');font-display:swap}
@font-face{font-family:Instrument;src:url('/assets/f-instrument-sans-latin.woff2') format('woff2');font-display:swap;font-weight:100 900}
@font-face{font-family:Caveat;src:url('/assets/f-caveat-latin.woff2') format('woff2');font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/assets/f-ibm-plex-mono-latin.woff2') format('woff2');font-display:swap}
:root{--ground:#f6f5f0;--ink:#1d1b18;--muted:#74675e;--faint:#bdb5a9;--line:#d9d3c9;--blue:#273ba0;--pink:#ff3ec8;--pink-light:#ff8ad8;--lime:#ddff00;--lime-light:#eef9b0;--serif:Gambarino,Georgia,serif;--sans:Instrument,Arial,sans-serif;--gutter:clamp(24px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px;overflow-anchor:none}body{margin:0;background:var(--ground);color:var(--ink);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}a{color:inherit;text-underline-offset:5px}button{font:inherit;cursor:pointer}svg{display:block}::selection{background:var(--lime)}:focus-visible{outline:2px solid var(--ink);outline-offset:6px}.scene{margin-inline:auto;width:min(1440px,100%);padding-inline:var(--gutter)}.hand{font-family:Caveat,cursive;color:var(--ink);font-size:30px;line-height:1.1}.placeholder-note{color:var(--muted);font-size:10px;line-height:1.6}sup{font-family:var(--sans);font-size:.15em;vertical-align:super;margin-left:.13em;color:var(--muted)}.skip-link{position:fixed;z-index:100;top:-90px;left:20px;background:var(--lime);padding:12px}.skip-link:focus{top:12px}.top{position:absolute;z-index:20;top:0;width:100%;padding:30px var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font:28px/1 var(--serif);text-decoration:none;letter-spacing:-.025em}.brand-i{background:linear-gradient(to bottom,var(--lime) 0 35%,var(--ink) 35% 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:var(--ink)}
.opening{position:relative;padding-top:154px;padding-bottom:95px;min-height:850px}.opening-context{position:absolute;right:var(--gutter);top:190px;max-width:250px;font-size:15px;line-height:1.65;color:var(--muted)}.opening h1{font-family:var(--serif);letter-spacing:-.045em;line-height:1}.opening-ma{display:block;font-size:clamp(140px,18.7vw,270px);line-height:.93}.opening-line{display:block;font-size:clamp(70px,9.4vw,136px);padding-left:13.5%;margin-top:19px;white-space:nowrap}.private-word{position:relative;display:inline-block}.private-word>svg{position:absolute;inset:-12% -9% -4%;width:118%;height:116%;overflow:visible;pointer-events:none}.private-word path{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1500;stroke-dashoffset:1500;animation:ink 1.3s .4s ease-out forwards}.opening-bottom{position:relative;display:flex;justify-content:flex-end;margin-top:80px;padding-right:8%;min-height:95px}.opening-bottom>div{max-width:440px;font-size:17px;line-height:1.65}
.relationships{padding-top:100px;padding-bottom:130px}.relationships h2{font:clamp(45px,4.4vw,64px)/1.05 var(--serif);letter-spacing:-.035em}.relationship-field{position:relative;height:535px;margin-top:35px}.relationship-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.route{fill:none;stroke:#aaa294;stroke-width:1;opacity:.45;stroke-linecap:round;transition:opacity .3s,stroke-width .3s}.relationship-count{isolation:isolate;position:absolute;left:25%;top:29%;width:205px}.count-value{display:inline-block;font:190px/.85 var(--serif);letter-spacing:-.08em;position:relative}.count-value:before{content:'';position:absolute;z-index:-1;inset:80% -3% 3% -3%;background:var(--lime);border-radius:52% 48% 47% 53%;transform:rotate(-5deg)}.relationship-count>p{font-size:13px;line-height:1.45;max-width:180px;margin:16px 0 0 25px}.count-note{display:block;margin:25px 0 0 0;font-size:24px;transform:rotate(-6deg);white-space:nowrap}.network-name{position:absolute;font:clamp(28px,2.5vw,36px)/1.1 var(--serif);letter-spacing:-.02em;text-decoration:none;padding:5px 7px;background:var(--ground);transition:color .25s;white-space:nowrap}.network-name>span{display:block;font:11px/1.5 var(--sans);letter-spacing:0;color:var(--muted);margin-top:11px}.network-name:hover,.network-name:focus-visible{color:var(--ink)}.network-pe{left:51%;top:12%}.network-fo{right:4%;top:36%}.network-ma{left:63%;top:71%;font-size:clamp(27px,2.4vw,35px)}.network-strategic{left:0;top:73%;font-size:clamp(27px,2.4vw,35px)}.relationship-field[data-focus='0'] .route-a,.relationship-field[data-focus='1'] .route-b,.relationship-field[data-focus='2'] .route-c,.relationship-field[data-focus='3'] .route-d{opacity:.75;stroke-width:1.4;stroke:var(--ink)}.relationship-bottom{display:flex;justify-content:flex-end;gap:60px;align-items:end}.relationship-bottom>p:last-child{max-width:480px;font-size:16px;color:var(--muted)}
.mix-intro{padding-top:0;padding-bottom:0;display:flex;align-items:end;gap:60px}.mix-intro h2{font:clamp(35px,3.6vw,52px)/1.1 var(--serif);letter-spacing:-.04em}.pour{height:245vh;position:relative}.pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}.pin canvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:pan-y;display:block}.labels{position:absolute;inset:0;pointer-events:none}.lbl{position:absolute;left:0;top:0;display:grid;justify-items:center;color:var(--ink);mix-blend-mode:multiply;opacity:0;will-change:transform,opacity}.lbl b{font:400 calc(var(--fs,48px) * .83)/1.02 var(--serif);max-width:6.2em;text-wrap:balance;text-align:center;letter-spacing:-.01em}.lbl span{display:none}.cue{position:absolute;left:50%;bottom:35px;margin:0;transform:translateX(-50%);display:flex;align-items:center;gap:10px;font:18px var(--serif);color:var(--muted);white-space:nowrap;pointer-events:none;transition:opacity .4s}.cue i{width:1px;height:22px;background:var(--muted);animation:cue 2s infinite;transform-origin:top}.cue.hide{opacity:0}.cue.done i{height:8px;width:8px;border-radius:50%;background:var(--lime);animation:none}.skip-pour{position:absolute;bottom:36px;right:var(--gutter);font-size:11px;color:var(--muted);text-decoration:none}.fallback{display:none;position:absolute;inset:0;place-items:center;font:clamp(35px,5vw,72px)/1.3 var(--serif);text-align:center}.no-3d .fallback{display:grid}.no-3d canvas{display:none}.no-3d .pour{height:100svh}.no-3d .cue{display:none}
.contact{padding-top:140px;padding-bottom:110px;position:relative}.contact-note{font-size:30px;margin-left:55%;transform:rotate(-8deg);margin-bottom:20px}.contact h2{font:clamp(120px,16vw,230px)/.95 var(--serif);letter-spacing:-.055em}.contact h2>span{color:var(--ink);display:inline-block;transform:rotate(9deg);transform-origin:50% 80%;transition:transform .6s}.contact:hover h2>span{transform:rotate(-7deg)}.contact-line{display:flex;justify-content:space-between;gap:60px;align-items:center;margin-top:50px}.contact-line>p{font-size:14px;color:var(--muted)}.contact-line>a{font-size:clamp(17px,1.8vw,26px);text-decoration:none;background:linear-gradient(transparent 66%,var(--lime) 66% 96%,transparent 96%);padding-bottom:4px;white-space:nowrap}.contact-line>a>span{margin-left:22px}.contact-line>a:hover{background:linear-gradient(transparent 50%,var(--lime) 50% 96%,transparent 96%)}footer.scene{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:28px;padding-bottom:35px;border-top:1px solid var(--line)}footer .brand{font-size:25px}footer>span{font-size:11px;color:var(--muted);margin-right:auto}footer>button{background:none;border:0;padding:0;color:var(--muted);font-size:11px;text-align:right}
@keyframes ink{to{stroke-dashoffset:0}}@keyframes cue{0%{transform:scaleY(0)}60%{transform:scaleY(1)}100%{opacity:0;transform:scaleY(1)}}.ink-draw.is-seen{stroke-dasharray:1800;stroke-dashoffset:1800;animation:ink 2s ease-out forwards}
dialog{background:var(--ground);color:var(--ink);border:1px solid var(--line);width:min(550px,calc(100% - 30px));max-height:85svh;padding:34px}dialog::backdrop{background:#1d1b1870;backdrop-filter:blur(3px)}dialog h2{font-size:25px;padding-right:25px}.close-review{position:absolute;right:17px;top:12px;background:none;border:0;font-size:29px}dialog nav{display:grid;margin-block:20px}dialog nav a{padding:9px 0;font-size:14px;border-bottom:1px solid var(--line);text-decoration:none}dialog p{font-size:13px;color:var(--muted);margin-top:18px;line-height:1.7}.review-links{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;margin-top:26px}
@media(min-width:1600px){.top{padding-inline:max(80px,calc((100vw - 1280px)/2))}}
@media(max-width:1050px){.opening{min-height:830px;padding-top:150px;padding-bottom:75px}.opening-context{top:165px;max-width:180px;font-size:13px}.opening-ma{font-size:21vw}.opening-line{padding-left:7%;font-size:10vw}.opening-bottom{padding-right:0;margin-top:60px}.opening-bottom>div{max-width:390px;font-size:16px}.relationship-field{height:490px}.relationship-count{left:23%;top:27%;width:170px}.count-value{font-size:165px}.count-note{font-size:23px;margin-left:-15px}.network-name{font-size:28px}.network-name>span{font-size:10px}.network-ma{left:61%}.network-strategic{font-size:28px}.relationship-bottom{gap:40px}.relationship-bottom>p:last-child{max-width:390px;font-size:15px}.mix-intro{gap:35px}}
@media(max-width:700px){html{scroll-padding-top:25px}.top{padding-block:24px}.brand{font-size:25px}.opening{padding-top:135px;padding-bottom:90px;min-height:0}.opening-context{position:static;font-size:12px;max-width:none;margin:0 0 27px 36%;line-height:1.5}.opening-context br{display:none}.opening h1{letter-spacing:-.035em}.opening-ma{font-size:31vw;line-height:1}.opening-line{font-size:clamp(41px,10.4vw,73px);padding-left:0;margin-top:16px;letter-spacing:-.04em}.private-word>svg{inset:-15% -10%;width:120%;height:130%}.private-word path{stroke-width:1.4}.opening-bottom{display:block;margin-top:55px;min-height:0}.opening-bottom>div{max-width:360px;font-size:15px;padding-left:13%}.relationships{padding-top:60px;padding-bottom:85px}.relationships h2{font-size:40px}.relationship-field{height:500px;margin-top:45px}.relationship-lines{display:none}.relationship-count{top:15%;left:3%;width:150px}.count-value{font-size:140px}.relationship-count>p{font-size:11px;margin:14px 0 0 18px;max-width:130px}.count-note{font-size:22px;white-space:normal;max-width:160px;margin:22px 0 0 0}.network-name{font-size:25px;padding:0}.network-name>span{font-size:10px;margin-top:8px;max-width:145px;white-space:normal}.network-pe{top:0;left:34%}.network-fo{top:38%;right:0;font-size:24px}.network-ma{top:69%;left:36%;font-size:25px}.network-strategic{top:90%;left:0;font-size:26px}.network-name:before{content:'';position:absolute;width:37px;height:36px;border-bottom:1px solid #aaa294;border-left:1px solid #aaa294;border-radius:0 0 0 90%;left:-47px;top:-23px;transform:rotate(-24deg);opacity:.3}.network-strategic:before{left:65%;top:-51px;transform:rotate(135deg)}.relationship-bottom{display:flex;flex-direction:column-reverse;align-items:start;gap:20px}.relationship-bottom>p:last-child{font-size:15px;max-width:350px}.placeholder-note{font-size:9px}.mix-intro{display:block;padding-top:15px;padding-bottom:0}.mix-intro h2{font-size:34px}.pour{height:210svh}.cue{font-size:14px;bottom:43px;max-width:calc(100% - 30px);white-space:normal;text-align:center}.cue i{flex-shrink:0}.skip-pour{font-size:10px;bottom:17px;left:0;right:0;text-align:center}.contact{padding-top:90px;padding-bottom:70px}.contact-note{font-size:25px;margin-left:46%;white-space:nowrap;margin-bottom:13px}.contact h2{font-size:clamp(88px,22vw,140px);letter-spacing:-.05em;white-space:nowrap}.contact-line{display:block;margin-top:33px}.contact-line>p{font-size:13px}.contact-line>a{font-size:19px;display:inline-block;margin-top:28px}.contact-line>a>span{margin-left:15px}footer.scene{padding-top:24px;padding-bottom:28px;flex-wrap:wrap;gap:17px 25px}footer .brand{font-size:24px}footer>span{margin-left:auto;margin-right:0;font-size:10px}footer>button{width:100%;text-align:left;font-size:10px}dialog{padding:25px}}
@media(max-width:360px){.network-fo{font-size:23px}.relationship-count{left:0}.count-value{font-size:130px}.count-note{max-width:130px;font-size:22px}.opening-line{font-size:10.2vw}.contact h2{font-size:26vw}.contact-note{margin-left:42%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.private-word path,.ink-draw.is-seen{stroke-dashoffset:0}.pour{height:100svh}}


/* Shared accessibility and relationship refinements. Middle chapters live in middle.css. */
.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}
.section-caption{font-size:13px;line-height:1.5;color:var(--muted)}
.relationship-bottom{justify-content:flex-end}
.relationship-count{width:240px}
.count-value{padding-right:.18em}
.count-number{display:inline-block}
.count-plus{position:absolute;top:4%;right:0;font:400 .22em/1 var(--sans);letter-spacing:0}
.relationship-count>p{margin-left:12px}
.count-note{font-size:25px;margin-left:-12px}
.network-name{background:transparent}

@media(max-width:1050px){
  .relationship-count{width:200px}.count-note{font-size:23px}
}
@media(max-width:700px){
  .opening{padding-bottom:80px}.opening-bottom{min-height:0}
  .relationship-count{width:170px}.relationship-count>p{margin-left:8px}.count-note{font-size:22px;margin-left:0;max-width:180px}.network-fo{top:42%}
  .relationships{padding-bottom:95px}.relationship-bottom{align-items:stretch}.section-caption{font-size:12px}
}
@media(max-width:360px){.count-note{font-size:21px;max-width:180px}}

@media(forced-colors:active){.brand-i{background:none;-webkit-text-fill-color:currentColor}}
