:root{--ink:#171a1c;--paper:#f4f2ed;--white:#fff;--muted:#696d6f;--line:#d7d4cd;--accent:#235f8e;--dark:#1e2529;--max:1420px;--pad:clamp(22px,5vw,76px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.55}
img{display:block;width:100%}
a{color:inherit}
h1,h2,h3,p,figure{margin-top:0}
.site-header{height:92px;max-width:var(--max);margin:auto;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(244,242,237,.95);position:sticky;top:0;z-index:20}
.brand img{width:138px;mix-blend-mode:multiply}
.site-header nav{display:flex;gap:34px}
.site-header nav a{text-decoration:none;font-size:14px;text-transform:uppercase;letter-spacing:.09em}
.menu{display:none;background:0;border:0;font:inherit}
.hero{max-width:var(--max);margin:auto;min-height:calc(100vh - 92px);display:grid;grid-template-columns:minmax(340px,.78fr) minmax(0,1.22fr);gap:clamp(44px,7vw,110px);padding:clamp(28px,4vh,54px) var(--pad) 72px;align-items:center}
.hero-copy{order:2;padding:24px 0 44px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.eyebrow{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:28px}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(58px,7.4vw,126px);line-height:.84;letter-spacing:-.055em;font-weight:400;margin-bottom:44px}
.hero-copy p{max-width:620px;font-size:clamp(18px,1.55vw,25px);line-height:1.45}
.button{margin-top:24px;display:inline-flex;gap:35px;align-items:center;padding:16px 20px;border:1px solid var(--ink);text-decoration:none;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.hero-visual{order:1;margin:0;position:relative;width:min(100%,560px);justify-self:start;aspect-ratio:3/4;overflow:hidden;background:#e5e1d9}
.hero-visual img{height:100%;object-fit:cover;object-position:center}
.hero-visual figcaption,.evidence figcaption{position:absolute;bottom:0;left:0;background:var(--paper);padding:11px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.section{max-width:var(--max);margin:auto;padding:clamp(90px,12vw,180px) var(--pad)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:10vw;border-top:1px solid var(--line)}
h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.04;letter-spacing:-.035em;font-size:clamp(44px,5vw,78px)}
.copy{font-size:clamp(18px,1.5vw,23px);max-width:680px}
.copy p+p{margin-top:28px}
.method{background:var(--dark);color:#f2f1ed;padding:clamp(95px,12vw,170px) max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));display:grid;grid-template-columns:1fr 1fr;gap:10vw}
.method .eyebrow{color:#87b5d8}
.method-head p{max-width:620px;font-size:20px;color:#c6ccce}
.method-list{margin:0;padding:0;list-style:none;border-top:1px solid #50575b}
.method-list li{display:grid;grid-template-columns:70px 1fr;padding:28px 0;border-bottom:1px solid #50575b}
.method-list span{font-size:12px;color:#87b5d8}
.method-list h3{font-family:Georgia,serif;font-weight:400;font-size:35px;margin-bottom:5px}
.method-list p{color:#c6ccce;margin:0}
.portfolio{padding-bottom:clamp(100px,13vw,190px)}
.portfolio-head{display:grid;grid-template-columns:1.35fr .65fr;gap:8vw;align-items:end;margin-bottom:65px}
.portfolio-head p{font-size:20px;color:var(--muted)}
.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:55px 24px}
.project-card{grid-column:span 4;border:0;background:transparent;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer}
.project-card:nth-child(1),.project-card:nth-child(5){grid-column:span 8}
.project-image{aspect-ratio:4/3;overflow:hidden;background:#ddd;margin-bottom:20px}
.project-card:nth-child(1) .project-image,.project-card:nth-child(5) .project-image{aspect-ratio:16/8}
.project-image img{height:100%;object-fit:cover;transition:transform .5s ease}
.project-card:hover img{transform:scale(1.025)}
.project-meta{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}
.project-card h3{font-family:Georgia,serif;font-size:clamp(28px,2.5vw,42px);font-weight:400;letter-spacing:-.025em;margin:8px 0}
.project-card p{color:var(--muted);max-width:580px}
.project-card .open{border-bottom:1px solid var(--ink);font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.evidence{background:#fff;display:grid;grid-template-columns:1fr .72fr 1fr;gap:0;align-items:center}
.evidence figure{margin:0;position:relative;height:650px}
.evidence figure img{height:100%;object-fit:cover}
.evidence>div{padding:65px}
.evidence h2{font-size:clamp(38px,4vw,62px)}
.evidence p{color:var(--muted)}
.line-link{text-transform:uppercase;letter-spacing:.1em;font-size:12px;text-decoration:none;border-bottom:1px solid}
.contact{max-width:var(--max);margin:auto;padding:clamp(95px,12vw,170px) var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:10vw}
.contact address{font-style:normal;border-top:1px solid var(--ink);padding-top:26px;display:flex;flex-direction:column;align-items:flex-start;gap:15px}
.contact address a{font-family:Georgia,serif;font-size:clamp(25px,3vw,42px);text-decoration:none}
.contact address p{color:var(--muted);margin-top:18px}
footer{max-width:var(--max);margin:auto;padding:35px var(--pad);border-top:1px solid var(--line);display:grid;grid-template-columns:170px 1fr auto;align-items:center;gap:30px;font-size:12px;color:var(--muted)}
footer img{width:140px}
footer a{color:inherit}
.seo-page{max-width:var(--max);margin:auto;padding:0 var(--pad)}
.seo-hero{min-height:82vh;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(35px,7vw,110px);align-items:center;padding:clamp(70px,9vw,130px) 0}
.seo-hero h1{font-family:Georgia,serif;font-size:clamp(50px,7vw,108px);line-height:.94;font-weight:400;margin:22px 0 32px}
.seo-hero p{font-size:clamp(19px,2vw,25px);line-height:1.55;color:var(--muted);max-width:720px}
.seo-hero figure{margin:0;max-height:720px;overflow:hidden}
.seo-hero figure img{display:block;width:100%;height:100%;max-height:720px;object-fit:cover}
.seo-page>section{padding:clamp(80px,10vw,150px) 0;border-top:1px solid var(--line);max-width:980px}
.seo-page>section h2{font-family:Georgia,serif;font-size:clamp(38px,5vw,72px);line-height:1.04;font-weight:400;margin:22px 0 30px}
.seo-page>section p{font-size:clamp(18px,1.8vw,23px);line-height:1.65;color:var(--muted)}
.seo-steps{max-width:none!important;display:grid;grid-template-columns:repeat(3,1fr);gap:45px}
.seo-steps strong{font-size:13px;letter-spacing:.14em;color:var(--accent)}
.seo-steps h2{font-size:clamp(30px,3vw,46px)!important}
.seo-faq h2{font-size:clamp(30px,4vw,52px)!important;margin-top:55px!important}
.seo-cta{max-width:none!important;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}
.seo-cta address{font-style:normal;display:flex;flex-direction:column;gap:18px}
.seo-cta address a{font-family:Georgia,serif;font-size:clamp(28px,3vw,44px);text-decoration:none}
.project-dialog{width:min(1180px,94vw);max-height:92vh;padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 30px 90px #0008}
.project-dialog::backdrop{background:#121719d9}
.dialog-close{position:sticky;top:0;z-index:5;float:right;margin:14px;background:var(--paper);border:1px solid var(--ink);padding:10px 14px;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.dialog-inner{padding:clamp(42px,7vw,90px)}
.dialog-top{display:grid;grid-template-columns:.68fr 1.32fr;gap:7vw;margin-bottom:55px}
.dialog-top h2{font-size:clamp(45px,6vw,82px)}
.dialog-summary{font-size:20px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:35px 0}
.facts div{padding:18px 14px;border-right:1px solid var(--line)}
.facts div:last-child{border:0}
.facts small{display:block;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.dialog-story{max-width:850px;font-size:19px}
.dialog-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:45px}
.dialog-gallery img{aspect-ratio:4/3;object-fit:cover;background:#ddd}
.phase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:48px}
.phase-card{border:0;background:transparent;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer}
.phase-image{display:block;aspect-ratio:4/3;overflow:hidden;background:#ddd;margin-bottom:20px}
.phase-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.phase-placeholder{display:grid;place-items:center;padding:24px;text-align:center;color:var(--muted);background:#e9e5dc}
.phase-placeholder span{font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.empty-gallery{padding:48px 24px;border:1px solid rgba(0,0,0,.12);text-align:center;color:var(--muted);background:#f3f0e9}
.phase-card:hover .phase-image img{transform:scale(1.025)}
.phase-card strong{display:block;font-family:Georgia,serif;font-size:clamp(38px,5vw,64px);font-weight:400;margin:5px 0 10px}
.phase-card>span:not(.phase-image):not(.eyebrow){display:block;color:var(--muted);max-width:520px}
.phase-card em{display:inline-block;margin-top:18px;border-bottom:1px solid var(--ink);font-style:normal;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.phase-back{border:0;background:transparent;padding:0 0 28px;color:var(--accent);font:inherit;font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.phase-heading{max-width:760px;margin-bottom:36px}
.phase-heading h2{font-size:clamp(48px,7vw,86px)}
.phase-heading p{font-size:20px;color:var(--muted)}
.dialog-gallery img:nth-child(3n+1){grid-column:span 2;aspect-ratio:16/8}
@media(max-width:900px){.site-header{height:76px;min-height:76px;flex-wrap:nowrap;padding-top:0;padding-bottom:0;gap:18px}
.brand img{width:88px}
.menu{display:none}
.site-header nav{display:flex;position:static;width:auto;flex:1;padding:0;background:transparent;border:0;flex-direction:row;justify-content:flex-end;gap:clamp(9px,2.5vw,25px)}
.site-header nav a{font-size:clamp(8px,1.25vw,10px);letter-spacing:.045em;white-space:nowrap}
.hero{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,60px);padding-top:30px;padding-bottom:45px}
.hero-copy{padding:28px 0 40px}
.hero-visual{width:100%;min-height:0}
.split,.method,.portfolio-head,.contact,.dialog-top{grid-template-columns:1fr}
.method{gap:55px}
.project-card,.project-card:nth-child(1),.project-card:nth-child(5){grid-column:span 6}
.project-card:nth-child(1) .project-image,.project-card:nth-child(5) .project-image{aspect-ratio:4/3}
.evidence{grid-template-columns:1fr}
.evidence figure{height:70vw;max-height:600px}
.evidence>div{padding:75px var(--pad)}
footer{grid-template-columns:1fr}
.seo-hero,.seo-steps,.seo-cta{grid-template-columns:1fr}
.seo-hero{padding-top:55px}
}

@media(max-width:580px){body{font-size:16px}
.hero{grid-template-columns:1fr;gap:0;padding-top:20px}
.hero-visual{order:1;width:100%;max-height:70vh;aspect-ratio:3/4}
.hero-copy{order:2;padding:34px 0 46px}
.hero h1{font-size:clamp(54px,17vw,78px)}
.project-grid{display:block}
.project-card{display:block;margin-bottom:48px;width:100%}
.method-list li{grid-template-columns:48px 1fr}
.facts{grid-template-columns:1fr}
.facts div{border-right:0;border-bottom:1px solid var(--line)}
.dialog-gallery{display:block}
.dialog-gallery img{margin-bottom:10px;aspect-ratio:4/3!important}
.phase-grid{grid-template-columns:1fr}
.phase-card{margin-bottom:34px}
.dialog-inner{padding:50px 22px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.project-image img{transition:none}
}

