@charset "UTF-8";
:root{--bg:#181a18;--surface:#20231f;--text:#f4f4ef;--muted:#acb0a6;--line:#ffffff26;--accent:#d6af75;--accent-ink:#191b18;--light:#efefeb;--light-ink:#23271f;--font:'Manrope',Arial,sans-serif;--display:'Manrope',Arial,sans-serif;--gutter:clamp(24px,5.6vw,104px);--heading-weight:500;--heading-spacing:-.062em;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:var(--heading-weight)}h2{font-size:clamp(40px,4.8vw,76px);letter-spacing:var(--heading-spacing);line-height:1.12}h3{font-size:clamp(24px,2.25vw,34px);line-height:1.25;letter-spacing:-.035em}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;background:var(--accent);color:var(--accent-ink);z-index:100;padding:12px 20px}.skip-link:focus{top:12px}.eyebrow{font-size:.75rem;line-height:1.5;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.section-pad{padding:90px var(--gutter)}.scroll-progress{height:3px;position:fixed;inset:0 auto auto 0;width:0;background:var(--accent);z-index:60}.header{position:absolute;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:28px var(--gutter);gap:32px;color:#fff;border-bottom:1px solid #ffffff28}.brand{display:flex;gap:13px;align-items:center;flex-shrink:0}.brand-mark{font-size:30px;font-weight:700;letter-spacing:-.1em;line-height:1.15;padding:0 13px 0 0;border-right:1px solid currentColor}.brand-mark>span{color:var(--accent)}.brand-type{display:block;font-size:17px;line-height:1.25;letter-spacing:.06em;font-weight:700}.brand-type>span{display:block;letter-spacing:.29em;font-size:9px;line-height:1.8;font-weight:500;margin-top:3px}.navigation{display:flex;gap:30px;align-items:center}.navigation a{font-size:.875rem;position:relative;padding:7px 0}.navigation a:after{content:'';position:absolute;left:0;bottom:0;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.navigation a:hover:after{transform:scaleX(1)}.header-action{font-size:.875rem;display:flex;align-items:center;gap:22px}.header-action>span{font-size:24px}.menu-button{display:none}.hero{position:relative;min-height:780px;height:100svh;max-height:1100px;overflow:hidden;display:flex;align-items:center;color:#fff}.hero-image{position:absolute;inset:-3% 0;width:100%;height:106%;will-change:transform}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,10,.79),rgba(8,12,10,.45) 48%,rgba(8,12,10,.08) 85%),linear-gradient(0deg,rgba(9,15,11,.68),transparent 34%,rgba(9,15,11,.15))}.hero-copy{position:relative;z-index:2;margin:110px var(--gutter) 120px;width:80%;max-width:1080px}.hero-kicker{display:flex;align-items:center;gap:15px;margin-bottom:26px}.hero-kicker>span{height:1px;width:32px;background:var(--accent)}.hero h1{font-size:clamp(60px,7.4vw,114px);line-height:1.04;letter-spacing:-.065em;margin-left:-5px}.hero h1 #headline-two{color:#e2d6c3}.hero-description{font-size:1rem;max-width:355px;line-height:1.8;color:#e1e3da;margin-top:26px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:18px 23px;font-size:.875rem;font-weight:600;min-height:58px;transition:background .3s,color .3s,transform .3s}.button svg{width:20px;height:20px;transition:transform .3s}.button:hover svg{transform:translate(3px,-3px)}.primary{background:var(--accent);color:var(--accent-ink);margin-top:30px}.primary:hover{background:#e7c594}.hero-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:38px;z-index:2;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff38;padding-top:24px;gap:32px}.scroll-cue{display:flex;align-items:center;gap:16px;font-size:.75rem}.scroll-cue-icon{display:grid;place-items:center;border:1px solid #ffffff5c;width:39px;height:48px;border-radius:30px;font-size:20px;transition:transform .3s}.scroll-cue:hover .scroll-cue-icon{transform:translateY(4px)}.hero-bottom p{font-size:.75rem;letter-spacing:.08em;line-height:1.8}.hero-bottom p>span{display:block;color:#c5c9c1;letter-spacing:0}.image-caption{font-size:.75rem;color:#c5c9c1;align-self:flex-end}.hero-year{display:none}.disciplines{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:29px var(--gutter);font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;background:var(--surface);border-bottom:1px solid var(--line)}.discipline-divider{color:var(--accent)}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:52px}.section-heading .eyebrow{color:var(--accent)}.section-side-note{font-size:.75rem;color:var(--muted)}.intro{padding-top:86px;padding-bottom:108px}.intro-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:12%;align-items:start}.intro h2{font-size:clamp(48px,6.8vw,104px)}.muted-heading{color:var(--muted)}.intro-text{max-width:460px;padding-top:6px}.large-copy{font-size:clamp(22px,2.05vw,31px);line-height:1.5;letter-spacing:-.04em}.intro-text>p:not(.large-copy){color:var(--muted);margin-top:22px;line-height:1.9}.text-link{font-size:.875rem;display:inline-flex;justify-content:space-between;gap:50px;align-items:center;border-bottom:1px solid var(--line);padding:19px 0 12px;margin-top:15px}.text-link span{font-size:24px;transition:transform .3s}.text-link:hover span{transform:translate(3px,-3px)}.expertise{background:var(--light);color:var(--light-ink)}.expertise .section-heading .eyebrow{color:#5d634f}.expertise .section-side-note{color:#60665c}.expertise .muted-heading{color:#81877b}.section-title-row{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:54px}.section-title-row>p{font-size:.875rem;color:#60665c;padding-bottom:5px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px}.project-card:nth-child(2){margin-top:110px}.project-image{height:clamp(260px,31vw,500px);overflow:hidden;position:relative;background:#a6aaa0}.project-image img{height:100%;width:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.65,.2,1)}.residential-image img{object-position:60% center}.project-card:hover .project-image img{transform:scale(1.045)}.project-image-tag{position:absolute;bottom:18px;left:18px;background:#171a16d9;backdrop-filter:blur(12px);color:#f5f5ed;font-size:.75rem;padding:7px 12px}.project-description{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:27px}.project-description .eyebrow{font-size:.75rem;color:#68715e;display:block;margin-bottom:13px}.project-card>p{color:#636b5c;max-width:410px;margin-top:15px;font-size:1rem}.round-link{width:47px;height:47px;flex-shrink:0;display:grid;place-items:center;border:1px solid #a6ac9c;border-radius:50%;font-size:24px;transition:color .3s,background .3s}.round-link:hover{background:var(--light-ink);color:var(--light)}.concept-note{font-size:.75rem;color:#696e61;margin-top:54px;max-width:670px}.approach{display:grid;grid-template-columns:1fr 1.15fr;gap:10%;padding-top:112px;padding-bottom:112px}.approach-intro .eyebrow{color:var(--accent);display:block;margin-bottom:35px}.approach-intro>p{margin-top:26px;color:var(--muted);font-size:1rem;line-height:1.8}.process-item{border-top:1px solid var(--line)}.process-item:last-child{border-bottom:1px solid var(--line)}.process-item summary{list-style:none;display:flex;align-items:center;gap:25px;padding:27px 0;cursor:pointer;font-size:1.1rem;line-height:1.4}.process-item summary::-webkit-details-marker{display:none}.process-number{color:var(--accent);font-size:.75rem;letter-spacing:.05em}.process-toggle{margin-left:auto;flex-shrink:0;width:16px;height:16px;position:relative}.process-toggle:before,.process-toggle:after{content:'';position:absolute;background:var(--muted);width:13px;height:1px;left:1px;top:7px;transition:transform .3s}.process-toggle:after{transform:rotate(90deg)}.process-item[open] .process-toggle:after{transform:rotate(0)}.process-item[open] summary{color:var(--accent)}.process-content{padding:0 27px 30px 41px;color:var(--muted);font-size:1rem;line-height:1.9}.legacy{background:#d6af75;color:#24271f;overflow:hidden;padding-top:54px;padding-bottom:72px}.legacy-top{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:40px;border-bottom:1px solid #24271f45}.legacy-top>span:last-child{font-size:.875rem}.legacy-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;margin-top:38px}.legacy-year{font-size:clamp(100px,19vw,290px);font-family:var(--display);line-height:1;letter-spacing:-.075em;font-weight:500}.legacy-year>span{display:block;font-size:.75rem;letter-spacing:.16em;line-height:1.5;margin:24px 0 0 12px;font-family:var(--font);font-weight:600}.legacy-copy h2{font-size:clamp(29px,3.2vw,50px);line-height:1.2;letter-spacing:-.05em}.legacy-copy h2 em{font-style:normal;color:#5f5038}.legacy-copy p{max-width:400px;font-size:1rem;line-height:1.8;margin-top:26px;color:#504731}.footer{padding-top:73px;padding-bottom:145px}.footer>.eyebrow{color:var(--accent)}.footer-main{display:flex;justify-content:space-between;align-items:center;padding:25px 0 57px}.footer-main>p{font-family:var(--display);font-size:clamp(54px,9.8vw,151px);letter-spacing:var(--heading-spacing);line-height:1.03;font-weight:var(--heading-weight)}.footer-main>p>span{color:var(--muted)}.back-to-top{display:flex;align-items:center;flex-direction:column;gap:13px;margin-right:30px}.back-to-top>span{width:76px;height:76px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:34px;transition:background .3s,color .3s}.back-to-top:hover>span{background:var(--accent);color:var(--accent-ink)}.back-to-top>small{font-size:.75rem;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:25px;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem}.footer-bottom>span:first-child{letter-spacing:.08em}@media(prefers-reduced-motion:no-preference){.motion-ready .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,.68,.12,1)}.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}.hero-copy{animation:hero-in 1s both}.hero-image img{animation:image-in 1.6s both}@keyframes hero-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes image-in{from{transform:scale(1.035)}to{transform:scale(1)}}}

@media(min-width:1800px){.hero-copy{width:65%}.intro-grid{gap:15%}.header{padding-top:35px;padding-bottom:35px}}
@media(max-width:1100px){.header{gap:18px}.navigation{gap:20px}.header-action{display:none}.hero{min-height:740px}.hero h1{font-size:8.1vw}.section-pad{padding-top:72px;padding-bottom:72px}.intro-grid{gap:7%}.approach{gap:7%}.footer{padding-bottom:145px}.hero-bottom p{display:none}}
@media(max-width:760px){html{scroll-padding-top:20px}.header{padding:23px var(--gutter)}.brand-mark{font-size:27px}.brand-type{font-size:15px}.brand-type>span{font-size:8px}.navigation{display:none;position:absolute;left:0;right:0;top:100%;padding:20px var(--gutter) 28px;flex-direction:column;align-items:flex-start;background:var(--bg);color:var(--text);border-bottom:1px solid var(--line);gap:12px}.navigation.is-open{display:flex}.navigation a{font-size:1.2rem}.menu-button{display:flex;flex-direction:column;justify-content:center;gap:7px;border:1px solid #ffffff5c;background:transparent;color:inherit;width:44px;height:44px;align-items:center}.menu-button>span{width:20px;height:1px;background:currentColor;transition:transform .25s}.menu-button[aria-expanded=true]>span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded=true]>span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{min-height:780px;height:100svh;max-height:940px;align-items:center}.hero-image img{object-position:64% center}.hero-shade{background:linear-gradient(90deg,#070e0cbf,#070e0c50),linear-gradient(0deg,#070e0ca8,transparent 55%)}.hero-copy{width:100%;margin:138px var(--gutter) 170px}.hero h1{font-size:clamp(48px,9.9vw,76px);letter-spacing:-.06em;line-height:1.08}.hero-kicker{font-size:.65rem;letter-spacing:.09em;margin-bottom:22px}.hero-kicker>span{width:23px}.hero-description{max-width:310px;font-size:1rem;margin-top:23px}.primary{margin-top:27px}.hero-bottom{bottom:112px;padding-top:18px;gap:18px}.image-caption{max-width:115px;font-size:.65rem;text-align:right;line-height:1.5;align-self:center}.scroll-cue{font-size:.75rem;gap:11px}.scroll-cue-icon{width:32px;height:41px}.disciplines{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;justify-items:center;padding:25px var(--gutter);font-size:.75rem}.discipline-divider{display:none}.section-heading{margin-bottom:36px}.section-side-note{display:none}.section-pad{padding-top:58px;padding-bottom:60px}.intro-grid{grid-template-columns:1fr;gap:32px}.intro h2{font-size:64px}.intro-text{max-width:100%;padding:0}.large-copy{font-size:24px;max-width:460px}.intro-text>p:not(.large-copy){margin-top:17px}.text-link{margin-top:5px}.section-title-row{display:block;margin-bottom:32px}.section-title-row>p{margin-top:23px;line-height:1.7;font-size:1rem}.section-title-row>p br{display:none}.section-title-row h2{font-size:clamp(36px,6.7vw,50px)}.project-grid{grid-template-columns:1fr;gap:45px}.project-card:nth-child(2){margin-top:0}.project-image{height:360px}.project-description{margin-top:22px}.project-description .eyebrow{margin-bottom:8px}.project-card>p{font-size:1rem}.concept-note{margin-top:38px}.approach{grid-template-columns:1fr;gap:35px}.approach-intro .eyebrow{margin-bottom:25px}.approach h2{font-size:48px}.approach-intro>p{margin-top:20px}.process-item summary{padding:24px 0;font-size:1rem;gap:18px}.process-content{padding:0 15px 26px 34px}.legacy{padding-top:36px;padding-bottom:50px}.legacy-top{padding-bottom:27px;gap:12px}.legacy-top>span:last-child{font-size:.75rem}.legacy-top .eyebrow{font-size:.65rem}.legacy-grid{grid-template-columns:1fr;gap:38px;margin-top:30px}.legacy-year{font-size:42vw;line-height:.94}.legacy-year>span{margin:20px 0 0 4px}.legacy-copy h2{font-size:36px}.legacy-copy p{margin-top:19px}.footer{padding-bottom:125px}.footer-main{padding:27px 0 35px;gap:20px;align-items:flex-end}.footer-main>p{font-size:clamp(49px,10.5vw,80px)}.back-to-top{margin:0;gap:10px}.back-to-top>span{width:48px;height:48px;font-size:25px}.back-to-top>small{font-size:.65rem}.footer-bottom{flex-wrap:wrap;font-size:.65rem;gap:12px}.footer-bottom>span:first-child{width:100%}.concept-dock{bottom:12px;max-width:calc(100% - 20px);padding:7px;border-radius:9px;gap:0}.dock-label{display:none}.concept-options{gap:2px}.concept-option{font-size:.75rem;padding:8px 10px;gap:7px;min-height:49px}.concept-option small{display:none}.swatch{width:17px;height:24px}.concept-option:focus-visible{outline-offset:1px}
  
  
}
@media(max-width:370px){:root{--gutter:20px}.hero-kicker{font-size:.6rem}.hero h1{font-size:47px}.concept-option{padding:8px;font-size:.7rem;gap:5px}.swatch{width:13px}.legacy-copy h2{font-size:31px}.section-title-row h2{font-size:34px}.footer-main>p{font-size:46px}.project-image{height:300px}.hero-bottom{bottom:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-image{transform:none!important}.reveal{opacity:1!important;transform:none!important}}

/* Keep small copy readable across the concept layouts. */
.eyebrow,.hero-kicker,.section-side-note,.image-caption,.concept-note,.project-image-tag,.dock-label>span,.footer-bottom,.back-to-top>small{font-size:.75rem}
@media(max-width:760px){.concept-option{font-size:.875rem;padding:8px 7px}.hero-kicker{letter-spacing:.05em}.legacy-top .eyebrow{font-size:.75rem}.footer-bottom{font-size:.75rem}.image-caption{font-size:.75rem}}
@media(max-width:370px){.concept-option{font-size:.8125rem;padding:8px 6px}.hero-kicker{font-size:.75rem}}

/* Signature: scroll-driven type, architectural image reveals, and drafting rules. */
:root { --story-image: url('./assets/residential.webp'); }
.scroll-progress { width:100%; transform:scaleX(0); transform-origin:left; }
.hero h1>span { display:inline-block; }
#headline-one { transform:translateX(var(--headline-one-x,0px)); }
#headline-two { transform:translateX(var(--headline-two-x,0px)); }
.hero { isolation:isolate; }
.hero-bottom { bottom:38px; }
.footer { padding-bottom:65px; }
.eyebrow,.hero-kicker,.section-side-note,.image-caption,.concept-note,.project-image-tag,.footer-bottom,.back-to-top>small { font-size:.75rem; }

/* Static layout is the default, so content never depends on animation. */
.scroll-story { position:relative; scroll-margin-top:0; background:#181a18; }
.story-stage { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-rows:auto 1fr auto; gap:30px; min-height:760px; padding:38px var(--gutter); color:#f5f3ed; }
.story-frame { position:absolute; inset:0; z-index:-2; overflow:hidden; }
.story-frame img { width:100%; height:100%; object-fit:cover; object-position:60% center; }
.story-frame:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#0c120ebb,#0c120e10),linear-gradient(0deg,#0c120ebf,transparent 48%,#0c120e75); }
.story-top,.story-bottom { display:flex; justify-content:space-between; align-items:center; gap:28px; position:relative; z-index:3; }
.story-top { border-top:1px solid #ffffff30; padding-top:20px; }
.story-top .eyebrow { color:var(--accent); }
.story-caption { font-size:.75rem; line-height:1.6; color:#c8cdc0; }
.story-content { display:flex; flex-direction:column; justify-content:center; position:relative; z-index:2; padding:45px 0; }
.story-content h2 { font-size:clamp(54px,8.3vw,132px); line-height:1.04; letter-spacing:-.065em; }
.story-content h2>span { color:var(--accent); }
.story-content>p { font-size:1rem; line-height:1.8; color:#dedfd7; margin-top:30px; }
.story-guides { position:absolute; inset:0 var(--gutter); z-index:-1; border-left:1px solid #ffffff0a; border-right:1px solid #ffffff0a; pointer-events:none; }
.story-guides>span { position:absolute; left:0; right:0; border-top:1px solid #ffffff0a; top:33.333%; }
.story-guides>span+span { top:66.666%; }
.story-typography { display:none; }
.story-chapters { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; max-width:620px; width:62%; margin:0; padding:0; list-style:none; }
.story-chapters li { font-size:.875rem; position:relative; padding:0 0 16px; }
.chapter-number { font-size:.75rem; color:var(--accent); display:block; margin-bottom:6px; }
.chapter-track { position:absolute; bottom:0; left:0; width:100%; height:1px; background:#ffffff38; }
.chapter-track i { position:absolute; inset:0; background:var(--accent); transform-origin:left; }

.scroll-enhanced .scroll-story { height:230svh; }
.scroll-enhanced .story-stage { position:sticky; top:0; height:100svh; min-height:650px; }
.scroll-enhanced .story-frame { clip-path:inset(var(--frame-inset,28%)); opacity:var(--frame-opacity,0); will-change:clip-path; }
.scroll-enhanced .story-frame img { transform:scale(var(--image-scale,1.14)); }
.scroll-enhanced .story-typography { display:grid; place-items:center; position:absolute; inset:0; z-index:1; pointer-events:none; opacity:var(--word-opacity,1); transform:translateY(var(--word-shift,0px)) scale(var(--word-scale,1)); }
.story-word,.story-word-outline { grid-area:1/1; font-family:var(--font); font-size:25vw; font-weight:800; line-height:1; letter-spacing:-.085em; padding-right:.07em; }
.story-word { background-image:var(--story-image); background-size:cover; background-position:65% 62%; background-clip:text; -webkit-background-clip:text; color:transparent; filter:brightness(1.65); }
.story-word-outline { color:transparent; -webkit-text-stroke:1px #e0d2b252; }
.scroll-enhanced .story-content { opacity:var(--title-opacity,0); transform:translateY(var(--title-shift,45px)); }
.scroll-enhanced .chapter-track i { transform:scaleX(0); }

.foundation-copy { display:grid; grid-template-columns:1.3fr 1fr; align-items:start; gap:12%; }
.foundation-statement { font-size:clamp(30px,3.5vw,55px); line-height:1.3; letter-spacing:-.045em; font-weight:500; }
.foundation-statement>span { color:var(--muted); }
.foundation-detail { max-width:440px; padding-top:4px; }
.foundation-detail>p { color:var(--muted); line-height:1.9; }
.project-image { isolation:isolate; }
.project-image img { height:calc(100% + 38px); max-width:none; margin-top:-19px; transform:translateY(var(--photo-y,0px)) scale(1.015); transition:filter .4s; }
.project-card:hover .project-image img { transform:translateY(var(--photo-y,0px)) scale(1.015); filter:brightness(1.08); }
.project-image:after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(0deg,#10180f69,transparent 48%); }
.project-category { position:absolute; left:23px; right:23px; bottom:66px; color:#fff; z-index:1; font-size:clamp(38px,5.4vw,88px); font-weight:700; line-height:1.05; letter-spacing:-.07em; transform:translateX(var(--category-x,0px)); text-shadow:0 2px 25px #0003; }
.project-image-tag { z-index:2; }
@media(min-width:1100px) {
  .approach-intro { position:sticky; top:45px; align-self:start; }
}
@media(max-width:760px) {
  .hero-copy { margin-bottom:125px; }
  .hero-bottom { bottom:32px; }
  .hero-kicker { font-size:.75rem; letter-spacing:.05em; }
  .image-caption { font-size:.75rem; }
  .story-stage { min-height:680px; padding:28px var(--gutter); gap:24px; }
  .story-top { padding-top:17px; }
  .story-top>.story-caption { display:none; }
  .story-content h2 { font-size:clamp(52px,12.3vw,85px); }
  .story-content>p { margin-top:24px; }
  .story-frame img { object-position:64% center; }
  .story-bottom { display:block; }
  .story-bottom>.story-caption { display:block; margin-top:22px; font-size:.75rem; }
  .story-chapters { width:100%; max-width:none; gap:20px; }
  .story-chapters li { font-size:.875rem; }
  .scroll-enhanced .scroll-story { height:205svh; }
  .story-word,.story-word-outline { font-size:26vw; }
  .story-word { background-size:auto 150%; }
  .foundation-copy { grid-template-columns:1fr; gap:30px; }
  .foundation-statement { font-size:34px; }
  .foundation-detail { max-width:none; padding:0; }
  .project-category { font-size:clamp(42px,10.6vw,72px); left:20px; right:20px; }
  .footer { padding-bottom:42px; }
  .footer-bottom { font-size:.75rem; }
  .back-to-top>small { font-size:.75rem; }
  .legacy-top .eyebrow { font-size:.75rem; }
}
@media(max-height:649px) {
  .story-stage { min-height:580px; }
}
@media(prefers-reduced-motion:reduce) {
  .story-typography { display:none!important; }
  .scroll-story { height:auto!important; }
  .story-stage { position:relative!important; height:auto!important; min-height:650px; }
  .story-frame { clip-path:none!important; opacity:1!important; }
  .story-content { opacity:1!important; transform:none!important; }
  .story-frame img,.project-image img,.project-category,#headline-one,#headline-two { transform:none!important; }
  .chapter-track i { transform:none!important; }
}

/* Shared team and concise service content supplied through Elusive Remodel. */
.inline-link { text-decoration:underline; text-decoration-color:currentColor; text-underline-offset:4px; }
.service-list { margin:10px 0 64px; border-top:1px solid #24302135; }
.service-row { display:grid; grid-template-columns:38px 1fr 1fr; align-items:start; gap:28px; padding:27px 0; border-bottom:1px solid #24302135; }
.service-number { color:#717b66; font-size:.75rem; padding-top:9px; }
.service-row h3 { font-size:clamp(24px,2.2vw,33px); line-height:1.3; letter-spacing:-.04em; }
.service-row p { color:#626b59; font-size:1rem; line-height:1.75; max-width:430px; }
.expertise .section-title-row>p { max-width:300px; }
.team { background:var(--surface); border-top:1px solid var(--line); padding-top:88px; padding-bottom:100px; }
.team-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:12%; align-items:end; margin-bottom:55px; }
.team-heading>div { max-width:460px; }
.team-heading p { color:var(--muted); line-height:1.9; }
.team-heading .text-link { margin-top:8px; }
.team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; align-items:start; }
.team-card:nth-child(2) { padding-top:55px; }
.team-card:nth-child(3) { padding-top:110px; }
.team-photo { aspect-ratio:4/5; overflow:hidden; background:#464b46; border:1px solid #ffffff12; }
.team-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.justine-photo img { object-position:55% 37%; }
.team-card-heading { padding-top:22px; }
.team-card-heading h3 { font-size:30px; letter-spacing:-.035em; }
.team-card-heading>span { display:block; font-size:.875rem; line-height:1.6; color:var(--accent); margin-top:7px; }
.team-card>p { font-size:1rem; line-height:1.8; color:var(--muted); margin-top:16px; max-width:350px; }
.sister-company { display:grid; grid-template-columns:1fr 1.4fr 1fr; gap:25px; align-items:center; padding:25px 0; border-top:1px solid var(--line); }
.sister-company>span { color:var(--muted); font-size:.875rem; }
.sister-company>a { font-size:clamp(20px,2.2vw,32px); font-weight:500; letter-spacing:-.035em; display:inline-flex; align-items:center; gap:25px; justify-self:start; }
.sister-company>a>span { font-size:24px; }
.sister-company>p { color:var(--muted); font-size:.875rem; text-align:right; }
@media(max-width:1100px) {
  .team-grid { gap:22px; }
  .team-card-heading h3 { font-size:28px; }
  .team-card:nth-child(2) { padding-top:35px; }
  .team-card:nth-child(3) { padding-top:70px; }
  .service-row { grid-template-columns:25px 1fr 1fr; gap:20px; }
}
@media(max-width:760px) {
  .service-list { margin-bottom:42px; }
  .service-row { grid-template-columns:24px 1fr; gap:10px 15px; padding:24px 0; }
  .service-row h3 { font-size:25px; }
  .service-row p { grid-column:2; font-size:1rem; }
  .service-number { padding-top:7px; }
  .team { padding-top:58px; padding-bottom:60px; }
  .team-heading { grid-template-columns:1fr; gap:25px; margin-bottom:32px; }
  .team-heading h2 { font-size:48px; }
  .team-heading>div { max-width:none; }
  .team-grid { grid-template-columns:1fr; gap:40px; }
  .team-card:nth-child(2),.team-card:nth-child(3) { padding-top:0; }
  .team-photo { aspect-ratio:4/4.6; }
  .team-card-heading { padding-top:20px; }
  .team-card>p { max-width:none; }
  .sister-company { grid-template-columns:1fr; gap:10px; padding:22px 0; }
  .sister-company>a { font-size:28px; }
  .sister-company>p { text-align:left; }
}

/* Full service offering and licensing, confirmed by the owner. */
.hero-kicker { flex-wrap:wrap; row-gap:6px; }
.hero-kicker strong { font:inherit; color:var(--accent); }
.service-catalog { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 42px; margin:6px 0 64px; }
.service-detail { border-top:1px solid #24302135; }
.service-detail:last-child { grid-column:1/-1; border-bottom:1px solid #24302135; }
.service-detail summary { display:flex; align-items:center; gap:18px; list-style:none; cursor:pointer; padding:25px 0; }
.service-detail summary::-webkit-details-marker { display:none; }
.service-detail summary .service-number { padding:0; flex-shrink:0; align-self:flex-start; margin-top:5px; }
.service-detail h3 { font-size:clamp(20px,1.8vw,27px); line-height:1.3; letter-spacing:-.035em; }
.service-expand { width:18px; height:18px; position:relative; margin-left:auto; flex-shrink:0; }
.service-expand:before,.service-expand:after { content:''; width:13px; height:1px; position:absolute; top:8px; left:2px; background:#536347; }
.service-expand:after { transform:rotate(90deg); transition:transform .25s; }
.service-detail[open] .service-expand:after { transform:rotate(0); }
.service-detail[open] h3 { color:#52623f; }
.service-content { padding:0 0 27px 36px; }
.service-content>p { color:#5e6955; font-size:1rem; line-height:1.85; max-width:700px; }
.service-includes { list-style:none; padding:0; margin:16px 0 0; display:flex; gap:8px 17px; flex-wrap:wrap; }
.service-includes li { font-size:.875rem; color:#46533c; padding-bottom:3px; border-bottom:1px solid #71816545; }
.work-film { margin-top:64px; padding-top:40px; border-top:1px solid #24302135; }
.work-film-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; margin-bottom:25px; }
.work-film-heading .eyebrow { display:block; color:#5c6d4c; margin-bottom:15px; }
.work-film-heading h3 { font-size:clamp(30px,3.6vw,53px); line-height:1.12; letter-spacing:-.05em; }
.work-film-heading>p { max-width:330px; font-size:1rem; color:#5e6955; }
.work-film video { display:block; width:100%; aspect-ratio:16/9; height:auto; background:#111711; }
.work-film figcaption { font-size:.75rem; color:#67715f; margin-top:12px; }
.work-film figure { margin:0; }
.finance-note { display:grid; grid-template-columns:1.15fr 1fr auto; align-items:center; gap:30px; padding:36px 0; border-top:1px solid var(--line); }
.finance-note h3 { font-size:clamp(24px,2.5vw,35px); }
.finance-note p { color:var(--muted); font-size:.875rem; line-height:1.8; max-width:440px; }
.finance-note .text-link { margin:0; padding:12px 0; gap:20px; }
.license-footer { font-weight:600; color:var(--accent); letter-spacing:.03em; }
.legacy-license { display:inline-flex; flex-direction:column; gap:5px; margin-top:28px; border-top:1px solid #24271f42; padding-top:18px; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }
.legacy-license strong { font-size:1.125rem; letter-spacing:.08em; font-weight:600; }
@media(max-width:1000px) {
  .service-catalog { gap:0 26px; }
  .service-detail h3 { font-size:22px; }
  .finance-note { grid-template-columns:1fr 1fr; gap:20px; }
  .finance-note .text-link { grid-column:2; justify-self:start; }
}
@media(max-width:760px) {
  .service-catalog { grid-template-columns:1fr; gap:0; margin-bottom:42px; }
  .service-detail h3 { font-size:22px; }
  .service-detail summary { padding:23px 0; gap:15px; }
  .service-content { padding-left:31px; }
  .work-film { margin-top:40px; padding-top:30px; }
  .work-film-heading { display:block; }
  .work-film-heading>p { margin-top:18px; max-width:none; }
  .work-film-heading h3 { font-size:36px; }
  .finance-note { grid-template-columns:1fr; gap:17px; padding:28px 0; }
  .finance-note .text-link { grid-column:auto; justify-self:start; }
  .finance-note p { max-width:none; }
  .hero-kicker { font-size:.75rem; letter-spacing:.025em; column-gap:9px; }
}

/* Photographic service cards. Images stay visible with each disclosure closed. */
.service-catalog { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 28px; align-items:start; }
.service-detail,.service-detail:last-child { grid-column:auto; border-top:0; border-bottom:1px solid #24302135; min-width:0; }
.service-detail:first-child { grid-column:span 2; }
.service-detail summary { display:grid; grid-template-columns:22px minmax(0,1fr) 18px; gap:18px 12px; padding:0 0 22px; }
.service-detail summary:focus-visible { outline-color:#52623f; }
.service-photo { display:block; grid-column:1/-1; position:relative; overflow:hidden; height:clamp(190px,19vw,290px); background:#d6d8cf; }
.service-photo img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.service-detail:hover .service-photo img { transform:scale(1.035); }
.service-detail h3 { font-size:clamp(20px,1.7vw,26px); }
.service-detail .service-number { align-self:start; }
.service-photo-note { position:absolute; bottom:12px; left:12px; color:#f4f4ef; background:#181a18df; padding:5px 10px; font-size:.75rem; }
.service-content { padding:0 0 24px 34px; }
.service-content>p { font-size:.9375rem; line-height:1.8; }
.service-includes { gap:8px 14px; }
.service-includes li { font-size:.8125rem; }

/* Original project media. Empty slots deliberately contain no pretend work. */
.project-journal { padding-top:100px; padding-bottom:100px; border-bottom:1px solid var(--line); }
.journal-heading { display:flex; justify-content:space-between; gap:40px; align-items:flex-end; margin-bottom:55px; }
.journal-heading>p { color:var(--muted); max-width:310px; font-size:1rem; }
.journal-subheading { display:flex; align-items:center; justify-content:space-between; gap:25px; margin:70px 0 26px; padding-top:28px; border-top:1px solid var(--line); }
.journal-subheading h3 { font-size:clamp(26px,3vw,42px); }
.media-status { color:var(--muted); font-size:.75rem; text-align:right; }
.comparison-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px; }
.comparison-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px; }
.comparison-pair figure,.site-photo-grid figure,.promo-grid figure { margin:0; min-width:0; }
.comparison-pair figure { position:relative; }
.comparison-pair figcaption { position:absolute; top:14px; left:14px; z-index:2; background:var(--accent); color:var(--accent-ink); padding:4px 11px; font-size:.75rem; font-weight:600; }
.comparison-pair figure:first-child figcaption { background:#efefeb; }
.media-frame { position:relative; overflow:hidden; background-color:#222720; background-image:linear-gradient(#c7b0870b 1px,transparent 1px),linear-gradient(90deg,#c7b0870b 1px,transparent 1px); background-size:36px 36px; border:1px solid #c7b08725; }
.comparison-frame { aspect-ratio:4/5; }
.media-placeholder { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; text-align:center; padding:30px 12px; }
.media-placeholder strong { font-weight:500; font-size:clamp(15px,1.4vw,21px); line-height:1.4; letter-spacing:-.02em; }
.media-placeholder small { font-size:.75rem; color:var(--muted); line-height:1.6; }
.placeholder-cross { width:30px; height:30px; position:relative; margin-bottom:9px; }
.placeholder-cross:before,.placeholder-cross:after { content:''; position:absolute; background:var(--accent); opacity:.7; }
.placeholder-cross:before { width:30px; height:1px; top:15px; left:0; }
.placeholder-cross:after { width:1px; height:30px; top:0; left:15px; }
.journal-card-heading { padding-top:22px; }
.journal-card-heading .eyebrow,.promo-grid .eyebrow { color:var(--accent); }
.journal-card-heading h4,.promo-grid h4 { font:500 clamp(23px,2.2vw,32px)/1.25 var(--font); letter-spacing:-.035em; margin:10px 0 0; }
.journal-card-heading p,.promo-grid figcaption p { color:var(--muted); font-size:.875rem; margin:10px 0 0; }
.site-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.site-photo-frame { aspect-ratio:4/3; }
.site-photo-grid figcaption { font-size:.875rem; margin-top:16px; color:var(--muted); }
.site-photo-grid figcaption>span { color:var(--accent); font-size:.75rem; margin-right:10px; }
.promo-grid { display:grid; grid-template-columns:minmax(0,2.15fr) minmax(0,1fr); gap:40px; align-items:start; }
.promo-frame { aspect-ratio:16/9; }
.reel-frame { aspect-ratio:9/16; max-height:650px; }
.placeholder-play { width:64px; height:64px; border:1px solid #c7b08760; border-radius:50%; display:grid; place-items:center; font-size:30px; color:var(--accent); padding-left:4px; margin-bottom:12px; }
.promo-grid figcaption { padding-top:21px; }
.promo-grid figcaption p { max-width:440px; }
.promo-vertical { padding-top:55px; }
.journal-note { margin-top:36px; color:var(--muted); font-size:.75rem; }
.journal-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; }
.has-media .journal-photo { opacity:1; }
.has-media .media-placeholder { display:none; }
.media-frame video { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:contain; background:#111511; }
.media-frame video:focus-visible { outline:2px solid var(--accent); outline-offset:-4px; }
.social-row { display:flex; justify-content:space-between; gap:28px; align-items:center; padding:30px 0; border-top:1px solid var(--line); }
.social-row .eyebrow { color:var(--accent); }
.social-row p { color:var(--muted); font-size:.875rem; margin-top:6px; }
.social-links { display:flex; gap:12px; flex-wrap:wrap; }
.social-links a { display:flex; align-items:center; gap:11px; padding:12px 16px; border:1px solid var(--line); font-size:.8125rem; transition:background .25s,color .25s; }
.social-links svg { width:22px; height:22px; }
.social-links a:hover { background:var(--accent); color:var(--accent-ink); }
.footer-bottom { flex-wrap:wrap; }
[hidden] { display:none!important; }
@media(max-width:1050px) {
  .service-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-detail:first-child { grid-column:auto; }
  .service-detail:last-child { grid-column:span 2; }
  .service-photo { height:250px; }
  .comparison-grid { gap:22px; }
  .comparison-frame { aspect-ratio:3/4; }
  .media-placeholder strong { font-size:16px; }
  .site-photo-grid { gap:16px; }
  .promo-grid { gap:26px; }
  .social-row { align-items:flex-start; }
}
@media(max-width:760px) {
  .journal-heading { display:block; margin-bottom:32px; }
  .journal-heading>p { margin-top:22px; }
  .journal-subheading { margin-top:45px; display:block; padding-top:23px; }
  .media-status { display:block; text-align:left; margin-top:10px; }
  .comparison-grid { grid-template-columns:1fr; gap:35px; }
  .comparison-frame { aspect-ratio:4/5; }
  .site-photo-grid { grid-template-columns:1fr; gap:28px; }
  .site-photo-frame { aspect-ratio:16/10; }
  .media-placeholder strong { font-size:20px; }
  .promo-grid { gap:26px; }
  .promo-frame { aspect-ratio:4/3; }
  .promo-grid .media-placeholder strong { font-size:18px; }
  .social-row { flex-direction:column; gap:20px; }
}
@media(max-width:600px) {
  .service-catalog { grid-template-columns:1fr; gap:30px; }
  .service-detail:first-child,.service-detail:last-child { grid-column:auto; }
  .service-photo { height:auto; aspect-ratio:16/10; }
  .service-detail summary { padding-bottom:21px; }
  .service-detail h3 { font-size:23px; }
  .service-content { padding-left:34px; }
  .project-journal { padding-top:60px; padding-bottom:60px; }
  .comparison-pair .media-placeholder strong { font-size:16px; }
  .comparison-pair .media-placeholder small { max-width:120px; }
  .promo-grid { grid-template-columns:1fr; gap:38px; }
  .promo-frame { aspect-ratio:16/10; }
  .promo-vertical { padding-top:0; width:75%; }
  .placeholder-play { width:52px; height:52px; font-size:26px; }
  .social-links { gap:10px; }
  .social-links a { padding:12px 14px; }
}
@media(prefers-reduced-motion:reduce) {
  .service-detail:hover .service-photo img { transform:none; }
}
