:root{--ink:#171714;--paper:#f0eee8;--soft:#d8d3c8;--wine:#542d2b;--line:rgba(23,23,20,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;font-weight:300;line-height:1.55}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:96px;padding:0 4vw;display:flex;align-items:center;color:white;border-bottom:1px solid rgba(255,255,255,.25)}.brand{font-size:1.25rem;letter-spacing:.34em;font-weight:500}.desktop-nav{margin-left:auto;display:flex;gap:2rem;font-size:.83rem}.desktop-nav a,.header-cta{transition:opacity .25s}.desktop-nav a:hover,.header-cta:hover{opacity:.6}.header-cta{margin-left:2.7rem;border-bottom:1px solid;padding-bottom:.18rem;font-size:.83rem}.menu-button,.mobile-menu{display:none}.hero{position:relative;height:100svh;min-height:680px;color:white;overflow:hidden}.hero>img{position:absolute;inset:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,9,7,.66),rgba(9,9,7,.15) 65%),linear-gradient(0deg,rgba(9,9,7,.45),transparent 45%)}.hero-copy{position:absolute;left:6.5vw;bottom:13vh;max-width:800px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:500;margin:0 0 2rem}.eyebrow.light{color:rgba(255,255,255,.75)}h1,.display,.craft h2,.contact h2{font-family:"Bodoni Moda",serif;font-weight:400;line-height:.91;letter-spacing:-.025em;margin:0}h1{font-size:clamp(4.4rem,7vw,7.2rem)}.hero-lead{font-size:clamp(1rem,1.45vw,1.35rem);max-width:580px;margin:2rem 0}.hero-actions{display:flex;align-items:center;gap:2rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:1rem 1.45rem;text-transform:uppercase;letter-spacing:.11em;font-size:.7rem;font-weight:500;transition:.25s}.button-light{background:white;color:var(--ink)}.button-light:hover{background:var(--soft)}.button-dark{background:var(--ink);color:white;margin-top:1.5rem}.button-dark:hover{background:var(--wine)}.text-link{font-size:.82rem;border-bottom:1px solid;padding-bottom:.25rem}.hero-meta{position:absolute;right:4vw;bottom:2rem;display:flex;gap:1.5rem;font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.65)}.section-pad{padding:10rem 6.5vw}.statement .display{font-size:clamp(4rem,8vw,8.5rem);max-width:1100px;line-height:1.03}.display em{font-weight:400;color:var(--wine)}.statement-grid{display:grid;grid-template-columns:1fr 1fr;gap:12vw;margin:6rem 0 0 27%}.statement-grid p{margin:0}.lead{font-size:1.3rem;line-height:1.45}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:4rem}.display.small{font-size:clamp(3.4rem,6vw,6.7rem)}.filters{display:flex;gap:1rem;flex-wrap:wrap;justify-content:flex-end}.filters button{border:0;background:none;color:inherit;font:inherit;font-size:.75rem;padding:.4rem 0;cursor:pointer;border-bottom:1px solid transparent}.filters button.active{border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem}.project-card{position:relative;height:62vh;min-height:520px;overflow:hidden;transition:opacity .3s,transform .3s}.project-card.tall{height:78vh}.project-card img{transition:transform 1s}.project-card:hover img{transform:scale(1.025)}.project-card.hidden{display:none}.project-info{position:absolute;inset:auto 0 0;padding:5rem 2rem 2rem;color:white;background:linear-gradient(transparent,rgba(0,0,0,.65))}.project-info p{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}.project-info h3{font-family:"Bodoni Moda",serif;font-size:2rem;font-weight:400;margin:.3rem 0}.rooms{display:grid;grid-template-columns:1.12fr .88fr;background:#d8d3c8}.rooms-image{min-height:900px}.rooms-copy{align-self:center}.rooms-copy>p:not(.eyebrow){max-width:530px}.rooms ul{list-style:none;padding:0;margin:4rem 0 0}.rooms li{display:flex;gap:1.5rem;padding:1.2rem 0;border-top:1px solid var(--line);font-family:"Bodoni Moda",serif;font-size:1.55rem}.rooms li:last-child{border-bottom:1px solid var(--line)}.rooms li span{font-family:"DM Sans";font-size:.65rem;letter-spacing:.1em;margin-top:.4rem}.process{background:#f7f5f0}.process-intro{display:grid;grid-template-columns:1fr 2fr;align-items:start}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;margin-top:7rem}.steps article{border-top:1px solid var(--ink);padding-top:1.3rem}.steps span{font-size:.68rem}.steps h3{font-family:"Bodoni Moda";font-size:1.8rem;font-weight:400;margin:2.6rem 0 1rem}.steps p{font-size:.85rem}.craft{height:92vh;min-height:700px;position:relative;color:white}.craft:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.08))}.craft-copy{position:absolute;z-index:2;left:6.5vw;top:50%;transform:translateY(-50%);max-width:580px}.craft h2{font-size:clamp(3.7rem,6vw,6.7rem)}.craft-copy>p:not(.eyebrow){max-width:480px;margin:2rem 0}.architects{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;background:var(--wine);color:white}.architects-copy{max-width:520px;align-self:end}.founder{display:grid;grid-template-columns:.65fr 1.35fr;align-items:center;gap:8vw}.founder-mark{font-family:"Bodoni Moda";font-size:32vw;line-height:.65;color:#d5d0c5}.founder blockquote{font-family:"Bodoni Moda";font-size:clamp(2.4rem,4.6vw,5rem);line-height:1.06;margin:0 0 2rem}.founder-copy>p:last-child{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.press{border-top:1px solid var(--line);position:relative}.press-list{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;color:#5b5952}.press-list span{font-family:"Bodoni Moda";font-size:1.45rem}.award{display:flex;gap:1rem;align-items:center;margin-top:5rem}.award strong{font-family:"Bodoni Moda";font-size:2rem}.award span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;line-height:1.4}.contact{background:var(--ink);color:white;padding:9rem 6.5vw;display:grid;grid-template-columns:1.35fr .65fr;gap:8vw;align-items:end}.contact h2{font-size:clamp(4rem,7vw,8rem)}.contact-copy>p:last-child{font-size:1.2rem}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem}.contact-actions .phone{font-family:"Bodoni Moda";font-size:2rem}.contact-actions p{font-size:.8rem;color:rgba(255,255,255,.6)}footer{padding:3rem 4vw;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:2rem;align-items:center;font-size:.72rem}footer>div{display:flex;gap:1.5rem}.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:78px;padding:0 1.25rem}.desktop-nav,.header-cta{display:none}.menu-button{display:flex;margin-left:auto;border:0;background:none;width:34px;height:34px;flex-direction:column;justify-content:center;gap:7px}.menu-button span{height:1px;width:100%;background:white}.mobile-menu{display:flex;position:fixed;z-index:19;inset:0;background:var(--ink);color:white;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;font-family:"Bodoni Moda";font-size:2.2rem;opacity:0;pointer-events:none;transition:.3s}.mobile-menu.open{opacity:1;pointer-events:auto}.hero-copy{left:1.4rem;right:1.4rem;bottom:10rem}.hero-meta{left:1.4rem;right:auto;gap:.8rem;bottom:2rem;flex-wrap:wrap}h1{font-size:clamp(3.8rem,18vw,6rem)}.section-pad{padding:7rem 1.4rem}.statement-grid{grid-template-columns:1fr;margin:4rem 0 0;gap:2rem}.section-head{display:block}.filters{justify-content:flex-start;margin-top:3rem}.project-grid{grid-template-columns:1fr}.project-card,.project-card.tall{height:70vh;min-height:500px}.rooms{grid-template-columns:1fr}.rooms-image{height:70vh;min-height:0}.process-intro{grid-template-columns:1fr}.steps{grid-template-columns:1fr;margin-top:4rem}.steps h3{margin:1rem 0 .4rem}.craft{height:80vh}.architects,.founder,.contact{grid-template-columns:1fr}.architects{gap:4rem}.founder-mark{font-size:65vw}.press-list{justify-content:flex-start}.contact{padding:7rem 1.4rem}.contact-actions{margin-top:2rem}footer{grid-template-columns:1fr;gap:1.2rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.project-card img{transition:none}}
.logo-link{display:block;line-height:0}.current-logo{display:block;width:164px;height:auto;object-fit:contain;}
@media(max-width:900px){.current-logo{width:145px}}
.footer-logo-link{display:block;line-height:0}.footer-logo{display:block;width:150px;height:auto;object-fit:contain}
.craft{height:100vh;min-height:820px}.craft-copy .text-link{display:inline-block;margin-top:.7rem}
@media(max-width:900px){.craft{height:88vh;min-height:720px}}
.craft-copy{top:39%}
.craft h2{font-size:clamp(3.4rem,5vw,5.8rem)}
.founder-mark{display:flex;align-items:center}
.founder-mark img{display:block;width:min(24vw,380px);height:auto;opacity:.12}
.award span{white-space:nowrap}
@media(max-width:900px){.craft-copy{top:43%}.craft h2{font-size:clamp(3.2rem,13vw,4.8rem)}.founder-mark img{width:min(56vw,300px)}.award{align-items:flex-start}.award span{white-space:normal}}

/* Architectural project gallery */
.projects{background:#f7f5f0}
.projects .section-head{display:grid;grid-template-columns:1.15fr .85fr;gap:6vw;align-items:end;margin-bottom:7rem}
.projects .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2.5rem;row-gap:6rem;align-items:start}
.projects .project-card,.projects .project-card:nth-child(n){grid-column:auto;height:auto;min-height:0;margin-top:0;overflow:visible;padding:0}
.projects .project-card img{height:auto;aspect-ratio:4 / 3;object-fit:cover}
.projects .project-card:hover img{transform:none}
.projects .project-info{position:static;padding:1.35rem 0 0;color:var(--ink);background:none}
.projects .project-info p{margin:0 0 .35rem;color:#77736b}
.projects .project-info h3{margin:0;font-size:clamp(1.6rem,2.2vw,2.25rem)}
@media(max-width:900px){
  .projects .section-head{display:block;margin-bottom:4rem}
  .projects .project-grid{grid-template-columns:1fr;row-gap:4.5rem}
  .projects .project-card img{aspect-ratio:4 / 3}
}

/* Continuous press ribbon */
.press-marquee{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.press-track{display:flex;width:max-content;animation:press-scroll 55s linear infinite}
.press-sequence{display:flex;align-items:center;flex:none;gap:4.5rem;padding-right:4.5rem}
.press-sequence span{font-family:"Bodoni Moda",serif;font-size:clamp(1.35rem,2vw,1.8rem);white-space:nowrap;color:#5b5952}
.press-marquee:hover .press-track{animation-play-state:paused}
@keyframes press-scroll{to{transform:translateX(-50%)}}
@media(max-width:900px){.press-sequence{gap:2.8rem;padding-right:2.8rem}.press-track{animation-duration:42s}}
@media(prefers-reduced-motion:reduce){.press-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.press-track{animation:none}.press-sequence[aria-hidden="true"]{display:none}}

/* Homepage hero image crop */
.hero>img{object-position:center 51%}
@media(max-width:900px){.hero>img{object-position:center center}}

/* Whole-home disciplines as one quiet editorial line */
.room-line{display:flex;flex-direction:column;margin-top:3.25rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:"DM Sans",sans-serif;font-size:.72rem;line-height:1.5;letter-spacing:.09em;text-transform:uppercase}
.room-line span{display:block;padding:1rem 0}
.room-line span+span{border-top:1px solid rgba(23,23,20,.1)}

/* Taller single-image homepage hero */
.hero{height:112svh;min-height:760px}
.hero>img{object-position:center 51%}
@media(max-width:900px){.hero{height:106svh;min-height:720px}.hero>img{object-position:center center}}

/* Refined editorial heading scale */
h1{font-size:clamp(4rem,6.2vw,6.4rem)}
.statement .display{font-size:clamp(3.6rem,6.8vw,7rem)}
.display.small{font-size:clamp(3.1rem,5.2vw,5.8rem)}
.craft h2{font-size:clamp(3.1rem,4.6vw,5.2rem)}
.founder blockquote{font-size:clamp(2.2rem,4.2vw,4.6rem)}
.contact h2{font-size:clamp(3.6rem,6.2vw,6.8rem)}

@media(max-width:900px){
  body{overflow-x:hidden}
  h1,.statement .display,.display.small,.craft h2,.contact h2{font-size:clamp(2.25rem,10vw,3.4rem);line-height:.98;max-width:100%;text-wrap:balance}
  .founder blockquote{font-size:clamp(2rem,8.5vw,3rem);line-height:1.08}
  .hero-copy,.rooms-copy,.craft-copy,.architects>*,.founder>*,.contact>*{min-width:0}
  .section-pad{padding:6rem 1.25rem}
  .contact{padding:6rem 1.25rem}
}

@media(max-width:380px){
  h1,.statement .display,.display.small,.craft h2,.contact h2{font-size:clamp(2.1rem,9.6vw,2.8rem)}
}

/* Image-led first viewport */
.hero{height:100svh;min-height:0}
.hero-shade{background:linear-gradient(90deg,rgba(9,9,7,.46),rgba(9,9,7,.05) 62%),linear-gradient(0deg,rgba(9,9,7,.28),transparent 42%)}
.hero-copy{bottom:10.5vh;max-width:620px}
.hero h1{font-size:clamp(3.2rem,5.2vw,5.4rem)}
.hero-lead{font-size:clamp(1rem,1.15vw,1.15rem);max-width:440px;margin:1.25rem 0 1.4rem}
.hero-meta{bottom:1.4rem}

@media(max-width:900px){
  .hero{height:100svh;min-height:0}
  .hero-shade{background:linear-gradient(90deg,rgba(9,9,7,.48),rgba(9,9,7,.08) 78%),linear-gradient(0deg,rgba(9,9,7,.3),transparent 46%)}
  .hero-copy{left:1.25rem;right:1.25rem;bottom:7.2rem;max-width:460px}
  .hero h1{font-size:clamp(2.2rem,9vw,3rem);line-height:.97}
  .hero-lead{font-size:1rem;line-height:1.45;max-width:320px;margin:1rem 0 1.2rem}
  .hero-meta{left:1.25rem;right:1.25rem;bottom:1.25rem;justify-content:space-between;gap:.65rem;font-size:.62rem}
}

@media(max-width:380px){
  .hero-copy{bottom:6.6rem}
  .hero h1{font-size:clamp(2.1rem,8.8vw,2.6rem)}
  .hero-lead{margin:.85rem 0 1rem}
}

.contact .contact-copy>p.contact-location{font-size:.9rem;line-height:1.6}

@media(max-width:900px){
  .contact .contact-copy>p.contact-location{font-size:.86rem}
}

.award{gap:1.5rem}
.award-logo{width:112px;height:112px;object-fit:contain;flex:none}
.award-copy{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}
.award-copy strong{line-height:1}
.award-copy span{white-space:normal}

@media(max-width:900px){
  .award{align-items:center}
  .award-logo{width:96px;height:96px}
}

.craft-copy>p:not(.eyebrow){max-width:420px;font-size:.9rem;line-height:1.55;margin:1.2rem 0}

@media(max-width:900px){
  .craft-copy>p:not(.eyebrow){max-width:340px;font-size:.875rem;line-height:1.5;margin:1rem 0}
}

.craft-copy{top:62%}

/* Calacatta Viola image: preserve the revised composition without extra zoom */
.rooms-image{position:relative;overflow:hidden}
.rooms-image img{transform:none;object-position:50% 50%}
.rooms-image-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(10,10,8,.12) 0%,transparent 34%,rgba(10,10,8,.58) 100%)}
.rooms-image-label{position:absolute;z-index:2;top:2.6rem;left:3vw;margin:0;color:rgba(255,255,255,.82);font-size:.68rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 1px 18px rgba(0,0,0,.3)}
.rooms-intro{position:absolute;z-index:2;left:3vw;right:3vw;bottom:3.2rem;max-width:620px;margin:0;color:white;font-family:"Bodoni Moda",serif;font-size:clamp(1.7rem,2.35vw,2.45rem);font-weight:400;line-height:1.28;letter-spacing:-.012em;text-wrap:balance;text-shadow:0 2px 24px rgba(0,0,0,.42)}
.rooms-copy .room-line{margin-top:0}

/* Discreet project credit over the restaurant image */
.craft{overflow:hidden}
.craft-credit{position:absolute;z-index:2;top:2.3rem;right:3vw;margin:0;color:rgba(255,255,255,.68);font-size:.62rem;font-weight:400;line-height:1.4;letter-spacing:.18em;text-transform:uppercase}
.craft-copy{max-width:500px}

@media(max-width:900px){
  .rooms-image img{transform:none;object-position:50% 50%}
  .rooms-image-label{top:1.5rem;left:1.25rem;font-size:.62rem}
  .rooms-copy.section-pad{padding-top:2.75rem}
  .rooms-intro{left:1.25rem;right:1.25rem;bottom:2rem;font-size:1.55rem;line-height:1.34}
  .craft-credit{top:1.35rem;left:1.25rem;right:1.25rem;text-align:right;font-size:.58rem;line-height:1.5}
  .craft-copy{top:64%;left:1.25rem;right:1.25rem}
}

/* Larger, quieter project presentation */
.projects.section-pad{padding-left:3vw;padding-right:3vw}
.projects .project-grid{column-gap:1.25rem;row-gap:5rem}
.projects .project-card img{aspect-ratio:16 / 10}
.projects .project-info{padding-top:1.5rem}
.projects .project-info .project-teaser{max-width:560px;margin:.85rem 0 0;color:#65625c;font-family:"DM Sans",sans-serif;font-size:.92rem;font-weight:300;line-height:1.6;text-transform:none;letter-spacing:0}

@media(max-width:900px){
  .projects.section-pad{padding-left:1rem;padding-right:1rem}
  .projects .project-grid{row-gap:4rem}
  .projects .project-card img{aspect-ratio:16 / 11}
  .projects .project-info .project-teaser{font-size:.875rem;line-height:1.55}
}

/* Restrained, aligned mobile navigation */
@media(max-width:900px){
  body.menu-open{overflow:hidden}
  .menu-button{position:relative;z-index:2;padding:0}
  .menu-button span{transition:transform .35s ease,opacity .25s ease}
  .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)}
  .mobile-menu{
    inset:0 0 0 auto;
    width:min(82vw,420px);
    padding:8.75rem 2rem 3rem;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    background:rgba(23,23,20,.985);
    border-left:1px solid rgba(255,255,255,.12);
    color:white;
    font-family:"DM Sans",sans-serif;
    font-size:.78rem;
    font-weight:400;
    letter-spacing:.15em;
    text-transform:uppercase;
    opacity:1;
    visibility:hidden;
    transform:translateX(100%);
    transition:transform .4s cubic-bezier(.22,.61,.36,1),visibility 0s linear .4s;
  }
  .mobile-menu a{
    display:block;
    padding:1.15rem 0;
    border-top:1px solid rgba(255,255,255,.13);
    transition:opacity .2s ease,padding-left .25s ease;
  }
  .mobile-menu a:last-of-type{border-bottom:1px solid rgba(255,255,255,.13)}
  .mobile-menu a:hover,.mobile-menu a:focus-visible{padding-left:.35rem;opacity:.65}
  .mobile-menu.open{
    opacity:1;
    visibility:visible;
    transform:translateX(0);
    transition:transform .4s cubic-bezier(.22,.61,.36,1),visibility 0s;
    box-shadow:-100vw 0 0 rgba(0,0,0,.42);
  }
}

@media(max-width:380px){
  .mobile-menu{width:86vw;padding-left:1.5rem;padding-right:1.5rem}
}

.founder-mark .founder-portrait{opacity:1;width:100%;max-width:360px;height:auto;aspect-ratio:2/3;object-fit:cover;margin:0 auto}@media(max-width:900px){.founder-mark .founder-portrait{max-width:300px}}

@media(max-width:600px){.rooms-intro{font-size:1.25rem;line-height:1.3;max-width:30rem}}

.language-switch{display:flex;gap:.45rem;align-items:center;margin-left:1.6rem;font-size:.75rem;letter-spacing:.08em;flex:none}.language-switch a{opacity:.55}.language-switch a[aria-current],.language-switch a:hover{opacity:1}.language-switch a[aria-current]{border-bottom:1px solid currentColor}.language-switch span{opacity:.35}@media(max-width:900px){.language-switch{margin-left:auto;margin-right:1rem;font-size:.75rem}.site-header .header-cta{margin-left:auto}.site-header .header-cta+.language-switch{margin-left:1rem}}

.site-header .language-switch{position:absolute;top:calc(100% + .75rem);right:4vw;margin:0;min-height:28px}.site-header .header-cta+.language-switch{margin:0}.site-header .language-switch a{padding:.25rem 0}.site-header.solid .language-switch{color:var(--ink)}body:has(.page-hero) .site-header.solid .language-switch,body:has(.project-detail-hero) .site-header.solid .language-switch{color:white;text-shadow:0 1px 8px rgba(0,0,0,.5)}

.mobile-menu .menu-signature{margin-top:auto;padding-top:2.5rem;font-family:"Bodoni Moda",serif;font-size:.8rem;font-weight:400;font-style:italic;letter-spacing:.035em;text-transform:none;color:rgba(255,255,255,.55);}
