:root {
  --color-black:#0D0E12; --color-burgundy:#61131A; --color-ivory:#FAF8F5; --color-leather:#522E1E;
  --color-vintage-beige:#C7AE95; --color-antique-gold:#D28843; --color-background:var(--color-black);
  --color-surface:#1C1A19; --color-text:var(--color-ivory); --color-text-muted:var(--color-vintage-beige);
  --color-primary:var(--color-burgundy); --color-border:#46352F; --color-accent:var(--color-antique-gold);
  --font-display:Georgia,'Times New Roman',serif; --font-body:'Arial Narrow',Arial,sans-serif;
  --page-gutter:clamp(1.25rem,6.3vw,6.5rem);
}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5.5rem}body{margin:0;background:var(--color-black);color:var(--color-ivory);font-family:var(--font-body);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased}body.intro-active{overflow:hidden}img{display:block;width:100%;height:100%;object-fit:cover}picture{display:block;width:100%;height:100%}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--color-burgundy);color:var(--color-ivory)}:focus-visible{outline:2px solid var(--color-antique-gold);outline-offset:5px}.skip-link{position:fixed;z-index:200;top:1rem;left:1rem;padding:.75rem 1rem;background:var(--color-ivory);color:var(--color-black);transform:translateY(-180%)}.skip-link:focus{transform:none}
.intro{position:fixed;z-index:150;inset:0;display:grid;place-items:center;background:var(--color-black);overflow:hidden;transition:opacity .4s ease,visibility .4s ease}.intro.is-leaving{opacity:0;visibility:hidden;pointer-events:none}.intro__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82}.intro.has-video .intro__fallback{opacity:0;visibility:hidden}.intro.has-fallback .intro__video{opacity:0}.intro__fallback{transition:opacity .2s ease,visibility .2s ease}.intro::after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(13,14,18,.7),rgba(13,14,18,.1),rgba(13,14,18,.65))}.intro__fallback{position:relative;z-index:1;display:grid;justify-items:center;gap:.85rem;text-shadow:0 2px 20px #000}.intro__rule{width:3.5rem;height:2px;background:var(--color-accent)}.intro__name{font:600 clamp(2.5rem,8vw,6rem)/.9 var(--font-display);letter-spacing:.12em}.intro__sub{font-size:.72rem;letter-spacing:.25em;color:var(--color-vintage-beige)}.button,.nav__cta,.intro__skip{border-radius:999px}.intro__skip{position:absolute;z-index:2;right:var(--page-gutter);bottom:2rem;display:flex;align-items:center;gap:.75rem;border:1px solid rgba(250,248,245,.55);background:rgba(13,14,18,.55);color:var(--color-ivory);padding:.8rem 1rem;min-height:48px;cursor:pointer;letter-spacing:.06em}.intro__skip:hover{background:var(--color-burgundy)}.intro__skip:active,.button:active,.nav__cta:active,.text-link:active,.contact__direct:active{transform:translateY(1px)}
.site-header{position:absolute;z-index:20;top:0;left:0;display:flex;align-items:center;justify-content:space-between;width:100%;padding:1.25rem var(--page-gutter);border-bottom:1px solid rgba(250,248,245,.16)}.brand{display:inline-flex;align-items:center;gap:.72rem}.brand__mark{display:grid;place-items:center;width:2.6rem;height:2.6rem;border:1px solid var(--color-accent);color:var(--color-accent);font:italic 1.1rem var(--font-display)}.brand__type{display:grid;gap:.12rem}.brand__type strong{font:600 .94rem var(--font-display);letter-spacing:.16em}.brand__type small{font-size:.58rem;letter-spacing:.18em;color:var(--color-vintage-beige)}.nav{display:flex;align-items:center;gap:clamp(1.3rem,3.2vw,3.25rem);font-size:.8rem;letter-spacing:.08em}.nav>a:not(.nav__cta){color:rgba(250,248,245,.82);transition:color .2s}.nav>a:not(.nav__cta):hover{color:var(--color-accent)}.nav__cta{display:flex;align-items:center;gap:1rem;border:1px solid rgba(210,136,67,.7);padding:.8rem 1rem;min-height:48px;color:var(--color-ivory)}.nav__cta span{color:var(--color-accent)}.menu-toggle{display:none}
.hero{position:relative;display:flex;align-items:center;min-height:min(850px,100svh);min-height:max(650px,100svh);padding:9rem var(--page-gutter) 7rem;isolation:isolate;overflow:hidden}.hero__photo,.hero__shade{position:absolute;z-index:-2;inset:0}.hero__photo{left:30%;}.hero__photo img{object-position:center 48%}.hero__shade{z-index:-1;background:linear-gradient(90deg,var(--color-black) 0%,rgba(13,14,18,.96) 20%,rgba(13,14,18,.75) 46%,rgba(13,14,18,.1) 100%),linear-gradient(0deg,rgba(13,14,18,.58),transparent 36%)}.hero__content{max-width:760px;padding-top:2rem}.eyebrow,.section-kicker{display:flex;align-items:center;gap:.8rem;color:var(--color-vintage-beige);font-size:.67rem;font-weight:600;letter-spacing:.22em}.eyebrow span{width:1.7rem;height:1px;background:var(--color-accent)}h1,h2,p,figure{margin-top:0}.hero h1{margin:1.5rem 0 1.1rem;font:500 clamp(3.15rem,7.3vw,7rem)/.97 var(--font-display);letter-spacing:-.045em}.hero h1 em,h2 em{color:var(--color-antique-gold);font-weight:400}.hero__copy{max-width:28rem;margin-bottom:2rem;color:rgba(250,248,245,.79);font-size:1.04rem}.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.8rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.3rem;min-height:52px;padding:.85rem 1.1rem;font-size:.79rem;font-weight:700;letter-spacing:.045em;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button--gold{background:var(--color-antique-gold);color:var(--color-black)}.button--gold:hover{background:var(--color-ivory)}.button span{font-size:1rem}.text-link{display:inline-flex;align-items:center;justify-content:center;gap:.9rem;min-height:48px;padding:.65rem 1rem;border:1px solid rgba(250,248,245,.48);border-radius:999px;font-size:.81rem;transition:background .2s,color .2s,transform .2s}.text-link:hover{background:rgba(250,248,245,.1)}.text-link span{color:var(--color-accent);font-size:1rem}.hero__index{position:absolute;right:var(--page-gutter);bottom:3.2rem;display:flex;align-items:center;gap:.75rem;color:var(--color-vintage-beige);font-size:.61rem;letter-spacing:.2em}.hero__index span:first-child{color:var(--color-accent)}.hero__index i{width:3rem;height:1px;background:var(--color-border)}.hero__scroll{position:absolute;bottom:2rem;left:var(--page-gutter);display:flex;align-items:center;gap:.9rem;color:var(--color-vintage-beige);font-size:.58rem;letter-spacing:.2em}.hero__scroll i{width:2.7rem;height:1px;background:var(--color-accent)}
.section-pad{padding:clamp(4.5rem,10vw,9rem) var(--page-gutter)}.intro-copy{background:var(--color-ivory);color:var(--color-black)}.section-kicker{color:var(--color-leather)}.section-kicker i{width:2rem;height:1px;background:var(--color-antique-gold)}.intro-copy__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,8vw,9rem);align-items:end;margin-top:2.4rem}.intro-copy h2,.contact h2{margin:0;font:500 clamp(2.75rem,5.5vw,5.7rem)/1.02 var(--font-display);letter-spacing:-.045em}.intro-copy h2 em{color:var(--color-burgundy)}.intro-copy__text{max-width:28rem;padding-bottom:.5rem}.intro-copy__text p{margin-bottom:1.5rem;color:#403a35;font-size:1.03rem}.text-link--dark{border-color:rgba(82,46,30,.4);color:var(--color-black)}.text-link--dark:hover{background:rgba(82,46,30,.08)}.text-link--dark span{color:var(--color-burgundy)}
.gallery{display:grid;grid-template-columns:1.05fr .95fr 1fr;grid-template-rows:clamp(230px,31vw,440px) clamp(230px,28vw,390px);gap:1rem;padding:0 var(--page-gutter) clamp(4rem,8vw,7rem);background:var(--color-ivory)}.gallery__item{position:relative;min-width:0;overflow:hidden;background:var(--color-surface)}.gallery__item img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}.gallery__item:hover img{transform:scale(1.025)}.gallery__item::after{position:absolute;inset:45% 0 0;content:"";background:linear-gradient(transparent,rgba(13,14,18,.72));pointer-events:none}.gallery__item figcaption{position:absolute;z-index:1;right:1rem;bottom:1rem;left:1rem;display:flex;align-items:center;gap:.8rem;color:var(--color-accent);font-size:.65rem;letter-spacing:.16em}.gallery__item figcaption span{color:var(--color-ivory)}.gallery__item--facade{grid-row:span 2}.gallery__item--service{grid-column:2;grid-row:span 2}.gallery__item--chair img{object-position:center 57%}.gallery__item--detail img{object-position:center}.gallery__item--lounge{display:none}
.contact{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:700px;padding-top:0;padding-bottom:0;background:var(--color-black);overflow:hidden}.contact__photo{position:absolute;inset:0 42% 0 0}.contact__photo::after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(13,14,18,.12),rgba(13,14,18,.35) 62%,var(--color-black)),linear-gradient(0deg,rgba(13,14,18,.38),transparent 60%)}.contact__content{grid-column:2;align-self:center;padding:6rem 0 6rem clamp(2.5rem,5vw,5.5rem)}.section-kicker--light{color:var(--color-vintage-beige)}.contact h2{margin:2.3rem 0 1.5rem;font-size:clamp(2.75rem,4.8vw,5rem)}.contact address{margin-bottom:2rem;color:var(--color-vintage-beige);font-style:normal;line-height:1.8}.contact__links{display:grid;justify-items:start;gap:1rem}.contact__direct{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;min-height:48px;padding:.55rem 1rem;border:1px solid var(--color-border);border-radius:999px;color:var(--color-ivory);font-size:.9rem;transition:border-color .2s,background .2s,transform .2s}.contact__direct:hover{border-color:var(--color-accent);background:rgba(210,136,67,.08)}.contact__direct span{color:var(--color-accent);font-size:.6rem;letter-spacing:.16em}.contact__instagram{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.7rem;margin-top:2.3rem;padding:.7rem 1rem;border:1px solid var(--color-border);border-radius:999px;min-height:48px;color:var(--color-ivory);font-size:.78rem;transition:border-color .2s,background .2s,transform .2s}.contact__instagram:hover{border-color:var(--color-accent);background:rgba(210,136,67,.08)}.contact__instagram:active{transform:translateY(1px)}.contact__instagram span{color:var(--color-vintage-beige)}
.footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.6rem var(--page-gutter);border-top:1px solid var(--color-border);color:var(--color-vintage-beige);font-size:.72rem}.footer p{margin:0}.footer>a:not(.brand){display:inline-flex;align-items:center;min-height:44px;padding:.55rem .9rem;border:1px solid var(--color-border);border-radius:999px;color:var(--color-ivory);transition:border-color .2s,background .2s,transform .2s}.footer>a:not(.brand):hover{border-color:var(--color-accent);background:rgba(210,136,67,.08)}.footer>a:not(.brand):active{transform:translateY(1px)}.brand--footer .brand__mark{width:2.1rem;height:2.1rem;font-size:.9rem}.brand--footer .brand__type strong{font-size:.76rem}.brand--footer .brand__type small{font-size:.5rem}.footer__copyright{font-size:.59rem;letter-spacing:.12em}
@media(min-width:1500px){.hero__photo{left:35%}.hero__content{margin-left:2vw}.gallery{max-width:1800px;margin-inline:auto}}
@media(max-width:800px){.site-header{padding-top:1rem;padding-bottom:1rem}.menu-toggle{display:grid;gap:5px;place-content:center;width:48px;height:48px;border:1px solid rgba(250,248,245,.38);background:rgba(13,14,18,.4);cursor:pointer;border-radius:50%}.menu-toggle span{display:block;width:19px;height:1px;background:var(--color-ivory)}.nav{position:absolute;top:100%;right:0;left:0;display:none;align-items:stretch;gap:0;padding:.5rem var(--page-gutter) 1rem;background:var(--color-black);border-bottom:1px solid var(--color-border)}.nav.is-open{display:grid}.nav>a{padding:1rem 0;border-bottom:1px solid rgba(70,53,47,.65)}.nav .nav__cta{justify-content:space-between;margin-top:.8rem;padding:.85rem 1rem;border:1px solid var(--color-accent)}.hero{min-height:max(680px,100svh);padding-top:9rem}.hero__photo{left:10%}.hero__shade{background:linear-gradient(90deg,rgba(13,14,18,.9),rgba(13,14,18,.73) 45%,rgba(13,14,18,.23)),linear-gradient(0deg,rgba(13,14,18,.68),transparent 45%)}.hero__content{max-width:610px}.hero h1{font-size:clamp(3.25rem,10vw,5.8rem)}.intro-copy__grid{grid-template-columns:1fr;gap:1.5rem}.intro-copy__text{max-width:34rem}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:340px 300px 260px}.gallery__item--facade{grid-row:span 2}.gallery__item--service{grid-column:auto;grid-row:span 2}.gallery__item--chair{grid-column:1;grid-row:3}.gallery__item--detail{grid-column:2;grid-row:3}.gallery__item--lounge{display:block;grid-column:1 / -1;height:260px}.contact{grid-template-columns:1fr;min-height:0;padding:0 var(--page-gutter)}.contact__photo{inset:0 calc(var(--page-gutter) * -1) 0 0;opacity:.45}.contact__photo::after{background:linear-gradient(90deg,rgba(13,14,18,.45),var(--color-black)),linear-gradient(0deg,var(--color-black),transparent 75%)}.contact__content{position:relative;grid-column:1;padding:5.5rem 0}.footer{flex-wrap:wrap}.footer p{order:3;width:100%}}
@media(max-width:480px){:root{--page-gutter:1.2rem}.brand__mark{width:2.3rem;height:2.3rem}.brand__type strong{font-size:.82rem}.brand__type small{font-size:.53rem}.hero{min-height:max(650px,100svh);padding-bottom:7rem}.hero__photo{left:0}.hero__shade{background:linear-gradient(90deg,rgba(13,14,18,.92),rgba(13,14,18,.71) 62%,rgba(13,14,18,.45)),linear-gradient(0deg,rgba(13,14,18,.68),transparent 45%)}.hero h1{font-size:clamp(3rem,12vw,4.2rem)}.hero__copy{max-width:22rem;font-size:.96rem}.hero__actions{align-items:flex-start;gap:.8rem 1.2rem}.button{font-size:.72rem}.hero__index{right:var(--page-gutter);bottom:1.5rem}.hero__scroll{bottom:1.5rem;font-size:.52rem}.section-pad{padding-top:4.5rem;padding-bottom:4.5rem}.section-kicker{gap:.55rem;font-size:.58rem;letter-spacing:.16em}.intro-copy h2,.contact h2{font-size:clamp(2.6rem,11vw,3.7rem)}.gallery{grid-template-rows:290px 260px 220px;gap:.6rem;padding-bottom:4.5rem}.gallery__item--lounge{height:220px}.gallery__item figcaption{right:.6rem;bottom:.65rem;left:.6rem;gap:.45rem;font-size:.55rem;letter-spacing:.1em}.contact__content{padding:4.5rem 0}.contact h2{margin-top:1.7rem}.contact__direct{font-size:.82rem}.contact__instagram{flex-wrap:wrap}.footer{gap:.8rem;padding-top:1.3rem;padding-bottom:1.3rem;font-size:.67rem}.footer__copyright{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.intro{display:none}body.intro-active{overflow:auto}}

/* Editorial photo layout and contact image: keep the original photo proportions. */
.gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;align-items:start;gap:clamp(.65rem,1.2vw,1.1rem)}
.gallery__item{align-self:start;min-width:0;height:auto;aspect-ratio:auto;margin:0;overflow:hidden}
.gallery__item picture{display:block;width:100%;height:auto}
.gallery__item img{display:block;width:100%;height:auto;object-fit:contain;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.gallery__item--facade,.gallery__item--service,.gallery__item--chair,.gallery__item--detail,.gallery__item--lounge{grid-column:auto;grid-row:auto;height:auto}
.gallery__item--lounge{display:block}
.gallery__item--chair img,.gallery__item--detail img{object-position:center}
.contact{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;gap:clamp(2rem,5vw,5rem);padding-top:clamp(4rem,7vw,7rem);padding-bottom:clamp(4rem,7vw,7rem);overflow:visible}
.contact__photo{position:relative;inset:auto;grid-column:1;align-self:center;width:100%;height:auto;aspect-ratio:3/2;opacity:1;overflow:hidden}
.contact__photo picture{display:block;width:100%;height:auto}
.contact__photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}
.contact__photo::after{background:linear-gradient(90deg,rgba(13,14,18,.08),rgba(13,14,18,.04)),linear-gradient(0deg,rgba(13,14,18,.22),transparent 55%)}
.contact__content{grid-column:2;align-self:center;padding:0}
@media(max-width:800px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.gallery__item--service,.gallery__item--lounge{grid-column:auto}.contact{grid-template-columns:minmax(0,1fr);gap:0;padding:0 var(--page-gutter) clamp(4rem,8vw,6rem)}.contact__photo{grid-column:1/-1;width:calc(100% + 2 * var(--page-gutter));max-width:none;margin-inline:calc(-1 * var(--page-gutter));aspect-ratio:16/9}.contact__photo img{height:100%;object-fit:cover}.contact__content{grid-column:1;padding:3rem 0 0}}
@media(max-width:520px){.gallery{grid-template-columns:minmax(0,1fr);gap:.75rem;padding-bottom:4.5rem}.gallery__item,.gallery__item--facade,.gallery__item--service,.gallery__item--chair,.gallery__item--detail,.gallery__item--lounge{grid-column:1;grid-row:auto;width:100%;height:auto}.gallery__item--service{grid-column:1}.gallery__item figcaption{right:.8rem;bottom:.8rem;left:.8rem;gap:.6rem;font-size:.62rem;letter-spacing:.12em}.contact{padding-bottom:3.5rem}.contact__photo{aspect-ratio:4/3}.contact__photo img{height:100%;object-fit:cover;object-position:center}.contact__content{padding-top:2.25rem}}

/* Show the complete opening animation and use the supplied brand mark. */
.intro__video{object-fit:contain;object-position:center;background:var(--color-black)}
.brand{gap:0}
.brand__logo{display:block;width:4rem;height:4rem;object-fit:contain;background:var(--color-ivory);border-radius:.2rem}
.brand--footer .brand__logo{width:3rem;height:3rem}
@media(max-width:800px){.brand__logo{width:3.5rem;height:3.5rem}}
@media(max-width:480px){.brand__logo{width:3.25rem;height:3.25rem}}
