@font-face{font-family:"Cormorant Garamond";src:url("/assets/fonts/cormorant-garamond-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("/assets/fonts/cormorant-garamond-500-normal.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("/assets/fonts/cormorant-garamond-600-normal.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("/assets/fonts/cormorant-garamond-400-italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url("/assets/fonts/nunito-sans-300-normal.woff2") format("woff2");font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url("/assets/fonts/nunito-sans-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url("/assets/fonts/nunito-sans-600-normal.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url("/assets/fonts/nunito-sans-700-normal.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}

:root{
  --ink:#0d0d0c;
  --ink-soft:#161714;
  --cream:#f3eee5;
  --paper:#faf7f1;
  --paper-deep:#e9e1d5;
  --gold:#80602f;
  --gold-surface:#b99558;
  --gold-bright:#d7b777;
  --sage:#687066;
  --text:#282923;
  --muted:#696a62;
  --light-muted:#c6c0b6;
  --line:rgba(55,50,41,.17);
  --line-dark:rgba(244,239,230,.18);
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Nunito Sans","Segoe UI",sans-serif;
  --shell:min(1240px,calc(100vw - 48px));
  --header-height:86px;
  --shadow:0 24px 70px rgba(30,23,13,.12);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink);text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
h1,h2,h3,p,figure,blockquote,dl,dd{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:.98;text-wrap:balance}
h1{font-size:clamp(3.4rem,7.6vw,7.5rem);letter-spacing:-.035em}
h2{font-size:clamp(2.6rem,5vw,5.3rem);letter-spacing:-.03em}
h3{font-size:clamp(1.65rem,2.4vw,2.3rem);letter-spacing:-.02em}
p{text-wrap:pretty}
:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px}
::selection{background:var(--gold);color:var(--ink)}

.shell{width:var(--shell);margin-inline:auto}
.section{padding:clamp(5.5rem,10vw,10rem) 0}
.section-tint{background:var(--cream)}
.section-dark{background:var(--ink);color:var(--cream)}
.eyebrow{display:flex;align-items:center;gap:.8rem;margin-bottom:1.3rem;color:var(--gold);font-size:.7rem;font-weight:700;letter-spacing:.18em;line-height:1.4;text-transform:uppercase}
.eyebrow::before{content:"";width:2.2rem;height:1px;background:currentColor}
.eyebrow-light{color:var(--gold-bright)}
.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.75rem 1.35rem;border:1px solid var(--gold-bright);background:var(--gold-bright);color:var(--ink);font-size:.73rem;font-weight:700;letter-spacing:.12em;line-height:1.2;text-align:center;text-transform:uppercase;transition:background-color .25s,color .25s,border-color .25s,transform .25s}
.button:hover{background:var(--cream);border-color:var(--cream);transform:translateY(-2px)}
.button-small{min-height:42px;padding:.6rem 1.05rem;font-size:.66rem}
.button-light{background:var(--cream);border-color:var(--cream)}
.button-light:hover{background:transparent;color:var(--cream)}
.button-dark{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.button-dark:hover{background:var(--gold-bright);border-color:var(--gold-bright);color:var(--ink)}
.text-link{display:inline-flex;align-items:center;gap:.7rem;padding:.4rem 0;border-bottom:1px solid var(--gold);font-size:.73rem;font-weight:700;letter-spacing:.1em;line-height:1.4;text-transform:uppercase;transition:gap .25s,color .25s}
.text-link:hover{gap:1rem;color:var(--gold)}
.text-link-light{color:var(--cream)}
.skip-link{position:fixed;z-index:1000;top:1rem;left:1rem;padding:.75rem 1rem;background:var(--cream);color:var(--ink);transform:translateY(-200%)}
.skip-link:focus{transform:none}

.site-header{position:absolute;z-index:50;top:0;left:0;width:100%;height:var(--header-height);color:var(--cream);transition:background .25s,box-shadow .25s}
.site-header.is-scrolled{position:fixed;background:rgba(13,13,12,.96);box-shadow:0 8px 35px rgba(0,0,0,.2);backdrop-filter:blur(16px);animation:header-in .25s ease}
@keyframes header-in{from{transform:translateY(-100%)}to{transform:none}}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:inline-flex;align-items:center;gap:.9rem;flex:none;color:var(--cream)}
.brand-mark{width:3rem;height:2.75rem;display:inline-flex;align-items:baseline;justify-content:center;gap:.01em;border:1px solid var(--gold);font-family:var(--serif);font-size:1.16rem;font-weight:600;letter-spacing:-.04em;line-height:1;white-space:nowrap}
.brand-mark span{display:inline;color:var(--gold);font-size:.7em;line-height:1}
.brand-name{font-family:var(--serif);font-size:1.12rem;font-weight:600;letter-spacing:.04em;line-height:1;text-transform:uppercase;white-space:nowrap}
.brand-name i{color:var(--gold);font-weight:400}
.desktop-nav{display:flex;align-items:center;gap:clamp(1.25rem,2.4vw,2.5rem);margin-left:auto}
.desktop-nav a{position:relative;padding:.65rem 0;color:rgba(243,238,229,.76);font-size:.68rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;transition:color .2s}
.desktop-nav a::after{content:"";position:absolute;right:0;bottom:.25rem;left:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{color:var(--cream)}
.desktop-nav a:hover::after,.desktop-nav a[aria-current="page"]::after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:1.2rem}
.language-nav{display:flex;align-items:center;gap:.55rem}
.language-nav a{min-width:2rem;min-height:2rem;display:grid;place-items:center;color:rgba(243,238,229,.55);font-size:.62rem;font-weight:700;letter-spacing:.08em}
.language-nav a:hover,.language-nav a[aria-current="page"]{color:var(--gold-bright)}
.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line-dark);background:transparent;cursor:pointer}
.menu-toggle span{display:block;width:19px;height:1px;margin:6px auto;background:currentColor;transition:transform .2s}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-panel{position:fixed;inset:var(--header-height) 0 0;display:grid;place-items:center;padding:clamp(1rem,3vh,2rem) 24px;background:radial-gradient(circle at 85% 12%,rgba(215,183,119,.18),transparent 28%),radial-gradient(circle at 10% 90%,rgba(104,112,102,.36),transparent 32%),#20251f;overflow-y:auto}
.mobile-panel[hidden]{display:none}
.mobile-nav{width:min(100%,620px);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:clamp(.25rem,1vh,1rem) 0}
.mobile-nav>a:not(.button){width:100%;padding:clamp(.55rem,1.45vh,1rem) .2rem;border-bottom:1px solid rgba(244,239,230,.2);font-family:var(--serif);font-size:clamp(1.42rem,4.1vh,2rem);line-height:1;text-align:center}
.mobile-nav>a[aria-current="page"]{color:var(--gold-bright)}
.mobile-nav .button{align-self:center;margin-top:clamp(.9rem,2.4vh,1.6rem)}
.mobile-languages{display:flex;justify-content:center;gap:.5rem;margin-top:clamp(.8rem,2vh,1.3rem)}
.mobile-languages a{min-width:3rem;padding:.5rem;border:1px solid var(--line-dark);text-align:center;font-size:.72rem}
.mobile-languages a[aria-current="page"]{border-color:var(--gold);color:var(--gold-bright)}

.hero-home{position:relative;min-height:clamp(760px,100svh,980px);display:flex;align-items:center;background:var(--ink);color:var(--cream);overflow:hidden}
.hero-media,.hero-shade{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-shade{background:linear-gradient(90deg,rgba(8,8,7,.96) 0%,rgba(8,8,7,.84) 40%,rgba(8,8,7,.28) 75%,rgba(8,8,7,.42) 100%),linear-gradient(0deg,rgba(8,8,7,.78) 0%,transparent 40%)}
.hero-content{position:relative;z-index:2;padding:calc(var(--header-height) + 5rem) 0 11rem}
.hero-content h1{max-width:850px;color:var(--cream)}
.hero-lead{max-width:690px;margin-top:2rem;color:rgba(243,238,229,.78);font-size:clamp(1.05rem,1.7vw,1.3rem);font-weight:300;line-height:1.75}
.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:2.7rem}
.hero-note{margin-top:3.4rem;color:rgba(243,238,229,.5);font-family:var(--serif);font-size:1.1rem;font-style:italic;letter-spacing:.03em}
.proof-bar{position:absolute;z-index:3;right:0;bottom:0;left:0;border-top:1px solid var(--line-dark);background:rgba(13,13,12,.6);backdrop-filter:blur(14px)}
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.proof-grid>div{min-height:120px;display:flex;flex-direction:column;justify-content:center;padding:1.5rem clamp(1rem,3vw,3rem);border-left:1px solid var(--line-dark)}
.proof-grid>div:last-child{border-right:1px solid var(--line-dark)}
.proof-grid strong{color:var(--gold-bright);font-family:var(--serif);font-size:2rem;font-weight:500;line-height:1}
.proof-grid span{margin-top:.45rem;color:rgba(243,238,229,.58);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}

.split-intro{display:grid;grid-template-columns:1fr .85fr;gap:clamp(3rem,9vw,9rem);align-items:start}
.split-intro h2{max-width:700px}
.rich-copy{padding-top:.6rem}
.rich-copy p{max-width:610px;color:var(--muted);font-size:1.08rem;line-height:1.9}
.rich-copy p+p{margin-top:1.4rem}
.rich-copy .text-link{margin-top:2rem}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:clamp(2.5rem,6vw,5rem)}
.section-heading h2{max-width:750px}
.section-heading-centered{justify-content:center;text-align:center}
.section-heading-centered .eyebrow{justify-content:center}

.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
.service-card{display:grid;grid-template-columns:.9fr 1.1fr;min-height:360px;background:var(--paper);overflow:hidden}
.service-card-image{overflow:hidden}
.service-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.service-card:hover img{transform:scale(1.035)}
.service-card-copy{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(1.6rem,3vw,3rem)}
.service-card-copy>span{color:var(--gold);font-family:var(--serif);font-size:1.15rem}
.service-card-copy h3{margin-top:auto}
.service-card-copy p{margin-top:1rem;color:var(--muted);font-size:.92rem;line-height:1.75}
.service-card-copy .text-link{margin-top:1.5rem}

.audience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
.audience-card{position:relative;min-height:640px;overflow:hidden;background:var(--ink)}
.audience-card::after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(8,8,7,.9))}
.audience-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.audience-card:hover img{transform:scale(1.025)}
.audience-card>div{position:absolute;z-index:2;right:clamp(1.5rem,4vw,3.5rem);bottom:clamp(1.8rem,4vw,3.5rem);left:clamp(1.5rem,4vw,3.5rem);color:var(--cream)}
.audience-card h3{font-size:clamp(2.2rem,4vw,4rem)}
.audience-card p{max-width:520px;margin-top:1rem;color:rgba(243,238,229,.75)}

.feature-split{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem);align-items:start}
.feature-sticky{position:sticky;top:calc(var(--header-height) + 2rem)}
.feature-sticky h2{max-width:500px}
.feature-sticky img{width:100%;margin-top:3rem;aspect-ratio:4/3;object-fit:cover}
.commitment-list{border-top:1px solid var(--line-dark)}
.commitment-list li{display:grid;grid-template-columns:3.5rem 1fr;gap:1rem;padding:2rem 0;border-bottom:1px solid var(--line-dark)}
.commitment-list>li>span{color:var(--gold);font-family:var(--serif);font-size:1.2rem}
.commitment-list h3{font-size:2rem}
.commitment-list p{max-width:600px;margin-top:.55rem;color:var(--light-muted);font-size:.94rem}

.format-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,8vw,8rem);align-items:start}
.format-layout>div:first-child{position:sticky;top:calc(var(--header-height) + 2rem)}
.format-layout>div:first-child>p:not(.eyebrow){max-width:470px;margin-top:1.5rem;color:var(--muted)}
.format-layout .button{margin-top:2rem}
.format-list{border-top:1px solid var(--line)}
.format-list li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.65rem 0;border-bottom:1px solid var(--line)}
.format-list>li>span{color:var(--gold);font-family:var(--serif)}
.format-list h3{font-size:1.75rem}
.format-list p{margin-top:.25rem;color:var(--muted);font-size:.85rem}

.gallery-section{padding:clamp(5.5rem,10vw,10rem) 0;background:var(--ink-soft);color:var(--cream);overflow:hidden}
.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:repeat(2,minmax(280px,410px));gap:1rem}
.gallery-grid figure{position:relative;overflow:hidden}
.gallery-grid figure:first-child{grid-row:1/3}
.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.gallery-grid figure:hover img{transform:scale(1.025)}
.gallery-grid figcaption{position:absolute;right:1rem;bottom:1rem;width:2.5rem;height:2.5rem;display:grid;place-items:center;background:rgba(13,13,12,.75);color:var(--gold-bright);font-family:var(--serif)}
.gallery-grid figure:nth-child(4){display:none}

.review-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.review{min-height:340px;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(1.7rem,3vw,3rem);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.review blockquote{font-family:var(--serif);font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.35}
.review figcaption{margin-top:2rem;color:var(--gold);font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}

.zone-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,8vw,8rem);align-items:center}
.zone-layout>div:first-child{position:relative}
.zone-layout>div:first-child::before{content:"";position:absolute;z-index:-1;top:-1.5rem;right:-1.5rem;width:45%;height:45%;border:1px solid var(--gold)}
.zone-layout img{width:100%;aspect-ratio:16/11;object-fit:cover;box-shadow:var(--shadow)}
.zone-layout>div:last-child>p:not(.eyebrow){margin-top:1.5rem;color:var(--muted)}
.zone-layout dl{margin-top:2.4rem;border-top:1px solid var(--line)}
.zone-layout dl>div{padding:1rem 0;border-bottom:1px solid var(--line)}
.zone-layout dt{color:var(--gold);font-size:.67rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.zone-layout dd{margin-top:.2rem}

.cta-band{padding:clamp(4.5rem,8vw,7rem) 0;background:var(--gold-surface);color:var(--ink)}
.cta-band .eyebrow{color:var(--ink)}
.cta-inner{display:flex;align-items:end;justify-content:space-between;gap:4rem}
.cta-inner h2{max-width:760px}
.cta-inner>div:first-child>p:last-child{max-width:620px;margin-top:1.25rem}
.cta-actions{display:flex;flex:none;flex-direction:column;align-items:flex-start;gap:1.2rem}
.cta-actions .button-light{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.cta-actions .button-light:hover{background:transparent;color:var(--ink)}
.cta-actions .text-link-light{border-color:var(--ink);color:var(--ink)}

.inner-hero{padding:calc(var(--header-height) + clamp(5rem,9vw,9rem)) 0 clamp(4.5rem,8vw,8rem);background:var(--ink);color:var(--cream);overflow:hidden}
.inner-hero-grid{display:grid;grid-template-columns:1fr .72fr;gap:clamp(3rem,8vw,8rem);align-items:center}
.inner-hero h1{font-size:clamp(3.5rem,6.7vw,7rem)}
.inner-hero-image{position:relative}
.inner-hero-image::before{content:"";position:absolute;top:-1.5rem;right:-1.5rem;width:65%;height:60%;border:1px solid var(--gold)}
.inner-hero-image img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover}
.dark-lead{color:var(--light-muted)}

.service-detail-list{display:flex;flex-direction:column;gap:clamp(5rem,10vw,10rem)}
.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem);align-items:center}
.service-detail-reverse .service-detail-media{order:2}
.service-detail-media{position:relative}
.service-detail-media::after{content:"";position:absolute;right:-1rem;bottom:-1rem;width:28%;height:36%;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold)}
.service-detail-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.display-number{display:block;margin-bottom:1.5rem;color:var(--gold);font-family:var(--serif);font-size:2.1rem}
.service-detail-copy h2{font-size:clamp(2.5rem,4.2vw,4.3rem)}
.service-detail-copy>p{max-width:570px;margin-top:1.35rem;color:var(--muted);font-size:1.03rem}
.service-detail-copy ul{margin-top:1.8rem;border-top:1px solid var(--line)}
.service-detail-copy li{position:relative;padding:.75rem 0 .75rem 1.5rem;border-bottom:1px solid var(--line);font-size:.88rem}
.service-detail-copy li::before{content:"";position:absolute;top:1.33rem;left:0;width:.45rem;height:.45rem;background:var(--gold);border-radius:50%}
.dietary-section{background:var(--sage);color:var(--cream)}
.dietary-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem);align-items:center}
.dietary-layout img{width:100%;aspect-ratio:4/3;object-fit:cover}
.dietary-layout p:last-child{max-width:560px;margin-top:1.6rem;color:rgba(243,238,229,.78);font-size:1.03rem}

.process-section{padding-top:0}
.process-list{counter-reset:step;border-top:1px solid var(--line-dark)}
.process-list li{display:grid;grid-template-columns:6rem .75fr 1fr;gap:clamp(1rem,5vw,5rem);align-items:start;padding:clamp(2rem,5vw,4rem) 0;border-bottom:1px solid var(--line-dark)}
.process-list>li>span{color:var(--gold-bright);font-family:var(--serif);font-size:2.4rem}
.process-list h2{font-size:clamp(2.2rem,3.5vw,3.7rem)}
.process-list p{padding-top:.4rem;color:var(--light-muted)}
.promise-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,8rem);align-items:center}
.promise-layout>div:first-child>p:last-child{max-width:520px;margin-top:1.5rem;color:var(--muted)}
.promise-layout img{width:100%;aspect-ratio:16/11;object-fit:cover}
.faq-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(3rem,8vw,8rem);align-items:start}
.faq-layout>div:first-child{position:sticky;top:calc(var(--header-height) + 2rem)}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.4rem 0;font-family:var(--serif);font-size:1.55rem;cursor:pointer;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{color:var(--gold);font-family:var(--sans);font-size:1.25rem;font-weight:300;transition:transform .2s}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{max-width:720px;padding:0 3rem 1.5rem 0;color:var(--muted)}

.contact-section{background:var(--cream)}
.contact-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(3rem,8vw,8rem);align-items:start}
.contact-layout>div>h2{font-size:clamp(2.7rem,4.5vw,4.5rem)}
.form-note{max-width:690px;margin-top:1rem;color:var(--muted)}
.quote-form{position:relative;margin-top:3rem}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem 1.5rem}
.field{display:flex;flex-direction:column;gap:.45rem}
.field-wide{grid-column:1/-1}
.field>span,.field legend{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.field b,.form-footer b{color:#8d391f}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:.72rem .9rem;border:1px solid rgba(40,41,35,.28);border-radius:0;background:var(--paper);color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,146,84,.15)}
.field input::placeholder{color:#929088}
.field fieldset,fieldset.field{padding:0;border:0}
.choices{display:flex;flex-wrap:wrap;gap:.7rem}
.choice{position:relative;cursor:pointer}
.choice input{position:absolute;opacity:0;pointer-events:none}
.choice span{min-height:44px;display:flex;align-items:center;padding:.55rem 1rem;border:1px solid rgba(40,41,35,.28);background:var(--paper);font-size:.83rem;transition:border-color .2s,background .2s}
.choice input:checked+span{border-color:var(--gold);background:rgba(184,146,84,.13)}
.choice input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}
.privacy-check{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;color:var(--muted);font-size:.82rem}
.privacy-check input{width:1.1rem;height:1.1rem;margin-top:.22rem;accent-color:var(--gold)}
.privacy-check a{text-decoration:underline;text-underline-offset:2px}
.form-footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2rem}
.form-footer p{color:var(--muted);font-size:.75rem}
.form-footer button:disabled{cursor:wait;opacity:.65;transform:none}
.honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;white-space:nowrap!important}
.form-status{margin-top:1.5rem;padding:1.2rem 1.4rem;border-left:3px solid var(--gold);background:var(--paper);font-size:.9rem}
.form-status strong{display:block;margin-bottom:.2rem;font-family:var(--serif);font-size:1.35rem}
.form-status.is-error{border-color:#9b3f2e;background:#f6e9e3}
.contact-card{position:sticky;top:calc(var(--header-height) + 2rem);padding:clamp(2rem,4vw,3.5rem);background:var(--ink);color:var(--cream)}
.contact-card h2{font-size:clamp(2.3rem,4vw,3.7rem)}
.contact-card dl{margin-top:2rem;border-top:1px solid var(--line-dark)}
.contact-card dl>div{padding:1.15rem 0;border-bottom:1px solid var(--line-dark)}
.contact-card dt{color:var(--gold-bright);font-size:.65rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.contact-card dd{margin-top:.3rem;color:var(--cream)}
.contact-card>p:last-child{margin-top:2rem;color:var(--light-muted);font-size:.83rem}

.email-image-button{width:max-content;max-width:100%;display:block;margin:.45rem 0;padding:0;border:0;background:transparent;cursor:pointer}
.email-image-button:hover .email-image{opacity:.72}
.email-image-button:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px}
.email-image{width:220px;height:36px;object-fit:contain;object-position:left center;transition:opacity .2s}
.legal-list .email-image-button{margin:0 0 .55rem}

.legal-hero{padding:calc(var(--header-height) + clamp(5rem,9vw,9rem)) 0 clamp(4rem,7vw,7rem);background:var(--ink);color:var(--cream)}
.legal-hero h1{font-size:clamp(3.7rem,7vw,7rem)}
.legal-hero>div>p:not(.eyebrow){margin-top:1.5rem;color:var(--light-muted)}
.legal-hero .legal-intro{max-width:680px;font-size:1.05rem}
.legal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.legal-grid article{padding:clamp(2rem,4vw,4rem);background:var(--paper)}
.legal-grid article>span{display:block;color:var(--gold);font-family:var(--serif);font-size:1.5rem}
.legal-grid article h2{margin-top:1.2rem;font-size:clamp(2rem,3vw,3rem)}
.legal-grid article>p{margin-top:1.3rem;color:var(--muted)}
.legal-list{margin-top:1.5rem;border-top:1px solid var(--line)}
.legal-list>div{display:grid;grid-template-columns:minmax(110px,.4fr) 1fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line)}
.legal-list dt{color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase}
.legal-list dd{font-size:.9rem}
.legal-list a{text-decoration:underline;text-underline-offset:3px}
.privacy-grid article:last-child:nth-child(odd),.legal-grid article:last-child:nth-child(odd){grid-column:1/-1}

.offers-intro{padding-bottom:clamp(4rem,7vw,7rem)}
.offers-catalog{padding-top:clamp(4rem,8vw,8rem)}
.offer-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.offer-group{padding:clamp(2rem,4vw,4rem);background:var(--paper)}
.offer-group-heading{display:grid;grid-template-columns:3rem 1fr;gap:1.2rem;align-items:start}
.offer-group-heading>span{color:var(--gold);font-family:var(--serif);font-size:1.7rem;line-height:1}
.offer-group-heading h2{font-size:clamp(2.25rem,3.7vw,3.8rem)}
.offer-group-heading p{max-width:570px;margin-top:1rem;color:var(--muted)}
.offer-group ul{margin-top:2rem;border-top:1px solid var(--line)}
.offer-group li{position:relative;padding:.72rem 0 .72rem 1.35rem;border-bottom:1px solid var(--line);font-size:.88rem}
.offer-group li::before{content:"";position:absolute;top:1.25rem;left:.1rem;width:.4rem;height:.4rem;background:var(--gold);border-radius:50%}
.offer-area{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(3rem,8vw,8rem);align-items:start}
.offer-area>div>p:last-child{max-width:750px;margin-top:1.5rem;color:var(--muted)}
.offer-area aside{padding:2rem;border-left:2px solid var(--gold);background:var(--cream);color:var(--muted);font-size:.86rem}

.decor-intro{padding-bottom:clamp(4rem,7vw,7rem)}
.decor-catalog{padding-top:clamp(4rem,8vw,8rem)}
.decor-services{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.decor-service{min-height:300px;padding:clamp(2rem,4vw,4rem);background:var(--paper)}
.decor-service:last-child:nth-child(odd){grid-column:1/-1}
.decor-service>span{display:block;margin-bottom:clamp(2rem,5vw,4rem);color:var(--gold);font-family:var(--serif);font-size:1.7rem;line-height:1}
.decor-service h2{font-size:clamp(2.25rem,3.7vw,3.8rem)}
.decor-service p{max-width:660px;margin-top:1.25rem;color:var(--muted)}
.decor-values h2{max-width:820px}
.decor-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:clamp(3rem,6vw,6rem);background:var(--line-dark);border:1px solid var(--line-dark)}
.decor-value-grid article{min-height:240px;padding:clamp(1.8rem,3vw,3rem);background:var(--ink-soft)}
.decor-value-grid h3{color:var(--gold-bright)}
.decor-value-grid p{margin-top:1rem;color:var(--light-muted)}
.decor-note{max-width:850px;margin-top:2.5rem;color:var(--light-muted);font-size:.86rem}

.assistant-section{padding:clamp(3rem,6vw,5rem) 0;background:var(--paper-deep)}
.assistant-card{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2.5rem,7vw,7rem);align-items:center;padding:clamp(2rem,5vw,5rem);background:var(--sage);color:var(--cream);box-shadow:var(--shadow)}
.assistant-card h2{font-size:clamp(2.8rem,5vw,5.2rem)}
.assistant-card>div:first-child>p:last-child{max-width:680px;margin-top:1.5rem;color:rgba(243,238,229,.83)}
.assistant-actions{display:flex;align-items:flex-start;flex-direction:column;gap:1.35rem}
.assistant-actions>p{max-width:440px;color:rgba(243,238,229,.74);font-size:.76rem}
.assistant-actions>p a{text-decoration:underline;text-underline-offset:3px}

.showcase-feature-grid{display:grid;grid-template-columns:minmax(280px,.72fr) 1.28fr;gap:clamp(3rem,9vw,9rem);align-items:center}
.featured-video-frame{position:relative;width:min(100%,480px);aspect-ratio:9/16;background:var(--ink);box-shadow:var(--shadow);overflow:hidden}
.featured-video-frame video,.video-fallback,.video-fallback img{width:100%;height:100%;object-fit:cover}
.showcase-feature-grid>div:last-child>p:not(.eyebrow){max-width:620px;margin-top:1.5rem;color:var(--muted);font-size:1.05rem}
.showcase-feature-grid .text-link{margin-top:2rem}
.showcase-gallery h2{color:var(--cream)}
.showcase-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.showcase-tile{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:var(--ink-soft)}
.showcase-tile img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease,opacity .3s}
.showcase-tile span{position:absolute;right:.7rem;bottom:.7rem;padding:.3rem .55rem;background:rgba(13,13,12,.78);color:var(--gold-bright);font-size:.68rem;letter-spacing:.1em}
.showcase-tile:hover img{transform:scale(1.035);opacity:.82}
.instagram-note{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line-dark)}
.instagram-note p{max-width:650px;color:var(--light-muted)}

.site-footer{padding:clamp(4rem,7vw,7rem) 0 1.5rem;background:var(--ink);color:var(--light-muted)}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:clamp(2.5rem,5vw,5rem);padding-bottom:4rem}
.brand-footer{margin-bottom:clamp(2.6rem,4vw,3.5rem)}
.footer-intro>p{max-width:360px;font-size:.88rem}
.footer-heading{margin-bottom:.8rem;color:var(--gold-bright);font-size:.67rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.footer-heading-spaced{margin-top:1.5rem}
.footer-grid>div>a{display:block;width:max-content;max-width:100%;margin:.45rem 0;color:var(--cream);font-size:.86rem}
.social-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}
.social-links a{font-size:.75rem;text-decoration:underline;text-underline-offset:3px}
.privacy-note{margin-top:1rem;font-size:.76rem}
.footer-bottom{display:flex;justify-content:space-between;gap:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line-dark);font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}

.whatsapp-float{position:fixed;z-index:45;right:clamp(1rem,2.2vw,2rem);bottom:clamp(1rem,2.2vw,2rem);width:60px;height:60px;display:grid;place-items:center;border:2px solid var(--gold-bright);border-radius:50%;background:var(--sage);color:var(--cream);box-shadow:0 12px 34px rgba(13,13,12,.32);transition:transform .2s,background-color .2s}
.whatsapp-float::after{content:"";position:absolute;right:3px;bottom:1px;width:13px;height:13px;background:var(--sage);clip-path:polygon(0 0,100% 0,100% 100%);transform:rotate(12deg);transition:background-color .2s}
.whatsapp-float img{position:relative;z-index:1;width:30px;height:30px;filter:invert(92%) sepia(10%) saturate(364%) hue-rotate(344deg) brightness(105%)}
.whatsapp-float:hover{background:var(--gold);transform:translateY(-3px)}
.whatsapp-float:hover::after{background:var(--gold)}

.not-found{min-height:100svh;display:grid;place-items:center;padding:2rem;background:var(--cream);text-align:center}
.not-found>div{max-width:760px}
.not-found .brand{justify-content:center;margin-bottom:4rem;color:var(--ink)}
.not-found .eyebrow{justify-content:center}
.not-found p:not(.eyebrow){max-width:560px;margin:1.5rem auto 2rem;color:var(--muted)}

@media(max-width:1100px){
  :root{--header-height:78px}
  .desktop-nav,.header-actions>.button-small{display:none}
  .menu-toggle{display:block}
  .header-actions{margin-left:auto}
  .service-card{grid-template-columns:1fr;min-height:0}
  .service-card-image{aspect-ratio:16/10}
  .service-card-copy{min-height:280px}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:800px){
  :root{--shell:min(100% - 32px,720px)}
  h1{font-size:clamp(3.2rem,15vw,5.2rem)}
  h2{font-size:clamp(2.45rem,11vw,4.2rem)}
  .section{padding:5.5rem 0}
  .hero-home{min-height:820px;align-items:flex-start}
  .hero-shade{background:linear-gradient(90deg,rgba(8,8,7,.91),rgba(8,8,7,.48)),linear-gradient(0deg,rgba(8,8,7,.92),transparent 55%)}
  .hero-content{padding-top:calc(var(--header-height) + 5.5rem)}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:1.3rem}
  .hero-note{margin-top:2.4rem}
  .proof-grid>div{min-height:100px;padding:1rem}
  .proof-grid strong{font-size:1.45rem}
  .proof-grid span{font-size:.58rem}
  .split-intro,.feature-split,.format-layout,.zone-layout,.inner-hero-grid,.service-detail,.dietary-layout,.promise-layout,.faq-layout,.contact-layout,.offer-area,.showcase-feature-grid,.assistant-card{grid-template-columns:1fr}
  .section-heading{align-items:flex-start;flex-direction:column}
  .service-grid{grid-template-columns:1fr}
  .audience-grid{grid-template-columns:1fr}
  .audience-card{min-height:520px}
  .feature-sticky,.format-layout>div:first-child,.faq-layout>div:first-child,.contact-card{position:static}
  .feature-sticky img{aspect-ratio:16/10}
  .gallery-grid{grid-template-columns:1fr;grid-template-rows:repeat(3,360px)}
  .gallery-grid figure:first-child{grid-row:auto}
  .review-grid{grid-template-columns:1fr}
  .review{min-height:260px}
  .cta-inner{align-items:flex-start;flex-direction:column;gap:2.5rem}
  .inner-hero{padding-top:calc(var(--header-height) + 4rem)}
  .inner-hero-image img{aspect-ratio:16/10}
  .service-detail-reverse .service-detail-media{order:0}
  .process-list li{grid-template-columns:3.5rem 1fr}
  .process-list p{grid-column:2}
  .contact-card{margin-top:1rem}
  .offer-groups{grid-template-columns:1fr}
  .decor-services,.decor-value-grid{grid-template-columns:1fr}
  .decor-service:last-child:nth-child(odd){grid-column:auto}
  .showcase-feature-grid>div:last-child{order:-1}
  .featured-video-frame{margin-inline:auto}
  .showcase-grid{grid-template-columns:repeat(2,1fr)}
  .instagram-note{align-items:flex-start;flex-direction:column}
  .legal-grid{grid-template-columns:1fr}
  .privacy-grid article:last-child:nth-child(odd),.legal-grid article:last-child:nth-child(odd){grid-column:auto}
}

@media(max-width:560px){
  :root{--shell:calc(100% - 28px)}
  .brand-name{font-size:.92rem}
  .brand-mark{width:2.7rem;height:2.45rem;font-size:1.03rem}
  .language-nav{display:none}
  .hero-home{min-height:860px}
  .hero-content{padding-top:calc(var(--header-height) + 4rem);padding-bottom:20rem}
  .hero-content h1{font-size:clamp(3.1rem,17vw,4.8rem)}
  .proof-grid{grid-template-columns:1fr}
  .proof-grid>div{min-height:76px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
  .proof-grid>div:last-child{border-bottom:0}
  .proof-grid strong{font-size:1.3rem}
  .service-card-copy{min-height:260px}
  .audience-card{min-height:460px}
  .gallery-grid{grid-template-rows:repeat(3,280px)}
  .form-grid{grid-template-columns:1fr}
  .field-wide{grid-column:auto}
  .choices{align-items:stretch;flex-direction:column}
  .choice span{justify-content:center}
  .form-footer{align-items:flex-start;flex-direction:column}
  .form-footer .button{width:100%}
  .process-list li{grid-template-columns:1fr;gap:.75rem}
  .process-list p{grid-column:auto}
  .legal-list>div{grid-template-columns:1fr;gap:.15rem}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
  .offer-group-heading{grid-template-columns:1fr;gap:.6rem}
  .whatsapp-float{width:54px;height:54px}
}

@media(max-height:620px) and (max-width:1100px){
  .mobile-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:0 1.2rem;align-items:center}
  .mobile-nav>a:not(.button){font-size:clamp(1.2rem,5.2vh,1.7rem)}
  .mobile-languages,.mobile-nav .button{grid-column:1/-1}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

@media print{.whatsapp-float{display:none!important}}
