@font-face{font-family:Geist;src:url('/assets/fonts/Geist-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:GeistPixel;src:url('/assets/fonts/GeistPixel-Square.woff2') format('woff2');font-weight:400;font-display:swap}
:root{color-scheme:dark;--ink:#111214;--paper:#fbf2e2;--white:#eeeee8;--muted:#a4a5a6;--accent:#285346;--sans:Geist,-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;--pixel:GeistPixel,monospace;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--gutter:clamp(24px,4.5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:26px}body{margin:0;background:var(--ink);color:var(--white);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}img{max-width:100%}::selection{background:var(--accent);color:white}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #a8c9b3;outline-offset:6px}.wrap{width:calc(100% - var(--gutter)*2);max-width:1520px;margin-inline:auto}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;left:16px;top:-100px;z-index:20;background:var(--paper);color:var(--ink);padding:12px}.skip:focus{top:12px}
.header{height:86px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff28;position:relative;z-index:2}.wordmark{font:26px/1 var(--pixel);letter-spacing:-1.2px}.brand-dot{color:#a8c9b3}.header nav{display:flex;gap:32px;font-size:14px}.header nav a{padding:12px 0}.header nav a:hover{color:#b9d5c0}
.portrait-opening{position:relative;isolation:isolate;overflow:hidden;--progress:0}.hero-paper{position:absolute;inset:0 0 0 39%;z-index:-1;background:var(--paper)}.hero-layout{display:grid;grid-template-columns:32% 68%;align-items:center;min-height:min(820px,87svh);position:relative}.opening-index{padding:44px 32px 36px 0;position:relative;z-index:1}.opening-label{display:flex;gap:24px;align-items:baseline;font-size:14px;color:#b8beb4;margin:0 0 34px}.opening-label>span{font:14px var(--mono);color:#8f9b8e}.project-index{display:grid;gap:0}.project-index a{display:grid;grid-template-columns:28px 1fr;align-items:baseline;padding:16px 0;border-top:1px solid #ffffff24;font-size:clamp(20px,2.2vw,34px);line-height:1.2;letter-spacing:-.04em;transition:color .15s,transform .2s}.project-index a>span{font:12px var(--mono);letter-spacing:0;color:#9ca39b}.project-index small{grid-column:2;display:block;font:13px/1.5 var(--sans);letter-spacing:0;color:#a3aba2;margin-top:8px}.project-index a:hover{color:#b9d5c0;transform:translateX(5px)}.opening-scroll{display:inline-block;font:72px/1 var(--pixel);margin-top:32px;color:#a8c9b3;transition:transform .2s}.opening-scroll:hover{transform:translateY(7px)}.intro-portrait{width:100%;margin:0 0 0 1%;padding:0;transform:translateY(calc(var(--progress)*18px)) scale(calc(1 + var(--progress)*.045));transform-origin:65% 65%}.intro-portrait img{display:block;width:100%;height:min(720px,76svh);object-fit:cover;object-position:center bottom;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 95%,transparent)}
.archive{background:var(--ink)}.portfolio-work{max-width:none}.collection-heading{display:flex;justify-content:space-between;align-items:center;padding:32px 0 28px}.collection-heading h2{font:14px var(--sans);margin:0;color:#b3bcb1}.motion-switch{border:1px solid #475047;background:transparent;padding:7px 12px;font-size:12px;min-height:36px;color:#c5cfc1}.motion-switch:hover{border-color:#a8c9b3}.case-collection{display:grid;gap:0}.project{min-width:0;position:relative;scroll-margin-top:26px}.case-copy{display:grid;grid-template-columns:1.45fr 1fr;gap:0 48px;padding:32px 0 36px;align-items:start}.case-index{grid-column:1/-1;font:13px/1.7 var(--mono);color:#a1aaa1;margin:0 0 20px}.case-copy h3{font:400 clamp(58px,9.4vw,152px)/1 var(--pixel);letter-spacing:-.075em;margin:0 0 28px;grid-column:1;grid-row:2/5;overflow-wrap:anywhere}.case-copy h3>span{font:16px/1.5 var(--sans);letter-spacing:0;display:block;margin-top:18px}.case-purpose{font-size:16px;color:#abb1a9;margin:8px 0 0;grid-column:2;grid-row:2}.case-insight{font-size:clamp(20px,2.2vw,32px);line-height:1.55;letter-spacing:-.025em;margin:20px 0 26px;grid-column:2;grid-row:3}.case-detail{grid-column:2;max-width:600px;min-width:0}.case-detail summary{display:flex;justify-content:space-between;gap:30px;align-items:center;list-style:none;cursor:pointer;font-size:14px;min-height:44px;border-top:1px solid #ffffff35;color:#b5bfb4;padding:12px 0}.case-detail summary::-webkit-details-marker{display:none}.case-detail summary span{font-size:22px;transition:transform .2s}.case-detail[open] summary span{transform:rotate(45deg)}.case-detail p{font-size:16px;line-height:1.85;color:#b7beb5;margin:18px 0}.case-detail .case-credit{font-size:13px;color:#a0aa9f}.case-detail a{display:inline-block;font-size:14px;color:#b8d6c1;border-bottom:1px solid currentColor}.film-visit{grid-column:1;grid-row:5;justify-self:start;display:inline-flex;gap:20px;font-size:15px;border-bottom:1px solid #a8c9b3;padding-bottom:7px;color:#c2ddca}.case-visual{min-width:0}.demo-topline{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:24px 32px;border-bottom:1px solid #ffffff3b;font-size:14px}.demo-topline>span:last-child{font-size:12px;opacity:.75}.demo-divider{opacity:.5;margin:0 8px}.demo-eyebrow{font-size:13px;color:#b9d5c0}.qa-surface{background:var(--accent);margin:0 0 106px;color:#fff;padding:0 32px 34px}.qa-surface .demo-topline{padding-inline:0}.qa-demo{display:grid;grid-template-columns:1fr 1.1fr;gap:24px 54px;padding:46px 0 6px;align-items:center}.demo-request{padding:12px 16px}.demo-request p{font-size:clamp(22px,2.5vw,38px);line-height:1.55;letter-spacing:-.03em;margin:18px 0;max-width:18em}.assumption-card{background:#f3f3ee;color:var(--ink);padding:38px;min-width:0;box-shadow:12px 12px 0 #17352b}.assumption-label{font-size:13px;color:#536153}.assumption-card h4{font-size:clamp(22px,2.2vw,32px);font-weight:400;line-height:1.5;letter-spacing:-.04em;margin:15px 0 24px}.rule-options{display:flex;flex-wrap:wrap;gap:10px}.rule-options button{background:none;border:1px solid #bdc8ba;padding:12px 15px;font-size:14px;line-height:1.5;min-height:46px}.rule-options button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.rule-options button:hover{border-color:var(--accent)}.case-output{border-top:1px solid #c7cfc2;margin-top:28px;padding-top:22px}.case-output .demo-eyebrow{color:#596658}.case-output p{font:15px/1.9 var(--sans);margin:12px 0 0;color:#2d392e}.demo-footnote{grid-column:1/-1;font-size:13px;color:#d8e8dd;margin:6px 16px 0}
.case-chorus{border-top:1px solid #424943;padding:16px 0 100px}.case-chorus .case-copy h3{font-family:var(--pixel);letter-spacing:-.055em}.chorus-surface{background:#1d2320;border-top:1px solid #4a554c}.chorus-surface .demo-topline{border-color:#3e4841;color:#bdc8bf}.chorus-demo{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%;padding:60px}.voices{display:grid;gap:18px}.voices>div{display:grid;grid-template-columns:48px 1fr;gap:20px;align-items:baseline;border-bottom:1px solid #424e45;padding:16px 0}.voices>div:nth-child(2){margin-left:22px}.voices>div:nth-child(3){margin-left:44px}.voices span{font-size:13px;color:#a0afa4}.voices p{font-size:18px;line-height:1.7;margin:0;color:#e3e9e2}.shared-understanding{padding:24px 0 24px 32px;border-left:3px solid #8ab29a}.shared-understanding h4{font:400 clamp(30px,4vw,58px)/1.2 var(--sans);letter-spacing:-.05em;margin:24px 0;color:#fff}.shared-understanding p{font-size:18px;line-height:1.8;color:#c5d0c7;margin:0}.source-trace{font-size:12px;color:#a1b0a5;display:block;margin-top:28px}
.case-film{background:#e9e6df;color:var(--ink);margin:0 calc(-1 * var(--gutter));padding:60px var(--gutter) 72px}.case-film .case-copy{grid-template-columns:1.55fr 1fr}.case-film .case-copy h3{font-size:clamp(65px,10.7vw,174px);max-width:5.8em;line-height:.92;letter-spacing:-.065em}.case-film .case-index,.case-film .case-purpose{color:#60605c}.case-film .case-detail summary{color:#53544f;border-color:#aaa9a1}.case-film .case-detail p{color:#565750}.case-film .film-visit{color:#242724;border-color:#242724}.case-film .case-credit{color:#686a62}.film-screen{background:#131416;overflow:hidden}.film-screen img{display:block;width:100%;height:auto;aspect-ratio:1.75;object-fit:contain}.film-chapters{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:22px 0}.film-chapters button{background:transparent;border:0;border-top:2px solid #b5b5ad;min-height:56px;text-align:left;padding:16px 0;font-size:16px;color:#555851}.film-chapters button>span{font:12px var(--mono);margin-right:16px;color:#747971}.film-chapters button[aria-pressed=true]{color:#101416;border-color:#101416}.film-chapters button:hover{border-color:var(--accent)}.film-evidence-note{display:flex;justify-content:space-between;gap:24px;align-items:baseline;color:#575c53}.film-evidence-note p{font-size:16px;line-height:1.75;margin:0}.film-evidence-note>span{font-size:12px;white-space:nowrap;color:#747970}
.case-along{padding:100px 0 110px;display:grid;grid-template-columns:.75fr 1.35fr;gap:7%;align-items:start}.case-along .case-copy{display:block;padding-top:0;position:sticky;top:32px}.case-along .case-copy h3{font:400 clamp(64px,8.8vw,138px)/1 var(--pixel);margin:22px 0;letter-spacing:-.075em}.case-along .case-purpose{margin-top:22px}.case-along .case-insight{margin:26px 0}.case-along .case-detail{margin-top:26px}.along-evidence{min-width:0}.along-cover{height:clamp(300px,37vw,540px);position:relative;background:#263930;overflow:hidden}.along-cover>img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.025);transition:transform .8s}.along-cover:hover>img{transform:scale(1.07)}.along-cover-title{position:absolute;left:28px;bottom:26px;background:#111214dd;padding:12px 18px;color:#f0f2ed}.along-cover-title>span{font-size:24px;letter-spacing:-.04em}.along-cover-title small{font-size:16px}.along-cover-title p{display:none}.along-slash{color:#96aca0;margin:0 6px}.along-rehearsal{background:#222a25;padding:28px 32px;color:#eff1ec}.along-demo-heading{display:flex;justify-content:space-between;gap:16px;align-items:baseline;font-size:16px}.along-demo-heading>span:last-child{font-size:12px;color:#b1bcba}.along-days{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}.along-days button{border:1px solid #66786b;padding:9px 13px;background:none;font-size:14px;min-height:44px}.along-days button[aria-pressed=true]{background:#edece2;border-color:#edece2;color:#242d29}.along-days button:hover{border-color:#b7d0c6}.along-scene{min-height:215px}.along-moment{font-size:13px;color:#afbcb8;margin:0 0 14px}.along-scene h4{font-size:clamp(21px,2vw,28px);line-height:1.55;font-weight:400;margin:0 0 20px;letter-spacing:-.025em}.along-scene>p:last-child{font-size:16px;color:#c1cbc6;line-height:1.8;margin:0}.along-confirm{display:flex;justify-content:space-between;gap:24px;width:100%;padding:15px 18px;background:#ededde;border:1px solid #ededde;color:#202925;font-size:14px;margin-top:28px;min-height:50px}.along-confirm[aria-pressed=true]{color:#cfdfd6;background:#354c3d;border-color:#657c6b}.along-feedback{font-size:12px;line-height:1.7;color:#a3b4a9;margin:14px 0 0;min-height:22px}
.writing{background:var(--paper);color:var(--ink);width:100%;max-width:none;padding:66px var(--gutter) 78px;display:grid;grid-template-columns:1fr 4fr;gap:5%}.writing>h2{font-size:16px;font-weight:400;margin:10px 0}.writing-content{min-width:0}.writing-entry{border-top:1px solid #adae9f}.writing-entry-link{display:grid;grid-template-columns:88px 1fr 24px;gap:22px;padding:26px 0 34px;align-items:baseline}.writing-entry time{font:13px/1.7 var(--mono);color:#666b60}.writing-entry h3{font:400 clamp(20px,2.3vw,34px)/1.5 var(--sans);letter-spacing:-.025em;margin:0;transition:color .15s}.writing-entry p{display:none}.reading-entry-arrow{font-size:23px;transition:transform .2s}.writing-entry-link:hover h3{color:#32644f}.writing-entry-link:hover .reading-entry-arrow{transform:translate(4px,-4px)}
.cat-companions{background:var(--paper);color:var(--ink);width:100%;max-width:none;padding:15px var(--gutter) 44px;margin:0;display:flex;flex-direction:column;align-items:flex-end}.cat-companions img{display:block;width:min(73%,760px);height:auto;aspect-ratio:1.8;object-fit:cover;object-position:center bottom;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(transparent,#000 15%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(transparent,#000 15%,#000 86%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.cat-companions figcaption{font-size:14px;margin:0 8% 0 0;color:#585c50}.contact{display:flex;justify-content:space-between;gap:36px;align-items:center;padding:50px var(--gutter);width:100%;max-width:none;margin:0;background:var(--paper);color:var(--ink);border-top:1px solid #c7c8b7}.contact h2{font:400 24px var(--sans);margin:0}footer.wrap{height:96px;display:flex;justify-content:space-between;align-items:center;color:#b6bcb3;font-size:13px}footer .wordmark{font-size:20px}
.qa-surface .demo-request .demo-eyebrow{color:#f1f6ef}.film-chapters button>span,.film-evidence-note>span{color:#5d625a}.opening-label>span{color:#9ca69b}
@media(min-width:1800px){.hero-layout{max-width:1660px}.portfolio-work{max-width:1660px}.case-film{margin-inline:0}}
@media(max-width:1000px){.hero-layout{grid-template-columns:37% 63%}.hero-paper{left:43%}.opening-index{padding-right:24px}.project-index a{font-size:23px}.qa-demo{gap:24px;grid-template-columns:.85fr 1.15fr}.assumption-card{padding:26px}.case-copy{gap:0 28px;grid-template-columns:1.1fr 1fr}.case-copy h3{font-size:clamp(58px,9vw,105px)}.chorus-demo{padding:38px;gap:5%}.shared-understanding{padding-left:24px}.voices p{font-size:16px}.case-film .case-copy{grid-template-columns:1.25fr 1fr}.case-along{grid-template-columns:.7fr 1.3fr;gap:5%}.along-rehearsal{padding:24px}.along-demo-heading{flex-wrap:wrap;gap:4px}.writing{grid-template-columns:1fr 6fr}.writing-entry-link{grid-template-columns:76px 1fr 20px;gap:16px}}
@media(max-width:720px){:root{--gutter:22px}.header{height:72px}.header nav{gap:20px}.wordmark{font-size:23px}.hero-layout{display:flex;flex-direction:column;align-items:stretch;min-height:0}.hero-paper{inset:0;background:var(--paper)}.intro-portrait{order:0;margin:0;width:100%;padding-top:16px}.intro-portrait img{height:52svh;min-height:320px;max-height:540px;object-fit:cover;object-position:center bottom}.opening-index{order:1;background:var(--ink);margin:0 calc(-1 * var(--gutter));padding:24px var(--gutter) 28px;display:grid;grid-template-columns:1fr 56px;gap:0 20px}.opening-label{margin:0 0 20px;grid-column:1/-1;justify-content:space-between}.project-index{grid-template-columns:1fr 1fr;gap:0 20px;grid-column:1/-1}.project-index a{font-size:21px;padding:13px 0;grid-template-columns:23px 1fr}.project-index small{font-size:12px}.opening-scroll{display:none}.collection-heading{padding:22px 0}.case-copy{display:block;padding:26px 0 30px}.case-index{font-size:12px;margin-bottom:22px}.case-copy h3{font-size:clamp(54px,13.5vw,92px);letter-spacing:-.07em;margin-bottom:22px}.case-copy h3>span{display:inline-block;font-size:14px;letter-spacing:0;margin:0 0 0 16px;vertical-align:baseline}.case-purpose{font-size:16px;margin-top:0}.case-insight{font-size:23px;margin:16px 0 20px}.case-insight br{display:none}.case-detail{margin-top:20px;max-width:none}.case-detail summary{padding:10px 0}.qa-surface{padding:0 20px 26px;margin-bottom:60px}.demo-topline{padding:18px 20px;font-size:13px}.qa-demo{grid-template-columns:1fr;padding:24px 0 0;gap:20px}.demo-request{padding:0 4px}.demo-request p{font-size:23px;margin:12px 0}.demo-request p br{display:none}.assumption-card{padding:24px;box-shadow:7px 7px 0 #17352b}.assumption-card h4{font-size:23px}.rule-options button{font-size:14px;padding:10px 12px}.demo-footnote{margin:8px 0 0}.case-chorus{padding-bottom:60px}.chorus-demo{grid-template-columns:1fr;padding:24px;gap:28px}.voices>div{padding:12px 0}.voices>div:nth-child(2){margin-left:12px}.voices>div:nth-child(3){margin-left:24px}.shared-understanding{padding:8px 0 8px 24px}.shared-understanding h4{font-size:36px;margin:16px 0}.shared-understanding p{font-size:17px}.source-trace{margin-top:16px}.case-film{padding:32px var(--gutter) 40px}.case-film .case-copy h3{font-size:clamp(68px,16vw,112px);line-height:.95;margin:0 0 24px}.film-visit{font-size:14px;margin:2px 0 10px}.film-screen img{aspect-ratio:1.45}.film-chapters{gap:12px;margin:18px 0}.film-chapters button{font-size:14px;line-height:1.5;min-height:60px;padding:12px 0}.film-chapters button>span{display:block;margin:0 0 6px}.film-evidence-note{display:block}.film-evidence-note p{font-size:15px}.film-evidence-note>span{display:block;margin-top:10px}.case-along{display:block;padding:46px 0 64px}.case-along .case-copy{position:static;padding-bottom:30px}.case-along .case-copy h3{font-size:82px;margin:0 0 20px}.case-along .case-insight{margin:18px 0}.case-along .case-purpose{margin-top:0}.along-cover{height:320px}.along-cover-title{left:18px;bottom:18px}.along-rehearsal{padding:24px 20px}.along-scene{min-height:200px}.along-days{gap:7px}.along-days button{font-size:13px;padding:10px}.writing{grid-template-columns:1fr;padding:36px var(--gutter) 44px;gap:24px}.writing>h2{margin:0}.writing-entry-link{grid-template-columns:1fr 22px;gap:12px;padding:24px 0}.writing-entry time{grid-column:1/-1}.writing-entry h3{font-size:22px}.cat-companions{padding:8px var(--gutter) 34px;align-items:center}.cat-companions img{width:100%;aspect-ratio:1.65}.cat-companions figcaption{margin:0}.contact{padding:32px var(--gutter) 42px;align-items:flex-start;flex-direction:column;gap:20px}footer.wrap{height:86px;font-size:12px}}
@media(max-width:380px){.header nav{font-size:13px;gap:13px}.wordmark{font-size:21px}.project-index{gap:0 14px}.project-index a{font-size:18px}.case-copy h3{font-size:50px}.assumption-card{padding:20px}.along-days button{padding:9px 8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.intro-portrait{transform:none}.along-cover>img{transform:none}}
html.motion-off{scroll-behavior:auto}.motion-off .intro-portrait,.motion-off .along-cover>img{transform:none}.motion-off *{transition:none!important}

/* Project names share the same pixel type across the index and showcases. */
.project-index a,.along-cover-title>span{font-family:var(--pixel)}
.case-copy h3,.case-chorus .case-copy h3,.case-film .case-copy h3,.case-along .case-copy h3{letter-spacing:-.04em}
.cat-turn{background:var(--paper);color:var(--ink);padding-top:clamp(48px,8vw,128px)}
.cat-turn h2{font:400 clamp(56px,8.5vw,128px)/1.06 var(--pixel);letter-spacing:-.035em;margin:0;max-width:9em}
.cat-turn h2>span{color:#285346}
.cat-turn .cat-companions{padding-top:0;padding-bottom:64px}
.cat-turn .cat-companions figcaption{font-size:16px;line-height:1.8}
.opening-note{font:16px/1.85 var(--sans);color:#bac4b9;max-width:24em;margin:0 0 26px}
.case-purpose{line-height:1.85}
@media(max-width:720px){.opening-note{grid-column:1/-1;max-width:30em;margin:0 0 22px}.opening-index .opening-label{margin-bottom:14px}}
@media(max-width:720px){.cat-turn{padding-top:36px}.cat-turn h2{font-size:clamp(50px,12vw,78px)}.cat-turn .cat-companions{padding-top:24px;padding-bottom:48px}.cat-turn .cat-companions figcaption{text-align:center}}

.contact{flex-wrap:wrap}
.contact-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px 24px;width:500px;max-width:100%;flex-shrink:0}
.social-profile{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;min-height:54px;margin:0;padding:0;border:0;background:transparent;text-align:left;font:14px/1.5 var(--sans);color:#334039}
.social-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid #a8b4a3;border-radius:50%;transition:background .2s,border-color .2s,transform .2s}
.social-icon img{display:block;width:30px;height:30px;object-fit:contain}
.social-mark img{width:24px;height:24px}
.social-label{display:grid;gap:3px;min-width:0}
.social-action{font-size:12px;line-height:1.6;color:#626e60}
.social-profile:hover{color:#32644f}
.social-profile:hover .social-icon{background:#dce7d8;border-color:#32644f;transform:translateY(-2px)}
.social-profile:focus-visible{outline:2px solid #32644f;outline-offset:6px;border-radius:3px}
@media(max-width:720px){.contact-channels{gap:16px;width:500px}}
@media(max-width:520px){.contact-channels{width:100%;gap:12px}.social-profile{grid-template-columns:minmax(0,1fr);justify-items:center;gap:10px;text-align:center;padding:8px 0}.social-label{justify-items:center}}

/* Longer essays and passing thoughts share one reading space. */
.writing{display:block;padding-block:64px 80px}
.writing>h2{margin:0 0 32px}
.writing-columns{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:start}
.writing-entry-link{grid-template-columns:65px minmax(0,1fr) 20px;gap:16px;padding:24px 0 30px}
.writing-entry h3{font-size:clamp(20px,2.15vw,30px);line-height:1.55}
.more-writing{border-top:1px solid #adae9f}
.more-writing>summary{display:flex;justify-content:space-between;align-items:center;min-height:56px;cursor:pointer;list-style:none;font-size:14px;color:#495248}
.more-writing>summary::-webkit-details-marker,.small-note>summary::-webkit-details-marker{display:none}
.more-writing>summary>span,.note-plus,.lead-note>summary>span{font:22px/1 var(--sans);transition:transform .2s}
.more-writing[open]>summary>span,.small-note[open]>summary>.note-plus,.lead-note[open]>summary>span{transform:rotate(45deg)}
.writing-content a:focus-visible,.more-writing>summary:focus-visible{outline-color:#32644f}
.notebook{min-width:0;background:#1b2b22;color:#eff1e9;padding:32px clamp(24px,3vw,44px) 24px}
.note-date{display:flex;align-items:baseline;gap:18px;margin:0 0 22px;font-size:13px;color:#b4c5b7}
.note-date>span{font:15px/1.5 var(--pixel);letter-spacing:.03em;color:#c1dac7}
.note-lead blockquote{font:400 clamp(24px,2.6vw,40px)/1.5 var(--sans);letter-spacing:-.035em;margin:0 0 24px}
.small-note{border-top:1px solid #526453}
.small-note>summary{display:grid;grid-template-columns:58px minmax(0,1fr) 14px;gap:14px;align-items:baseline;padding:20px 0;list-style:none;cursor:pointer;font-size:15px;line-height:1.65;color:#dce7da}
.small-note>summary:hover{color:#fff}
.note-number{font:11px/1.6 var(--mono);color:#aec2af;white-space:nowrap}
.small-note.lead-note{border-top:0;margin-bottom:8px}
.lead-note>summary{display:flex;justify-content:space-between;padding:4px 0 20px;min-height:44px;font-size:13px;color:#b4c5b7}
.note-body{padding:0 0 18px;color:#d0dfd0}
.note-body p{font-size:15px;line-height:1.9;margin:0 0 14px}
.note-body p:last-child{margin-bottom:0}
.note-body .note-credit{font-size:12px;color:#adc0af}
.notebook-source{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #526453;min-height:58px;padding-top:12px;font-size:13px;color:#c1dac7}
.notebook-source:hover{color:#fff}
.case-film .case-copy{padding-top:52px;padding-bottom:0}
.contact-note{font-size:14px;line-height:1.8;color:#5d6558;margin:14px 0 0}
@media(max-width:1000px){.writing-columns{gap:4%}.writing-entry-link{grid-template-columns:minmax(0,1fr) 20px;gap:10px}.writing-entry time{grid-column:1/-1}.notebook{padding:28px 24px 20px}.small-note>summary{grid-template-columns:48px minmax(0,1fr) 14px;gap:10px}.note-lead blockquote{font-size:27px}}
@media(max-width:720px){.writing{padding-block:40px 48px}.writing-columns{grid-template-columns:minmax(0,1fr);gap:36px}.writing>h2{margin-bottom:24px}.writing-entry-link{padding:22px 0}.writing-entry h3{font-size:22px}.note-lead blockquote{font-size:clamp(23px,6.2vw,36px)}.notebook{padding:28px 24px 20px}.case-film .case-copy{padding-top:36px}.contact-note{margin-top:12px}}

/* Let the design choices lead; the pixel names remain the chapter markers. */
[hidden]{display:none!important}
.opening-thought{display:block;font:14px/1.85 var(--sans);color:#a8c9b3;max-width:24em;margin:-8px 0 26px}
.opening-thought:hover{color:#e2eee0}
.opening-thought>span{white-space:nowrap}
.case-copy{grid-template-columns:1fr 1fr;gap:0 7%;padding-bottom:34px}
.case-copy h3,.case-chorus .case-copy h3,.case-film .case-copy h3{font-size:clamp(56px,7.2vw,112px);line-height:1.05;grid-row:2;letter-spacing:-.04em;margin:0 0 22px}
.case-film .case-copy{grid-template-columns:1fr 1fr}
.case-film .case-copy h3{font-size:clamp(62px,7.6vw,120px);max-width:none}
.case-purpose{grid-column:1;grid-row:3;color:#d2d8cf;font-size:18px;line-height:1.8;margin:0;max-width:28em}
.case-insight{grid-column:2;grid-row:2;font-size:clamp(22px,2.15vw,32px);align-self:end;margin:0 0 24px}
.case-detail{grid-column:2;grid-row:3}
.film-visit{grid-row:4;margin-top:22px}
.case-film .case-purpose{color:#4e564c}
.case-along .case-copy h3{font-size:clamp(62px,6.7vw,104px)}
.case-along .case-purpose{font-size:20px;color:#d2d8cf}
.project-state{font-size:14px;line-height:1.85;color:#b7c6bb;margin:0;padding:22px 32px;border-top:1px solid #3e4841}
.qa-surface{margin-bottom:0}
.qa-surface .demo-topline>a{font-size:14px;text-decoration:underline;text-underline-offset:5px;color:#e0ede2}
.qa-view-switch{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:600px;margin-top:16px}
.qa-view-switch>button{border:0;border-bottom:2px solid #739883;background:none;text-align:left;padding:12px 0 16px;font:12px/1.6 var(--mono);color:#c2d8c9}
.qa-view-switch>button>span{display:block;font:16px/1.6 var(--sans);margin-top:4px}
.qa-view-switch>button[aria-pressed=true]{border-color:#f0f5ec;color:#fff}
.qa-view-switch>button:hover{color:#fff;border-color:#e4efdf}
.demo-context{display:block;font-size:14px;line-height:1.8;color:#d1e4d4;max-width:24em}
.memory-card h4{font-size:clamp(21px,2vw,28px);margin:14px 0 22px}
.memory-options{display:flex;gap:8px;flex-wrap:wrap}
.memory-options button{background:none;border:1px solid #a6b5a4;color:#29392d;padding:9px 13px;min-height:44px;font-size:14px}
.memory-options button[aria-pressed=true]{background:#263f30;color:#fff;border-color:#263f30}
.memory-options button:hover{border-color:#263f30}
.memory-result{border-top:1px solid #c7cfc2;margin-top:24px;padding-top:20px}
.memory-result .memory-decision{font-size:20px;line-height:1.6;color:#203e2b;margin:0 0 8px}
.memory-result>p{font-size:14px;line-height:1.8;color:#596458;margin:0}
.memory-result ol{padding-left:1.5em;font-size:15px;line-height:1.9;color:#303b2e;margin:16px 0 0}
.memory-result li{padding-left:4px}
.memory-result li::marker{color:#71816d;font:12px var(--mono)}
.memory-retained{font-size:13px;line-height:1.8;color:#53664e;border-top:1px solid #c7cfc2;padding-top:16px;margin:20px 0 0}
.field-note{width:min(100%,820px);justify-self:end;padding:68px 0 70px clamp(0px,4vw,60px)}
.field-note .note-date{font-size:14px;color:#a5bba9;margin-bottom:20px}
.field-note-context{font-size:16px;color:#b8c7bb;line-height:1.8;margin:0 0 16px}
.field-note blockquote{font-size:clamp(26px,3.25vw,49px);line-height:1.5;letter-spacing:-.03em;color:#e5eddf;margin:0 0 24px}
.field-note .lead-note{max-width:640px;margin-bottom:0}
.field-note .lead-note>summary{border-top:1px solid #455546;padding-top:16px;color:#b6cbb9}
.field-note-source{display:inline-block;font-size:14px;color:#a8c9b3;margin-top:8px;padding:4px 0;text-decoration:underline;text-underline-offset:5px}
.field-note-source:hover{color:#e2eee0}
.notebook>.note-date{margin-bottom:12px}
.along-cover{height:220px}
.roadbook-window{background:#18271f;border:1px solid #43594a}
.roadbook-topline{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:20px 24px;border-bottom:1px solid #43594a;font-size:14px;color:#d2e1d0}
.roadbook-topline>span:last-child{font-size:12px;color:#a4bba8}
.roadbook-map{display:block;width:100%;height:auto;max-height:420px}
.roadbook-land{fill:#25382b;stroke:#5d7964;stroke-width:1.5}
.roadbook-road{stroke:#617e68;stroke-width:1.4;opacity:.6}
.roadbook-road.is-current{stroke:#dcf0c5;stroke-width:3.5;opacity:1}
.roadbook-stops{display:none;fill:#e5efdc;stroke:#18271f;stroke-width:2}
.roadbook-stops.is-current{display:block}
.roadbook-island{text-anchor:middle;fill:#b3c8b2;font:40px var(--pixel);letter-spacing:.14em}
.roadbook-island-label{text-anchor:middle;fill:#a7bca8;font:15px var(--sans);letter-spacing:.08em}
.roadbook-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 24px 22px}
.roadbook-dates>button{display:flex;flex-direction:column;align-items:flex-start;gap:8px;border:1px solid #536e59;background:none;color:#b9ceb9;font-size:14px;padding:14px;min-height:80px}
.roadbook-dates>button>span{font:26px/1.1 var(--pixel);letter-spacing:-.02em}
.roadbook-dates>button[aria-pressed=true]{background:#dce8cc;color:#233526;border-color:#dce8cc}
.roadbook-dates>button:hover{border-color:#dce8cc}
.roadbook-day{padding:0 24px 24px;min-height:185px}
.roadbook-day h4{font-size:clamp(22px,2.2vw,30px);font-weight:400;line-height:1.6;margin:0 0 12px;color:#eef4e7}
.roadbook-day>p{font-size:14px;line-height:1.9;margin:0;color:#c1d0bd}
.roadbook-stay{display:flex;align-items:baseline;gap:18px;margin-top:20px;flex-wrap:wrap}
.roadbook-stay>span{font-size:13px;color:#a8bba5}
.roadbook-stay>strong{font-size:16px;line-height:1.8;font-weight:400;color:#e3ecd9}
.roadbook-day>#roadbook-note{margin-top:16px;font-size:13px;color:#aebfaa}
.roadbook-attribution{border-top:1px solid #43594a;padding:14px 24px;font-size:12px;line-height:1.8;color:#a8bba5}
.roadbook-attribution>a:hover{text-decoration:underline;text-underline-offset:3px}
.roadbook-attribution>a:last-child{display:inline-block;margin-left:12px;text-decoration:underline;text-underline-offset:3px}
.packing-preview{margin-top:20px;border-top:1px solid #556c59}
.packing-preview>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font-size:15px;min-height:64px;padding:16px 0;color:#bdcdb9}
.packing-preview>summary::-webkit-details-marker{display:none}
.packing-preview>summary>span{font-size:22px;transition:transform .2s}
.packing-preview[open]>summary>span{transform:rotate(45deg)}
@media(max-width:1000px){.case-copy{gap:0 5%}.case-copy h3,.case-chorus .case-copy h3{font-size:clamp(52px,7.2vw,76px)}.case-purpose{font-size:17px}.case-along{grid-template-columns:.8fr 1.2fr;gap:5%}.case-along .case-copy h3{font-size:76px}.roadbook-map{max-height:340px}.roadbook-dates{margin-inline:18px;gap:8px}.roadbook-dates>button{padding:12px 10px}.roadbook-dates>button>span{font-size:24px}.roadbook-day{padding-inline:18px}.roadbook-topline,.roadbook-attribution{padding-inline:18px}}
@media(max-width:720px){.opening-thought{grid-column:1/-1;margin:0 0 22px;max-width:30em}.case-copy{display:block;padding-bottom:28px}.case-copy h3,.case-chorus .case-copy h3{font-size:clamp(50px,12vw,82px);margin-bottom:16px}.case-film .case-copy h3{font-size:clamp(62px,14vw,94px)}.case-purpose{font-size:17px;max-width:none}.case-insight{font-size:23px;line-height:1.6;margin:18px 0 20px}.film-visit{margin-top:4px}.case-along{display:block}.case-along .case-copy h3{font-size:78px}.case-along .case-purpose{font-size:19px}.case-along .case-insight{margin:18px 0}.qa-view-switch{gap:18px;margin-top:10px}.qa-view-switch>button>span{font-size:14px}.memory-card h4{font-size:22px}.memory-result .memory-decision{font-size:19px}.memory-options button{padding:9px 11px}.field-note{padding:42px 0 46px}.field-note blockquote{font-size:clamp(25px,6.5vw,40px)}.field-note-context{font-size:15px}.project-state{padding:20px 24px;font-size:14px}.along-cover{height:200px}.roadbook-map{max-height:none}.roadbook-dates{margin:0 16px 20px;gap:8px}.roadbook-dates>button{padding:12px 10px}.roadbook-day{padding:0 20px 22px;min-height:190px}.roadbook-day h4{font-size:24px}.roadbook-topline{padding:18px 20px}.roadbook-attribution{padding:14px 20px}.roadbook-stay{gap:8px 14px}.packing-preview>summary{font-size:14px}}
@media(max-width:380px){.roadbook-dates{margin-inline:12px;gap:6px}.roadbook-dates>button{padding-inline:8px}.roadbook-dates>button>span{font-size:20px}}

/* A complete archival frame, with a quiet margin for the work index. */
.cinema-opening{position:relative;isolation:isolate;background:var(--ink);--progress:0}
.cinema-backdrop{position:absolute;inset:0 0 0 32%;overflow:hidden;pointer-events:none}
.cinema-poster,.cinema-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;filter:brightness(.9)}
.cinema-video{opacity:0;transition:opacity .4s}
.cinema-opening.film-loaded .cinema-video{opacity:1}
.cinema-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink),transparent 8%);pointer-events:none}
.cinema-layout{position:relative;display:grid;grid-template-columns:minmax(0,28%) minmax(0,1fr);align-items:center;min-height:clamp(660px,calc(100svh - 86px),900px);padding-block:28px 92px}
.cinema-opening .opening-index{padding:16px 26px 20px 0;background:none}
.cinema-opening .opening-label{margin-bottom:24px;font-size:14px}
.cinema-opening .opening-note{color:#d6d9d2;max-width:18em;font-size:16px}
.cinema-opening .opening-thought{font-size:14px;line-height:1.8;color:#adb8ae;max-width:20em;margin-bottom:24px}
.cinema-opening .project-index a{font:400 clamp(20px,2vw,31px)/1.35 var(--pixel);letter-spacing:-.025em;padding:14px 0}
.cinema-opening .project-index small{font:14px/1.5 var(--sans);color:#adb6ac;margin-top:4px;letter-spacing:0}
.cinema-opening .opening-scroll{font-size:44px;margin-top:20px}
.cinema-foot{position:absolute;bottom:22px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:24px;z-index:2}
.cinema-credit{font-size:14px;line-height:1.6;color:#bdc5ba}
.cinema-credit span{font:12px/1.6 var(--mono);display:inline-block;margin-left:14px;color:#95a191}
.cinema-credit:hover{color:#fff}


.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:24px 7%;align-items:center;padding-block:56px}
.contact-portrait{grid-column:2;grid-row:1/3;margin:0;min-width:0}
.contact-portrait img{display:block;width:100%;height:clamp(380px,42vw,620px);object-fit:contain;mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.contact-person{grid-column:1;grid-row:1;align-self:end}
.contact-person h2{font-size:clamp(24px,3vw,42px);line-height:1.5}
.contact-note{font-size:16px}
.contact-channels{grid-column:1;grid-row:2;align-self:start;width:100%;max-width:500px;margin-top:12px}
@media(max-width:1100px){.cinema-layout{grid-template-columns:minmax(0,32%) minmax(0,1fr)}.cinema-backdrop{left:36%}.cinema-opening .project-index a{font-size:23px}.cinema-opening .opening-index{padding-right:18px}}
@media(max-width:720px){
 .cinema-opening{display:flex;flex-direction:column}
 .cinema-backdrop{position:relative;inset:auto;order:0;width:100%;aspect-ratio:4/3;min-height:0}
 .cinema-backdrop:after{background:linear-gradient(0deg,var(--ink),transparent 6%)}
 .cinema-layout{order:2;display:block;min-height:0;padding:0;margin-top:10px}
 .cinema-opening .opening-index{margin:0;padding:12px 0 24px;display:block}
 .cinema-opening .opening-label{display:none}
 .cinema-opening .opening-note{max-width:none;margin:0 0 14px;font-size:16px}
 .cinema-opening .opening-thought{max-width:none;margin:0 0 24px;font-size:14px}
 .cinema-opening .project-index{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 20px}
 .cinema-opening .project-index a{font-size:21px;grid-template-columns:23px minmax(0,1fr);min-width:0;overflow-wrap:anywhere}
 .cinema-opening .project-index small{font-size:14px}
 .cinema-foot{position:relative;inset:auto;order:1;margin-top:14px;gap:12px;align-items:center}
 .cinema-credit span{display:block;margin:2px 0 0;font-size:12px}

 .contact{grid-template-columns:minmax(0,1fr);gap:22px;padding-block:32px 44px}
 .contact-portrait{grid-column:1;grid-row:1}
 .contact-portrait img{height:clamp(340px,100vw,520px)}
 .contact-person{grid-column:1;grid-row:2;align-self:auto}
 .contact-channels{grid-column:1;grid-row:3;margin-top:0;align-self:auto}
}
@media(max-width:380px){.cinema-opening .project-index{gap:0 14px}.cinema-opening .project-index a{font-size:18px}}

/* Closing sequence: the same dark ground and precise frames as the opening. */
.cat-turn{background:var(--ink);color:var(--white);padding:clamp(80px,10vw,160px) 0 clamp(64px,7vw,112px)}
.cat-layout{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:7%;align-items:center}
.cat-intro{min-width:0;padding-bottom:44px}
.cat-turn h2{font-size:clamp(56px,7.1vw,112px);line-height:1;letter-spacing:-.055em;max-width:none}
.cat-turn h2>span{color:#a8c9b3}
.cat-intro p{font-size:15px;color:#aeb8ae;margin:32px 0 0}
.cat-turn .cat-companions{display:block;background:transparent;color:inherit;width:100%;max-width:none;margin:0;padding:0;min-width:0}
.closing-image-frame{overflow:hidden;isolation:isolate;background:#d9d9cd}
.cat-turn .cat-companions img,.contact-portrait img{display:block;width:100%;height:auto;aspect-ratio:1.8;object-fit:cover;object-position:center bottom;mix-blend-mode:normal;-webkit-mask-image:none;mask-image:none;filter:saturate(.68)}
.cat-turn .cat-companions figcaption,.contact-portrait figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:17px;margin:0;color:#c0c8be;font-size:14px;line-height:1.5;text-align:left}
.cat-caption-join{color:#7d9081;font-family:var(--mono);padding:0 8px}
.closing-frame-number{font:11px/1.5 var(--mono);letter-spacing:.08em;color:#829186;white-space:nowrap}
.contact{background:#17231e;color:var(--white);border-top:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);column-gap:9%;row-gap:32px;padding:clamp(56px,7vw,112px) var(--gutter);align-items:center}
.contact-portrait{grid-column:1;grid-row:1/3;margin:0;min-width:0;align-self:center}
.contact-portrait img{aspect-ratio:4/3;height:auto;filter:saturate(.68)}
.contact-person{grid-column:2;grid-row:1;align-self:end;min-width:0}
.contact-person h2{font-size:clamp(24px,2.7vw,38px);line-height:1.5;letter-spacing:-.035em;font-weight:400;display:flex;align-items:center;justify-content:space-between;gap:16px}
.contact-arrow{font:clamp(36px,4vw,58px)/1 var(--pixel);color:#a8c9b3}
.contact-note{font-size:15px;line-height:1.8;color:#aebdb1;margin:16px 0 0}
.contact-channels{grid-column:2;grid-row:2;display:grid;grid-template-columns:1fr;gap:0;align-self:start;width:100%;max-width:none;margin:0}
.contact .social-profile{display:grid;grid-template-columns:32px minmax(0,1fr);gap:18px;min-height:72px;padding:18px 0;border-top:1px solid #8fa99240;color:#d6dfd3;font-size:15px;text-align:left;justify-items:stretch;transition:color .2s}
.contact .social-profile:last-child{border-bottom:1px solid #8fa99240}
.contact .social-icon{border:0;border-radius:0;width:32px;height:32px;background:transparent;transform:none}
.contact .social-icon img{width:27px;height:27px;filter:invert(91%) sepia(8%) saturate(268%) hue-rotate(51deg)}
.contact .social-mark img{width:23px;height:23px}
.contact .social-label{display:flex;align-items:center;justify-content:space-between;gap:16px}
.contact .social-action{font-size:23px;line-height:1;color:#9fb79f;transition:transform .2s}
.contact .social-profile:hover,.contact .social-profile:focus-visible{color:#fff}
.contact .social-profile:hover .social-icon{background:transparent;transform:none}
.contact .social-profile:hover .social-action{transform:translate(3px,-3px)}
.contact .social-profile:focus-visible{outline-color:#a8c9b3;border-radius:0}
@media(min-width:1800px){.contact{padding-inline:max(var(--gutter),calc((100vw - 1520px)/2))}}
@media(max-width:1000px) and (min-width:721px){.contact{column-gap:6%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contact-portrait img{aspect-ratio:1}.contact-person h2{font-size:25px}.contact .social-profile{min-height:64px;padding:14px 0}}
@media(max-width:720px){
 .cat-turn{padding:64px 0 56px}
 .cat-layout{grid-template-columns:1fr;gap:32px}
 .cat-intro{padding:0}
 .cat-turn h2{font-size:clamp(60px,14vw,96px)}
 .cat-intro p{margin-top:20px;font-size:14px}
 .cat-turn .cat-companions{padding:0}
 .cat-turn .cat-companions img{aspect-ratio:1.6}
 .cat-turn .cat-companions figcaption,.contact-portrait figcaption{padding-top:13px;font-size:13px;text-align:left}
 .contact{grid-template-columns:minmax(0,1fr);gap:0;padding:40px var(--gutter) 48px}
 .contact-portrait{grid-column:1;grid-row:1;margin:0 0 40px}
 .contact-portrait img{aspect-ratio:1.2;height:auto}
 .contact-person{grid-column:1;grid-row:2;align-self:auto}
 .contact-person h2{font-size:27px}
 .contact-arrow{font-size:40px}
 .contact-note{margin-top:12px;font-size:14px}
 .contact-channels{grid-column:1;grid-row:3;margin-top:28px;gap:0;width:100%}
 .contact .social-profile{min-height:68px;padding:16px 0}
}
@media(prefers-reduced-motion:reduce){.contact .social-profile,.contact .social-action{transition:none}.contact .social-profile:hover .social-action{transform:none}}

/* WIDE: current ice-cave cover, with the product's white/glacier palette scoped to its window. */
.case-wide .wide-preview-label{margin:0 0 12px;font-size:12px;letter-spacing:.04em;color:#9cac9e}
.case-wide .wide-trip-status{font-size:13px;color:#acb8ae}
.wide-showcase{container-type:inline-size;background:#fff;color:#334950;border:1px solid #dce4e7;color-scheme:light}
.wide-window-bar{display:flex;align-items:center;gap:14px;min-height:64px;padding:16px 26px;border-bottom:1px solid #e6edef;font-size:11px;color:#6b7478}
.wide-window-bar .wide-wordmark{font:500 19px/1 var(--sans);letter-spacing:-.05em;color:#204655}
.wide-window-bar>a{margin-left:auto;color:#386479;padding-block:6px}
.wide-window-bar>a:hover{text-decoration:underline;text-underline-offset:4px}
.wide-editorial{display:grid;grid-template-columns:minmax(170px,.85fr) minmax(0,1.35fr);grid-template-rows:auto 1fr;gap:26px 28px;padding:38px 26px 32px}
.wide-heading{align-self:start;padding-top:10px}
.wide-heading h4{font:400 clamp(40px,7.5cqi,62px)/1.12 Georgia,'Times New Roman',serif;letter-spacing:-.045em;color:#204655;margin:0}
.wide-heading>p{font-size:13px;line-height:1.75;letter-spacing:.015em;color:#48585e;margin:16px 0 0}
.wide-dates{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;margin-top:23px;font-size:11px;font-variant-numeric:tabular-nums;line-height:1.8;color:#6b7478}
.wide-photograph{grid-column:2;grid-row:1/3;min-width:0;margin:0}
.wide-photograph>img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:center;background:#e3f4f8}
.wide-photograph figcaption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;padding-top:10px;font-size:10px;line-height:1.8;color:#6b7478}
.wide-photograph details{max-width:70%;margin-left:auto;text-align:right}
.wide-photograph summary{cursor:pointer;padding-block:4px}
.wide-photograph details p{margin:5px 0;font-size:10px;line-height:1.8}
.wide-photograph details a{text-decoration:underline;text-underline-offset:3px}
.wide-contents{grid-column:1;grid-row:2;align-self:end;margin-bottom:29px;border-top:1px solid #dce4e7}
.wide-contents>a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:51px;padding:13px 0;border-bottom:1px solid #dce4e7;font-size:13px;line-height:1.7;letter-spacing:.025em}
.wide-contents>a>span{font-size:18px;line-height:1;color:#3d7f98;transition:transform .2s}
.wide-contents>a:hover{color:#0078a8}
.wide-contents>a:hover>span{transform:translate(2px,-2px)}
.wide-route,.wide-showcase .packing-preview{margin:0;border-top:1px solid #dce4e7}
.wide-route>summary,.wide-showcase .packing-preview>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;min-height:58px;padding:16px 26px;color:#334950;font-size:13px}
.wide-route>summary::-webkit-details-marker{display:none}
.wide-route>summary>span{font-size:22px;line-height:1;transition:transform .2s}
.wide-route[open]>summary>span{transform:rotate(45deg)}
.wide-showcase .roadbook-window{background:#f6fbfd;border:0;border-top:1px solid #e2ecef}
.wide-showcase .roadbook-topline{color:#386479;border-color:#e2ecef;font-size:13px}
.wide-showcase .roadbook-topline>span:last-child{color:#697b83}
.wide-showcase .roadbook-land{fill:#e5f2f4;stroke:#8eb2bd}
.wide-showcase .roadbook-road{stroke:#9bbfc9}
.wide-showcase .roadbook-road.is-current{stroke:#007fa7;stroke-width:4}
.wide-showcase .roadbook-stops{fill:#0078a8;stroke:#fff}
.wide-showcase .roadbook-island{fill:#467c90}
.wide-showcase .roadbook-island-label{fill:#647e88}
.wide-showcase .roadbook-dates>button{color:#4a6773;border-color:#c7dee5;background:#fff;font-size:13px;min-height:76px}
.wide-showcase .roadbook-dates>button>span{font:400 23px/1.2 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.wide-showcase .roadbook-dates>button[aria-pressed=true]{background:#0078a8;border-color:#0078a8;color:#fff}
.wide-showcase .roadbook-dates>button:hover{border-color:#0078a8}
.wide-showcase .roadbook-day h4{color:#204655;font-size:23px}
.wide-showcase .roadbook-day>p,.wide-showcase .roadbook-day>#roadbook-note{color:#516b76}
.wide-showcase .roadbook-stay>span{color:#657e89}
.wide-showcase .roadbook-stay>strong{color:#244c5e}
.wide-showcase .roadbook-attribution{color:#607b87;border-color:#dce8ec;font-size:10px}
.wide-showcase .along-rehearsal{background:#f6fbfd;border-top:1px solid #e2ecef;color:#334950;padding:26px}
.wide-showcase .along-demo-heading{font-size:14px}
.wide-showcase .along-demo-heading>span:last-child{color:#697b83;font-size:11px}
.wide-showcase .along-days{margin:20px 0}
.wide-showcase .along-days button{color:#456571;border-color:#c7dee5;background:#fff;font-size:12px}
.wide-showcase .along-days button[aria-pressed=true]{color:#fff;border-color:#0078a8;background:#0078a8}
.wide-showcase .along-moment{color:#557a89}
.wide-showcase .along-scene{min-height:180px}
.wide-showcase .along-scene h4{color:#204655;font-size:22px}
.wide-showcase .along-scene>p:last-child{color:#516b76;font-size:14px}
.wide-showcase .along-confirm{background:#0078a8;color:#fff;border-color:#0078a8}
.wide-showcase .along-confirm[aria-pressed=true]{color:#21566b;border-color:#abdbe8;background:#d9eff5}
.wide-showcase .along-feedback{color:#637e89}
.wide-showcase :is(a,button,summary):focus-visible{outline-color:#0078a8}
.wide-trip-rhythm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:23px 0 0;font-size:13px;line-height:1.7;color:#d6dfd3}
.wide-trip-rhythm>li{border-top:1px solid #47594c;padding-top:13px}
.wide-trip-rhythm span{display:block;margin-bottom:4px;font-size:11px;color:#8faaa0}
@container (max-width:510px){
 .wide-editorial{grid-template-columns:1fr;grid-template-rows:auto auto auto;padding:28px 20px 24px;gap:24px}
 .wide-heading{padding-top:0}
 .wide-heading h4{font-size:46px}
 .wide-heading>p{margin-top:12px}
 .wide-dates{margin-top:16px;font-size:12px}
 .wide-photograph{grid-column:1;grid-row:2}
 .wide-photograph>img{aspect-ratio:4/3}
 .wide-contents{grid-column:1;grid-row:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-top:0;gap:15px}
 .wide-contents>a{font-size:12px;gap:4px;border-top:1px solid #dce4e7;border-bottom:0;min-height:48px;padding:12px 0}
 .wide-contents>a>span{font-size:15px}
 .wide-window-bar{padding-inline:20px;gap:10px}
 .wide-window-bar>span:nth-child(2){display:none}
 .wide-route>summary,.wide-showcase .packing-preview>summary{padding-inline:20px}
 .wide-showcase .along-rehearsal{padding:22px 20px}
}
@media(max-width:420px){.wide-trip-rhythm{font-size:12px;gap:12px}.wide-showcase .along-scene h4{font-size:20px}}
@media(prefers-reduced-motion:reduce){.wide-contents>a>span,.wide-route>summary>span{transition:none}}

/* Shared editorial rhythm for the four portfolio projects. */
.portfolio-work{--project-title-size:clamp(56px,7.2vw,112px);max-width:1520px}
.portfolio-work .case-copy h3{font-size:var(--project-title-size);line-height:1.05;letter-spacing:-.04em}
.portfolio-work .case-chorus{padding-top:24px;padding-bottom:88px}
.portfolio-work .case-along{padding-block:88px}
.portfolio-work .field-note{width:46.5%;padding:48px 0 64px;justify-self:end}
.portfolio-work .field-note blockquote{font-size:clamp(25px,2.6vw,40px);line-height:1.55}
.portfolio-work .case-film .case-copy{padding-top:36px}
@media(max-width:1000px) and (min-width:721px){.portfolio-work{--project-title-size:clamp(50px,7.2vw,76px)}.portfolio-work .field-note{width:47.5%}}
@media(max-width:720px){
 .portfolio-work{--project-title-size:clamp(50px,12vw,82px)}
 .portfolio-work .case-chorus{padding-top:18px;padding-bottom:52px}
 .portfolio-work .case-along{padding-block:52px}
 .portfolio-work .field-note{width:100%;padding:42px 0 48px}
 .portfolio-work .field-note blockquote{font-size:clamp(25px,6.5vw,36px)}
 .portfolio-work .case-film .case-copy{padding-top:30px}
}

/* A quiet film window on the same dark ground as the surrounding projects. */
.portfolio-work .case-film{
 display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:7%;align-items:start;
 margin:0;padding:76px 0 88px;background:transparent;color:var(--white);border-top:1px solid #94aa9833;
}
.portfolio-work .case-film .case-copy{display:block;min-width:0;padding:0}
.portfolio-work .case-film .case-copy h3{font-size:clamp(56px,6.4vw,100px);line-height:1.05;margin:0 0 24px;overflow-wrap:normal}
.portfolio-work .case-film .case-index{color:#a1aaa1;margin-bottom:20px}
.portfolio-work .case-film .case-purpose{color:#d2d8cf;max-width:28em}
.portfolio-work .case-film .case-insight{margin:26px 0 24px;font-size:clamp(23px,2.15vw,32px);color:#e2e7dc}
.portfolio-work .case-film .film-visit{display:inline-flex;color:#c2ddca;border-color:#789181;margin:0 0 26px}
.portfolio-work .case-film .case-detail{max-width:none;margin:0}
.portfolio-work .case-film .case-detail summary{color:#b5bfb4;border-color:#ffffff35}
.portfolio-work .case-film .case-detail p{color:#b7beb5}
.portfolio-work .case-film .case-detail .case-credit{color:#a0aa9f}
.portfolio-work .case-film .film-evidence{width:100%;max-width:640px;min-width:0;margin:0;justify-self:end}
.portfolio-work .case-film .film-screen{background:#131416;border:1px solid #94aa9826}
.portfolio-work .case-film .film-chapters{gap:18px;margin:18px 0 12px}
.portfolio-work .case-film .film-chapters button{border-top:1px solid #47594c;color:#a3b2a6;font-size:14px;line-height:1.6;padding:12px 0;min-height:48px;transition:color .2s,border-color .2s}
.portfolio-work .case-film .film-chapters button>span{color:#8d9e92;margin-right:8px}
.portfolio-work .case-film .film-chapters button[aria-pressed=true]{color:#dce8d9;border-color:#a8c9b3}
.portfolio-work .case-film .film-chapters button:hover{color:#eef4ea;border-color:#a8c9b3}
.portfolio-work .case-film .film-evidence-note{display:block;color:#b9c4b9}
.portfolio-work .case-film .film-evidence-note p{font-size:14px;line-height:1.8}
.portfolio-work .case-film .film-evidence-note>span{display:block;color:#93a497;font-size:12px;line-height:1.8;margin-top:5px;white-space:normal}
@media(max-width:900px){
 .portfolio-work .case-film{grid-template-columns:minmax(0,1fr);gap:32px;padding:52px 0 64px}
 .portfolio-work .case-film .case-purpose{max-width:36em}
 .portfolio-work .case-film .film-evidence{justify-self:center}
}
@media(max-width:720px){
 .portfolio-work .case-film .case-copy h3{font-size:var(--project-title-size);margin-bottom:20px}
 .portfolio-work .case-film .case-insight{font-size:23px;margin:20px 0}
 .portfolio-work .case-film .film-chapters{gap:12px;margin-top:16px}
 .portfolio-work .case-film .film-chapters button>span{margin:0 0 5px}
}
@media(prefers-reduced-motion:reduce){.portfolio-work .case-film .film-chapters button{transition:none}}

/* A quiet welcome next to the introduction, visible without scrolling to the credits. */
.visitor-welcome{margin:0 0 24px;padding-left:12px;border-left:1px solid #687e69;max-width:100%;min-height:55px}
.visitor-welcome p{margin:0;color:#c6d6c7;font-size:14px;line-height:31px}
.visitor-welcome strong{font:400 22px/1.4 var(--pixel);color:#e1ebdb;margin-inline:3px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.visitor-welcome small{display:block;color:#9aa99b;font-size:12px;line-height:1.6}
.visitor-welcome>a{display:inline-block;margin-top:6px;color:#c6d6c7;font-size:12px;line-height:1.6;text-underline-offset:4px;text-decoration:underline}
.visitor-welcome>a:hover{color:#fff}
@media(max-width:480px){.visitor-welcome strong{font-size:20px}.visitor-welcome p{font-size:14px}}
