@layer reset{*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,p,ul,ol,dl,dd{margin:0}ul,ol{padding:0}img,svg{max-width:100%;display:block}button,input,textarea{font:inherit}}@layer base{:root{--paper:#f4efe3;--paper-bright:#fbf8f0;--ink:#24232a;--ink-soft:#675f5b;--line:#24232a29;--accent:#a63f37;--accent-dark:#7a302c;--spark:#d46a58;--mint:#cdd6c7;--display:"DM Sans", "Segoe UI", sans-serif;--serif:Georgia, "Times New Roman", serif;--body:"DM Sans", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--max:82rem}html{background:var(--paper);color:var(--ink)}body{min-width:320px;font-family:var(--body);text-rendering:optimizelegibility;background:var(--paper);font-size:1rem;line-height:1.65}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--spark);outline-offset:4px}.shell{width:min(calc(100% - 2.5rem), var(--max));margin-inline:auto}.eyebrow{color:var(--accent-dark);letter-spacing:.13em;text-transform:uppercase;font-size:.78rem;font-weight:800;line-height:1.3}.display{font-family:var(--display);font-optical-sizing:auto;letter-spacing:-.04em;font-weight:500;line-height:1.06}.display em{color:var(--accent);font-family:inherit;font-style:normal;font-weight:inherit}.lede{color:var(--ink-soft);font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.6}.muted{color:var(--ink-soft)}.has-js [data-reveal]{opacity:0;transition:opacity .52s,transform .52s cubic-bezier(.2,.8,.2,1);transform:translateY(1rem)}.has-js [data-reveal].is-visible{opacity:1;transform:translateY(0)}}@layer components{.site-header{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 88%, transparent);z-index:20;backdrop-filter:blur(16px);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1.5rem;min-height:4.65rem;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:.75rem;font-size:.98rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{aspect-ratio:1;background:var(--ink);color:#fff;letter-spacing:-.06em;border-radius:.78rem;place-items:center;width:2.25rem;font-size:.68rem;display:grid}.brand-wordmark{width:8.3rem;height:auto;display:block}.mobile-nav{display:none;position:relative}.nav-list{align-items:center;gap:clamp(1rem,3vw,2.2rem);list-style:none;display:flex}.nav-list a{border-radius:999px;padding:.55rem .75rem;font-size:.9rem;font-weight:700;text-decoration:none;position:relative}.nav-list a:hover{background:var(--paper-bright);color:var(--ink)}.nav-list a[aria-current=page]{background:var(--paper-bright);color:var(--accent-dark)}.hero{padding:clamp(1.7rem,3.5vw,2.7rem) 0 clamp(3.5rem,6vw,5rem)}.hero-topline{color:var(--ink-soft);justify-content:space-between;gap:1rem;padding-bottom:clamp(2rem,4vw,3.5rem);font-size:.8rem;display:flex}.hero-grid{grid-template-columns:minmax(0,1.28fr) minmax(19rem,.72fr);align-items:stretch;gap:clamp(2rem,4vw,4rem);display:grid}.hero-copy{flex-direction:column;justify-content:space-between;gap:2.5rem;min-width:0;display:flex}.hero h1{flex-direction:column;max-width:10ch;font-size:clamp(3.3rem,6.7vw,6.1rem);display:flex}.hero-accent{width:fit-content;color:var(--accent);font-family:var(--display);font-size:.86em;font-style:normal;font-weight:inherit;letter-spacing:inherit;position:relative}.hero-accent:after{content:"";aspect-ratio:1;background:var(--spark);border-radius:50%;width:.3em;position:absolute;bottom:.08em;right:-.65em}.hero-intro{grid-template-columns:minmax(16rem,27rem) auto;align-items:end;gap:1.5rem;padding-left:clamp(0rem,5vw,4.5rem);display:grid}.hero-actions{flex-direction:column;gap:.65rem;display:flex}.button{border:1px solid var(--ink);border-radius:999px;justify-content:center;align-items:center;min-height:3.2rem;padding:.7rem 1.1rem;font-size:.88rem;font-weight:800;text-decoration:none;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.button:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}.button.primary{background:var(--ink);color:#fff}.button.primary:hover{background:var(--accent);border-color:var(--accent)}.signal-panel{--chart-accent:#d46a58;min-height:31rem;color:var(--ink);background:#ead8d0;border-radius:2.75rem;flex-direction:column;justify-content:space-between;padding:1.3rem;display:flex;overflow:hidden}.signal-heading{justify-content:space-between;align-items:center;gap:1rem;font-size:.84rem;font-weight:750;display:flex}.signal-badge{color:var(--ink-soft);background:#fff;border-radius:999px;padding:.42rem .68rem;font-size:.68rem;font-weight:750}.signal-graphic{width:100%;overflow:visible}.signal-guide{fill:none;stroke:#0d16301f;stroke-width:20px;stroke-linecap:round;stroke-dasharray:1 26}.play-route{fill:none;stroke:var(--chart-accent);stroke-width:13px;stroke-linecap:round;stroke-linejoin:round;opacity:0;stroke-dasharray:760;stroke-dashoffset:760px;transition:opacity .22s}.play-route.is-active{opacity:1;animation:.72s cubic-bezier(.2,.8,.2,1) forwards draw-route}.signal-points circle{fill:var(--ink)}.signal-points .signal-end{fill:var(--chart-accent);transition:fill .26s}.chart-response{background:#ffffffb8;border-radius:1.5rem;justify-content:space-between;align-items:baseline;gap:1rem;padding:.9rem 1rem;display:flex}.chart-response span{color:var(--accent-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.chart-response strong{font-family:var(--display);text-align:right;font-size:1.05rem}.chart-controls{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.75rem;display:grid}.chart-controls button{min-height:2.85rem;color:var(--ink);cursor:pointer;background:#ffffffa6;border:0;border-radius:999px;font-size:.76rem;font-weight:800;transition:background .16s,color .16s,transform .16s}.chart-controls button:hover{transform:translateY(-2px)}.chart-controls button[aria-pressed=true]{background:var(--chart-accent);color:var(--ink)}.signal-panel.is-reacting{animation:.42s soft-pop}.section{padding:clamp(4.5rem,8vw,7rem) 0}.section-heading{grid-template-columns:.35fr 1fr;gap:clamp(2rem,6vw,6rem);margin-bottom:clamp(3.5rem,7vw,6rem);display:grid}.section-heading-copy{justify-items:start;gap:1.8rem;display:grid}.section-heading h2{max-width:17ch;font-size:clamp(2.5rem,4.7vw,4.7rem)}.service-composition{grid-template-columns:1.12fr .88fr;gap:1rem;display:grid}.service-lead,.service-compact{padding:clamp(1.6rem,3vw,2.7rem);position:relative}.service-lead{background:var(--ink);color:#fff;border-radius:2.75rem;flex-direction:column;justify-content:space-between;min-height:31rem;display:flex}.service-side{gap:1rem;display:grid}.service-compact{border:1px solid var(--line);background:var(--paper-bright);border-radius:2.25rem;flex-direction:column;justify-content:space-between;min-height:15rem;display:flex}.service-compact.future{background:var(--mint);color:var(--ink);border-color:#0000}.service-meta{color:inherit;letter-spacing:.12em;text-transform:uppercase;opacity:.76;justify-content:space-between;font-size:.72rem;font-weight:800;display:flex}.service-lead h3{max-width:9ch;font-family:var(--display);letter-spacing:-.055em;font-size:clamp(2.75rem,4.7vw,4.4rem);font-weight:750;line-height:.96}.service-compact h3{font-family:var(--display);letter-spacing:-.04em;margin-top:1.5rem;font-size:clamp(1.65rem,2.6vw,2.35rem);line-height:1}.service-lead p,.service-compact p{z-index:1;max-width:36rem;color:inherit;opacity:.76;position:relative}.service-lead p{max-width:27rem}.work-stage{background:var(--ink);color:#fff;border-radius:3.5rem;width:min(100% - 2rem,92rem);margin-inline:auto;padding:clamp(4.5rem,8vw,7rem) 0;position:relative;overflow:hidden}.work-stage:before{content:"";aspect-ratio:1;border:1px solid #ffffff1f;border-radius:50%;width:26rem;position:absolute;top:-14rem;right:-14rem;box-shadow:0 0 0 5rem #315efb0d}.work-heading{border-bottom:1px solid #fff3;justify-content:space-between;gap:1rem;padding-bottom:2rem;font-size:.82rem;display:flex}.work-stage .eyebrow{color:#efb2a4}.case-feature{grid-template-columns:1.08fr .92fr;align-items:stretch;gap:clamp(2rem,6vw,6rem);padding-top:clamp(2.5rem,5vw,4.5rem);display:grid}.case-lettering{border:1px solid #fff3;border-radius:2.75rem;grid-template-columns:1fr 1fr;align-items:center;min-height:25rem;display:grid;position:relative;overflow:hidden}.case-lettering span{height:100%;font-family:var(--display);letter-spacing:-.15em;place-items:center;font-size:clamp(7.5rem,15vw,14rem);font-weight:800;line-height:1;display:grid}.case-lettering span:first-child{background:var(--accent);color:#fff}.case-lettering span:nth-child(2){color:var(--spark);-webkit-text-stroke:2px var(--spark);-webkit-text-fill-color:transparent}.case-lettering small{color:var(--ink);letter-spacing:.1em;text-transform:uppercase;background:#fff;padding:.35rem .55rem;font-size:.68rem;font-weight:800;position:absolute;bottom:1rem;right:1rem}.case-summary{flex-direction:column;justify-content:space-between;padding-block:1rem;display:flex}.case-summary h3{max-width:9ch;font-family:var(--display);letter-spacing:-.055em;margin-top:1.2rem;font-size:clamp(2.7rem,4.8vw,4.7rem);font-weight:750;line-height:.96}.case-summary p:not(.eyebrow){color:#ffffffab;max-width:33rem;margin-top:1.6rem}.text-link{align-items:center;gap:.6rem;width:fit-content;margin-top:2rem;font-weight:800;text-decoration:none;display:inline-flex}.text-link:after{content:"→";transition:transform .16s}.text-link:hover:after{transform:translate(.3rem)}.work-stage .text-link:hover{color:#efb2a4}.approach-intro{grid-template-columns:.35fr 1fr;gap:clamp(2rem,6vw,6rem);display:grid}.approach-intro h2{max-width:18ch;font-size:clamp(2.6rem,5.2vw,5rem)}.method-line{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:clamp(3.5rem,6vw,5.5rem);list-style:none;display:grid}.method-line li{background:var(--paper-bright);border-radius:2.25rem;min-height:15rem;padding:1.6rem}.method-line span{color:var(--accent);font-size:.74rem;font-weight:850}.method-line strong{font-family:var(--display);letter-spacing:-.045em;margin-top:3rem;font-size:clamp(1.65rem,2.5vw,2.3rem);display:block}.method-line p{color:var(--ink-soft);margin-top:.8rem}.contact-stage{color:#fff;margin-top:2rem;padding:0 0 1rem}.contact-stage .eyebrow{color:#fff;opacity:.72}.contact-stage .display em{color:var(--spark)}.contact-panel{background:var(--accent);border-radius:3.5rem;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,7vw,7rem);padding:clamp(2.75rem,6vw,5.5rem);display:grid}.contact-panel h2{max-width:12ch;margin-top:1.2rem;font-size:clamp(2.8rem,5.2vw,5.2rem)}.contact-note{border-left:1px solid #ffffff73;align-self:end;padding-left:1.8rem}.contact-note .lede,.contact-note .muted{color:#fff}.contact-note .muted{opacity:.68}.contact-button{width:fit-content;color:var(--ink);background:#fff;border-color:#fff;margin-top:1.5rem}.contact-button:hover{border-color:var(--ink)}.site-footer{border-top:1px solid var(--line);background:var(--paper);padding:2rem 0 3rem}.footer-inner{color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;font-size:.88rem;display:flex}.footer-links{gap:1.25rem;list-style:none;display:flex}.page-intro{padding:clamp(4.5rem,9vw,7rem) 0;position:relative;overflow:hidden}.page-intro:after{content:none}.page-intro h1{z-index:1;max-width:13ch;margin-top:1.2rem;font-size:clamp(3rem,6.5vw,6rem);position:relative}.page-intro .lede{z-index:1;max-width:44rem;margin-top:2rem;position:relative}.case-facts{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.case-fact{background:var(--paper-bright);border-radius:1.75rem;padding:1.5rem}.case-fact dt{letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:800}.case-fact dd{color:var(--ink-soft);margin-top:.65rem}.case-body{grid-template-columns:.36fr 1fr;gap:clamp(2rem,8vw,8rem);display:grid}.case-body h2{font-family:var(--display);letter-spacing:-.055em;font-size:clamp(2.2rem,4.5vw,4.2rem);font-weight:750;line-height:.98}.case-body p+p{margin-top:1.25rem}.provisional-box{border-left:4px solid var(--spark);background:var(--paper-bright);border-radius:0 1.5rem 1.5rem 0;margin-top:2rem;padding:1.25rem 1.5rem}.page-section{padding-top:1rem}.service-detail-list{gap:1rem;display:grid}.service-detail{background:var(--paper-bright);border-radius:2.75rem;grid-template-columns:.28fr 1fr;gap:clamp(2rem,6vw,6rem);padding:clamp(1.7rem,4vw,3rem);display:grid}.service-detail-future{background:var(--mint)}.service-detail-heading{color:var(--accent-dark);letter-spacing:.08em;flex-direction:column;justify-content:space-between;gap:3rem;font-size:.76rem;font-weight:800;display:flex}.status-pill{width:fit-content;color:var(--ink);letter-spacing:.03em;white-space:nowrap;background:#ffffffc7;border-radius:999px;padding:.45rem .7rem;font-size:.7rem;font-weight:800}.service-detail-copy{grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,5rem);display:grid}.service-detail h2{max-width:12ch;font-family:var(--display);letter-spacing:-.05em;font-size:clamp(2.2rem,4vw,3.8rem);line-height:.98}.service-detail .lede{max-width:37rem;margin-top:1.25rem}.detail-list{align-content:center;list-style:none;display:grid}.detail-list li{border-top:1px solid var(--line);color:var(--ink-soft);padding:.8rem 0}.detail-list li:last-child{border-bottom:1px solid var(--line)}.page-cta-section{padding-top:0}.page-cta{background:#ead8d0;border-radius:2.75rem;justify-content:space-between;align-items:center;gap:2rem;padding:clamp(2rem,5vw,4rem);display:flex}.page-cta h2{max-width:18ch;font-family:var(--display);letter-spacing:-.05em;margin-top:.7rem;font-size:clamp(2rem,3.8vw,3.5rem);line-height:1}.work-index-stage{margin-bottom:1rem}.work-case-title{max-width:9ch;font-family:var(--display);letter-spacing:-.055em;margin-top:1.2rem;font-size:clamp(2.7rem,4.8vw,4.7rem);font-weight:750;line-height:.96}.quiet-note{background:var(--paper-bright);border-radius:2.5rem;grid-template-columns:.35fr 1fr;gap:clamp(2rem,6vw,6rem);padding:clamp(1.8rem,4vw,3rem);display:grid}.quiet-note .lede{max-width:42rem}.method-line-page{margin-top:0}.principles-section{padding-top:1rem}.principles-grid{background:var(--ink);color:#fff;border-radius:3rem;grid-template-columns:.72fr 1.28fr;gap:clamp(3rem,8vw,8rem);padding:clamp(2rem,5vw,4.5rem);display:grid}.principles-grid>div:first-child{flex-direction:column;justify-content:space-between;display:flex}.principles-grid .eyebrow{color:#efb2a4}.principles-grid h2{max-width:10ch;font-family:var(--display);letter-spacing:-.055em;margin-top:2rem;font-size:clamp(2.5rem,4.7vw,4.5rem);line-height:.98}.principle-list{display:grid}.principle-list article{border-top:1px solid #fff3;grid-template-columns:auto 1fr;gap:1.4rem;padding:1.7rem 0;display:grid}.principle-list article:last-child{border-bottom:1px solid #fff3}.principle-list span{color:#efb2a4;font-size:.74rem;font-weight:800}.principle-list h3{font-family:var(--display);letter-spacing:-.035em;font-size:clamp(1.4rem,2vw,1.9rem)}.principle-list p{color:#ffffffab;margin-top:.45rem}.contact-layout{grid-template-columns:.9fr 1.1fr;gap:1rem;display:grid}.contact-status,.contact-guide{border-radius:2.75rem;padding:clamp(1.8rem,4vw,3.5rem)}.contact-status{background:var(--accent);color:#fff}.contact-status .status-pill{color:var(--accent-dark)}.contact-status h2{max-width:12ch;font-family:var(--display);letter-spacing:-.055em;margin-top:clamp(4rem,9vw,8rem);font-size:clamp(2.4rem,4.5vw,4.2rem);line-height:.98}.contact-status p{color:#ffffffc2;max-width:35rem;margin-top:1.3rem}.contact-guide{background:var(--paper-bright)}.prompt-list{margin-top:clamp(3rem,7vw,6rem);list-style:none}.prompt-list li{border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:1.3rem;padding:1.2rem 0;display:grid}.prompt-list li:last-child{border-bottom:1px solid var(--line)}.prompt-list span{color:var(--accent);font-size:.72rem;font-weight:850}@keyframes draw-route{0%{stroke-dashoffset:760px}to{stroke-dashoffset:0}}@keyframes soft-pop{0%,to{transform:scale(1)}45%{transform:scale(1.012)}}@media (width<=960px){.hero{min-height:auto}.hero-grid{grid-template-columns:1fr}.hero h1{max-width:12ch}.signal-panel{border-radius:2.5rem;min-height:26rem}.service-composition,.case-feature{grid-template-columns:1fr}.service-lead{min-height:27rem}.case-summary{gap:3rem}.case-summary h3{max-width:none}.service-detail-copy{grid-template-columns:1fr}}@media (width<=680px){.shell{width:min(calc(100% - 2rem), var(--max))}.header-inner{min-height:4.5rem}.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{background:var(--paper-bright);cursor:pointer;border-radius:999px;align-items:center;min-height:2.5rem;padding:.45rem .85rem;font-size:.82rem;font-weight:800;list-style:none;display:inline-flex}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary:after{content:"+";color:var(--accent);margin-left:.45rem}.mobile-nav[open] summary:after{content:"−"}.mobile-nav .nav-list{border:1px solid var(--line);background:var(--paper-bright);border-radius:1.4rem;align-items:stretch;gap:.25rem;min-width:13rem;padding:.55rem;display:none;position:absolute;top:calc(100% + .65rem);right:0;box-shadow:0 1rem 2.5rem #0d16301f}.mobile-nav[open] .nav-list{display:grid}.mobile-nav .nav-list a{padding:.7rem .85rem;display:block}.hero{padding-top:1.5rem}.hero-topline p:last-child{display:none}.hero h1{font-size:clamp(2.7rem,12vw,4rem);line-height:1.06}.hero-intro{grid-template-columns:1fr;padding-left:0}.hero-actions{flex-flow:wrap}.signal-panel{min-height:27rem;padding:1.2rem}.signal-graphic{margin-block:1rem}.section-heading,.approach-intro,.contact-panel,.case-body,.service-detail,.quiet-note,.principles-grid,.contact-layout{grid-template-columns:1fr}.section-heading h2,.approach-intro h2{margin-top:1.5rem}.service-lead h3{font-size:clamp(2.7rem,12vw,3.8rem)}.case-lettering{min-height:20rem}.case-lettering span{font-size:clamp(7rem,32vw,10rem)}.method-line,.case-facts{grid-template-columns:1fr}.method-line li{min-height:13rem}.method-line strong{margin-top:2.5rem}.contact-stage{margin-top:0}.contact-panel{border-radius:2.5rem;padding:2rem 1.5rem}.work-stage{border-radius:2.75rem;width:calc(100% - 1rem)}.contact-note{border-top:1px solid #ffffff73;border-left:0;padding:1.5rem 0 0}.service-detail-heading{flex-direction:row;align-items:center}.page-cta{flex-direction:column;align-items:flex-start}.principles-grid>div:first-child{display:block}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.founder-copy{gap:1.3rem;display:grid}.founder-copy h3{margin-top:1rem}.contact-options{overflow-wrap:anywhere;gap:1rem;margin-top:2rem;display:grid}.contact-options a{text-underline-offset:.25em;color:#fff;text-decoration:underline}.enquiry-form{gap:.65rem;min-width:0;display:grid}.enquiry-form h2{margin-bottom:1rem;font-size:1.5rem}.enquiry-form label{margin-top:.65rem;font-weight:650}.enquiry-form label span,.form-help{color:var(--ink-soft);font-size:.88rem;font-weight:400}.enquiry-form input:not([type=checkbox]),.enquiry-form textarea{border:1px solid var(--line);background:var(--paper);width:100%;min-width:0;color:var(--ink);border-radius:1rem;padding:.85rem 1rem}.enquiry-form textarea{resize:vertical}.enquiry-form input:focus-visible,.enquiry-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.conversation-choice{align-items:baseline;gap:.7rem;display:flex}.conversation-choice input{accent-color:var(--accent)}.enquiry-form .button{cursor:pointer;margin-top:.75rem}.form-help a{text-decoration:underline}.contact-status h2{margin-top:2.5rem;font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.08}}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/fonts/dm-sans-latin-variable.woff2)format("woff2")}.skip-link[data-astro-cid-z4jru4n3]{z-index:100;background:var(--ink);color:var(--paper-bright);padding:.7rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-180%)}.skip-link[data-astro-cid-z4jru4n3]:focus{transform:translateY(0)}
