
:root{
  --bg:#fffefb;
  --surface:#ffffff;
  --surface-soft:#f7f2ea;
  --surface-deep:#efe6d8;
  --text:#111111;
  --muted:#5f584e;
  --gold:#b89462;
  --gold-deep:#8f6e42;
  --gold-soft:#d7c09b;
  --line:rgba(17,17,17,.08);
  --line-soft:rgba(17,17,17,.045);
  --line-gold:rgba(184,148,98,.28);
  --shadow:0 18px 34px rgba(17,17,17,.06);
  --shadow-soft:0 10px 20px rgba(17,17,17,.04);
  --max:1360px;
  --serif:Iowan Old Style, Palatino Linotype, Book Antiqua, Palatino, Times New Roman, serif;
  --sans:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--text);
  background:var(--bg);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
::selection{background:rgba(184,148,98,.18);color:var(--text)}
a{color:inherit;text-decoration:none;transition:color .24s ease,opacity .24s ease,border-color .24s ease,transform .24s ease}
img{display:block;max-width:100%}
.shell{width:min(calc(100% - 72px),var(--max));margin:0 auto}
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:20px;top:20px;padding:12px 16px;background:#fff;border:1px solid var(--line-gold);z-index:200}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,254,251,.92);
  border-bottom:1px solid transparent;
  backdrop-filter:saturate(105%) blur(10px);
  transition:background .28s ease,border-color .28s ease,box-shadow .28s ease,color .28s ease;
}
.site-header--hero{position:fixed;inset:0 0 auto 0;background:linear-gradient(180deg,rgba(17,17,17,.18),rgba(17,17,17,0));color:#fff}
.site-header.is-scrolled{background:rgba(255,254,251,.98);border-bottom-color:var(--line);box-shadow:0 8px 24px rgba(17,17,17,.04);color:var(--text)}
.header-row{display:flex;align-items:center;justify-content:space-between;padding:20px 0;gap:24px}
.brand{display:inline-flex;align-items:center;gap:12px;min-height:24px}
.brand::before,.footer-brand::before{display:none}
.brand__logo{height:24px;width:auto}
.site-nav{display:flex;align-items:center;gap:28px}
.site-nav__links,.site-nav__meta{display:flex;align-items:center;gap:22px}
.nav-link,.lang-switch a{
  position:relative;
  font-size:.68rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  padding-bottom:8px;
  opacity:.86;
}
.nav-link::after,.lang-switch a::after,.hero__links a::after,.text-link::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:1px;
  background:var(--gold);
  transform:scaleX(.68);
  transform-origin:left center;
  opacity:0;
  transition:transform .24s ease,opacity .24s ease;
}
.nav-link.is-active,.nav-link:hover,.lang-switch a.is-active,.lang-switch a:hover{opacity:1}
.nav-link.is-active::after,.nav-link:hover::after,.lang-switch a.is-active::after,.lang-switch a:hover::after,.hero__links a:hover::after,.text-link:hover::after{opacity:1;transform:scaleX(1)}
.site-header--hero .nav-link::after,.site-header--hero .lang-switch a::after,.site-header--hero .hero__links a::after{background:rgba(255,255,255,.85)}
.lang-switch{display:flex;gap:12px}
.menu-toggle{display:none;background:transparent;border:none;padding:0;width:44px;height:44px;color:inherit}
.menu-toggle span{display:block;width:22px;height:1.5px;background:currentColor;margin:6px auto;transition:transform .3s ease,opacity .3s ease}

.hero--home{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden;background:#d9d2c6}
.hero__media,.hero__media img{position:absolute;inset:0;width:100%;height:100%}
.hero__media img{object-fit:cover}
.hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,17,.10) 0%,rgba(17,17,17,.05) 32%,rgba(17,17,17,.34) 100%)}
.hero__inner{position:relative;z-index:1;padding:180px 0 78px}
.hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:52px;align-items:end;max-width:1180px}
.hero__copy{display:grid;gap:18px;max-width:760px}
.hero__aside{display:grid;gap:16px;max-width:32ch;justify-self:end;padding-left:26px;border-left:1px solid rgba(255,255,255,.28)}
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:.64rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:8px}
.eyebrow::after{content:"";display:block;width:44px;height:1px;background:var(--gold)}
.eyebrow--light{color:rgba(255,255,255,.86)}
.eyebrow--light::after{background:rgba(255,255,255,.72)}
.eyebrow--small{font-size:.58rem;letter-spacing:.22em}
h1,h2,h3{margin:0;font-family:var(--serif);font-weight:400;letter-spacing:-.036em;line-height:.98;text-wrap:balance}
h1{font-size:clamp(2.3rem,4.4vw,4.55rem);max-width:9.8ch}
h2{font-size:clamp(1.6rem,2.45vw,2.9rem);max-width:10.5ch}
h3{font-size:clamp(1.14rem,1.55vw,1.64rem)}
p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.88}
.hero h1,.hero p,.hero a{color:#fff}
.hero__copy p{max-width:28ch;color:rgba(255,255,255,.85)}
.hero__aside p{color:rgba(255,255,255,.82)}
.hero__links{display:flex;gap:24px;flex-wrap:wrap}
.hero__links a{position:relative;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;padding-bottom:10px}
.text-link{position:relative;display:inline-flex;align-items:center;gap:12px;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;padding-bottom:8px;color:var(--gold-deep)}
.text-link::before{content:"";display:block;width:22px;height:1px;background:currentColor;opacity:.75}
.text-link:hover{color:var(--text)}

.carousel-head{display:grid;gap:18px;margin-bottom:34px}
.carousel-head__grid{display:grid;grid-template-columns:minmax(260px,520px) minmax(240px,360px);justify-content:space-between;gap:36px;align-items:end}
.signature-carousel{display:grid;gap:22px}
.signature-carousel__viewport{display:grid}
.signature-slide{grid-area:1/1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(260px,.92fr);gap:44px;align-items:end;opacity:0;pointer-events:none;transform:translateX(24px);transition:opacity .6s ease,transform .6s ease}
.signature-slide.is-active{opacity:1;pointer-events:auto;transform:none}
.signature-slide__media img{width:100%;aspect-ratio:16/10;object-fit:cover;border:1px solid var(--line-gold);background:#e8e1d8}
.signature-slide__copy{display:grid;gap:14px;max-width:34ch;padding-bottom:14px}
.signature-slide__meta{font-size:.62rem;letter-spacing:.23em;text-transform:uppercase;color:var(--gold-deep)}
.signature-carousel__controls{display:flex;align-items:center;justify-content:space-between;gap:22px}
.carousel-btn{appearance:none;border:none;background:none;padding:0;cursor:pointer;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep)}
.carousel-btn:hover{color:var(--text)}
.carousel-dots{display:flex;align-items:center;gap:10px;flex:1;justify-content:center}
.carousel-dot{width:11px;height:11px;border-radius:999px;border:1px solid rgba(17,17,17,.18);background:transparent;padding:0;cursor:pointer;transition:background .28s ease,border-color .28s ease,transform .28s ease}
.carousel-dot.is-active{background:var(--gold);border-color:var(--gold);transform:scale(1.08)}
.signature-carousel__progress{height:1px;background:rgba(17,17,17,.08);overflow:hidden}
.signature-carousel__progress span{display:block;height:100%;width:25%;background:linear-gradient(90deg,var(--gold),var(--gold-soft));transition:width .45s ease}
.room-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.room-tile{display:grid;gap:14px;align-content:start}
.room-tile__media img{width:100%;aspect-ratio:16/10;object-fit:cover;border:1px solid rgba(17,17,17,.06);background:#e8e1d8;transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease}
.room-tile__media:hover img{transform:translateY(-3px);border-color:rgba(184,148,98,.45);box-shadow:var(--shadow-soft)}
.room-tile__copy{display:grid;gap:8px;max-width:28ch}
.room-tile__meta{font-size:.61rem;letter-spacing:.23em;text-transform:uppercase;color:var(--gold-deep)}
.material-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.material-note{padding-top:18px;border-top:1px solid var(--line-gold);display:grid;gap:12px;align-content:start}
.material-note h3{font-size:1.02rem;max-width:none}
.material-note p{max-width:28ch}
.text-link--button{border:none;background:none;padding:0;cursor:pointer}

.section{padding:120px 0}
.section--tight{padding-top:34px}
.section--statement{padding:64px 0 24px}
.section--bordered{border-top:1px solid var(--line-soft)}
.section--studio{padding-top:112px}
.section--contact-call{padding-top:110px;padding-bottom:120px}
.statement{max-width:980px;margin:0 auto;text-align:center}
.statement p{font-family:var(--serif);font-size:clamp(1.18rem,1.75vw,1.82rem);line-height:1.44;color:var(--text);max-width:30ch;margin:0 auto}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:44px}
.section-head p{max-width:33ch}

.project-rhythm,.editorial-grid{display:grid;gap:72px}
.project-rhythm__grid,.editorial-grid__pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 50px}
.editorial-grid__pair--offset{padding-top:72px}
.project-card{display:grid;gap:14px;align-content:start}
.project-card__media img,
.collection-tile__media img,
.feature-media__main img,
.feature-media__stack img,
.studio-block__media img,
.contact-layout__media img,
.furniture-story__media img,
.studio-layout__media img,
.project-gallery img,
.project-hero__media img{
  width:100%;
  object-fit:cover;
  border:1px solid rgba(17,17,17,.06);
  background:#e8e1d8;
  transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease,filter .32s ease;
}
.project-card__media:hover img,
.collection-tile__media:hover img{transform:translateY(-3px);border-color:rgba(184,148,98,.45);box-shadow:var(--shadow-soft)}
.project-card__media img,.collection-tile__media img,.project-gallery img{aspect-ratio:4/5}
.project-card--lead{grid-template-columns:minmax(0,1.34fr) minmax(250px,.66fr);gap:52px;align-items:end}
.project-card--lead .project-card__media img{aspect-ratio:16/10}
.project-card__meta{font-size:.61rem;letter-spacing:.23em;text-transform:uppercase;color:var(--gold-deep)}
.project-card__copy{display:grid;gap:8px;max-width:34ch}
.project-card h3 a:hover,.collection-tile h3 a:hover{color:var(--gold-deep)}

.feature-grid,.studio-block,.studio-layout,.contact-layout{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:88px;align-items:start}
.feature-copy,.studio-block__copy,.furniture-story__copy,.contact-layout__copy{display:grid;gap:14px}
.feature-media{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:22px;align-items:start}
.feature-media__main img{aspect-ratio:4/5}
.feature-media__stack{display:grid;gap:22px}
.feature-media__stack img{aspect-ratio:4/5}
.studio-block__media img,.contact-layout__media img,.furniture-story__media img{aspect-ratio:16/10}
.cta-panel{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:70px;align-items:end;padding-top:24px;border-top:1px solid var(--line-gold)}
.cta-panel__right{display:grid;gap:14px;max-width:36ch}

.page-hero{padding:152px 0 42px;border-bottom:1px solid var(--line-soft)}
.page-hero__grid{display:grid;grid-template-columns:minmax(220px,540px) minmax(220px,320px);justify-content:space-between;gap:40px;align-items:end}
.page-hero__grid h1{max-width:none}
.page-hero__grid p{max-width:30ch}

.furniture-stories{display:grid;gap:88px}
.furniture-story{display:grid;grid-template-columns:1.05fr .95fr;gap:62px;align-items:center}
.furniture-story--reverse{grid-template-columns:.95fr 1.05fr}
.furniture-story--reverse .furniture-story__media{order:2}
.collection-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.collection-tile{display:grid;gap:14px}
.collection-tile__copy{display:grid;gap:8px;max-width:28ch}

.pillars-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.pillar{padding-top:16px;border-top:1px solid var(--line-gold)}
.pillar p{margin-top:10px}
.process-list{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.process-step{display:grid;grid-template-columns:42px 1fr;gap:18px;padding-top:18px;border-top:1px solid var(--line-gold)}
.process-step span{font-size:.62rem;letter-spacing:.23em;text-transform:uppercase;color:var(--gold-deep)}
.process-step h3{font-size:1.12rem;margin-bottom:8px}

.contact-inline-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.social-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line-gold);font-size:.68rem;letter-spacing:.20em;text-transform:uppercase;color:var(--gold-deep);background:#fff}
.social-chip:hover{background:var(--surface-soft)}
.contact-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-content:start}
.contact-card{padding:24px;background:#fff;border:1px solid var(--line-soft);display:grid;gap:12px;align-content:start}
.contact-card--wide{grid-column:1/-1}
.contact-card ul{margin:0;padding-left:18px;display:grid;gap:8px;color:var(--muted);font-size:.95rem;line-height:1.8}
.contact-card h3{max-width:none}

.project-hero{padding:0}
.project-hero__media img{height:min(84vh,860px);border:none}
.project-intro{display:grid;grid-template-columns:minmax(260px,620px) minmax(220px,280px);justify-content:space-between;gap:56px;align-items:end}
.project-intro__main{display:grid;gap:16px}
.project-intro__main p{max-width:37ch}
.project-facts{display:grid;gap:16px;margin:0;padding-top:16px;border-top:1px solid var(--line-gold)}
.project-facts dt{font-size:.62rem;letter-spacing:.23em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:6px}
.project-facts dd{margin:0;font-family:var(--serif);font-size:1.05rem;line-height:1.45}
.project-copy{max-width:760px;margin:0 auto}
.project-copy p{font-size:1rem;line-height:1.92;color:var(--text)}
.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.project-gallery__wide{grid-column:1/-1}
.project-gallery__wide img{aspect-ratio:16/10}
.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}

.site-footer{margin-top:140px;padding:42px 0 52px;background:#11100f;color:#f4efe8;border-top:1px solid rgba(255,255,255,.08)}
.footer-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}
.footer-brand__logo{height:22px;width:auto;filter:brightness(0) invert(1) sepia(.08) saturate(.6)}
.footer-links,.footer-social{display:flex;gap:18px;flex-wrap:wrap}
.footer-links a,.footer-social a,.footer-note{font-size:.62rem;letter-spacing:.23em;text-transform:uppercase;color:rgba(244,239,232,.72)}
.footer-links a:hover,.footer-social a:hover{color:#fff}
.footer-note{flex-basis:100%;padding-top:8px}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .74s ease,transform .74s ease}
.reveal.is-visible{opacity:1;transform:none}

@media (max-width:1180px){
  .carousel-head__grid,
  .signature-slide,
  .hero__grid,
  .project-card--lead,
  .feature-grid,
  .studio-block,
  .cta-panel,
  .page-hero__grid,
  .furniture-story,
  .studio-layout,
  .contact-layout,
  .project-intro{grid-template-columns:1fr}
  .hero__aside{justify-self:start;max-width:34ch;padding-left:0;border-left:none}
  .project-rhythm__grid,.editorial-grid__pair,.collection-row,.pillars-grid,.related-grid,.contact-card-grid,.room-strip,.material-notes{grid-template-columns:1fr}
  .editorial-grid__pair--offset{padding-top:0}
  .furniture-story--reverse .furniture-story__media{order:0}
  .feature-media{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .signature-carousel__controls{align-items:center;gap:14px}
  .carousel-btn{font-size:.58rem}
  .shell{width:min(calc(100% - 34px),var(--max))}
  .menu-toggle{display:block;z-index:5}
  .site-nav{position:fixed;inset:0 0 auto auto;width:min(86vw,360px);height:100dvh;background:rgba(255,254,251,.995);padding:88px 28px 28px;display:grid;align-content:start;gap:28px;border-left:1px solid var(--line-gold);transform:translateX(102%);transition:transform .35s ease}
  .site-nav.is-open{transform:none}
  .site-nav__links,.site-nav__meta{display:grid;gap:18px}
  .nav-link,.lang-switch a{font-size:.86rem}
  .header-row{padding:15px 0}
  .hero__inner{padding:124px 0 44px}
  .hero__grid{gap:22px}
  h1{font-size:clamp(2rem,9vw,3.5rem)}
  h2{font-size:clamp(1.54rem,6.6vw,2.36rem)}
  .section{padding:90px 0}
  .section--statement{padding:50px 0 14px}
  .page-hero{padding:124px 0 32px}
  .feature-media,.project-gallery{grid-template-columns:1fr}
  .signature-slide__copy{padding-bottom:0}
  .project-gallery__wide{grid-column:auto}
  .project-gallery__wide img,.project-gallery img,.project-card__media img,.collection-tile__media img,.feature-media__main img,.feature-media__stack img,.studio-layout__media img,.studio-block__media img,.contact-layout__media img{aspect-ratio:4/5}
  .site-footer{margin-top:92px}
}
