:root{--ink:#181512;--cream:#eee8dc;--paper:#d9d0c0;--ember:#bc4e29;--rust:#74301f;--line:rgba(238,232,220,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--cream);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}.embers{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.65}.site-header{position:absolute;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:30px 4vw;text-transform:uppercase;letter-spacing:.18em;font-size:11px}.mini-mark{display:block;width:54px;line-height:0}.mini-mark img{display:block;width:100%;height:auto}nav{display:flex;gap:34px}nav a,.menu-toggle{transition:opacity .2s}nav a:hover{opacity:.55}.menu-toggle{display:none;background:none;border:0;color:inherit;text-transform:uppercase;letter-spacing:.18em}
.hero{min-height:100svh;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 76%,#612515 0,transparent 21%),linear-gradient(135deg,#0e0d0c,#241915 55%,#0c0b0a)}.hero:before{content:"";position:absolute;inset:0;opacity:.22;background:repeating-linear-gradient(112deg,transparent 0 32px,rgba(255,255,255,.025) 33px 34px)}.hero-glow{position:absolute;width:42vw;height:42vw;border-radius:50%;background:radial-gradient(circle,rgba(228,96,43,.22),rgba(159,56,25,.06) 44%,transparent 70%);filter:blur(18px);animation:breathe 7s ease-in-out infinite}.hero-inner{text-align:center;position:relative;padding:100px 20px}.eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:10px;margin:0 0 24px}.wordmark{font-family:"Snell Roundhand","Apple Chancery","Segoe Script",cursive;font-size:clamp(74px,14vw,190px);line-height:.58;font-weight:400;letter-spacing:-.07em;margin:6vh 0 8vh;transform:rotate(-4deg);text-shadow:0 0 38px rgba(198,78,37,.18)}.wordmark span{display:block}.wordmark span:last-child{margin-left:25%;color:#f4eadd}.intro{font-family:Georgia,serif;font-size:clamp(17px,2vw,24px);max-width:520px;margin:auto;font-style:italic}
.statement{padding:16vw 10vw;text-align:center;background:var(--cream);color:var(--ink)}.statement h2,.about h2,.contact h2{font-family:Georgia,serif;font-weight:400;line-height:1.08;font-size:clamp(38px,5.8vw,82px);margin:0 auto 40px;letter-spacing:-.04em}.statement>p:last-child{max-width:570px;margin:auto;font-family:Georgia,serif;font-size:19px}
.services{padding:6vw 4vw 12vw}.service{display:grid;grid-template-columns:1fr;min-height:70vh;border-top:1px solid var(--line);place-items:center;text-align:center;padding:5vw 0}.service-copy{width:min(100%,520px)}.service h3{font:400 clamp(50px,7vw,98px)/1 Georgia,serif;letter-spacing:-.05em;margin:0 0 30px}.service-copy>p:last-child{font:18px Georgia,serif;line-height:1.7;color:#c8bcac}
.about{display:grid;grid-template-columns:.7fr 1.3fr;background:var(--paper);color:var(--ink);padding:12vw 9vw;gap:8vw}.about-mark{align-self:center;width:min(26vw,300px);line-height:0}.about-mark img{display:block;width:100%;height:auto;filter:sepia(1) saturate(4.5) hue-rotate(325deg) brightness(.78)}.about h2{font-size:clamp(34px,4.4vw,65px)}.about-copy>p:last-child{max-width:580px;font:18px/1.7 Georgia,serif}
.contact{display:grid;grid-template-columns:1fr 1fr;padding:13vw 7vw;gap:12vw;background:#6f2d1d}.contact h2{margin:0}.signup{align-self:end}.signup>p{font:18px/1.6 Georgia,serif;max-width:440px}form{display:flex;border-bottom:1px solid var(--cream);margin-top:40px}input{flex:1;background:transparent;border:0;color:white;padding:16px 0;font:16px Georgia,serif;outline:none}input::placeholder{color:#d5b8aa}button{background:none;border:0;color:white;text-transform:uppercase;letter-spacing:.15em;font-size:9px;cursor:pointer}.form-note{font:10px Arial!important;text-transform:uppercase;letter-spacing:.12em;opacity:.7}
footer{display:flex;justify-content:space-between;padding:30px 4vw;font-size:10px;text-transform:uppercase;letter-spacing:.16em;border-top:1px solid var(--line)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}@keyframes breathe{50%{transform:scale(1.16);opacity:.7}}
@media(max-width:700px){.site-header{padding:22px}.menu-toggle{display:block}nav{display:none;position:absolute;top:65px;right:20px;flex-direction:column;background:#181512;padding:22px;border:1px solid var(--line)}nav.open{display:flex}.wordmark{font-size:25vw;line-height:.65}.wordmark span:last-child{margin-left:10%}.statement{padding:32vw 7vw}.service,.service:nth-child(even){grid-template-columns:1fr;padding:18vw 0;gap:10vw}.service:nth-child(even) .service-art{order:0}.service-art{height:58vh}.service-copy{padding:0 5vw}.about,.contact{grid-template-columns:1fr;padding:24vw 7vw}.about-mark{font-size:100px}.contact{gap:14vw}footer{flex-direction:column;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-glow{animation:none}.reveal{opacity:1;transform:none;transition:none}.embers{display:none}}
.wordmark{width:min(78vw,850px);margin:0 auto 2vh;line-height:0;transform:none;text-shadow:none}
.wordmark img{display:block;width:100%;height:auto;filter:drop-shadow(0 0 28px rgba(198,78,37,.13))}
@media(max-width:700px){.wordmark{width:min(108vw,620px);margin:-2vh -4vw 0}}

/* Bespoke, offline type system: handwritten accents with an editorial old-style serif. */
:root{--font-sans:"Avenir Next","Helvetica Neue",Arial,sans-serif;--font-editorial:"Cochin","Baskerville","Iowan Old Style",Georgia,serif;--font-hand:"Marker Felt Wide","Marker Felt","Noteworthy","Bradley Hand",cursive;--font-brush:"Marker Felt Wide","Marker Felt","Noteworthy","Bradley Hand",cursive}
body{font-family:var(--font-editorial)}
.site-header,.menu-toggle,footer,.form-note,button{font-family:var(--font-sans)}
.eyebrow{font-family:var(--font-hand);font-size:clamp(17px,1.7vw,23px);font-weight:700;text-transform:none;letter-spacing:-.025em;line-height:1.15}
.events .eyebrow{font-family:var(--font-sans);font-size:10px;text-transform:uppercase;letter-spacing:.28em;line-height:1.5}
.statement h2,.about h2,.contact h2,.service h3{font-family:var(--font-editorial)}
.intro,.service-copy>p:last-child,.about-copy>p:last-child,.signup>p,input{font-family:var(--font-editorial)}
.service h3{font-family:var(--font-brush);font-weight:700;letter-spacing:-.035em;line-height:.9;transform:none}
.service h3.service-title-art{line-height:0;margin:0 0 30px}
.service-title-art img,.title-kicker-art img{display:block;width:100%;height:auto}
.hospitality-title{width:min(100%,430px)}
.interiors-title{width:min(86%,360px)}
.events-title{width:min(62%,270px)}
.title-kicker-art{line-height:0;margin:0 0 22px}
.places-art{width:min(62%,235px)}
.warmth-art{width:min(84%,320px)}
.moments-art{width:min(70%,270px)}
.service-hero-art{width:min(100%,430px);margin:0 auto 34px}
.service-hero-art.warmth-art{width:min(100%,430px)}
.service-hero-art.moments-art{width:min(100%,420px)}
.hero-disciplines-art{width:min(76vw,650px);margin:0 auto 14px;line-height:0}
.hero-disciplines-art img{display:block;width:100%;height:auto}
.hero-atmosphere-art{display:flex;flex-direction:column;align-items:center;gap:8px;width:min(74vw,680px);max-width:none;margin:0 auto;line-height:0}
.hero-atmosphere-art img{display:block;width:100%;height:auto}
.hero-atmosphere-art img:last-child{width:64%}
@media(max-width:700px){.hero-disciplines-art{width:min(90vw,560px)}.hero-atmosphere-art{width:min(90vw,600px)}.hero-atmosphere-art img:last-child{width:76%}}
.site-header nav{align-items:center;gap:22px}
.nav-art{display:block;line-height:0}
.nav-art img{display:block;width:100%;height:auto}
.nav-hospitality{width:92px}.nav-interiors{width:74px}.nav-events{width:56px}.nav-contact{width:62px}
@media(max-width:700px){.site-header nav{align-items:flex-start;gap:22px}.nav-hospitality{width:112px}.nav-interiors{width:90px}.nav-events{width:68px}.nav-contact{width:76px}}
.contact-title-art{width:min(38vw,390px);margin:0;line-height:0}.contact-title-art img{display:block;width:100%;height:auto}
@media(max-width:700px){.contact-title-art{width:min(72vw,390px)}}
.service-art-image{display:block;width:100%;height:100%;object-fit:cover}
.hospitality .service-art:before,.hospitality .service-art:after{content:none}
.interiors .service-art:before,.interiors .service-art:after{content:none}
.events .service-art:before,.events .service-art:after{content:none}
.hospitality{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:7vw;text-align:left}
.hospitality .service-copy{justify-self:start}
.hospitality .service-copy>p:last-child{color:var(--cream)}
.hospitality .service-hero-art{margin-left:0;margin-right:0}
.service-image{width:100%;max-width:620px;aspect-ratio:1.08;margin:0;overflow:hidden;justify-self:center}
.service-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 29%}
.interiors{grid-template-columns:minmax(300px,.85fr) minmax(0,1fr);gap:7vw;text-align:left}
.interiors .service-copy{justify-self:end}
.interiors .service-copy>p:last-child{color:var(--cream)}
.interiors .service-hero-art{margin-left:0;margin-right:0}
.warmth-image img{object-position:center 30%;transform:scale(1.35);transform-origin:center 30%}
.events{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:7vw;text-align:left}
.events .service-copy{justify-self:start}
.events .service-copy>p:last-child{color:var(--cream)}
.events .service-hero-art{margin-left:0;margin-right:0}
.events-image{max-width:560px;aspect-ratio:.85}
.events-image img{object-position:center 34%}
@media(max-width:700px){.hospitality,.interiors,.events{grid-template-columns:1fr;gap:10vw;text-align:center}.hospitality .service-copy,.interiors .service-copy,.events .service-copy{justify-self:center}.hospitality .service-hero-art,.interiors .service-hero-art,.events .service-hero-art{margin-left:auto;margin-right:auto}.service-image{width:min(100%,560px);aspect-ratio:1.05}.warmth-image img{transform:scale(1.28)}.events-image{width:min(100%,520px);aspect-ratio:.78}}
.about-headline-art{width:min(100%,720px);margin:0 0 40px;line-height:0}
.about-headline-art img{display:block;width:100%;height:auto;filter:brightness(0);opacity:.9}

/* A shared slide system keeps every chapter equal, aligned, and proportional. */
:root{--slide-inline:clamp(24px,6vw,96px);--slide-block:clamp(72px,10vh,120px);--slide-max:1440px;--slide-ratio:16/9;--art-ratio:4/5}
.hero,.service,.about,.contact{width:100%;min-height:100svh;aspect-ratio:var(--slide-ratio);scroll-snap-align:start}
.hero-inner{width:min(100%,var(--slide-max));padding:var(--slide-block) var(--slide-inline)}
.services{padding:0}
.service,.about,.contact{padding-block:var(--slide-block);padding-inline:max(var(--slide-inline),calc((100vw - var(--slide-max))/2))}
.service,.hospitality,.interiors,.events,.about,.contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(48px,7vw,112px);align-items:center}
.service-copy,.hospitality .service-copy,.interiors .service-copy,.events .service-copy{width:min(100%,520px);justify-self:center;align-self:center}
.service-hero-art,.service-hero-art.warmth-art,.service-hero-art.moments-art{width:min(100%,430px);margin:0 0 34px}
.service-image,.events-image{width:min(100%,560px);max-width:560px;aspect-ratio:var(--art-ratio);justify-self:center}
.service-image img,.events-image img{object-fit:contain;object-position:center}
.warmth-image img{object-position:center;transform:scale(1.14);transform-origin:center}
.about-mark{justify-self:center}.signup{align-self:center}
@media(max-width:700px){
  .hero,.service,.about,.contact{min-height:100svh;aspect-ratio:auto}
  .hero-inner,.service,.about,.contact{padding:clamp(72px,12vh,104px) var(--slide-inline)}
  .service,.hospitality,.interiors,.events,.about,.contact{grid-template-columns:1fr;gap:clamp(36px,7vh,64px)}
  .service-image,.events-image{width:min(78vw,440px);aspect-ratio:var(--art-ratio)}
  .warmth-image img{transform:scale(1.1)}
}

/* Keep the complete hero lockup inside the shared slide frame. */
.hero-inner{height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(72px,8vh,96px) var(--slide-inline) clamp(48px,6vh,72px)}
.wordmark{width:min(62vw,58svh,680px);margin:0 auto clamp(18px,2.5vh,30px);flex:0 1 auto}
.hero-atmosphere-art{width:min(68vw,600px);flex:0 0 auto}
@media(max-width:700px){
  .hero-inner{padding:clamp(64px,8vh,84px) 20px clamp(34px,5vh,56px)}
  .wordmark{width:min(88vw,54svh,520px);margin:0 auto 18px}
  .hero-atmosphere-art{width:min(88vw,520px);gap:6px}
}

/* Custom Monesta Thin-inspired supporting-copy assets. */
.supporting-copy-art,.service-copy>.supporting-copy-art,.about-copy>.supporting-copy-art,.signup>.supporting-copy-art{width:min(100%,440px);max-width:none;margin:0;line-height:0;color:inherit}
.supporting-copy-art img{display:block;width:100%;height:auto}
.about-supporting-art{width:min(100%,500px)!important}
.about-supporting-art img{filter:brightness(0);opacity:1}
.contact-supporting-art{width:min(100%,440px)!important}

/* Tighter image-to-copy relationships on slides 2–5. */
@media(min-width:701px){
  .service,.hospitality,.interiors,.events,.about{gap:clamp(24px,3vw,46px);justify-content:center}
  .service,.hospitality,.events{grid-template-columns:minmax(0,560px) minmax(0,520px)}
  .interiors{grid-template-columns:minmax(0,520px) minmax(0,560px)}
  .about{grid-template-columns:minmax(220px,360px) minmax(0,720px)}
}
@media(max-width:700px){
  .service,.hospitality,.interiors,.events,.about{gap:clamp(20px,4vh,32px)}
}

/* Extra-tight pairings requested for slides 3 and 6. */
@media(min-width:701px){
  .interiors{gap:clamp(8px,1vw,16px)}
  .interiors .service-copy{width:min(100%,440px);justify-self:end}
  .interiors .service-image{justify-self:start}
  .contact{grid-template-columns:minmax(0,420px) minmax(0,500px);gap:clamp(34px,4vw,58px);justify-content:center}
  .contact>div:first-child{width:min(100%,390px);justify-self:end}
  .contact .signup{width:min(100%,500px);justify-self:start}
}
@media(max-width:700px){
  .interiors{gap:clamp(14px,3vh,24px)}
  .contact{gap:clamp(28px,5vh,42px)}
}

/* Functional email field with custom Hospitality-style prompt lettering. */
.email-field{position:relative;display:flex;align-items:center;flex:1;min-width:0}
.email-field input{position:relative;z-index:1;width:100%;font-family:var(--font-hand);font-size:16px;letter-spacing:-.02em}
.email-field input::placeholder{color:transparent}
.email-placeholder-art{position:absolute;left:0;top:50%;width:auto;height:20px;max-width:70%;transform:translateY(-50%);pointer-events:none;transition:opacity .16s ease}
.email-field input:focus+.email-placeholder-art,.email-field input:not(:placeholder-shown)+.email-placeholder-art{opacity:0}
@media(max-width:700px){.email-placeholder-art{width:auto;height:20px;max-width:68%}}
.inline-matchstick{display:inline-flex;width:1.38em;height:1em;margin-left:.35em;vertical-align:-.12em;line-height:0}
.inline-matchstick img{display:block;width:100%;height:100%;object-fit:contain}

/* Equal visual scale for all three service titles, independent of phrase width. */
.service-hero-art,.service-hero-art.warmth-art,.service-hero-art.moments-art{
  width:100%;
  height:clamp(88px,7.5vw,112px);
  margin:0 0 34px;
}
.service-hero-art img,.title-kicker-art.service-hero-art img{
  display:block;
  width:auto;
  max-width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
}
.service-hero-art.places-art img{height:95%}
.service-hero-art.warmth-art img{height:98%}
.service-hero-art.moments-art img{height:100%}
@media(max-width:700px){
  .service-hero-art,.service-hero-art.warmth-art,.service-hero-art.moments-art{height:84px;margin-bottom:28px}
  .service-hero-art img,.title-kicker-art.service-hero-art img{margin-inline:auto;object-position:center}
}
