:root{--black:#080908;--panel:#10110f;--text:#eeeae1;--muted:#a7a89e;--line:#2b2e27;--accent:#bcaa87;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Archivo',Arial,sans-serif;--gutter:clamp(1.25rem,5vw,5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0;background:var(--black);color:var(--text);font:400 1rem/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img,svg{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.02}em{font-weight:400;color:#c7c7b9}::selection{background:var(--accent);color:var(--black)}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.skip-link{position:fixed;left:1rem;top:1rem;z-index:200;background:var(--text);color:var(--black);padding:1rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.header{position:relative;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.7rem var(--gutter);border-bottom:1px solid var(--line);background:var(--black)}.brand{display:inline-flex;flex-direction:column;align-items:center;line-height:1}.brand>span{font:500 2.35rem/.88 var(--serif);letter-spacing:-.04em}.brand small{font-size:.62rem;letter-spacing:.52em;margin-top:.7rem;padding-left:.52em}.header nav{display:flex;align-items:center;gap:2.4rem;font-size:.82rem}.header nav>a{padding:.65rem 0;color:#c3c3b8}.header nav>a:hover{color:#fff}.header nav>.nav-contact{margin-left:.7rem;color:var(--text);border-bottom:1px solid var(--accent)}.nav-contact span{margin-left:1.3rem}.menu-toggle{display:none}.hero{padding:0 var(--gutter);overflow:hidden}.hero-topline,.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.hero-topline{padding:2rem 0}.hero-topline span:first-child{color:var(--accent)}.hero-grid{display:grid;grid-template-columns:1.13fr 1fr;align-items:center;min-height:650px;gap:2rem}.eyebrow{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:2rem}.hero h1{font-size:clamp(4.2rem,7.2vw,7.3rem);letter-spacing:-.045em;white-space:nowrap}.hero h1 em{color:#babbab}.hero-description{max-width:43ch;color:var(--muted);margin-top:2rem;font-size:1.02rem;line-height:1.9}.hero-actions{display:flex;gap:2rem;align-items:center;flex-wrap:wrap;margin-top:2.5rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.5rem;min-height:52px;padding:.85rem 1.3rem;background:var(--text);color:var(--black);font-size:.85rem;border:1px solid var(--text);transition:background .2s}.button:hover{background:#cfcebe}.quiet-link{font-size:.82rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.signal{position:relative;max-width:580px;justify-self:end;width:100%;isolation:isolate}.signal-svg{width:100%;height:auto}.signal-caption,.signal-base{display:flex;justify-content:space-between;gap:1rem;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#808576}.signal-caption{position:absolute;inset:2% 10% auto}.signal-base{padding:0 10%;margin-top:-3rem}.signal-label{position:absolute;top:59%;font-size:.64rem;text-transform:uppercase;letter-spacing:.14em;background:var(--black);padding:.3rem .7rem;color:#b8bcac}.label-input{left:0}.label-output{right:0;top:73%}.signal-pulses path{stroke-dasharray:35 500;animation:signalFlow 7s linear infinite}.signal-pulses path:nth-child(2){animation-delay:-3s}.signal-pulses path:nth-child(3){animation-delay:-1.5s}.signal-pulses path:nth-child(4){animation-delay:-5s}.core-ring{transform-origin:300px 331px;animation:rotateCore 55s linear infinite}.hero-copy>*{animation:arrive 1.1s both cubic-bezier(.2,.7,.2,1)}.hero-copy>*:nth-child(2){animation-delay:.1s}.hero-copy>*:nth-child(3){animation-delay:.2s}.hero-copy>*:nth-child(4){animation-delay:.3s}.hero-bottom{border-top:1px solid var(--line);padding:1.8rem 0}.hero-bottom a span{margin-left:1.5rem}.motion-toggle{border:0;background:none;padding:.4rem;color:var(--muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.motion-toggle span{margin-left:.8rem}.section{padding:clamp(5rem,9vw,9rem) var(--gutter)}.section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:10%;align-items:end;margin-bottom:4.5rem}.section-heading>.eyebrow{grid-column:1/-1}.section-heading h2{font-size:clamp(3.4rem,5.6vw,5.5rem);letter-spacing:-.035em}.section-heading>p:last-child{max-width:40ch;color:var(--muted);padding-bottom:.35rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr)}.service-grid article{padding:2.1rem 2.7rem 0 0;border-top:1px solid #4c5043}.service-grid article+article{padding-left:2.7rem;border-left:1px solid var(--line)}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:3.5rem}.service-number{font:italic 1.3rem var(--serif);color:var(--accent)}.small-label{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.service-grid h3{font-size:clamp(2.1rem,3vw,3rem);margin-bottom:1.5rem;letter-spacing:-.02em}.service-grid p{color:var(--muted);font-size:.95rem;line-height:1.85;max-width:36ch}.service-grid ul{list-style:none;padding:1.6rem 0 0;margin:1.6rem 0 0;border-top:1px solid var(--line);font-size:.8rem;color:#c9cabc}.service-grid li{padding:.3rem 0}.service-grid li::before{content:'↗';color:var(--accent);margin-right:.8rem}.contact{border-top:1px solid var(--line);padding-bottom:2rem;background:#0d0f0c}.contact h2{font-size:clamp(4.4rem,9vw,9rem);letter-spacing:-.04em}.contact>p:not(.eyebrow){color:var(--muted);margin-top:2rem;max-width:40ch}.contact-link{font:400 clamp(1.5rem,3.2vw,3.1rem) var(--serif);display:inline-flex;align-items:center;gap:3rem;border-bottom:1px solid var(--accent);padding:.5rem 0;margin-top:2rem;overflow-wrap:anywhere;max-width:100%}.footer-base{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-top:2rem;margin-top:6rem;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}.footer-base .brand{color:var(--text)}.footer-base>a:last-child{color:var(--text)}.motion-paused *,.page-hidden *{animation-play-state:paused!important}.reveal-pending{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.is-visible{opacity:1;transform:none}@keyframes signalFlow{to{stroke-dashoffset:-535}}@keyframes rotateCore{to{transform:rotate(360deg)}}@keyframes arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@media(max-width:1100px){.header nav{gap:1.5rem}.hero-grid{min-height:560px}.hero h1{font-size:6.8vw}.hero-actions{gap:1.2rem}.service-grid article{padding-right:1.5rem}.service-grid article+article{padding-left:1.5rem}}@media(max-width:760px){html{scroll-padding-top:1.5rem}.header{padding-top:1.3rem;padding-bottom:1.3rem}.brand>span{font-size:2rem}.menu-toggle{display:flex;gap:1rem;align-items:center;background:none;border:1px solid var(--line);padding:.65rem .8rem;min-height:44px;font-size:.8rem}.header nav{position:absolute;top:100%;left:0;right:0;background:#121410;border-bottom:1px solid var(--line);display:none;padding:1.2rem var(--gutter);align-items:stretch;flex-direction:column;gap:.25rem}.header nav.is-open{display:flex}.header nav>.nav-contact{margin-left:0}.hero-topline{font-size:.62rem;padding:1.6rem 0}.hero-topline>span:last-child{display:none}.hero-grid{grid-template-columns:1fr;gap:1rem;min-height:0;padding-top:2.2rem}.hero h1{font-size:clamp(3.6rem,11vw,5.8rem)}.hero-description{max-width:36ch;font-size:1rem}.hero .eyebrow{font-size:.67rem;margin-bottom:1.5rem}.hero-actions{margin-top:2rem;gap:1.25rem}.signal{justify-self:center;max-width:420px;margin-top:2rem}.hero-bottom{margin-top:3rem;font-size:.6rem}.hero-bottom>span{display:none}.section-heading{grid-template-columns:1fr;gap:1.5rem;margin-bottom:3rem}.section-heading>.eyebrow{margin-bottom:0}.section-heading h2{font-size:3.8rem}.section-heading>p:last-child{max-width:43ch}.service-grid{grid-template-columns:1fr;gap:3rem}.service-grid article,.service-grid article+article{padding:1.5rem 0 0;border-left:0}.service-top{margin-bottom:2rem}.service-grid h3{font-size:2.7rem}.service-grid p{max-width:46ch}.service-grid ul{margin-top:1.5rem;padding-top:1rem}.footer-base{align-items:center;flex-wrap:wrap;gap:2rem}.footer-base .brand{width:100%;align-items:start}.footer-base .brand small{padding-left:0}.contact-link{gap:1.2rem;font-size:clamp(1.35rem,6vw,2.3rem)}.contact h2{font-size:clamp(4rem,16vw,7rem)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-pending{opacity:1;transform:none}.motion-toggle{display:none}}

.workflow-section{border-top:1px solid var(--line);background:var(--panel)}.workflow-demo{border:1px solid #363a30}.workflow-tabs{display:flex;border-bottom:1px solid var(--line);padding:0 2.5rem;gap:2.5rem}.workflow-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:1.3rem 0;color:var(--muted);font-size:.84rem}.workflow-tabs button[aria-selected="true"]{border-bottom-color:var(--accent);color:var(--text)}#workflow-panel{padding:2.8rem 2.5rem 1.5rem}.workflow-intro{display:flex;align-items:start;justify-content:space-between;gap:3rem}.workflow-intro h3{font-size:clamp(2rem,3.1vw,3rem);max-width:24ch;letter-spacing:-.02em}.workflow-intro>p{color:var(--muted);max-width:34ch;font-size:.9rem;line-height:1.8}.workflow-nodes{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:3.5rem 0 2.3rem;padding:0;gap:2rem}.workflow-nodes li{position:relative;border-top:1px solid #555c47;padding:1.5rem 0 0}.workflow-nodes li:not(:last-child)::after{content:'→';position:absolute;top:-.9rem;right:-1.55rem;color:var(--accent)}.node-index{font-size:.65rem;color:var(--accent);letter-spacing:.1em}.workflow-nodes h4{font-size:.95rem;font-weight:500;margin:.6rem 0 .2rem}.workflow-nodes p{font-size:.8rem;color:var(--muted);line-height:1.5}.workflow-nodes .human-node{border-top-color:var(--text)}.workflow-foot{display:flex;justify-content:space-between;gap:1.5rem;padding-top:1.3rem;border-top:1px solid var(--line);font-size:.68rem;color:var(--muted)}.human-check{color:var(--accent)}.workflow-demo.is-changing .workflow-nodes li{animation:arrive .45s both}.workflow-demo.is-changing .workflow-nodes li:nth-child(2){animation-delay:.07s}.workflow-demo.is-changing .workflow-nodes li:nth-child(3){animation-delay:.14s}.workflow-demo.is-changing .workflow-nodes li:nth-child(4){animation-delay:.21s}.approach{display:grid;grid-template-columns:1fr 1fr;gap:10%}.approach-heading h2{font-size:clamp(3rem,4.9vw,4.8rem);letter-spacing:-.035em}.approach-heading>p:last-child{margin-top:2rem;color:var(--muted);max-width:37ch}.approach-list{margin:0;padding:0;list-style:none}.approach-list li{display:flex;gap:2rem;border-top:1px solid var(--line);padding:2rem 0}.approach-list li:first-child{border-color:#55594c}.approach-list li>span{font:italic 1.2rem var(--serif);color:var(--accent);padding-top:.3rem}.approach-list h3{font-size:2rem;margin-bottom:.85rem;letter-spacing:-.02em}.approach-list p{color:var(--muted);font-size:.9rem;line-height:1.8}.principle{text-align:center;padding-top:6rem;padding-bottom:6rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 50% 120%,#1c2115,transparent 70%)}.principle-statement{font:400 clamp(2.4rem,4.7vw,4.8rem)/1.15 var(--serif);letter-spacing:-.02em}.principle-note{margin-top:2rem;color:var(--muted);font-size:.9rem}.family-card{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--line);background:var(--panel);overflow:hidden}.family-image{overflow:hidden;aspect-ratio:1.6}.family-image img{height:100%;width:100%;object-fit:cover;filter:brightness(.77) saturate(.65);transition:transform .7s,filter .7s}.family-card:hover img{transform:scale(1.035);filter:brightness(.9) saturate(.8)}.family-copy{padding:clamp(2rem,4vw,4rem);display:flex;flex-direction:column;justify-content:center}.family-copy>.eyebrow{font-size:.65rem;margin-bottom:1.2rem}.family-copy h3{font-size:clamp(2.5rem,4vw,4rem);letter-spacing:-.03em}.family-copy>p{color:var(--muted);max-width:35ch;margin-top:1.3rem;font-size:.9rem}.family-cta{display:flex;justify-content:space-between;align-items:center;padding-top:1.3rem;margin-top:1.8rem;border-top:1px solid #3c4035;font-size:.8rem}.family-cta>span{font-size:1.3rem;color:var(--accent)}
@media(max-width:900px){.workflow-tabs{padding:0 1.5rem;gap:1.5rem}#workflow-panel{padding:2rem 1.5rem 1.3rem}.workflow-nodes{gap:1.5rem}.workflow-nodes li:not(:last-child)::after{right:-1.15rem}.approach{gap:6%}.family-image{aspect-ratio:auto}}
@media(max-width:760px){.workflow-tabs{overflow-x:auto;gap:1.5rem;scrollbar-width:thin}.workflow-tabs button{white-space:nowrap;font-size:.78rem}.workflow-intro{display:block}.workflow-intro h3{font-size:2.3rem}.workflow-intro>p{margin-top:1.5rem;max-width:40ch}.workflow-nodes{grid-template-columns:1fr 1fr;gap:2rem;margin-top:2.5rem}.workflow-nodes li:nth-child(2)::after{display:none}.workflow-nodes li:nth-child(3)::before{content:'↓';position:absolute;top:-2.4rem;left:0;color:var(--accent)}.workflow-foot{flex-direction:column;gap:.5rem;font-size:.67rem}.approach{grid-template-columns:1fr;gap:3rem}.approach-heading h2{font-size:3.5rem}.approach-list li{gap:1.5rem}.principle{padding-top:4.5rem;padding-bottom:4.5rem}.family-card{grid-template-columns:1fr}.family-image{aspect-ratio:1.5}.family-copy{padding:2rem}.family-copy h3{font-size:3.5rem}.family-copy>.eyebrow{font-size:.65rem}}
@media print{*{animation:none!important}.header nav,.signal,.motion-toggle,.hero-bottom,.menu-toggle{display:none}.hero-grid,.section-heading,.service-grid,.approach,.family-card{display:block}.reveal-pending{opacity:1;transform:none}body{background:white;color:black}a,p,em{color:black!important}.section{padding:2rem 0}.service-grid article{break-inside:avoid;border:0!important}.workflow-tabs{display:none}.family-image{max-height:250px}}
/* Legible supporting type on dark surfaces. */
.brand small{font-size:.75rem;letter-spacing:.38em;padding-left:.38em}.header nav{font-size:.875rem}.hero-topline,.hero-bottom,.motion-toggle,.signal-caption,.signal-base,.signal-label,.small-label,.node-index,.workflow-foot,.family-copy>.eyebrow{font-size:.75rem}.quiet-link,.button,.workflow-tabs button,.family-cta{font-size:.875rem}.service-grid p,.service-grid li,.workflow-intro>p,.approach-list p,.family-copy>p{font-size:1rem}.workflow-nodes h4{font-size:1rem}.workflow-nodes p{font-size:.875rem}.hero h1{white-space:normal}.hero-copy{min-width:0}@media(max-width:760px){.hero .eyebrow,.hero-topline,.hero-bottom,.workflow-foot,.family-copy>.eyebrow{font-size:.75rem}.workflow-tabs button{font-size:.875rem}.signal{max-width:390px}.hero-grid{padding-top:1.8rem}}

/* An original architectural passage. Native scrolling controls the camera. */
.header{position:absolute;top:0;left:0;right:0;background:transparent;border-bottom-color:#ffffff14;padding-top:1.6rem;padding-bottom:1.6rem}
.journey{position:relative;min-height:100svh;background:#080908}
.journey-stage{position:relative;height:100svh;min-height:660px;overflow:hidden;isolation:isolate}
.journey.is-interactive{height:390svh}
.is-interactive .journey-stage{position:sticky;top:0}
.journey-scene,.journey-shade,.journey-poster,#journey-canvas{position:absolute;inset:0;width:100%;height:100%}
.journey-scene{z-index:-3}.journey-poster{object-fit:cover;object-position:65% center}#journey-canvas{display:block;opacity:0;transition:opacity .5s}.scene-ready #journey-canvas{opacity:1}.scene-ready .journey-poster{visibility:hidden}
.journey-shade{z-index:-2;background:linear-gradient(90deg,rgba(8,9,8,.91),rgba(8,9,8,.5) 37%,transparent 76%),linear-gradient(0deg,rgba(8,9,8,.92),transparent 28%,transparent 76%,rgba(8,9,8,.4))}
.journey-topline{position:absolute;top:8.5rem;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;gap:2rem;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#c8c5b9}
.journey-topline span:first-child{color:#c5b18e}
.journey-intro{position:absolute;left:var(--gutter);top:50%;width:min(53rem,64%);transform:translateY(-43%)}
.journey-intro .eyebrow{margin-bottom:1.7rem;font-size:.72rem}
.journey h1{font-size:clamp(4.2rem,7.8vw,8.8rem);line-height:.94;letter-spacing:-.045em}.journey h1 em{color:#c8c4b6}.journey .hero-description{max-width:39ch;color:#c5c3b8;font-size:1rem;line-height:1.8;margin-top:1.9rem}.journey .hero-actions{margin-top:2rem}
.journey-chapter{position:absolute;left:var(--gutter);bottom:20%;opacity:0;visibility:hidden;pointer-events:none;max-width:35rem}.journey-chapter .eyebrow{margin-bottom:1.2rem}.journey-chapter h2{font-size:clamp(3.5rem,6.5vw,7rem);letter-spacing:-.035em}.journey-chapter>p:last-child{margin-top:1.4rem;font-size:1rem;color:#ccc9bd;max-width:29ch}
.journey-bottom{position:absolute;bottom:2.1rem;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:1.5rem;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#c8c5b9}.journey-bottom a{padding:.8rem 0}.journey-bottom a span{margin-left:1rem}.journey-cue{display:none}.is-interactive .journey-cue{display:block}.journey-cue>span{display:inline-block;margin-left:1rem}.journey .motion-toggle{display:none}.scene-ready .motion-toggle{display:block;color:#c8c5b9;font-size:.68rem;padding:.8rem 0}.journey-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#ffffff15;display:none}.is-interactive .journey-progress{display:block}.journey-progress>span{display:block;height:100%;background:#c2ac86;transform:scaleX(0);transform-origin:left;will-change:transform}
.journey-intro,.journey-chapter{will-change:opacity,transform}.journey.is-static .journey-chapter,.journey.is-static .journey-progress,.journey.is-static .journey-cue{display:none}.journey.is-static{height:auto}.journey.is-static .journey-stage{position:relative}.journey.is-static .journey-intro{opacity:1!important;visibility:visible!important;transform:translateY(-43%)!important}
@media(max-width:1100px){.journey h1{font-size:8.6vw}.journey-intro{width:70%}.journey-topline{top:8rem}}
@media(max-width:760px){.header{padding-top:1.2rem;padding-bottom:1.2rem}.header nav{background:#10120f}.journey-stage{min-height:680px}.journey.is-interactive{height:330svh}.journey-topline{top:7rem;font-size:.65rem}.journey-topline>span:last-child{display:none}.journey-intro{top:auto;bottom:8.5rem;transform:none;width:auto;right:var(--gutter)}.journey h1{font-size:clamp(3.9rem,12.8vw,6rem)}.journey-intro .eyebrow{font-size:.65rem;margin-bottom:1.2rem}.journey .hero-description{font-size:.95rem;max-width:33ch;margin-top:1.4rem}.journey .hero-actions{gap:1.2rem;margin-top:1.5rem}.journey .button{font-size:.8rem;padding:.8rem 1rem;gap:1rem}.journey .quiet-link{font-size:.8rem}.journey-bottom{bottom:1.5rem;flex-wrap:wrap;gap:.25rem 1rem;font-size:.6rem}.journey-cue{order:3;width:100%;font-size:.6rem;opacity:.65}.journey .motion-toggle{font-size:.6rem}.journey-chapter{bottom:24%;right:var(--gutter)}.journey-chapter h2{font-size:3.9rem}.journey-shade{background:linear-gradient(0deg,#080908,rgba(8,9,8,.62) 46%,rgba(8,9,8,.06) 80%,rgba(8,9,8,.4))}.journey.is-static .journey-intro{transform:none!important}.journey-poster{object-position:70% center}}
@media(prefers-reduced-motion:reduce){.journey.is-interactive{height:auto}.journey .journey-stage{position:relative}.journey .motion-toggle{display:none}}
@media print{.header{position:relative}.journey,.journey.is-interactive{height:auto}.journey-stage{height:auto;min-height:0!important}.journey-scene,.journey-shade,.journey-topline,.journey-bottom,.journey-chapter,.journey-progress{display:none!important}.journey-intro{position:relative;inset:auto;transform:none!important;opacity:1!important;visibility:visible!important;width:100%;padding:2rem 0}.journey h1{font-size:4rem}}

@media(max-width:380px){.journey h1{font-size:3rem}.journey .hero-description{font-size:.875rem}.journey .hero-actions .quiet-link{display:none}.journey-intro .eyebrow{font-size:.6rem}}
@media(max-width:760px) and (max-height:660px){.journey .motion-toggle{display:none}}
