@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-mono-normal-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-mono-normal-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dm-mono-normal-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dm-mono-normal-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/manrope-normal-400-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/manrope-normal-400-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/playfair-display-italic-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/playfair-display-italic-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f4f0e8;--ink:#11110f;--soft-ink:#5d5a54;--line:#d7d1c6;--yellow:#ffd31f;--white:#fffdf8;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;font-family:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}button,input,textarea{font:inherit}::selection{background:var(--yellow);color:#000}.skip-link{z-index:100;color:#fff;background:#111;padding:.75rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.topbar{z-index:50;pointer-events:none;mix-blend-mode:multiply;justify-content:space-between;align-items:center;height:86px;padding:16px clamp(18px,3vw,48px);display:flex;position:absolute;inset:0 0 auto}.topbar a{pointer-events:auto}.wordmark{width:clamp(138px,14vw,190px)}.wordmark img{mix-blend-mode:multiply;width:100%;height:auto}.contact-pill,.button{border:1px solid var(--ink);background:var(--ink);color:var(--white);letter-spacing:.02em;justify-content:center;align-items:center;gap:.7rem;padding:.85rem 1.15rem;font-size:.8rem;font-weight:700;transition:transform .2s,background .2s,color .2s;display:inline-flex}.contact-pill:hover,.button:hover{box-shadow:3px 3px 0 var(--yellow);transform:translate(-3px,-3px)}.topbar.on-dark{mix-blend-mode:normal}.topbar.on-dark .wordmark img{filter:invert();mix-blend-mode:screen}.topbar.on-dark .contact-pill{background:var(--paper);color:var(--ink);border-color:var(--paper)}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-family:DM Mono,monospace;font-size:.72rem;font-weight:500;display:inline-flex}.story{--steps:9;--step:88vh;height:calc(100vh + var(--steps) * var(--step));position:relative}.story-marks i{left:0;top:calc(var(--mark) * var(--step));pointer-events:none;width:1px;height:1px;position:absolute}.stage{grid-template-columns:minmax(0,44fr) auto minmax(0,56fr);align-items:center;column-gap:clamp(1rem,3vw,3.5rem);max-width:1600px;height:100vh;margin:0 auto;padding:86px clamp(18px,3vw,48px) 0;display:grid;position:sticky;top:0;overflow:hidden}.stage-flower{z-index:2;justify-self:center;justify-items:center;display:grid;position:relative}.daisy{aspect-ratio:var(--daisy-ratio,82 / 142);height:var(--daisy-h,min(72vh, 568px));width:auto;max-width:100%;overflow:visible}.daisy-stem,.daisy-core-ink,.petal-ink{fill:var(--ink-fill,var(--ink))}.daisy-core-fill{fill:var(--yellow)}.petal-body{fill:var(--body-fill,var(--white))}.petal{--ink-fill:var(--ink);--body-fill:var(--white)}.petal-ink,.petal-body{transition:fill .35s}.petal.is-landed,.petal.is-highlight{--body-fill:var(--accent,var(--yellow))}.daisy.is-interactive .petal{cursor:pointer;pointer-events:none}.stage-flower.is-final .daisy.is-interactive .petal{pointer-events:auto}.petal-shape{transform-box:fill-box;transform-origin:50%;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.petal.is-hover .petal-shape{transform:scale(1.06)}.petal.is-hover{--ink-fill:#0a0a08}.daisy.has-hover .petal:not(.is-hover){--ink-fill:#a7a29a;--body-fill:#efece5}.petal:focus-visible{outline:none}.petal:focus-visible .petal-shape{transform:scale(1.06)}.petal:focus-visible .petal-body{fill:var(--accent,var(--yellow))}.daisy.compact{height:clamp(284px,52vh,426px)}.daisy.compact .petal{pointer-events:none}.flower-note{text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;align-items:center;gap:.6rem;margin:0;font:500 .68rem DM Mono,monospace;transition:opacity .3s;display:flex;position:absolute;top:calc(100% + 1.6rem);left:50%;transform:translate(-50%)}.flower-note span{background:var(--yellow);border:2px solid #111;width:8px;height:8px;animation:1s steps(2,end) infinite blink}.flower-note.is-hidden{opacity:0}@keyframes blink{50%{transform:translateY(5px)}}.tracker{--slot:34px;z-index:1;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;transition:opacity .4s;display:flex;position:relative}.slot{width:var(--slot);height:var(--slot);border:1px solid var(--line);background:0 0;transition:border-color .3s,background .3s,transform .3s;display:block;position:relative}.slot:after{content:"";background:var(--line);width:4px;height:4px;transition:opacity .3s;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.slot.is-filled:after{opacity:0}.slot.is-filled{border-color:var(--soft-ink)}.slot.is-active{border-color:var(--ink)}.slot:hover{border-color:var(--ink);transform:translate(2px)}.slot-num{color:#a7a29a;opacity:0;font:500 .58rem DM Mono,monospace;transition:opacity .3s,color .3s;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.slot.is-filled .slot-num{opacity:1}.slot.is-active .slot-num{color:var(--ink)}.tracker{transition:opacity .4s,visibility .4s}.stage-flower.is-final~.tracker{opacity:0;visibility:hidden;pointer-events:none}.stage-copy{z-index:1;align-self:stretch;min-height:0;position:relative}.panel{--v:0;--dir:1;visibility:hidden;pointer-events:none;flex-direction:column;justify-content:center;align-items:flex-start;padding:0;display:flex;position:absolute;inset:0}.panel[data-state=on]{visibility:visible;pointer-events:auto}.panel>*{--k:0;--o:clamp(0, calc((var(--v) - var(--k) * .12) / .64), 1);opacity:var(--o);transform:translateY(calc((1 - var(--o)) * var(--dir) * 28px))}.panel>:nth-child(2){--k:1}.panel>:nth-child(3){--k:2}.panel>:nth-child(4){--k:3}.panel>:nth-child(5){--k:4}.hero-panel h1,.service-panel h2,.reunion-panel h2,.method-section h2,.closing-cta h2,.service-page h1,.plain-section h2,.contact-page h1{letter-spacing:-.075em;margin:1.2rem 0 1.7rem;font-size:clamp(3rem,6.2vw,7.2rem);font-weight:600;line-height:.94}.hero-panel h1 em{font-family:Playfair Display,Georgia,serif;font-weight:600}.hero-panel>p,.service-panel>p,.reunion-head>p{color:var(--soft-ink);max-width:580px;margin:0;font-size:clamp(1.05rem,1.4vw,1.35rem);line-height:1.55}.scroll-cue,.deep-link,.text-link{text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid;align-items:center;gap:.8rem;margin-top:2.1rem;padding-bottom:.35rem;font:500 .78rem DM Mono,monospace;display:inline-flex}.deep-link span,.scroll-cue span{transition:transform .2s}.deep-link:hover span{transform:translate(4px,-4px)}.service-panel h2{max-width:780px;font-size:clamp(2.8rem,5.2vw,6rem)}.service-panel .eyebrow{color:var(--accent,var(--ink))}.reunion-head{max-width:640px}.reunion-panel h2{max-width:720px;margin-bottom:1.1rem;font-size:clamp(2.1rem,3.4vw,3.9rem)}.reunion-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.1rem clamp(1rem,3vw,3rem);width:100%;max-width:720px;margin:2rem 0 0;padding:0;list-style:none;display:grid}.reunion-list li{border-bottom:1px solid var(--line)}.reunion-list a{align-items:baseline;gap:.9rem;padding:.8rem .2rem;transition:color .2s,transform .2s;display:flex}.reunion-list-number{color:#6f6a61;font:500 .72rem DM Mono,monospace}.reunion-list-title{font-size:clamp(1.02rem,1.4vw,1.3rem);font-weight:600}.reunion-list li.is-hover a{color:var(--ink);font-weight:700;transform:translate(6px)}.reunion-panel.has-hover .reunion-list li:not(.is-hover) a{color:#78736a}.reunion-list li:not(.is-hover):hover a{transform:translate(3px)}.reunion-panel>.button{margin-top:2.2rem}.button.light{background:var(--ink);color:var(--white);border-color:var(--ink)}.method-section,.plain-section{max-width:1500px;margin:auto;padding:clamp(6rem,14vh,10rem) clamp(18px,7vw,110px)}.method-section h2,.plain-section h2{max-width:1050px;font-size:clamp(2.8rem,5vw,5.6rem)}.method-section ol{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:5rem 0 0;padding:0;list-style:none;display:grid}.method-section li{border-right:1px solid var(--line);gap:2.5rem;padding:1.5rem 1.3rem 2rem 0;display:grid}.method-section li:last-child{border:0}.method-section b{color:#6f6a61;font:500 .72rem DM Mono,monospace}.method-section li span{color:var(--soft-ink);gap:.5rem;font-size:.9rem;display:grid}.method-section strong{color:var(--ink);font-size:1.2rem}.closing-cta{text-align:center;border-top:1px solid var(--line);padding:14vh 5vw}.closing-cta p{text-transform:uppercase;letter-spacing:.1em;font:500 .76rem DM Mono,monospace}.closing-cta h2{max-width:1050px;margin-inline:auto;font-size:clamp(3rem,7vw,7rem)}.site-footer{border-top:1px solid var(--ink);background:#e7e1d6;grid-template-columns:1.1fr 1fr 1fr;gap:4rem;padding:clamp(3rem,7vw,7rem);display:grid}.footer-lead img{mix-blend-mode:multiply;width:190px}.footer-lead p{max-width:300px;color:var(--soft-ink)}.site-footer nav,.footer-contact{flex-direction:column;align-items:flex-start;gap:.7rem;font-size:.86rem;display:flex}.site-footer nav a:hover,.footer-contact a:hover{text-decoration:underline}.footer-contact small{color:var(--soft-ink);margin-top:auto}.service-page,.contact-page{grid-template-columns:1.2fr .8fr;align-items:center;gap:5vw;min-height:100vh;padding:20vh clamp(18px,7vw,110px) 12vh;display:grid}.service-page-copy>p,.contact-page>div>p,.plain-section>p{max-width:650px;color:var(--soft-ink);font-size:1.05rem;line-height:1.7}.service-page .service-intro{color:var(--ink);font-size:clamp(1.2rem,2vw,1.65rem)}.service-page h1,.contact-page h1{font-size:clamp(3.6rem,7vw,7.8rem)}.service-actions{align-items:center;gap:1.4rem;margin-top:2.5rem;display:flex}.service-actions .text-link{margin:0}.plain-section{border-top:1px solid var(--line)}.contact-page .mail-link{border-bottom:2px solid;margin-top:2rem;font-size:clamp(1.1rem,2vw,1.5rem);display:inline-block}.contact-page small{color:var(--soft-ink);max-width:530px;margin-top:3rem;display:block}@media (width<=900px){.topbar{height:70px;padding:12px 16px}.wordmark{width:126px}.contact-pill{padding:.68rem .85rem}.story{--step:80svh;height:calc(100vh + var(--steps) * var(--step));height:calc(100svh + var(--steps) * var(--step))}.stage{flex-direction:column;align-items:stretch;gap:10px;height:100dvh;padding:70px 16px 10px;display:flex}.stage-flower{justify-self:auto;justify-items:center}.daisy{height:var(--daisy-h,min(30vh, 300px))}.flower-note{display:none}.tracker{--slot:28px;flex-direction:row;justify-content:center;gap:8px}.slot-num{display:none}.stage-copy{flex:auto}.panel{justify-content:flex-start;padding-top:6px}.panel>*{transform:translateY(calc((1 - var(--o)) * var(--dir) * 18px))}.hero-panel h1{margin:.9rem 0 1.1rem;font-size:clamp(2.8rem,min(14vw,7.6vh),5rem)}.hero-panel>p,.service-panel>p,.reunion-head>p{font-size:clamp(.98rem,2.3vh,1.15rem);line-height:1.5}.scroll-cue,.deep-link{margin-top:1.4rem}.service-panel h2{margin:.9rem 0 1rem;font-size:clamp(2.1rem,min(10.5vw,6vh),4rem)}.reunion-panel h2{margin:.8rem 0 .6rem;font-size:clamp(1.8rem,min(8.5vw,5.2vh),3rem)}.reunion-head>p{display:none}.reunion-list{column-gap:1rem;margin-top:.6rem}.reunion-list a{gap:.5rem;padding:.5rem .1rem;line-height:1.15}.reunion-list-number{font-size:.62rem}.reunion-list-title{font-size:clamp(.82rem,2.1vh,1rem)}.reunion-panel>.button{margin-top:1.1rem;padding:.7rem 1rem}.method-section ol,.site-footer{grid-template-columns:1fr 1fr}.footer-contact{grid-column:1/-1}.service-page,.contact-page{grid-template-columns:1fr;padding-top:15vh}.service-flower,.contact-page>.daisy{grid-row:1;justify-self:center;width:210px;margin-bottom:-1rem}.daisy.compact{width:min(64vw,260px);height:auto}}@media (width<=560px){.contact-pill span{display:none}.method-section ol{grid-template-columns:1fr}.method-section li{border-right:0;border-bottom:1px solid var(--line)}.site-footer{grid-template-columns:1fr;gap:2rem}.footer-contact{grid-column:auto}.service-actions{flex-direction:column;align-items:flex-start}}@media (width<=900px) and (height<=720px){.stage{gap:8px;padding-bottom:8px}.hero-panel h1,.service-panel h2{margin:.7rem 0 .8rem}.reunion-panel h2{margin:.6rem 0 .3rem;font-size:clamp(1.6rem,4.6vh,2.2rem)}.reunion-list a{padding:.42rem .1rem}.reunion-panel>.button{margin-top:.9rem}}@media (width>=901px) and (height<=720px){.stage{padding-top:64px}.hero-panel h1{font-size:clamp(2.6rem,8.4vh,6rem)}.service-panel h2{font-size:clamp(2.4rem,7.4vh,5.4rem)}.reunion-panel h2{font-size:clamp(1.8rem,4.6vh,3.2rem)}.reunion-list a{padding:.55rem .2rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:is(html:not(.js),html.reduced) .story{height:auto}:is(html:not(.js),html.reduced) .story-marks{display:none}:is(html:not(.js),html.reduced) .stage{height:auto;padding:110px clamp(18px,3vw,48px) 0;display:block;position:static;overflow:visible}:is(html:not(.js),html.reduced) .stage-flower{margin:0 auto 4rem}:is(html:not(.js),html.reduced) .daisy{height:min(60vh,480px)!important}:is(html:not(.js),html.reduced) :is(.flower-note,.tracker){display:none}:is(html:not(.js),html.reduced) .stage-copy{background:var(--line);grid-template-columns:repeat(2,1fr);gap:1px;display:grid;position:static}:is(html:not(.js),html.reduced) .panel{visibility:visible;pointer-events:auto;background:var(--paper);min-height:auto;padding:4rem 3rem;position:static}:is(html:not(.js),html.reduced) .panel>*{opacity:1!important;transform:none!important}:is(html:not(.js),html.reduced) :is(.hero-panel,.reunion-panel){grid-column:1/-1}:is(html:not(.js),html.reduced) .daisy.is-interactive .petal{pointer-events:auto}:is(html:not(.js),html.reduced) :is(.petal,.petal-shape){opacity:1!important;transform:none!important}:is(html:not(.js),html.reduced) .reunion-head>p{display:none}@media (width<=900px){:is(html:not(.js),html.reduced) .stage-copy{grid-template-columns:1fr}:is(html:not(.js),html.reduced) .panel{padding:2.5rem 1rem}}
