:root{
  --ivory:#f4ede4;
  --soft:#fbf7f0;
  --stone:#d8caba;
  --line:rgba(50,42,32,.18);
  --ink:#1e1a16;
  --muted:#75695d;
  --taupe:#9d8267;
  --walnut:#5d3f2b;
  --charcoal:#28231e;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Manrope", Arial, sans-serif;
  --body:"Inter", Arial, sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--body);overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.grain{position:fixed;inset:0;pointer-events:none;z-index:30;opacity:.045;background-image:radial-gradient(circle at 20% 20%,#000 0 1px,transparent 1px);background-size:4px 4px;mix-blend-mode:multiply}.section-pad{padding:clamp(90px,9vw,150px) clamp(22px,6vw,92px)}
.site-header{position:fixed;top:0;left:0;right:0;z-index:40;height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(20px,5vw,72px);background:rgba(244,237,228,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(50,42,32,.12);transition:transform .55s cubic-bezier(.16,1,.3,1),background .35s}.site-header.hidden{transform:translateY(-100%)}.brand{justify-self:start;display:flex;align-items:center;gap:12px;font:800 13px var(--sans);letter-spacing:.16em}.brand-mark{width:34px;height:34px;border:1px solid var(--ink);display:grid;place-items:center;font-size:11px}.nav{display:flex;gap:34px;font:700 12px var(--sans);letter-spacing:.09em;color:rgba(30,26,22,.66)}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:.35s}.nav a:hover:after{transform:scaleX(1);transform-origin:left}.eyebrow{margin:0 0 22px;font:800 11px var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--taupe)}
.hero{min-height:100vh;display:grid;grid-template-columns:minmax(320px,.86fr) minmax(430px,1.14fr);gap:clamp(36px,6vw,92px);align-items:center;padding-top:132px}.hero-copy h1{margin:0;font:500 clamp(56px,7.2vw,126px)/.93 var(--serif);letter-spacing:-.055em;max-width:840px}.hero-text{margin:28px 0 0;max-width:530px;font-size:18px;line-height:1.75;color:rgba(30,26,22,.66)}.hero-actions{display:flex;gap:16px;align-items:center;margin-top:42px;flex-wrap:wrap}.btn{min-height:48px;border-radius:999px;padding:0 23px;display:inline-flex;align-items:center;justify-content:center;font:800 12px var(--sans);letter-spacing:.06em;transition:.45s cubic-bezier(.16,1,.3,1)}.btn-dark{background:var(--ink);color:var(--soft);box-shadow:0 18px 44px rgba(30,26,22,.14)}.btn-plain{border:1px solid var(--line)}.btn:hover{transform:translateY(-2px)}.hero-visual{height:min(74vh,780px);position:relative;overflow:hidden;border-radius:0 0 0 90px}.image-tag{position:absolute;left:24px;bottom:24px;background:rgba(251,247,240,.83);backdrop-filter:blur(14px);padding:18px 20px;min-width:210px}.image-tag span{display:block;font:800 11px var(--sans);letter-spacing:.18em;text-transform:uppercase}.image-tag em{display:block;margin-top:8px;font-style:normal;font-size:13px;color:var(--muted)}
.studio{display:grid;grid-template-columns:.85fr 1fr;gap:clamp(36px,7vw,110px);align-items:center;border-top:1px solid var(--line)}.studio-image{height:700px;overflow:hidden}.studio-copy h2,.section-heading h2,.services h2,.process-section h2,.feature h2,.contact h2{font:500 clamp(44px,5.6vw,96px)/.96 var(--serif);letter-spacing:-.045em;margin:0}.studio-copy p:not(.eyebrow),.services-intro,.feature p:not(.eyebrow),.contact p{font-size:18px;line-height:1.8;color:rgba(30,26,22,.64);max-width:610px}.studio-copy p:not(.eyebrow){margin-top:30px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(251,247,240,.45)}.stat{min-height:230px;padding:44px clamp(20px,4vw,58px);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:24px}.stat:last-child{border-right:0}.stat strong{font:500 clamp(58px,6vw,104px)/.85 var(--serif);letter-spacing:-.06em;display:block}.stat span{display:block;font:800 10px/1.65 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--walnut);max-width:170px;position:static;transform:none}.section-heading{display:grid;grid-template-columns:230px minmax(0,1fr);gap:40px;align-items:start;margin-bottom:74px}.section-heading h2{max-width:920px}
.projects{background:var(--soft)}.project-feature{display:grid;grid-template-columns:1.12fr .72fr;gap:clamp(30px,5vw,76px);align-items:end;margin-bottom:90px}.project-feature-image{height:700px;overflow:hidden}.project-feature-info{padding:0 0 20px}.project-feature-info span,.project-card span{display:block;font:800 11px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--taupe)}.project-feature-info h3,.project-card h3{font:500 clamp(42px,5vw,82px)/.9 var(--serif);letter-spacing:-.045em;margin:18px 0}.project-feature-info p{font-size:17px;line-height:1.75;color:rgba(30,26,22,.62);max-width:500px}.project-feature-info dl{margin:34px 0 0;border-top:1px solid var(--line)}.project-feature-info dl div{display:grid;grid-template-columns:100px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:16px 0}.project-feature-info dt{font:800 10px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--taupe)}.project-feature-info dd{margin:0;color:rgba(30,26,22,.68)}.project-grid{display:grid;grid-template-columns:.85fr 1.2fr .85fr;gap:24px;align-items:end}.project-card{border-top:1px solid var(--line);padding-top:18px}.project-card img{height:520px;margin-bottom:18px}.project-card.large img{height:660px}.project-card h3{font-size:clamp(35px,3.4vw,62px);margin-bottom:0}.project-card img,.project-feature-image img,.studio-image img,.services-image img,.feature-image img,.contact-visual img{transition:transform 1200ms cubic-bezier(.16,1,.3,1),filter 1200ms ease}.project-card:hover img,.project-feature-image:hover img{transform:scale(1.016);filter:saturate(.94) contrast(1.03)}
.services{display:grid;grid-template-columns:1fr .82fr;gap:clamp(34px,6vw,90px);background:var(--charcoal);color:var(--soft);align-items:center}.services .eyebrow{color:#c7aa8b}.services h2{max-width:760px;color:var(--soft)}.services-intro{color:rgba(251,247,240,.65);margin-top:26px}.services-image{height:760px;overflow:hidden}.service-list{margin-top:54px;border-top:1px solid rgba(251,247,240,.16)}.service-list div{display:grid;grid-template-columns:50px 1fr 1.15fr;gap:24px;padding:28px 0;border-bottom:1px solid rgba(251,247,240,.16)}.service-list span{font:800 11px var(--sans);letter-spacing:.18em;color:#c7aa8b}.service-list strong{font:500 28px var(--serif)}.service-list p{margin:0;color:rgba(251,247,240,.58);line-height:1.65}
.process-section{border-top:1px solid var(--line)}.process{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.process-item{min-height:260px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.process-item span{font:800 11px var(--sans);letter-spacing:.2em;color:var(--taupe)}.process-item h3{margin:auto 0 16px;font:500 34px/.95 var(--serif);letter-spacing:-.03em}.process-item p{margin:0;line-height:1.65;color:rgba(30,26,22,.62)}.feature{display:grid;grid-template-columns:.74fr 1.05fr;gap:clamp(34px,7vw,110px);align-items:center;background:var(--soft)}.feature-image{height:620px;overflow:hidden}.feature h2{max-width:700px}.feature p:not(.eyebrow){margin-top:24px}.faq{border-top:1px solid var(--line)}.faq-list{max-width:980px;margin-left:auto;border-top:1px solid var(--line)}.faq-item{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:28px 0;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;color:var(--ink);font:500 clamp(24px,3vw,42px) var(--serif)}.faq-item em{font-family:var(--sans);font-style:normal;font-size:24px;transition:transform .4s}.faq-item[aria-expanded="true"] em{transform:rotate(45deg)}.faq-panel{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.16,1,.3,1)}.faq-panel p{margin:0 0 28px;color:rgba(30,26,22,.62);max-width:720px;line-height:1.75}
.contact{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(34px,6vw,90px);align-items:center;background:#efe4d7;border-top:1px solid var(--line)}.contact-visual{height:650px;overflow:hidden;border-radius:0 90px 0 0}.contact h2{max-width:820px}.contact p{margin-top:24px}.mail-link{display:inline-block;margin-top:32px;font:700 clamp(25px,3.8vw,58px) var(--sans);letter-spacing:-.04em;border-bottom:1px solid rgba(30,26,22,.34);transition:.4s}.mail-link:hover{color:var(--walnut)}.footer{display:flex;justify-content:space-between;gap:20px;padding:28px clamp(22px,6vw,90px);font:800 10px var(--sans);letter-spacing:.18em;text-transform:uppercase;background:var(--charcoal);color:rgba(251,247,240,.62)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .85s ease,transform 1s cubic-bezier(.16,1,.3,1)}.reveal.in-view{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.22s}.delay-3{transition-delay:.32s}
@media(max-width:980px){.site-header{height:68px;grid-template-columns:1fr auto}.nav{display:none}.hero,.studio,.project-feature,.services,.feature,.contact{grid-template-columns:1fr}.hero{padding-top:110px}.hero-visual{height:58vh;border-radius:0 0 0 44px}.studio-image,.project-feature-image,.services-image,.feature-image,.contact-visual{height:520px}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.section-heading{grid-template-columns:1fr;gap:18px}.project-grid{grid-template-columns:1fr}.project-card img,.project-card.large img{height:520px}.service-list div{grid-template-columns:1fr;gap:10px}.process{grid-template-columns:1fr}.footer{flex-direction:column}}
@media(max-width:560px){.section-pad{padding:82px 18px}.brand span:last-child{font-size:12px}.hero-copy h1{font-size:54px}.hero-text{font-size:16px}.hero-visual{height:54vh}.studio-copy h2,.section-heading h2,.services h2,.process-section h2,.feature h2,.contact h2{font-size:44px}.stats{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line);min-height:160px;gap:16px}.stat strong{font-size:72px;line-height:.9}.stat span{font-size:10px}.studio-image,.project-feature-image,.project-card img,.project-card.large img,.services-image,.feature-image,.contact-visual{height:420px}.project-feature-info h3,.project-card h3{font-size:42px}.project-feature-info dl div{grid-template-columns:1fr;gap:6px}.process-item{min-height:220px}.contact-visual{border-radius:0 54px 0 0}.mail-link{font-size:24px}}

/* v4 final polish */
.stats{
  align-items:stretch;
}
.stat{
  min-height:260px;
  justify-content:flex-end;
  gap:30px;
  padding-top:58px;
  padding-bottom:52px;
}
.stat strong{
  line-height:.78;
  margin:0;
  display:block;
}
.stat span{
  width:100%;
  display:block;
  margin-top:0;
  padding-top:0;
  text-wrap:balance;
}

.contact{
  grid-template-columns:.82fr 1.18fr;
  align-items:start;
  background:#efe4d7;
}
.contact-copy{
  position:sticky;
  top:120px;
}
.inquiry-form{
  width:100%;
  border-top:1px solid var(--line);
  padding-top:8px;
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}
.inquiry-form label{
  display:block;
  border-bottom:1px solid rgba(50,42,32,.22);
  padding:24px 0 18px;
}
.inquiry-form label span{
  display:block;
  margin-bottom:12px;
  font:800 10px var(--sans);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--walnut);
}
.inquiry-form input,
.inquiry-form select,
.inquiry-form textarea{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font:500 17px var(--body);
  padding:0;
  border-radius:0;
}
.inquiry-form textarea{
  resize:vertical;
  min-height:128px;
  line-height:1.65;
}
.inquiry-form input::placeholder,
.inquiry-form textarea::placeholder{
  color:rgba(30,26,22,.38);
}
.inquiry-form select{
  appearance:none;
  cursor:pointer;
}
.inquiry-form label:focus-within{
  border-bottom-color:rgba(30,26,22,.62);
}
.form-submit{
  margin-top:34px;
  border:0;
  cursor:pointer;
}
.form-status{
  margin:18px 0 0;
  min-height:22px;
  font:700 12px var(--sans);
  letter-spacing:.08em;
  color:var(--walnut);
}

@media(max-width:980px){
  .contact{grid-template-columns:1fr;}
  .contact-copy{position:static;}
  .form-row{grid-template-columns:1fr;gap:0;}
  .stat{min-height:230px;}
}
@media(max-width:560px){
  .stat{min-height:180px;justify-content:center;gap:20px;}
  .stat strong{font-size:70px;line-height:.82;}
  .contact h2{font-size:48px;}
  .inquiry-form label{padding:22px 0 16px;}
}

/* v5 stat alignment polish */
.stat{
  display:grid;
  grid-template-rows:118px auto;
  align-content:center;
  justify-content:start;
  gap:22px;
  min-height:260px;
  padding-top:44px;
  padding-bottom:44px;
}
.stat strong{
  height:118px;
  display:flex;
  align-items:flex-end;
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1;
  line-height:1;
  letter-spacing:-.055em;
}
.stat span{
  align-self:start;
  margin:0;
  max-width:190px;
}
@media(max-width:980px){
  .stat{grid-template-rows:108px auto;min-height:230px;gap:20px;}
  .stat strong{height:108px;}
}
@media(max-width:560px){
  .stat{grid-template-rows:82px auto;min-height:170px;gap:18px;}
  .stat strong{height:82px;font-size:70px;line-height:1;}
}
