/* Cheers Experiences — "after-hours" skin (10/11/2026).
   Used by every page since 10/11/2026 (entry, hotels, events, digital, checklist and thank-you pages).
   Design tokens first, then base, components, sections, entry page, motion. Motion lives behind html.fx (set by JS) and
   prefers-reduced-motion, so the page is complete and readable without either. */
@font-face{font-family:'Cormorant Garamond';src:url(/fonts/cormorant-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url(/fonts/cormorant-400-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url(/fonts/cormorant-500-normal.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url(/fonts/cormorant-500-italic.woff2) format('woff2');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url(/fonts/cormorant-600-normal.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url(/fonts/manrope-var.woff2) format('woff2');font-weight:200 800;font-style:normal;font-display:swap}

:root{
 /* colour */
 --bg:#0E0D0C;--bg-2:#151311;--bg-3:#1D1A17;
 --ink:#F3EDE2;--ink-2:#C2B9AB;--ink-3:#968D7F;
 --amber:#C8893B;--amber-hi:#E0A85C;--accent:var(--amber);
 --neon:#FF4A3D;--neon-glow:rgba(255,74,61,.55);
 --rule:rgba(243,237,226,.16);--rule-strong:rgba(243,237,226,.38);
 --paper:#EFE8DC;--paper-ink:#171412;
 /* type */
 --display:'Cormorant Garamond',Georgia,'Times New Roman',serif;
 --body:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
 --fs-h1:clamp(50px,min(8.4vw,11.6vh),144px);--fs-h2:clamp(42px,6vw,100px);--fs-h3:clamp(28px,2.7vw,42px);
 --fs-lead:clamp(17px,1.35vw,21px);--fs-body:16px;--fs-small:13px;--fs-label:12px;
 /* spacing scale */
 --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;--s11:176px;
 --gutter:clamp(20px,5vw,72px);--section:clamp(72px,10vw,148px);--head-h:84px;
 /* motion */
 --ease:cubic-bezier(.16,1,.3,1);--ease-io:cubic-bezier(.65,0,.35,1);
 color-scheme:dark;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--head-h) + 24px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--fs-body)/1.7 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;overflow-x:clip}
/* film grain */
body::after{content:'';position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.075;transform:translateZ(0);will-change:transform;contain:strict;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
a{color:inherit;text-decoration:none}
p{margin:0 0 var(--s4)}
p:last-child{margin-bottom:0}
strong{font-weight:700;color:var(--ink)}
[hidden]{display:none!important}
::selection{background:var(--amber);color:var(--bg)}
:focus-visible{outline:2px solid var(--amber-hi);outline-offset:3px}
main:focus{outline:0}
.wrap{width:min(1360px,100% - 2*var(--gutter));margin-inline:auto}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:var(--s4);top:-80px;z-index:120;padding:var(--s3) var(--s4);background:var(--amber);color:var(--bg);font-weight:700;transition:top .2s}
.skip:focus{top:var(--s4)}
.honeypot{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}

h1,h2,h3{margin:0;font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.005em;text-wrap:balance}
h1{font-size:var(--fs-h1);line-height:1.1}
h2{font-size:var(--fs-h2);line-height:1.1}
h3{font-size:var(--fs-h3);line-height:1.08;letter-spacing:.01em}
h1 em,h2 em{font-style:normal;color:var(--accent)}
.eyebrow{display:flex;align-items:center;gap:var(--s3);margin:0 0 var(--s5);font:700 var(--fs-label)/1.5 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.eyebrow::before{content:'';flex:none;width:28px;height:1px;background:currentColor}
.lead,.hero-lead{font-size:var(--fs-lead);line-height:1.6;color:var(--ink-2);max-width:46ch}
.fine{font-size:var(--fs-small);line-height:1.65;color:var(--ink-3)}
.fine a,.footer-bottom a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rule-strong)}
.fine a:hover,.footer-bottom a:hover{color:var(--ink);text-decoration-color:var(--accent)}
.clean-list{list-style:none;margin:0;padding:0}
.clean-list li{position:relative;padding:var(--s3) 0 var(--s3) var(--s6);border-top:1px solid var(--rule);color:var(--ink-2)}
.clean-list li::before{content:'';position:absolute;left:0;top:1.45em;width:14px;height:1px;background:var(--accent)}

/* buttons and links */
.button{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:var(--s5);min-height:58px;padding:var(--s4) var(--s5);border:0;border-radius:0;background:var(--amber);color:#0E0D0C;font:800 13px/1.35 var(--body);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;isolation:isolate;transition:background .35s var(--ease),box-shadow .5s var(--ease),transform .5s var(--ease);will-change:transform}
.button::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--neon);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);box-shadow:0 0 18px var(--neon-glow)}
.button span[aria-hidden]{display:inline-block;font-size:17px;line-height:1;transition:transform .45s var(--ease)}
.button:hover,.button:focus-visible{background:var(--amber-hi);box-shadow:0 18px 60px -18px rgba(200,137,59,.75)}
.button:hover::after,.button:focus-visible::after{transform:scaleX(1)}
.button:hover span[aria-hidden],.text-link:hover span[aria-hidden]{transform:translate(4px,-4px)}
.text-link{display:inline-flex;align-items:center;gap:var(--s3);padding:var(--s2) 0;font:700 13px/1.4 var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--ink);background:linear-gradient(var(--accent),var(--accent)) left bottom/100% 1px no-repeat;transition:color .3s,background-size .5s var(--ease)}
.text-link span[aria-hidden]{display:inline-block;color:var(--accent);transition:transform .45s var(--ease)}
.text-link:hover{color:var(--accent);background-size:36% 1px}

/* ---------- top bars ---------- */
.area-bar{border-bottom:1px solid var(--rule);font:600 11px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.area-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:38px}
.area-home{letter-spacing:.12em;text-transform:none;font-size:12px}
.area-switch{display:flex;gap:var(--s5)}
.area-switch a{position:relative;padding:var(--s3) 0;transition:color .3s}
.area-switch a:hover,.area-home:hover{color:var(--ink)}
.area-switch a[aria-current]{color:var(--ink)}
.area-switch a[aria-current]::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--neon);box-shadow:0 0 12px var(--neon-glow)}

.header{position:sticky;top:0;z-index:80;background:rgba(14,13,12,.84);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid var(--rule)}
.header-inner,.entry-header-inner{display:flex;align-items:center;gap:var(--s6);min-height:var(--head-h)}
.brand{display:inline-flex;flex-direction:column;gap:5px;line-height:1}
.brand b{font:400 34px/.9 var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--ink)}
.brand b span{color:var(--neon);text-shadow:0 0 16px var(--neon-glow)}
.brand small{font:700 9px/1 var(--body);letter-spacing:.42em;color:var(--ink-3)}
.header nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,40px);margin-left:auto;font:700 12px/1 var(--body);letter-spacing:.16em;text-transform:uppercase}
.header nav>a:not(.button){position:relative;padding:var(--s3) 0;color:var(--ink-2);transition:color .3s}
.header nav>a:not(.button)::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--amber);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.header nav>a:not(.button):hover{color:var(--ink)}
.header nav>a:not(.button):hover::after{transform:scaleX(1);transform-origin:left}
.header nav .button{min-height:46px;padding:var(--s3) var(--s4);background:transparent;color:var(--amber-hi);box-shadow:inset 0 0 0 1px var(--amber);font-size:12px;gap:var(--s3)}
.header nav .button:hover,.header nav .button:focus-visible{background:var(--amber);color:#0E0D0C;box-shadow:inset 0 0 0 1px var(--amber),0 14px 44px -16px rgba(200,137,59,.7)}
.language{display:flex;gap:2px;font:700 11px/1 var(--body);letter-spacing:.1em}
.language a{display:grid;place-items:center;min-width:34px;min-height:34px;color:var(--ink-3);transition:color .3s}
.language a:hover{color:var(--ink)}
.language a[aria-current]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--amber)}
.menu-toggle{display:none;align-items:center;gap:var(--s3);min-height:44px;padding:0 var(--s4);background:transparent;border:1px solid var(--rule-strong);color:var(--ink);font:700 11px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.menu-toggle span{font-size:15px;color:var(--accent)}

/* ---------- hero ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;display:flex;min-height:calc(100svh - var(--head-h) - 39px)}
.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(52% 58% at 82% 34%,rgba(200,137,59,.26),transparent 70%),radial-gradient(40% 40% at 4% 100%,rgba(255,74,61,.07),transparent 70%)}
.hero2-grid,.hero-grid,.digital-hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s5);align-items:end;padding-block:clamp(28px,5vh,64px) clamp(36px,6vh,72px)}
.hero-content{grid-column:1/12;grid-row:1;position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,500px) minmax(0,1fr);column-gap:var(--s8);align-items:end}
.hero-content>.eyebrow,.hero-content>h1{grid-column:1/-1}
.hero h1{margin-bottom:clamp(20px,3.6vh,44px);max-width:13.5em}
.hero h1 em{display:block;text-shadow:0 0 34px rgba(200,137,59,.42),0 0 110px rgba(200,137,59,.28)}
.hero-lead{margin-bottom:0}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s5) var(--s6)}
.hero2-visual,.hero-visual{grid-column:8/13;grid-row:1;align-self:stretch;position:relative;z-index:1;min-height:420px;overflow:hidden;margin-block:calc(-1*clamp(28px,5vh,64px)) calc(-1*clamp(36px,6vh,72px));margin-right:calc(-1*var(--gutter))}
.hero2-visual img,.hero-visual img{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover;filter:grayscale(1) contrast(1.25) brightness(.82)}
/* duotone: warm amber over a high-contrast monochrome photo, then a vignette into the page */
/* Spanish hotels page: the film replaces the hero photo, in its real colours */
.hero2-video{grid-column:9/13;align-self:center;justify-self:end;width:min(100%,calc((100svh - var(--head-h) - 150px)*.5714));min-height:0;aspect-ratio:4/7;margin:0;background:#12100E;box-shadow:0 0 0 1px rgba(200,137,59,.45),0 50px 110px -40px #000,0 0 90px -30px rgba(200,137,59,.35)}
.hero2-video::before,.hero2-video::after{content:none}
@media (min-width:961px){.hero-hotel2:has(.hero2-video) .hero-content{grid-column:1/9;grid-template-columns:minmax(0,1fr)}.hero-hotel2:has(.hero2-video) .hero-lead{margin-bottom:var(--s5);max-width:52ch}.hero-hotel2:has(.hero2-video) h1{font-size:clamp(40px,min(6vw,8.2vh),104px);margin-bottom:clamp(14px,2.4vh,32px)}}
.hero2-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video-sound{position:absolute;left:var(--s4);bottom:var(--s4);z-index:3;display:inline-flex;align-items:center;gap:var(--s3);min-height:44px;padding:0 var(--s4);border:1px solid var(--rule-strong);background:rgba(14,13,12,.78);color:var(--ink);font:700 11px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(6px);transition:border-color .3s,background .3s}
.video-sound::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--ink-3)}
.video-sound[aria-pressed=true]::before{background:var(--neon);box-shadow:0 0 12px var(--neon)}
.video-sound:hover,.video-sound:focus-visible{border-color:var(--amber);background:rgba(14,13,12,.92)}
.hero2-visual::before,.hero-visual::before,.person-photo::before,.door-photo::before,.duo::before,.editorial-photo::before,.event-types-photo::before,.partners-photo::before,.contact-person::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(160deg,#E0A85C,#8A4A17);mix-blend-mode:multiply;pointer-events:none}
.hero2-visual::after,.hero-visual::after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,var(--bg) 0,rgba(14,13,12,.55) 32%,rgba(14,13,12,.1) 70%),linear-gradient(0deg,var(--bg) 0,transparent 30%)}

/* regions: slow marquee */
.hero-regions{border-block:1px solid var(--rule);background:var(--bg-2);overflow:hidden}
.hero-regions .wrap{display:flex;align-items:center;gap:var(--s6);width:100%;padding-left:var(--gutter);min-height:76px}
.hero-regions .eyebrow{flex:none;margin:0;position:relative;z-index:1}
.hero-regions p{margin:0;min-width:0;padding:var(--s4) var(--gutter) var(--s4) 0;font:400 clamp(20px,2.1vw,30px)/1.25 var(--display);letter-spacing:.03em;text-transform:uppercase;color:var(--ink)}
.hero-regions p.mq{flex:1;overflow:hidden;padding-right:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.mq-track{display:flex;width:max-content;animation:mq var(--mq-t,48s) linear infinite}
.mq-track>span{flex:none;white-space:nowrap;padding-right:var(--s8)}
.mq-track>span::after{content:'✦';margin-left:var(--s8);color:var(--accent);font-size:.6em;vertical-align:.25em}
.hero-regions:hover .mq-track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
main{counter-reset:sec}
.section{position:relative;padding-block:var(--section);counter-increment:sec}
.section>.wrap{position:relative;border-top:1px solid var(--rule);padding-top:var(--s8)}
body[data-page=hotels] .section>.wrap::before{content:counter(sec,decimal-leading-zero);position:absolute;top:var(--s4);right:0;font:700 var(--fs-label)/1 var(--body);letter-spacing:.2em;color:var(--neon);text-shadow:0 0 14px var(--neon-glow)}
.section>.wrap::after{content:'';position:absolute;top:-1px;left:0;width:clamp(56px,9vw,128px);height:1px;background:var(--accent)}
.section h2{margin-bottom:var(--s6)}
/* paper sections: the lights come on */
.ivory{--bg:var(--paper);--ink:var(--paper-ink);--ink-2:#3D372F;--ink-3:#5E574C;--accent:#8A5417;--neon:#BF2519;--neon-glow:transparent;--rule:rgba(23,20,18,.2);--rule-strong:rgba(23,20,18,.55);background:var(--bg);color:var(--ink)}
.ivory strong{color:var(--ink)}

/* 01 value — where the bar loses value (the "before") */
.value2>.wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(40px,7vw,120px);align-items:start}
.value2-head{position:sticky;top:calc(var(--head-h) + 40px)}
.value2-head h2{font-size:clamp(38px,4.6vw,76px)}
.value2-grid article{display:grid;grid-template-columns:clamp(72px,9vw,132px) minmax(0,1fr);column-gap:var(--s6);padding-block:var(--s7);border-top:1px solid var(--rule)}
.value2-grid article:first-child{border-top:0;padding-top:0}
.roman{grid-row:1/3;font:400 clamp(64px,8vw,120px)/.85 var(--display);color:transparent;-webkit-text-stroke:1px var(--neon);text-shadow:0 0 26px rgba(255,74,61,.28)}
.value2-grid h3{margin-bottom:var(--s3)}
.value2-grid p{color:var(--ink-2);max-width:48ch}

/* 02 method — the "after" */
.method2::before{content:'';position:absolute;left:var(--gutter);top:-38px;z-index:2;width:76px;height:76px;border-radius:50%;background:#C92A1E url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F3EDE2' stroke-width='1.6'%3E%3Cpath d='M12 4v16M5 13l7 7 7-7'/%3E%3C/svg%3E") center/30px no-repeat;box-shadow:0 0 0 8px var(--paper)}
.method2 h2{max-width:11.5em;margin-bottom:var(--s9)}
.method2-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,4vw,64px)}
.method2-steps li{border-top:2px solid var(--ink);padding-top:var(--s5)}
.method2-steps li:nth-child(2){margin-top:var(--s8)}
.method2-steps li:nth-child(3){margin-top:var(--s10)}
.method2-steps .eyebrow{margin-bottom:var(--s5);font:400 clamp(50px,6.4vw,104px)/.95 var(--display);letter-spacing:.01em;color:var(--ink)}
.method2-steps .eyebrow::before{display:none}
.method2-steps h3{margin-bottom:var(--s3);color:var(--accent)}
.method2-steps p{color:var(--ink-2);max-width:40ch}
.method2-note{max-width:620px;margin:var(--s9) 0 0 auto;padding:var(--s5) 0 var(--s5) var(--s6);border-left:2px solid var(--accent);font-size:17px;color:var(--ink-2)}

/* 03 report */
.report2::after,.contact::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(38% 46% at 76% 52%,rgba(200,137,59,.16),transparent 70%)}
.report2-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);column-gap:clamp(40px,7vw,112px);align-items:center;z-index:1}
.report2-grid>div{grid-column:1}
.report2 h2{font-size:clamp(38px,5vw,80px)}
.report-card{grid-column:2;position:relative;padding:clamp(24px,3vw,44px);background:var(--paper);color:var(--paper-ink);transform:rotate(-2.2deg);box-shadow:0 50px 100px -40px #000,0 0 0 1px rgba(0,0,0,.4);transition:transform .9s var(--ease),box-shadow .9s var(--ease)}
.report-card:hover{transform:rotate(0) translateY(-8px);box-shadow:0 60px 120px -40px #000,0 0 90px -20px rgba(200,137,59,.5)}
.report-card::before{content:'';position:absolute;inset:10px;border:1px solid rgba(23,20,18,.18);pointer-events:none}
.report-card-head{display:flex;justify-content:space-between;gap:var(--s4);padding-bottom:var(--s4);border-bottom:2px solid var(--paper-ink);font:700 11px/1.3 var(--body);letter-spacing:.18em;text-transform:uppercase}
.report-card-head span:last-child{color:#C92A1E}
.report-card-tag{margin:var(--s5) 0 var(--s2);font:700 11px/1.4 var(--body);letter-spacing:.16em;text-transform:uppercase;color:#8A5417}
.report-card-title{margin:0 0 var(--s5);font:400 clamp(26px,2.6vw,38px)/1.08 var(--display);text-transform:uppercase}
.report-card-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 var(--s5);border-block:1px solid rgba(23,20,18,.25)}
.report-card-kpis div{padding:var(--s4) var(--s3) var(--s4) 0}
.report-card-kpis div+div{padding-left:var(--s3);border-left:1px solid rgba(23,20,18,.25)}
.report-card-kpis dt{font:700 10px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#5E574C}
.report-card-kpis dd{margin:var(--s2) 0 0;font:400 clamp(18px,1.7vw,24px)/1.1 var(--display);text-transform:uppercase}
.report-card-row{margin:0;padding:var(--s3) 0;border-bottom:1px solid rgba(23,20,18,.14);font-size:14px;line-height:1.55;color:#3D372F}
.report-card-row strong{color:var(--paper-ink)}
.report-card figcaption{margin-top:var(--s4);font:600 11px/1.4 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#5E574C;text-align:right}

/* 04 services — large hover cards */
.services2 h2{max-width:12em;margin-bottom:var(--s8)}
.services2-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s5);align-items:start}
:is(.services2-grid,.offer-grid,.digital-package-grid,.partnership-grid)>article{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(28px,3.6vw,56px);background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--rule);transition:transform .7s var(--ease),background .7s var(--ease),box-shadow .7s var(--ease)}
:is(.services2-grid,.offer-grid,.digital-package-grid,.partnership-grid)>article:nth-child(2){margin-top:var(--s9)}
:is(.services2-grid,.offer-grid,.digital-package-grid,.partnership-grid)>article::before,:is(.services2-grid,.offer-grid,.digital-package-grid,.partnership-grid)>article::after{content:'';position:absolute;inset:0;pointer-events:none;border:1px solid var(--amber);transition:clip-path .9s var(--ease)}
:is(.services2-grid,.offer-grid,.digital-package-grid,.partnership-grid)>article::before{clip-path:inset(0 100% calc(100% - 1px) 0)}
:is(.services2-grid,.offer-grid,.digital-package-grid,.partnership-grid)>article::after{clip-path:inset(calc(100% - 1px) 0 0 100%)}
:is(.services2-grid,.offer-grid,.digital-package-grid,.partnership-grid)>article:is(.featured,.package-featured,.digital-package-complete)::before{clip-path:inset(0 0 calc(100% - 3px) 0);border-top-width:3px}
:is(.services2-grid,.offer-grid,.digital-package-grid,.partnership-grid)>article:hover,:is(.services2-grid,.offer-grid,.digital-package-grid,.partnership-grid)>article:focus-within{transform:translateY(-10px);background:var(--bg-3);box-shadow:inset 0 0 0 1px transparent,0 40px 80px -40px #000,0 0 80px -30px rgba(200,137,59,.45)}
:is(.services2-grid,.offer-grid,.digital-package-grid,.partnership-grid)>article:hover::before,:is(.services2-grid,.offer-grid,.digital-package-grid,.partnership-grid)>article:hover::after,:is(.services2-grid,.offer-grid,.digital-package-grid,.partnership-grid)>article:focus-within::before,:is(.services2-grid,.offer-grid,.digital-package-grid,.partnership-grid)>article:focus-within::after{clip-path:inset(0)}
.services2-grid h3{font-size:clamp(30px,3.4vw,54px);margin-bottom:var(--s4)}
:is(.offer-grid,.digital-package-grid,.partnership-grid)>article h3{font-size:clamp(28px,2.8vw,44px);margin-bottom:var(--s4)}
:is(.services2-grid,.offer-grid,.digital-package-grid,.partnership-grid)>article>p{color:var(--ink-2);max-width:52ch}
:is(.services2-grid,.offer-grid,.digital-package-grid,.partnership-grid) .clean-list{align-self:stretch;margin:var(--s5) 0;border-bottom:1px solid var(--rule)}
.services2-bonus-title{margin:var(--s2) 0 0!important;font:700 var(--fs-label)/1.5 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--accent)!important}
:is(.services2-grid) .clean-list.services2-bonus{margin-top:var(--s3)}
.services2-bonus li{color:var(--ink)}
.services2-bonus li::before{content:'+';top:var(--s3);width:auto;height:auto;background:none;color:var(--accent);font-weight:700;line-height:inherit}
.services2-price{margin-bottom:var(--s6)!important;font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--ink)!important}
.services2-guarantee{max-width:820px;margin:var(--s9) 0 var(--s5);padding-left:var(--s6);border-left:2px solid var(--accent);font-size:clamp(17px,1.4vw,21px);line-height:1.6;color:var(--ink-2)}
.services2-guarantee strong{display:block;margin-bottom:var(--s2);font:700 var(--fs-label)/1.5 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.services2 .fine{margin-left:var(--s6);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:var(--fs-label);color:var(--neon)}
.services2 .fine::before{content:'';display:inline-block;margin-right:var(--s3);vertical-align:.05em;width:8px;height:8px;border-radius:50%;background:var(--neon);box-shadow:0 0 14px 2px var(--neon-glow)}

/* 05 team */
.section-head{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);column-gap:var(--s8);align-items:end;margin-bottom:var(--s9)}
.section-head h2{margin:0}
.section-head .lead{padding-bottom:var(--s3)}
.team-people{display:grid;row-gap:clamp(72px,10vw,150px)}
.person{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(32px,6vw,104px);align-items:start}
.person:nth-child(even){grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.person:nth-child(even) .person-photo{order:2}
.person-photo{position:sticky;top:calc(var(--head-h) + 32px);overflow:hidden;aspect-ratio:4/5;background:radial-gradient(70% 60% at 50% 38%,#4A3520,#1D1611 62%,#12100E)}
.person-photo img{position:relative;width:100%;height:100%;object-fit:cover;object-position:50% 0;filter:grayscale(1) contrast(1.18) brightness(1.02);transition:filter 1s var(--ease)}
.person-photo::before{opacity:.92;transition:opacity 1s var(--ease)}
.person-photo::after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,rgba(14,13,12,.85),transparent 34%);pointer-events:none}
.person:hover .person-photo img{filter:grayscale(.15) contrast(1.05)}
.person:hover .person-photo::before{opacity:.25}
.person-body{padding-top:var(--s5)}
.person-body h3{font-size:clamp(44px,5.4vw,88px);line-height:1;margin-bottom:var(--s3)}
.person-tagline{margin-bottom:var(--s6);font-weight:700;letter-spacing:.04em;color:var(--accent)}
.person-body p{color:var(--ink-2);max-width:60ch}
.person-quote{margin-block:var(--s5) var(--s6);padding-left:var(--s5);border-left:2px solid var(--accent);font-size:clamp(19px,1.7vw,25px);line-height:1.45;font-weight:500;color:var(--ink)!important}
.person-closing{margin-top:var(--s5);font-weight:700;color:var(--ink)!important}
.founder-path{margin-top:var(--s10)}
.timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--s6);margin-bottom:var(--s6)}
.timeline article{position:relative;padding-top:var(--s6);border-top:1px solid var(--rule-strong)}
.timeline article::before{content:'';position:absolute;top:-5px;left:0;width:9px;height:9px;background:var(--amber)}
.timeline .eyebrow{margin-bottom:var(--s3);font:400 clamp(26px,2.8vw,42px)/1 var(--display);letter-spacing:.02em;color:var(--ink)}
.timeline .eyebrow::before{display:none}
.timeline h3{font:700 17px/1.4 var(--body);letter-spacing:0;text-transform:none;margin-bottom:var(--s2);color:var(--accent)}
.timeline p{color:var(--ink-2);font-size:15px}

/* 06 checklist and shared split layout */
.split{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);column-gap:clamp(40px,7vw,112px);align-items:start}
.checklist-offer{background:var(--bg-2)}
.checklist-offer h2{font-size:clamp(38px,5vw,80px)}

/* forms */
.contact-form{position:relative;z-index:1;display:grid;gap:var(--s5);padding:clamp(24px,3.2vw,48px);background:var(--bg-3);box-shadow:inset 0 0 0 1px var(--rule)}
.contact-form::before{content:'';position:absolute;top:0;left:0;width:72px;height:3px;background:var(--amber)}
.contact-form h3{font-size:clamp(26px,2.4vw,36px)}
.form-fields{display:grid;gap:var(--s5)}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5)}
.contact-form label{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s2) var(--s2);font:700 11px/1.4 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.contact-form label span{font-weight:500;letter-spacing:.06em;color:var(--ink-3)}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{flex:0 0 100%;width:100%;min-height:52px;padding:var(--s3) var(--s4);border:0;border-bottom:1px solid var(--rule-strong);border-radius:0;background:rgba(243,237,226,.045);color:var(--ink);font:500 16px/1.4 var(--body);letter-spacing:0;text-transform:none;transition:border-color .3s,background .3s,box-shadow .3s}
.contact-form textarea{min-height:120px;resize:vertical}
.contact-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23C8893B' stroke-width='1.5'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px;padding-right:44px}
.contact-form select option{background:var(--bg-3);color:var(--ink)}
.contact-form ::placeholder{color:var(--ink-3);opacity:1}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:0;border-bottom-color:var(--accent);background:rgba(200,137,59,.09);box-shadow:0 1px 0 var(--amber)}
.contact-form .consent-check{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:var(--s3);font:500 14px/1.55 var(--body);letter-spacing:0;text-transform:none;color:var(--ink-2)}
.contact-form .consent-check span{font-weight:500;letter-spacing:0;color:var(--ink-2)}
.consent-check input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--accent)}
.contact-form .button{justify-self:start}
.alternative-actions{display:flex;flex-wrap:wrap;gap:var(--s5);padding-top:var(--s4);border-top:1px solid var(--rule)}
.form-status{margin:0;font-size:14px;font-weight:600;color:var(--amber-hi)}
.form-status:empty{display:none}

/* 07 faq */
.faq-layout{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:clamp(40px,7vw,112px);align-items:start}
.faq-layout>div:first-child{position:sticky;top:calc(var(--head-h) + 40px)}
.accordion details,footer details{border-top:1px solid var(--rule-strong)}
.accordion details:last-child{border-bottom:1px solid var(--rule-strong)}
summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);padding:var(--s5) 0;list-style:none;cursor:pointer;font:700 clamp(17px,1.5vw,22px)/1.35 var(--body);transition:color .3s}
summary::-webkit-details-marker{display:none}
summary:hover{color:var(--accent)}
.plus{flex:none;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--rule-strong);font:400 22px/1 var(--body);color:var(--accent);transition:transform .5s var(--ease),background .3s,color .3s}
details[open] .plus{transform:rotate(45deg);background:var(--accent);color:var(--bg)}
.detail-body{padding:0 0 var(--s6);max-width:68ch;color:var(--ink-2)}

/* 08 contact — last call */
.contact{overflow:hidden;background:linear-gradient(180deg,var(--bg),#17110B)}
.contact::before{background:radial-gradient(60% 55% at 22% 108%,rgba(200,137,59,.3),transparent 70%),radial-gradient(30% 30% at 96% 0,rgba(255,74,61,.08),transparent 70%)}
.contact .split{z-index:1;row-gap:0}
.contact .split>div:first-child{display:contents}
.contact .eyebrow,.contact h2{grid-column:1/-1}
.contact h2{font-size:clamp(52px,10.4vw,176px);line-height:1.04;margin-bottom:var(--s8)}
.contact h2 em{display:block;text-shadow:0 0 34px rgba(200,137,59,.45),0 0 120px rgba(200,137,59,.3)}
.contact .lead,.contact-primary,.contact-checklist,.contact-links,.contact-person{grid-column:1}
.contact .lead{margin-bottom:var(--s6)}
.contact-primary{margin-bottom:var(--s6)}
.contact-primary .button{min-height:72px;padding-inline:var(--s6);font-size:14px}
@media (min-width:961px){.contact .split{grid-template-rows:repeat(6,auto) 1fr}.contact-person{grid-row:1}.contact .eyebrow{grid-row:2}.contact h2{grid-row:3}.contact .lead{grid-row:4}.contact-primary,.contact-links{grid-row:5}.contact-checklist{grid-row:6}
.contact .contact-form{grid-column:2;grid-row:4/span 4;align-self:start}}

/* footer */
footer{position:relative;border-top:1px solid var(--rule);padding-block:var(--s9) var(--s7);background:#0A0908}
.footer-main{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:var(--s8);row-gap:var(--s5);align-items:end;padding-bottom:var(--s8)}
.footer-main .brand{grid-row:1/3}
.footer-main .brand b{font-size:clamp(84px,15.5vw,250px);line-height:.86;color:#4A4339;transition:color .8s var(--ease)}
.footer-main .brand:hover b,.footer-main .brand:focus-visible b{color:var(--ink)}
.footer-main .brand b span{color:var(--neon);text-shadow:none}
.footer-main .brand small{font-size:11px;margin-top:var(--s3)}
.footer-main>p{margin:0;font-size:var(--fs-lead);color:var(--ink-2)}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3)}
.footer-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s6);padding-block:var(--s5);border-top:1px solid var(--rule);font-size:var(--fs-small);line-height:1.8;color:var(--ink-3)}
.footer-bottom>span{flex:none;font:700 11px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
footer summary{font-size:14px;padding:var(--s4) 0}
footer .plus{width:32px;height:32px;font-size:18px}
footer .detail-body{font-size:var(--fs-small);max-width:90ch}

/* ---------- shared pieces for the events and digital pages ---------- */
h4{margin:0 0 var(--s2);font:700 17px/1.4 var(--body)}
.index{display:block;font:400 clamp(44px,5vw,80px)/.9 var(--display);color:transparent;-webkit-text-stroke:1px var(--neon);text-shadow:0 0 22px var(--neon-glow)}
.ivory .index{color:var(--neon);-webkit-text-stroke:0}
/* dark cards keep the night palette even inside a paper section */
.ivory :is(.package,.digital-package,.event-cta-box,.partnership-grid>article,.corporate-brand,.contact-form){--bg:#0E0D0C;--ink:#F3EDE2;--ink-2:#C2B9AB;--ink-3:#968D7F;--accent:#C8893B;--neon:#FF4A3D;--neon-glow:rgba(255,74,61,.55);--rule:rgba(243,237,226,.16);--rule-strong:rgba(243,237,226,.38);color:var(--ink)}
.ivory :is(.package,.digital-package,.partnership-grid>article) strong{color:var(--ink)}
/* photographs: warm duotone that eases back to colour on hover */
.editorial-photo,.event-types-photo,.partners-photo,.contact-person{position:relative;overflow:hidden;background:#12100E}
:is(.editorial-photo,.event-types-photo,.partners-photo,.contact-person) img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15) brightness(.92);transition:filter 1.1s var(--ease),transform 1.6s var(--ease)}
:is(.editorial-photo,.event-types-photo,.partners-photo,.contact-person)::before{opacity:.9;transition:opacity 1.1s var(--ease)}
:is(.editorial-photo,.event-types-photo,.partners-photo,.contact-person):hover img{filter:grayscale(.1) contrast(1.04);transform:scale(1.03)}
:is(.editorial-photo,.event-types-photo,.partners-photo,.contact-person):hover::before{opacity:.12}
.hero .hero-country{color:var(--ink-3);letter-spacing:.14em}
.hero-content>.event-hero-price,.hero-content>.hero-proof,.hero-content>.digital-micro{grid-column:1/-1;margin:0}
.event-hero-price{margin-top:var(--s5)!important;font-size:15px;color:var(--ink-2)}
.event-hero-price strong,.digital-micro{font:700 var(--fs-label)/1.6 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.digital-micro{margin-top:var(--s5)!important}
.hero-proof{margin-top:var(--s2)!important;font-size:var(--fs-small);color:var(--ink-3)}
.section-note,.beer-note{max-width:70ch;margin-top:var(--s5)}
.beer-note{font-size:14px;color:var(--ink-3)}

/* events: packages */
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5);align-items:start}
.offer-grid>article:nth-child(2){margin-top:calc(-1*var(--s6))}
.package-tier{margin-bottom:var(--s5);font:700 var(--fs-label)/1.5 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.package-featured .package-tier{color:var(--neon);text-shadow:0 0 14px var(--neon-glow)}
.package>p{color:var(--ink-2)}
.package-quote,.digital-quote{margin-bottom:var(--s5)!important;font:700 var(--fs-label)/1.5 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--ink)!important}
.event-how{margin-top:var(--s9)}
.event-how>h3{margin-bottom:var(--s6);font-size:clamp(30px,3.4vw,54px)}
.event-steps,.digital-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:clamp(20px,3vw,48px)}
.digital-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
:is(.event-steps,.digital-steps) li{border-top:2px solid var(--ink);padding-top:var(--s5)}
:is(.event-steps,.digital-steps) li:nth-child(2){margin-top:var(--s6)}
:is(.event-steps,.digital-steps) li:nth-child(3){margin-top:var(--s8)}
.event-steps li:nth-child(4){margin-top:var(--s9)}
:is(.event-steps,.digital-steps) .index{margin-bottom:var(--s4);font-size:clamp(50px,6vw,96px)}
:is(.event-steps,.digital-steps) h3{margin-bottom:var(--s3);color:var(--accent)}
:is(.event-steps,.digital-steps) h4{font:400 clamp(22px,2vw,30px)/1.1 var(--display);text-transform:uppercase;letter-spacing:.01em;color:var(--accent)}
:is(.event-steps,.digital-steps) p{color:var(--ink-2)}
.event-cta-box{display:flex;justify-content:space-between;align-items:center;gap:var(--s7);margin-top:var(--s9);padding:clamp(28px,4vw,56px);background:radial-gradient(60% 120% at 0 100%,rgba(200,137,59,.22),transparent 70%),#0E0D0C;box-shadow:inset 0 0 0 1px rgba(200,137,59,.5)}
.event-cta-box h3{font-size:clamp(32px,4vw,60px);margin-bottom:var(--s3)}
.event-cta-box h3 em{font-style:normal;color:var(--accent)}
.event-cta-box p{color:var(--ink-2);max-width:52ch}
.event-cta-links{flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:var(--s4)}
.text-link{overflow-wrap:anywhere}

/* events: formats */
.event-types-layout{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:clamp(32px,6vw,96px);align-items:stretch}
.event-types-photo{min-height:420px}
.event-types-photo img{position:absolute;inset:0}
.event-type{display:grid;grid-template-columns:clamp(72px,9vw,132px) minmax(0,1fr) auto;column-gap:var(--s6);align-items:center;padding-block:var(--s7);border-top:1px solid var(--rule);transition:padding .7s var(--ease),background .7s var(--ease)}
.event-type:last-child{border-bottom:1px solid var(--rule)}
.event-type .index{grid-row:1/3;transition:color .5s,text-shadow .5s}
.event-type h3{font-size:clamp(30px,3.4vw,54px);transition:color .4s}
.event-type p{grid-column:2;margin:var(--s2) 0 0;color:var(--ink-2)}
.event-type .text-link{grid-column:3;grid-row:1/3}
.event-type:hover,.event-type:focus-visible{padding-left:var(--s5);background:linear-gradient(90deg,rgba(200,137,59,.12),transparent 70%)}
.event-type:hover h3{color:var(--accent)}
.event-type:hover .index{color:var(--neon)}

/* events: weddings, signature, corporate, venues, method */
.wedding-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,4vw,64px)}
.wedding-benefits article{border-top:2px solid var(--ink);padding-top:var(--s5)}
.wedding-benefits article:nth-child(2){margin-top:var(--s8)}
.wedding-benefits article:nth-child(3){margin-top:var(--s10)}
.wedding-benefits .index{margin-bottom:var(--s5);font-size:clamp(50px,6.4vw,104px)}
.wedding-benefits h3{margin-bottom:var(--s3);color:var(--accent)}
.wedding-benefits p{color:var(--ink-2)}
.signature-text>div{max-width:980px}
.signature-text .lead{max-width:60ch;margin-bottom:var(--s5)}
.signature-text .accordion{margin-top:var(--s7)}
.capabilities article{display:grid;grid-template-columns:clamp(64px,7vw,104px) minmax(0,1fr);column-gap:var(--s5);align-items:start;padding-block:var(--s5);border-top:1px solid var(--rule)}
.capabilities .index{font-size:clamp(40px,4vw,60px)}
.detail-body h4{margin-top:var(--s5)}
.corporate-events .split>div:first-child>p:not(.lead){color:var(--ink-2);max-width:56ch}
.corporate-events .lead{margin-bottom:var(--s5)}
.corporate-list{margin-block:var(--s5) var(--s6)!important;padding-left:var(--s5);border-left:2px solid var(--accent);font-weight:600;color:var(--ink)!important}
.corporate-photo{aspect-ratio:4/5}
.corporate-brand{position:relative;z-index:1;margin:calc(-1*var(--s8)) 0 0 calc(-1*var(--s7));padding:var(--s6);background:var(--bg-3);box-shadow:inset 0 0 0 1px var(--rule),0 30px 60px -30px #000}
.corporate-brand h3{font-size:clamp(22px,2vw,30px);margin-bottom:var(--s3)}
.corporate-brand p{color:var(--ink-2)}
.private-parties .split{align-items:end}
.private-parties .lead{margin-bottom:var(--s6)}
.partners-layout{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:var(--s5);align-items:stretch}
.partners-photo{min-height:360px}
.partners-photo img{position:absolute;inset:0}
.partnership-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5);align-items:start}
.partnership-grid>article:nth-child(2){margin-top:var(--s8)}
.partnership-grid h3 em{font-style:normal;color:var(--accent)}
.partnership-grid>article>p{color:var(--ink-2)}
.scope-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(40px,7vw,112px);align-items:start}
.scope-layout>div:first-child{position:sticky;top:calc(var(--head-h) + 40px)}
.scope-layout h3{font-size:clamp(30px,3.2vw,50px);margin-bottom:var(--s4)}
.scope-layout h3 em{font-style:normal;color:var(--accent)}
.scope-layout>div:first-child p{color:var(--ink-2);max-width:46ch}
.founder>.wrap>.text-link{margin-top:var(--s7)}
.contact-person{width:132px;aspect-ratio:1;margin-bottom:var(--s6);box-shadow:0 0 0 1px var(--amber),0 0 50px -10px rgba(200,137,59,.6)}
.contact-person img{object-position:50% 12%}
.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s4);color:var(--ink-2)}
.contact-links>a:not(.text-link){font-weight:600;letter-spacing:.04em}

/* digital */
.digital-hero{flex-direction:column;justify-content:flex-end}
.digital-hero-grid{align-items:center}
.digital-hero .hero-content{grid-column:1/8;grid-template-columns:minmax(0,1fr)}.digital-hero .hero-lead{margin-bottom:var(--s6)}
.digital-hero h1{font-size:clamp(46px,min(6.6vw,10vh),112px)}
.digital-real{grid-column:8/13;grid-row:1;position:relative;z-index:1;padding:var(--s4);background:var(--bg-2);box-shadow:inset 0 0 0 1px rgba(200,137,59,.45),0 50px 100px -40px #000;transform:rotate(1.4deg);transition:transform .9s var(--ease)}
.digital-real:hover{transform:rotate(0) translateY(-6px)}
.digital-real .eyebrow{margin-bottom:var(--s3);font-size:10px}
.digital-real img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:40% center}
.digital-real figcaption{padding-top:var(--s4);font-size:var(--fs-small);line-height:1.6;color:var(--ink-3)}
.digital-real figcaption strong,.work-item strong{display:block;margin-bottom:var(--s1);font:700 15px/1.4 var(--body);color:var(--ink)}
.digital-jump{display:flex;gap:var(--s6);padding-bottom:var(--s6)}
.digital-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5);align-items:start}
.digital-package-grid>article:nth-child(2){margin-top:var(--s8)}
.digital-package .eyebrow{align-items:flex-start}.digital-package .eyebrow::before{margin-top:.75em}
.digital-package>p:not(.digital-quote){color:var(--ink-2)}
.digital-scope{max-width:70ch;margin-top:var(--s7)}
.screens-only{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s4) var(--s6);margin-top:var(--s6);padding-block:var(--s5);border-block:1px solid var(--rule-strong)}
.screens-only p{margin:0;font-size:var(--fs-lead);font-weight:600}
.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6) var(--s5);margin-bottom:var(--s7)}
.work-wide{grid-column:1/-1}
.work-item img{width:100%;background:var(--bg-2);box-shadow:0 0 0 1px var(--rule);transition:transform .8s var(--ease),box-shadow .8s var(--ease)}
.work-item:hover img{transform:translateY(-8px);box-shadow:0 0 0 1px var(--amber),0 40px 80px -40px #000}
.work-item figcaption{padding-top:var(--s4);color:var(--ink-2);font-size:15px}
.work-item strong{font:400 clamp(22px,2vw,30px)/1.1 var(--display);text-transform:uppercase;letter-spacing:.01em}
.digital-demonstration .lead{margin-bottom:var(--s6)}
.screen-example{position:relative;min-height:clamp(300px,30vw,420px);overflow:hidden;background:#12100E;box-shadow:0 0 0 8px #24201C,0 0 0 9px var(--rule-strong),0 50px 100px -40px #000}
.screen-example>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center;opacity:.7;filter:grayscale(1) contrast(1.15) sepia(.55) saturate(1.6)}
.screen-example::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,13,12,.94),rgba(14,13,12,.55) 62%,rgba(14,13,12,.1))}
.screen-example-content{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(20px,3vw,36px)}
.screen-brand{font:700 11px/1 var(--body);letter-spacing:.3em;color:var(--ink)}
.screen-example .eyebrow{margin-bottom:var(--s3);font-size:10px}
.screen-example p{margin:0;color:var(--ink-2);font-size:14px}
.screen-example p.screen-headline{margin-bottom:var(--s3);font:400 clamp(28px,3.4vw,50px)/1.05 var(--display);text-transform:uppercase;color:var(--ink)}
.screen-footer{font:700 11px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--amber-hi)}
.digital-demonstration figcaption{margin-top:var(--s5);letter-spacing:.14em}
.digital-faq{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:clamp(40px,7vw,112px);align-items:start;margin-top:var(--s10)}
.digital-faq>h3{font-size:clamp(32px,4vw,60px)}
.tags{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s8)}
.tags span{padding:var(--s3) var(--s4);box-shadow:inset 0 0 0 1px var(--rule-strong);font:700 var(--fs-label)/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);transition:color .3s,box-shadow .3s}
.tags span:hover{color:var(--accent);box-shadow:inset 0 0 0 1px var(--amber)}
.context-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--s6)}
.context-grid article{border-top:1px solid var(--rule-strong);padding-top:var(--s5)}
.context-grid h4{font:400 clamp(22px,2vw,30px)/1.1 var(--display);text-transform:uppercase;letter-spacing:.01em;color:var(--accent)}
.context-grid p{color:var(--ink-2);font-size:15px}
.digital-bridge>.wrap.section-head{margin-bottom:0}
.digital-bridge .lead{margin-bottom:var(--s5)}

/* checklist download and thank-you pages */
.thankyou{max-width:900px;padding-block:clamp(72px,12vh,160px)}
.thankyou h1{font-size:var(--fs-h2);margin-bottom:var(--s5)}
.thankyou>p{margin-block:var(--s5);font-size:var(--fs-lead);color:var(--ink-2)}
.thankyou .button{margin:var(--s3) var(--s4) var(--s3) 0}
.thankyou>p:last-child a{text-decoration:underline;text-underline-offset:4px}

/* ---------- entry page: two doors ---------- */
body[data-page=entry]{display:flex;flex-direction:column;min-height:100svh}
.entry-header{border-bottom:1px solid var(--rule)}
.entry-header-inner{justify-content:space-between}
.entry{flex:1;display:flex}
.doors{flex:1;display:flex;min-height:max(560px,calc(100svh - var(--head-h) - 70px))}
.door{position:relative;isolation:isolate;overflow:hidden;flex:1 1 0;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:clamp(28px,4.5vw,72px);transition:flex-grow 1s var(--ease)}
.door+.door{border-left:1px solid var(--rule-strong)}
.door-photo{position:absolute;inset:0;z-index:-1;overflow:hidden}
.door-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.2) brightness(.8);transform:scale(1.04);transition:transform 1.6s var(--ease),filter 1.2s var(--ease)}
.door-photo::before{transition:opacity 1.2s var(--ease)}
.door-photo::after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,var(--bg) 4%,rgba(14,13,12,.72) 46%,rgba(14,13,12,.3))}
.door::after{content:counter(door,decimal-leading-zero);counter-increment:door;position:absolute;top:clamp(20px,3vw,40px);right:clamp(20px,3vw,40px);font:400 clamp(64px,9vw,150px)/.8 var(--display);color:transparent;-webkit-text-stroke:1px var(--rule-strong);transition:-webkit-text-stroke-color .8s,text-shadow .8s}
.doors{counter-reset:door}
.door h2{font-size:clamp(40px,5vw,84px);max-width:9.5em;margin-bottom:var(--s5)}
.door h2 em{display:block}
.door>p{font-size:var(--fs-lead);line-height:1.55;color:var(--ink-2);max-width:40ch;margin-bottom:var(--s6)}
.door-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4) var(--s6)}
.door-actions .button{position:static;will-change:auto}
.door-actions .button::before{content:'';position:absolute;inset:0;z-index:1}
.door-actions .button::after{display:none}
.door-who{font:600 var(--fs-small)/1.4 var(--body);letter-spacing:.06em;color:var(--ink-2)}
@media(hover:hover){
 .doors:hover .door{flex-grow:.82}
 .doors .door:hover{flex-grow:1.3}
 .door:hover .door-photo img{transform:scale(1.1);filter:grayscale(.35) contrast(1.08) brightness(.86)}
 .door:hover .door-photo::before{opacity:.45}
 .door:hover::after{-webkit-text-stroke-color:var(--neon);text-shadow:0 0 30px var(--neon-glow)}
 .door:hover .button{background:var(--amber-hi);box-shadow:0 18px 60px -18px rgba(200,137,59,.75)}
}
.door:focus-within::after{-webkit-text-stroke-color:var(--neon)}
.entry-footer{border-top:1px solid var(--rule);padding-block:var(--s5);font-size:var(--fs-small);color:var(--ink-3)}
.entry-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s3) var(--s6)}
.entry-footer p{margin:0}
.entry-footer a{text-decoration:underline;text-underline-offset:3px}

/* ---------- motion (only with JS and when motion is welcome) ---------- */
.cnt{display:inline-block;font-variant-numeric:tabular-nums;color:var(--neon);text-shadow:0 0 22px var(--neon-glow)}
@media(prefers-reduced-motion:no-preference){
 html.fx [data-rv]{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1.1s var(--ease);transition-delay:calc(var(--i,0)*110ms)}
 html.fx [data-rv=left]{transform:translateX(-40px)}
 html.fx [data-rv].in{opacity:1;transform:none}
 /* headline: line-by-line reveal behind a mask */
 html.fx [data-lines]:not(.is-split){opacity:0}
 html.fx [data-lines] .w{display:inline-block;overflow:hidden;vertical-align:top;padding-top:.2em;margin-top:-.2em}
 html.fx [data-lines] .w>span{display:inline-block;transform:translateY(112%);transition:transform 1.15s var(--ease);transition-delay:calc(var(--l,0)*130ms + 120ms)}
 html.fx [data-lines].is-in .w>span{transform:none}
 html.fx [data-lines].is-done .w{overflow:visible}
 /* neon warming up, then a slow ambient glow */
 html.fx .hero h1:not(.is-done) em,html.fx .contact h2:not(.in) em{text-shadow:none}
 html.fx .hero h1.is-done em,html.fx .contact h2.in em{animation:warm 2.6s linear both}
 html.fx .hero2-visual,html.fx .hero-visual,html.fx .digital-real{animation:fadein 2.2s .2s var(--ease) both}
 .services2 .fine::before{animation:pulse 2.8s ease-in-out infinite}
}
@keyframes warm{0%{opacity:.35;text-shadow:none}7%{opacity:1;text-shadow:0 0 30px rgba(200,137,59,.5)}10%{opacity:.4;text-shadow:none}18%{opacity:.5}21%{opacity:1;text-shadow:0 0 34px rgba(200,137,59,.5)}26%{opacity:.55;text-shadow:none}38%{opacity:1;text-shadow:0 0 34px rgba(200,137,59,.42)}44%{opacity:.82}52%,100%{opacity:1;text-shadow:0 0 34px rgba(200,137,59,.42),0 0 110px rgba(200,137,59,.28)}}
@keyframes glow{from{text-shadow:0 0 34px rgba(200,137,59,.42),0 0 110px rgba(200,137,59,.28)}to{text-shadow:0 0 44px rgba(224,168,92,.6),0 0 150px rgba(200,137,59,.42)}}
@keyframes ambient{from{opacity:.65}to{opacity:1}}
@keyframes fadein{from{opacity:0}}
@keyframes pulse{50%{opacity:.35;box-shadow:0 0 4px 0 var(--neon-glow)}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
 .mq-track{animation:none!important;flex-wrap:wrap;width:auto}
 .mq-track>span[aria-hidden]{display:none}
}

/* ---------- responsive ---------- */
@media(max-width:1100px){
 .header nav{gap:18px;letter-spacing:.12em}
 .hero-content{grid-column:1/13;grid-template-columns:minmax(0,1fr);row-gap:var(--s6)}
 .hero2-visual,.hero-visual{grid-column:7/13}.hero2-video{grid-column:9/13}
}
@media(max-width:960px){
 :root{--head-h:72px}
 .menu-toggle{display:inline-flex}
 .language{margin-left:auto}
 .header nav{position:absolute;top:100%;left:0;right:0;height:calc(100dvh - var(--head-h));margin:0;padding:var(--s6) var(--gutter) var(--s8);display:none;flex-direction:column;align-items:flex-start;gap:0;overflow:auto;background:var(--bg);border-top:1px solid var(--rule)}
 .header nav.open{display:flex}
 .header nav>a:not(.button){width:100%;padding:var(--s4) 0;border-bottom:1px solid var(--rule);font:400 clamp(34px,9vw,56px)/1.1 var(--display);letter-spacing:.01em;color:var(--ink)}
 .header nav>a:not(.button)::after{display:none}
 .header nav .button{margin-top:var(--s6);width:100%;min-height:58px;background:var(--amber);color:#0E0D0C;font-size:13px}
 .value2>.wrap,.report2-grid,.split,.faq-layout,.section-head,.footer-main{grid-template-columns:minmax(0,1fr)}
 .value2-head,.faq-layout>div:first-child{position:static}
 .person-photo{position:relative;top:auto}
 .value2-head{margin-bottom:var(--s7)}
 .report2-grid>div,.report-card{grid-column:1}
 .report-card{margin-top:var(--s8);max-width:560px}
 .services2-grid{grid-template-columns:minmax(0,1fr)}
 :is(.services2-grid,.offer-grid,.digital-package-grid,.partnership-grid)>article:nth-child(2){margin-top:0}
 .method2-steps{grid-template-columns:minmax(0,1fr);row-gap:var(--s7)}
 .method2-steps li:nth-child(n){margin-top:0}
 .method2-steps li{display:grid;grid-template-columns:minmax(0,1fr);}
 .method2 h2{margin-bottom:var(--s8)}
 .method2-note{margin-top:var(--s8)}
 .section-head{row-gap:var(--s5);margin-bottom:var(--s8)}
 .person,.person:nth-child(even){grid-template-columns:minmax(0,1fr);row-gap:var(--s6)}
 .person:nth-child(even) .person-photo{order:0}
 .person-photo{max-width:520px;width:100%}
 .person:nth-child(even) .person-photo{margin-left:auto}
 .split{row-gap:var(--s7)}
 .contact .contact-form{grid-column:1;margin-top:var(--s8)}
 .footer-main .brand{grid-row:auto}
 .doors{flex-direction:column}
 .door{flex:1 1 auto;min-height:min(78svh,620px)}
 .door+.door{border-left:0;border-top:1px solid var(--rule-strong)}
}
@media(max-width:640px){
 :root{--fs-h1:clamp(36px,min(12.4vw,6vh),64px);--fs-h2:clamp(38px,11.6vw,56px)}
 .area-home{display:none}
 .area-inner{justify-content:flex-end}
 .brand b{font-size:28px}.brand small{font-size:8px;letter-spacing:.36em}
 .header-inner,.entry-header-inner{gap:var(--s3)}
 .language a{min-width:30px}
 .menu-toggle{padding:0 var(--s3)}
 .hero{min-height:calc(100svh - var(--head-h) - 39px)}
 .hero2-grid,.hero-grid,.digital-hero-grid{align-content:end;padding-block:var(--s5) var(--s6)}
 .hero2-visual,.hero-visual{position:absolute;inset:0 0 auto 0;height:62%;min-height:0;margin:0;grid-column:auto;opacity:.62}
 .hero2-visual::after,.hero-visual::after{background:linear-gradient(0deg,var(--bg) 2%,rgba(14,13,12,.5) 55%,rgba(14,13,12,.2))}
 .hero2-video{position:relative;inset:auto;grid-column:1/-1;grid-row:1;justify-self:stretch;width:auto;height:auto;aspect-ratio:4/5;margin:0 0 var(--s6);opacity:1}
 .hero2-video+*{grid-row:auto}
 .hero-hotel2:has(.hero2-video){min-height:0}
 .hero-hotel2:has(.hero2-video) .hero-content{grid-row:2}
 .hero h1{margin-bottom:var(--s2)}
 .hero-lead{font-size:15px;line-height:1.55}
 .hero-content{row-gap:var(--s4)}
 .hero .eyebrow{margin-bottom:var(--s4);font-size:11px;letter-spacing:.18em}
 .hero h1{line-height:1.08}
 .hero-actions{flex-direction:column;align-items:stretch;gap:var(--s4)}
 .hero-actions .text-link{align-self:flex-start}
 .button{width:100%}
 .contact-form .button{justify-self:stretch}
 .hero-regions .wrap{flex-direction:column;align-items:flex-start;gap:0;padding-top:var(--s4)}
 .hero-regions p.mq{width:100%}
 .section>.wrap{padding-top:var(--s7)}
 .value2-grid article{grid-template-columns:minmax(0,1fr);row-gap:var(--s4)}
 .roman{grid-row:auto}
 .method2::before{width:60px;height:60px;top:-30px;background-size:24px}
 .report-card{transform:rotate(-1.2deg)}
 .report-card-kpis{grid-template-columns:minmax(0,1fr)}
 .report-card-kpis div,.report-card-kpis div+div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s4);padding:var(--s3) 0;border-left:0}
 .report-card-kpis div+div{border-top:1px solid rgba(23,20,18,.25)}
 .report-card-kpis dd{margin:0}
 .services2 .fine{margin-left:0}
 .services2-guarantee{padding-left:var(--s5)}
 .timeline{grid-template-columns:minmax(0,1fr);row-gap:var(--s6)}
 .form-row{grid-template-columns:minmax(0,1fr)}
 .contact h2{font-size:clamp(50px,16.5vw,84px)}
 .footer-bottom{flex-direction:column;align-items:flex-start}
 .door{min-height:min(74svh,560px)}
 .door-actions{flex-direction:column;align-items:flex-start;width:100%}
}

@media(max-width:960px){
 .offer-grid,.event-types-layout,.partners-layout,.partnership-grid,.scope-layout,.digital-package-grid,.digital-faq{grid-template-columns:minmax(0,1fr)}
 .offer-grid>article:nth-child(2),.partnership-grid>article:nth-child(2),.digital-package-grid>article:nth-child(2){margin-top:0}
 .event-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--s7)}
 .digital-steps,.wedding-benefits{grid-template-columns:minmax(0,1fr);row-gap:var(--s7)}
 :is(.event-steps,.digital-steps) li:nth-child(n),.wedding-benefits article:nth-child(n){margin-top:0}
 .event-cta-box{flex-direction:column;align-items:flex-start}
 .event-types-photo,.partners-photo{min-height:0;aspect-ratio:16/10;margin-bottom:var(--s6)}
 .scope-layout>div:first-child{position:static;margin-bottom:var(--s6)}
 .corporate-brand{margin:calc(-1*var(--s7)) var(--s4) 0}
 .corporate-photo{aspect-ratio:4/3}
 .digital-hero .hero-content{grid-column:1/13}
 .digital-real{grid-column:1/13;grid-row:auto;margin-top:var(--s7);max-width:640px}
 .digital-faq>h3{margin-bottom:var(--s5)}
 .context-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--s6)}
}
@media(max-width:640px){
 .hero:not(.hero-hotel2):not(.digital-hero){min-height:0}
 .hero:not(.hero-hotel2) .hero-content{padding-top:var(--s8)}
 .digital-hero{min-height:0}
 .digital-hero h1{font-size:clamp(38px,11.6vw,60px)}
 .digital-jump{flex-wrap:wrap;gap:var(--s3) var(--s5)}
 .event-steps{grid-template-columns:minmax(0,1fr)}
 .event-type{grid-template-columns:minmax(0,1fr);row-gap:var(--s3);padding-block:var(--s6)}
 .event-type .index,.event-type p,.event-type .text-link{grid-column:1;grid-row:auto}
 .event-type .text-link{justify-self:start}
 .capabilities article{grid-template-columns:minmax(0,1fr);row-gap:var(--s3)}
 .work-grid,.context-grid{grid-template-columns:minmax(0,1fr)}
 .screen-example{min-height:300px}
 .event-cta-box .text-link{letter-spacing:.03em;font-size:11px}.event-cta-box .button{letter-spacing:.06em}
 .event-cta-links{width:100%}
 .thankyou .button{margin-right:0}
}

/* ===== Luxury type (10/11/2026): Cormorant Garamond replaces Anton for all display type; logo image in the header ===== */
h1,h2,h3{font-weight:500;text-transform:none;letter-spacing:-.012em}
h1{line-height:1.02}h2{line-height:1.04}h3{line-height:1.06;letter-spacing:0}
h1 em,h2 em,h3 em{font-style:italic;font-weight:500;letter-spacing:-.02em}
.hero-regions p,.report-card-title,.report-card-kpis dd,:is(.event-steps,.digital-steps) h4,.work-item strong,.screen-example p.screen-headline,.context-grid h4{text-transform:none;font-weight:500;letter-spacing:0}
.hero-regions p{font-style:italic;font-size:clamp(22px,2.3vw,34px)}
:is(.event-steps,.digital-steps) h4,.context-grid h4,.work-item strong{font-size:clamp(24px,2.2vw,32px)}
.method2-steps .eyebrow,.timeline .eyebrow{font-weight:500;text-transform:none;letter-spacing:0}
.roman,.index,.door::after{font-weight:400;font-style:italic;-webkit-text-stroke:0;color:var(--neon);text-shadow:0 0 24px var(--neon-glow)}
.roman{color:var(--neon)}
.door::after{color:var(--rule-strong);text-shadow:none}
.header nav>a:not(.button){font-weight:500}
.brand-logo{display:block;width:auto;height:58px}
.entry-header .brand-logo{height:60px}
.footer-main .brand b{font-size:clamp(56px,9.4vw,150px);line-height:.9;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.footer-main .brand b span{color:var(--amber)}
.footer-main .brand small{letter-spacing:.62em}
@media (max-width:640px){.brand-logo,.entry-header .brand-logo{height:42px}}

/* ===== Performance (10/11/2026): same look, less repainting while scrolling ===== */
@media (max-width:960px){.header{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(14,13,12,.96)}}
.hero2-video{cursor:pointer}
