:root{--bg:#f3f0e9;--soft:#e9e5dc;--paper:#faf8f4;--ink:#202423;--muted:#626b69;--accent:#5f7e7c;--line:#d8d3ca;--max:1240px;--pad:56px;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.58}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}
.container{width:min(var(--max),calc(100% - 2*var(--pad)));margin:auto}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:20}.brand{font-weight:800;letter-spacing:.10em;font-size:1.28rem;line-height:1.1}.nav-links{display:flex;gap:30px;font-size:.9rem}.nav-links a:hover{color:var(--accent)}.menu-toggle{display:none;border:0;background:none;font-size:1.4rem;color:var(--ink)}
.hero{min-height:calc(100vh - 79px);display:grid;grid-template-columns:1.06fr .94fr;border-bottom:1px solid var(--line)}.hero-left{display:flex;align-items:center}.hero-copy{padding:86px 9% 88px 0;max-width:760px}.kicker,.eyebrow,.meta{text-transform:uppercase;letter-spacing:.16em;font-size:.73rem;font-weight:700;color:var(--accent)}.kicker{margin-bottom:24px}
h1,h2,h3{margin-top:0}h1{font-size:clamp(3.35rem,5.3vw,5.9rem);line-height:.98;letter-spacing:-.055em;font-weight:600;margin-bottom:28px}.hero-title-prefix{display:block;font-size:clamp(1.02rem,1.45vw,1.25rem);line-height:1.35;letter-spacing:.02em;font-weight:600;margin-bottom:15px;color:var(--muted)}.hero-sub{max-width:660px;font-size:1.13rem;line-height:1.58;color:#46504e;margin:0 0 30px}.hero-tags{font-size:.75rem;line-height:1.7;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.hero-image{min-height:650px;overflow:hidden;background:#d4d7d3}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.section{padding:106px 0}

.section-label-large{
  font-size:.92rem !important;
  letter-spacing:.17em !important;
  margin-bottom:18px !important;
}
.section.alt{background:var(--soft)}.section.paper{background:var(--paper)}.eyebrow{margin-bottom:14px}h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.03;letter-spacing:-.045em;font-weight:600;margin-bottom:24px}h3{font-size:1.35rem;line-height:1.22;letter-spacing:-.015em;margin-bottom:12px}.lead{font-size:1.3rem;line-height:1.48;max-width:860px;color:#394240}.body{max-width:780px;color:var(--muted)}
.statement{display:grid;grid-template-columns:.9fr 1.35fr;gap:86px;align-items:start}.services-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-card{background:var(--bg);padding:34px 28px;min-height:305px}.service-no{font-size:.7rem;letter-spacing:.14em;color:var(--accent);font-weight:700;margin-bottom:58px}.service-card p{font-size:.92rem;color:var(--muted);margin-bottom:0}
.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.feature-card{background:var(--paper);border:1px solid var(--line);overflow:hidden}.feature-card img{width:100%;height:290px;object-fit:cover}.feature-card .copy{padding:30px}.feature-card p{color:var(--muted)}.work-index{display:flex;gap:12px;align-items:center;margin-bottom:12px}.work-index span{color:var(--accent);font-weight:700}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.metric{border-top:1px solid var(--ink);padding-top:18px}.metric strong{display:block;font-size:2.7rem;line-height:1;letter-spacing:-.04em}.metric span{display:block;margin-top:10px;color:var(--muted);font-size:.87rem}
.page-hero{padding:96px 0 80px;border-bottom:1px solid var(--line)}.page-hero h1{max-width:1000px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:start}.list{list-style:none;margin:0;padding:0}.list li{padding:14px 0;border-bottom:1px solid var(--line);font-size:.96rem}.list li::before{content:"— ";color:var(--accent)}
.category{margin-bottom:84px}.category-header{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;margin-bottom:26px}.project-list{border-top:1px solid var(--line)}.project{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;padding:22px 0;border-bottom:1px solid var(--line)}.project-title{font-weight:650}.project-meta{color:var(--muted);font-size:.91rem}.case-feature{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center;margin-top:50px}.case-feature img{width:100%;height:430px;object-fit:cover}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-card{border-top:1px solid var(--ink);padding-top:20px}.button{display:inline-block;padding:13px 19px;border:1px solid var(--ink);font-size:.79rem;letter-spacing:.08em;text-transform:uppercase}.button:hover{background:var(--ink);color:var(--paper)}.cta-row{display:flex;justify-content:space-between;gap:35px;align-items:end}
.footer{width:min(var(--max),calc(100% - 2*var(--pad)));margin:auto;padding:42px 0 58px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:28px;color:var(--muted);font-size:.82rem}.footer-links{display:flex;gap:22px}
@media(max-width:1100px){:root{--pad:36px}.services-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){:root{--pad:24px}.nav{min-height:68px}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--bg);padding:20px 0;flex-direction:column;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.menu-toggle{display:block}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:70px 0 52px}.hero-image{min-height:520px}.statement,.two-col,.category-header,.case-feature,.contact-grid{grid-template-columns:1fr;gap:35px}.services-grid,.feature-grid,.metrics{grid-template-columns:1fr}.project{grid-template-columns:1fr;gap:6px}.section{padding:76px 0}.page-hero{padding:70px 0 56px}.cta-row,.footer{flex-direction:column;align-items:flex-start}}

.brand-wrap{display:flex;flex-direction:column;gap:5px}
.brand-subtitle{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);font-weight:700}
.section-label-large{
  font-size:1.02rem !important;
  letter-spacing:.16em !important;
  margin-bottom:20px !important;
}

.hero-left > .container{
  width:100%;
  max-width:none;
  margin:0;
  padding-left:var(--pad);
  padding-right:0;
}
.hero-copy{
  padding-left:0 !important;
  margin-left:0 !important;
}

@media(max-width:820px){
  .brand{font-size:1.08rem}
  .brand-subtitle{font-size:.68rem}
  .hero-left > .container{padding-left:var(--pad);padding-right:var(--pad)}
}

/* V5: homepage Selected Work card 1 only — preserve full face in crop */
.selected-work-one img{
  object-position:center 28%;
}
