/*
Theme Name: Sensational Events
Theme URI: https://sensationalevents.com
Author: Sensational Events
Author URI: https://sensationalevents.com
Description: A dark, candlelit luxury theme for Sensational Events — "Catering to the senses. Elevating experiences." Built around the brand identity system (Gold #D4AF37, Ivory #F4F1E8, Charcoal #1A1A1A, Bronze #8C6A3D) with an Africa accent palette, Cinzel Display / Optima typography, an Experiences custom post type for the five senses, a Journal, a filterable Gallery, ticketing/waitlist pages and editorial mega-menu navigation.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sensational
Tags: dark, luxury, events, restaurant, one-column, custom-menu, custom-logo, featured-images, editor-style, block-styles, threaded-comments
*/

/* ============================================================
   SENSATIONAL EVENTS — Brand Identity System
   Gold #D4AF37 · Ivory #F4F1E8 · Charcoal #1A1A1A · Bronze #8C6A3D
   Africa Collection: Terracotta #B44A2C · Burnt Sienna #8A3E1F
   Deep Olive #3E4B34 · Sandstone #CDB79E · Aged Brass #B08D43
   Type: Cinzel Display / Optima (Cormorant italic accents)
   ============================================================ */
:root{
  --black:#0B0B0B; --coal:#101010; --charcoal:#1A1A1A;
  --gold:#D4AF37; --bronze:#8C6A3D; --brass:#B08D43;
  --ivory:#F4F1E8;
  --ivory-70:rgba(244,241,232,.72); --ivory-55:rgba(244,241,232,.55); --ivory-35:rgba(244,241,232,.35);
  --terracotta:#B44A2C; --sienna:#8A3E1F; --olive:#3E4B34; --sand:#CDB79E;
  --line:rgba(212,175,55,.16); --line-soft:rgba(212,175,55,.10);
  --serif:'Cinzel',Georgia,serif;
  --ital:'Cormorant Garamond',Georgia,serif;
  --sans:Optima,'Jost','Segoe UI',Helvetica,Arial,sans-serif;
  --maxw:1180px; --headH:80px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--ivory-70);font:300 16px/1.85 var(--sans);letter-spacing:.02em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--gold);color:var(--black)}
img,svg{display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul{list-style:none}
:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:var(--black)}
::-webkit-scrollbar-thumb{background:#2a2313;border:2px solid var(--black);border-radius:6px}
::-webkit-scrollbar-thumb:hover{background:var(--bronze)}

/* Cinematic grain over everything */
body::after{content:'';position:fixed;inset:0;z-index:2000;pointer-events:none;opacity:.05;mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}

.skip{position:fixed;top:-60px;left:24px;z-index:3000;background:var(--gold);color:var(--black);padding:12px 20px;font:500 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;transition:top .3s}
.skip:focus{top:16px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.wrap-n{max-width:820px;margin:0 auto;padding:0 28px}
.center{text-align:center}
.sec{padding:112px 0}
.sec-t{padding-top:60px}
.line-t{border-top:1px solid var(--line)}

/* ---------- Typography ---------- */
.label{display:inline-block;font:500 10.5px/1 var(--sans);letter-spacing:.42em;text-transform:uppercase;color:var(--gold)}
.label.bz{color:var(--bronze)}
.label.sd{color:var(--sand)}
h1.display{font:600 clamp(38px,5.6vw,68px)/1.1 var(--serif);letter-spacing:.035em;text-transform:uppercase;color:var(--ivory);margin:22px 0 8px}
h1.display .gold,.gold{color:var(--gold)}
.it-line{font:italic 500 clamp(21px,2.6vw,32px)/1.35 var(--ital);color:var(--gold);letter-spacing:.02em}
.h-sec{font:500 clamp(19px,2.1vw,23px)/1.4 var(--serif);letter-spacing:.3em;text-transform:uppercase;color:var(--ivory);text-align:center}
.h-ed{font:500 clamp(26px,3.4vw,40px)/1.35 var(--serif);letter-spacing:.04em;color:var(--ivory)}
.h-ed .it{display:block;font:italic 500 1em/1.35 var(--ital);color:var(--gold);text-transform:none;letter-spacing:.02em}
.h-sub{font:500 17px/1.5 var(--serif);letter-spacing:.22em;text-transform:uppercase;color:var(--ivory)}
.lead{max-width:600px;font-size:16.5px;color:var(--ivory-70)}
.small{font-size:13.5px;color:var(--ivory-55)}
.mini{font:400 10.5px/1.8 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--ivory-35)}
.prose p+p{margin-top:1.35em}
.rule{width:64px;height:1px;background:var(--gold);opacity:.55;margin:34px auto}
.rule.left{margin:30px 0}

/* ---------- Buttons & links ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:16px 32px;border:1px solid var(--gold);color:var(--gold);font:500 10.5px var(--sans);letter-spacing:.3em;text-transform:uppercase;background:transparent;transition:background .35s,color .35s,border-color .35s;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--gold);color:var(--black)}
.btn-fill{background:var(--gold);color:var(--black)}
.btn-fill:hover{background:transparent;color:var(--gold)}
.btn-ghost{border-color:rgba(212,175,55,.35);color:var(--ivory-70)}
.btn-ghost:hover{border-color:var(--gold);background:transparent;color:var(--gold)}
.btn-sm{padding:12px 22px;letter-spacing:.26em;font-size:10px}
.btn[disabled]{opacity:.4;pointer-events:none}
.link-a{display:inline-flex;align-items:center;gap:10px;font:500 10.5px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.link-a svg{transition:transform .3s}
.link-a:hover svg{transform:translateX(6px)}
.btn-row{display:flex;gap:18px;flex-wrap:wrap;align-items:center}

/* ---------- Header ---------- */
.site-head{position:fixed;top:0;left:0;right:0;z-index:1000;transition:background .4s,border-color .4s,backdrop-filter .4s;border-bottom:1px solid transparent}
.site-head.scrolled,body.menu-open .site-head{background:rgba(9,9,9,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--line)}
.head-in{max-width:1360px;margin:0 auto;padding:0 32px;height:var(--headH);display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo{display:flex;flex-direction:column;align-items:center;gap:5px;flex:none}
.logo-img{display:block;height:52px;width:auto;transition:height .4s}
.site-head.scrolled .logo-img{height:44px}
.custom-logo{display:block;height:52px;width:auto}
.foot .logo-img{height:46px}
.logo-word{font:500 21px/1 var(--serif);letter-spacing:.14em;color:var(--gold);display:flex;align-items:baseline}
.logo-word b{font-weight:600;font-size:1.42em;line-height:.8;margin-right:1px}
.logo-sub{display:flex;align-items:center;gap:9px;width:100%;font:500 8px/1 var(--sans);letter-spacing:.6em;text-indent:.6em;color:var(--gold)}
.logo-sub i{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--bronze));min-width:14px}
.logo-sub i:last-child{background:linear-gradient(90deg,var(--bronze),transparent)}
.nav{display:flex;align-items:center;gap:30px}
.nav>li{position:relative}
.nav a.top,.nav .top{white-space:nowrap;font:500 10.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-70);padding:12px 2px;display:inline-flex;align-items:center;gap:7px;transition:color .3s;border-bottom:1px solid transparent}
.nav .top:hover{color:var(--gold)}
.nav .top.active{color:var(--gold);border-bottom-color:rgba(212,175,55,.5)}
.nav .top svg{opacity:.7;transition:transform .3s}
.has-mega:hover .top svg,.has-mega:focus-within .top svg{transform:rotate(180deg)}
.head-cta{flex:none}
.burger{display:none;flex-direction:column;gap:6px;padding:10px;flex:none}
.burger span{display:block;width:26px;height:1px;background:var(--gold);transition:transform .35s,opacity .35s}
body.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mega menu */
.mega{position:fixed;left:50%;top:var(--headH);transform:translateX(-50%) translateY(10px);width:min(960px,94vw);background:#0d0d0d;border:1px solid var(--line);box-shadow:0 40px 80px rgba(0,0,0,.6);display:grid;grid-template-columns:1.15fr 1fr 1.2fr;opacity:0;visibility:hidden;transition:opacity .3s,transform .3s,visibility .3s;padding:38px 42px;gap:40px}
.has-mega:hover .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.mega-t{font:500 9.5px var(--sans);letter-spacing:.4em;text-transform:uppercase;color:var(--bronze);padding-bottom:16px;border-bottom:1px solid var(--line-soft);margin-bottom:8px}
.mega ul a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;font:400 13.5px var(--sans);letter-spacing:.06em;color:var(--ivory-70);transition:color .25s}
.mega ul a:hover{color:var(--gold)}
.mega ul a em{font:400 9px var(--sans);font-style:normal;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory-35);white-space:nowrap}
.mega ul a em.on{color:var(--gold)}
.mega-feat{border:1px solid var(--line);padding:26px 26px 28px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,#131313,#0c0c0c);position:relative;overflow:hidden}
.mega-feat .pb{position:absolute;top:0;left:0;right:0;height:5px}
.mega-feat h5{font:500 17px var(--serif);letter-spacing:.16em;color:var(--ivory);text-transform:uppercase;margin-top:8px}
.mega-feat p{font-size:12.5px;line-height:1.7;color:var(--ivory-55)}

/* Mobile menu */
.mmenu{position:fixed;inset:0;z-index:900;background:rgba(8,8,8,.98);padding:130px 34px 60px;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s;display:flex;flex-direction:column}
body.menu-open .mmenu{opacity:1;visibility:visible}
.mmenu>a,.mmenu summary{font:500 21px/1 var(--serif);letter-spacing:.18em;text-transform:uppercase;color:var(--ivory);padding:19px 0;border-bottom:1px solid var(--line-soft);display:block}
.mmenu a.mm-cta{color:var(--gold)}
.mmenu details{border-bottom:1px solid var(--line-soft)}
.mmenu details summary{border:0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.mmenu summary::-webkit-details-marker{display:none}
.mmenu summary::after{content:'+';font:300 22px var(--sans);color:var(--gold);transition:transform .3s}
.mmenu details[open] summary::after{transform:rotate(45deg)}
.mm-sub{padding:4px 0 22px 4px}
.mm-sub a{display:flex;justify-content:space-between;font:400 13px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ivory-55);padding:11px 0}
.mm-sub a em{font-style:normal;font-size:9px;letter-spacing:.2em;color:var(--ivory-35)}
.mm-sub .mm-h{font:500 9.5px var(--sans);letter-spacing:.36em;color:var(--bronze);text-transform:uppercase;padding:16px 0 6px}
.mm-foot{margin-top:auto;padding-top:44px;display:flex;flex-direction:column;gap:20px}
.mm-mono{height:52px;width:auto;opacity:.9}

/* ---------- Hero ---------- */
.hero{min-height:92vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:calc(var(--headH) + 40px) 0 90px}
.hero-page{min-height:0;padding:calc(var(--headH) + 90px) 0 84px}
.hero::before{content:'';position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(640px 460px at 76% 58%, rgba(212,175,55,.16), transparent 62%),
  radial-gradient(440px 340px at 66% 80%, rgba(180,74,44,.12), transparent 60%),
  radial-gradient(1000px 640px at 50% 118%, rgba(140,106,61,.14), transparent 62%);
  animation:breathe 9s ease-in-out infinite alternate}
.hero::after{content:'';position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(130% 130% at 50% 30%, transparent 46%, rgba(0,0,0,.62) 100%),
  linear-gradient(180deg,transparent 82%, var(--black) 100%)}
.hero>*{position:relative;z-index:2}
.hero .lead{margin:30px 0 40px}
.hero-glow-terra::before{background:
  radial-gradient(640px 460px at 74% 55%, rgba(180,74,44,.2), transparent 62%),
  radial-gradient(460px 340px at 62% 82%, rgba(212,175,55,.13), transparent 60%),
  radial-gradient(1000px 640px at 50% 118%, rgba(138,62,31,.18), transparent 62%)}
.hero-glow-green::before{background:
  radial-gradient(640px 460px at 74% 55%, rgba(46,88,74,.24), transparent 62%),
  radial-gradient(460px 340px at 62% 82%, rgba(212,175,55,.12), transparent 60%),
  radial-gradient(1000px 640px at 50% 118%, rgba(62,75,52,.2), transparent 62%)}
.hero-glow-indigo::before{background:
  radial-gradient(640px 460px at 74% 55%, rgba(48,62,90,.26), transparent 62%),
  radial-gradient(460px 340px at 62% 82%, rgba(212,175,55,.12), transparent 60%),
  radial-gradient(1000px 640px at 50% 118%, rgba(31,40,58,.24), transparent 62%)}

/* candle bokeh cluster */
.bokeh{position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(circle at 82% 66%, rgba(212,175,55,.5) 0 3px, transparent 34px),
  radial-gradient(circle at 74% 74%, rgba(212,175,55,.34) 0 2px, transparent 26px),
  radial-gradient(circle at 89% 78%, rgba(230,190,90,.4) 0 3px, transparent 30px),
  radial-gradient(circle at 68% 62%, rgba(212,175,55,.22) 0 2px, transparent 22px),
  radial-gradient(circle at 79% 86%, rgba(212,175,55,.28) 0 2px, transparent 24px),
  radial-gradient(circle at 93% 60%, rgba(212,175,55,.2) 0 2px, transparent 20px);
  filter:blur(1px);animation:flick 8s ease-in-out infinite}
.candles{display:inline-flex;gap:22px;align-items:flex-end}
.candles i{width:4px;height:4px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px 3px rgba(212,175,55,.65),0 0 34px 12px rgba(212,175,55,.22);animation:flick 5.5s ease-in-out infinite}
.candles i:nth-child(2){animation-delay:1.6s;transform:translateY(5px)}
.candles i:nth-child(3){animation-delay:3.1s;transform:translateY(2px)}
@keyframes breathe{from{opacity:.8}to{opacity:1.05;filter:brightness(1.1)}}
@keyframes flick{0%,100%{opacity:.85}14%{opacity:.62}32%{opacity:1}49%{opacity:.72}66%{opacity:.96}83%{opacity:.8}}
.scroll-cue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:12px;font:500 9px var(--sans);letter-spacing:.4em;text-transform:uppercase;color:var(--ivory-35)}
.scroll-cue::after{content:'';width:1px;height:44px;background:linear-gradient(180deg,var(--gold),transparent);animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%,100%{opacity:.3;transform:scaleY(.6);transform-origin:top}50%{opacity:1;transform:scaleY(1)}}

/* ---------- Textures (CSS-crafted imagery) ---------- */
.tx{position:absolute;inset:0;transition:transform .7s ease}
.tx-bokeh{background:#120d05}
.tx-bokeh::before{content:'';position:absolute;inset:0;background:
  radial-gradient(circle at 24% 34%, rgba(212,175,55,.55) 0 4px, transparent 42px),
  radial-gradient(circle at 66% 28%, rgba(230,190,90,.4) 0 3px, transparent 34px),
  radial-gradient(circle at 44% 62%, rgba(212,175,55,.35) 0 3px, transparent 30px),
  radial-gradient(circle at 82% 58%, rgba(212,175,55,.5) 0 4px, transparent 40px),
  radial-gradient(circle at 30% 82%, rgba(230,190,90,.3) 0 2px, transparent 26px),
  radial-gradient(circle at 72% 84%, rgba(212,175,55,.42) 0 3px, transparent 36px),
  radial-gradient(circle at 55% 45%, rgba(180,120,40,.25) 0 2px, transparent 44px),
  radial-gradient(140% 120% at 50% 120%, rgba(140,106,61,.28), transparent 60%);
  filter:blur(1.5px)}
.tx-spice{background:linear-gradient(160deg,#1c1208,#0c0805)}
.tx-spice::before{content:'';position:absolute;inset:0;background:
  radial-gradient(circle at 26% 30%, #B44A2C 0 34px, transparent 35px),
  radial-gradient(circle at 60% 22%, #B08D43 0 26px, transparent 27px),
  radial-gradient(circle at 82% 40%, #8A3E1F 0 30px, transparent 31px),
  radial-gradient(circle at 40% 64%, #3E4B34 0 28px, transparent 29px),
  radial-gradient(circle at 70% 74%, #CDB79E 0 22px, transparent 23px),
  radial-gradient(circle at 18% 78%, #D4AF37 0 18px, transparent 19px);
  opacity:.8;filter:saturate(.85)}
.tx-spice::after{content:'';position:absolute;inset:0;background:radial-gradient(120% 100% at 50% 0%,transparent 40%,rgba(0,0,0,.72))}
.tx-vinyl{background:repeating-radial-gradient(circle at 50% 52%, #0d0d0d 0 5px, #171717 5px 7px)}
.tx-vinyl::before{content:'';position:absolute;left:50%;top:52%;width:56px;height:56px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#D4AF37 0 8px,#3a2c0e 9px 26px,#0d0d0d 27px)}
.tx-vinyl::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(212,175,55,.14),transparent 45%),radial-gradient(120% 120% at 50% 50%,transparent 55%,rgba(0,0,0,.7))}
.tx-statue{background:linear-gradient(155deg,#241a0c,#0c0906 60%)}
.tx-statue::before{content:'';position:absolute;left:52%;top:14%;width:34%;height:78%;transform:translateX(-50%) rotate(-2deg);border-radius:46% 54% 40% 44%/60% 58% 42% 40%;background:linear-gradient(140deg,#b98a3a,#5c3f14 55%,#1c1206);filter:blur(1px);opacity:.9}
.tx-statue::after{content:'';position:absolute;inset:0;background:radial-gradient(90% 80% at 30% 20%,rgba(212,175,55,.16),transparent 55%),radial-gradient(130% 120% at 50% 50%,transparent 50%,rgba(0,0,0,.72))}
.tx-leaf{background:linear-gradient(150deg,#1c2618,#0a0f09 65%)}
.tx-leaf::before{content:'';position:absolute;inset:0;background:
  repeating-linear-gradient(115deg, rgba(212,175,55,.05) 0 2px, transparent 2px 26px),
  repeating-linear-gradient(65deg, rgba(62,75,52,.5) 0 3px, transparent 3px 30px);
  opacity:.8}
.tx-leaf::after{content:'';position:absolute;inset:0;background:radial-gradient(130% 120% at 50% 40%,transparent 45%,rgba(0,0,0,.7))}
.tx-smoke{background:linear-gradient(180deg,#0c0c0c,#141210)}
.tx-smoke::before{content:'';position:absolute;inset:0;background:
  radial-gradient(38% 60% at 56% 60%, rgba(244,241,232,.12), transparent 70%),
  radial-gradient(26% 44% at 48% 34%, rgba(244,241,232,.09), transparent 70%),
  radial-gradient(20% 30% at 62% 20%, rgba(244,241,232,.07), transparent 70%);
  filter:blur(6px)}
.tx-smoke::after{content:'';position:absolute;left:50%;bottom:16%;width:3px;height:3px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px 4px rgba(212,175,55,.7)}
.tx-clay{background:radial-gradient(120% 110% at 30% 20%, #c05a38 0%, #8a3e1f 48%, #4e2311 100%)}
.tx-clay::before{content:'';position:absolute;inset:0;opacity:.35;background:
  repeating-linear-gradient(23deg,rgba(0,0,0,.25) 0 1px,transparent 1px 14px),
  repeating-linear-gradient(-64deg,rgba(0,0,0,.2) 0 1px,transparent 1px 22px)}
.tx-weave{background:#17110a}
.tx-weave::before{content:'';position:absolute;inset:0;background:
  repeating-linear-gradient(45deg, rgba(176,141,67,.34) 0 3px, transparent 3px 11px),
  repeating-linear-gradient(-45deg, rgba(140,106,61,.3) 0 3px, transparent 3px 11px)}
.tx-weave::after{content:'';position:absolute;inset:0;background:radial-gradient(120% 110% at 50% 40%,transparent 50%,rgba(0,0,0,.6))}
.tx-stone{background:linear-gradient(160deg,#262626,#0e0e0e 70%)}
.tx-stone::before{content:'';position:absolute;inset:0;background:
  radial-gradient(60% 40% at 30% 26%, rgba(255,255,255,.06), transparent 60%),
  repeating-linear-gradient(12deg, rgba(255,255,255,.03) 0 1px, transparent 1px 18px)}
.tx-metal{background:linear-gradient(145deg,#8a6a34,#453113 70%)}
.tx-metal::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 7px 7px, rgba(244,241,232,.2) 2px, transparent 3.5px);background-size:22px 22px;opacity:.7}
.tx-metal::after{content:'';position:absolute;inset:0;background:radial-gradient(80% 70% at 30% 20%,rgba(255,235,180,.2),transparent 60%),radial-gradient(130% 130% at 50% 50%,transparent 55%,rgba(0,0,0,.55))}
.tx-linen{background:#161310}
.tx-linen::before{content:'';position:absolute;inset:0;background:
  repeating-linear-gradient(0deg, rgba(244,241,232,.05) 0 1px, transparent 1px 4px),
  repeating-linear-gradient(90deg, rgba(244,241,232,.045) 0 1px, transparent 1px 4px)}
.tx-linen::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(212,175,55,.08),transparent 50%)}
.tx-shadow{background:#0d0c0a}
.tx-shadow::before{content:'';position:absolute;inset:0;background:
  linear-gradient(112deg, rgba(212,175,55,.2) 0 26%, transparent 60%),
  linear-gradient(112deg, transparent 0 42%, rgba(0,0,0,.5) 68%, transparent 92%)}
.tx-plate{background:radial-gradient(120% 120% at 50% 30%,#191919,#090909 70%)}
.tx-plate::before{content:'';position:absolute;left:50%;top:50%;width:min(66%,340px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:
  radial-gradient(circle at 38% 32%, #2a2a2a 0 26%, #151515 42%, #0b0b0b 62%, #1d1d1d 63% 66%, #060606 67%);
  box-shadow:0 30px 60px rgba(0,0,0,.8), inset 0 0 0 1px rgba(212,175,55,.12)}
.tx-plate::after{content:'';position:absolute;left:50%;top:50%;width:15%;aspect-ratio:1;transform:translate(-50%,-52%);border-radius:44% 56% 52% 48%;background:
  radial-gradient(circle at 30% 30%, #7c8a5c, #46512f 60%, #2c331d);
  box-shadow:12px 8px 0 -4px #8A3E1F, -12px 10px 0 -5px #B08D43, 2px 20px 0 -6px #3E4B34, 0 0 24px rgba(212,175,55,.25)}
.tx-table{background:linear-gradient(180deg,#0c0a07 30%,#241708)}
.tx-table::before{content:'';position:absolute;inset:0;background:
  radial-gradient(circle at 30% 74%, rgba(212,175,55,.5) 0 3px, transparent 30px),
  radial-gradient(circle at 46% 66%, rgba(230,190,90,.45) 0 3px, transparent 26px),
  radial-gradient(circle at 62% 76%, rgba(212,175,55,.4) 0 3px, transparent 30px),
  radial-gradient(circle at 76% 64%, rgba(230,190,90,.35) 0 2px, transparent 24px),
  radial-gradient(circle at 20% 60%, rgba(212,175,55,.3) 0 2px, transparent 22px),
  radial-gradient(60% 30% at 50% 84%, rgba(140,106,61,.35), transparent 70%);
  filter:blur(1px)}
.tx-table::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.5),transparent 45%,rgba(0,0,0,.35))}
.tx-arch{background:linear-gradient(180deg,#151009,#090705)}
.tx-arch::before{content:'';position:absolute;left:50%;bottom:0;width:52%;height:82%;transform:translateX(-50%);border:1px solid rgba(212,175,55,.4);border-bottom:0;border-radius:999px 999px 0 0;background:linear-gradient(180deg,rgba(212,175,55,.12),transparent 60%)}
.tx-arch::after{content:'';position:absolute;left:50%;bottom:0;width:34%;height:64%;transform:translateX(-50%);border:1px solid rgba(212,175,55,.25);border-bottom:0;border-radius:999px 999px 0 0}
.tx-drink{background:linear-gradient(160deg,#1a0f06,#0a0603)}
.tx-drink::before{content:'';position:absolute;left:50%;bottom:18%;width:26%;height:40%;transform:translateX(-50%);background:linear-gradient(180deg,rgba(212,140,60,.85),rgba(160,80,30,.9));border-radius:6px 6px 10px 10px;box-shadow:inset 0 0 0 1px rgba(244,241,232,.25),0 18px 40px rgba(0,0,0,.7)}
.tx-drink::after{content:'';position:absolute;left:50%;bottom:52%;width:34%;height:2px;transform:translateX(-58%) rotate(-24deg);background:#3E4B34;box-shadow:0 -3px 0 -1px #5a6b4f}
.tx-cloth{background:linear-gradient(135deg,#b89a72,#7d6647 45%,#4c3c27)}
.tx-cloth::before{content:'';position:absolute;inset:0;background:
  radial-gradient(80% 60% at 24% 20%, rgba(255,255,255,.16), transparent 55%),
  repeating-linear-gradient(135deg, rgba(0,0,0,.14) 0 10px, transparent 10px 34px);filter:blur(.4px)}
.tx-carib{background:linear-gradient(160deg,#123028,#08150f 70%)}
.tx-carib::before{content:'';position:absolute;inset:0;background:
  repeating-radial-gradient(circle at 50% 128%, rgba(212,175,55,.16) 0 2px, transparent 2px 30px),
  radial-gradient(70% 50% at 70% 20%, rgba(212,140,60,.16), transparent 60%)}
.tx-japan{background:linear-gradient(165deg,#1a2230,#0a0d13 70%)}
.tx-japan::before{content:'';position:absolute;left:50%;top:38%;width:120px;height:120px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(212,175,55,.55);background:radial-gradient(circle,rgba(212,175,55,.14),transparent 65%)}
.tx-japan::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 26px,rgba(244,241,232,.04) 26px 27px)}
.tx-future{background:linear-gradient(160deg,#141414,#0a0a0a)}
.tx-future::before{content:'';position:absolute;inset:0;background:
  radial-gradient(circle at 30% 30%, rgba(212,175,55,.5) 0 1.5px, transparent 3px),
  radial-gradient(circle at 64% 22%, rgba(212,175,55,.4) 0 1px, transparent 2.5px),
  radial-gradient(circle at 78% 52%, rgba(212,175,55,.45) 0 1.5px, transparent 3px),
  radial-gradient(circle at 44% 66%, rgba(212,175,55,.35) 0 1px, transparent 2.5px),
  radial-gradient(circle at 22% 76%, rgba(212,175,55,.4) 0 1px, transparent 2.5px),
  radial-gradient(circle at 60% 84%, rgba(212,175,55,.3) 0 1px, transparent 2px)}
.tx-future::after{content:'';position:absolute;left:50%;top:50%;width:110px;height:110px;transform:translate(-50%,-50%) rotate(45deg);border:1px solid rgba(212,175,55,.35)}
.tx-chef{background:linear-gradient(160deg,#171310,#090807 65%)}
.tx-chef::before{content:'';position:absolute;left:50%;top:20%;width:22%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:linear-gradient(140deg,#8a6a44,#3c2c18)}
.tx-chef::after{content:'';position:absolute;left:50%;top:44%;width:44%;height:46%;transform:translateX(-50%);border-radius:20px 20px 0 0;background:linear-gradient(160deg,#232323,#101010);box-shadow:inset 0 1px 0 rgba(212,175,55,.2)}

/* Pattern bands (woven textile motifs) */
.pb{background:
  repeating-linear-gradient(90deg,#B44A2C 0 30px,#0B0B0B 30px 34px,#B08D43 34px 62px,#0B0B0B 62px 66px,#3E4B34 66px 92px,#0B0B0B 92px 96px,#CDB79E 96px 118px,#0B0B0B 118px 122px)}
.pb::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 7px,rgba(11,11,11,.7) 7px 9px)}
.pb-carib{background:repeating-linear-gradient(90deg,#1F4E42 0 30px,#0B0B0B 30px 34px,#B08D43 34px 60px,#0B0B0B 60px 64px,#B4763C 64px 90px,#0B0B0B 90px 94px,#CDB79E 94px 116px,#0B0B0B 116px 120px)}
.pb-japan{background:repeating-linear-gradient(90deg,#2A3A52 0 30px,#0B0B0B 30px 34px,#B08D43 34px 60px,#0B0B0B 60px 64px,#8A3E2E 64px 90px,#0B0B0B 90px 94px,#B9B2A6 94px 116px,#0B0B0B 116px 120px)}
.band{position:relative;height:7px;overflow:hidden}
.pattern-panel{position:relative;overflow:hidden}
.pattern-panel .pb-fill{position:absolute;inset:0;opacity:.85}
.pattern-panel::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(11,11,11,.25),rgba(11,11,11,.65))}

/* ---------- Frames & cards ---------- */
.frame{position:relative;border:1px solid var(--line);padding:16px;background:#0c0c0c}
.frame::after{content:'';position:absolute;inset:15px;border:1px solid rgba(212,175,55,.22);pointer-events:none}
.frame-in{position:relative;height:480px;overflow:hidden}
.frame-cap{position:absolute;left:16px;right:16px;bottom:16px;z-index:3;padding:16px 20px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.8));font:500 9.5px var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--sand)}

.cards{display:grid;gap:22px}
.g5{grid-template-columns:repeat(5,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.card{position:relative;border:1px solid var(--line);background:linear-gradient(180deg,#141414,#0d0d0d);display:flex;flex-direction:column;transition:transform .4s,border-color .4s;overflow:hidden}
.card:hover{transform:translateY(-5px);border-color:rgba(212,175,55,.45)}
.card-media{position:relative;height:230px;overflow:hidden;flex:none}
.card:hover .tx{transform:scale(1.07)}
.card-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,11,.1),transparent 40%,rgba(11,11,11,.55))}
.card-body{padding:30px 26px 32px;text-align:center;display:flex;flex-direction:column;gap:13px;flex:1;align-items:center}
.card h3{font:500 20px/1.3 var(--serif);letter-spacing:.18em;text-transform:uppercase;color:var(--ivory)}
.card .sub{font:500 9.5px var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--bronze)}
.card p{font-size:13.5px;line-height:1.75;color:var(--ivory-55)}
.card .cta{margin-top:auto;padding-top:8px}
.tag{position:absolute;top:16px;right:16px;z-index:3;font:500 8.5px var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--sand);border:1px solid rgba(212,175,55,.3);padding:7px 11px;background:rgba(9,9,9,.72);backdrop-filter:blur(4px)}
.tag.on{color:var(--gold);border-color:var(--gold)}
.card.dim .card-media{filter:saturate(.5) brightness(.75)}

/* Feature split */
.feature{display:grid;grid-template-columns:1fr 1.05fr;gap:70px;align-items:center}
.feature .meta-chips{margin:30px 0 36px}
.meta-chips{display:flex;gap:28px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:11px;font:500 10.5px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--sand)}
.chip svg{color:var(--gold);flex:none}

/* Journal */
.art-card .card-body{text-align:left;align-items:flex-start;gap:11px}
.art-card h3{font-size:19px;letter-spacing:.05em;text-transform:none;font-family:var(--serif);font-weight:500;line-height:1.45}
.art-card .cat{font:500 9px var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--terracotta)}
.art-card[data-cat="experiences"] .cat{color:var(--brass)}
.art-card[data-cat="people"] .cat{color:var(--sand)}
.art-card[data-cat="design"] .cat{color:#8fa07a}
.art-card[data-cat="sound"] .cat{color:#c9a26a}
.art-card .meta{font:400 10px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-35)}
.art-card .card-media{height:210px}

/* Newsletter / Join */
.join{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:104px 0;text-align:center;overflow:hidden}
.join::before{content:'';position:absolute;inset:0;background:radial-gradient(560px 300px at 50% 120%,rgba(212,175,55,.12),transparent 70%)}
.join>*{position:relative}
.join-form{display:flex;gap:0;max-width:520px;margin:42px auto 0;border:1px solid rgba(212,175,55,.35)}
.join-form input{flex:1;background:transparent;border:0;padding:17px 22px;color:var(--ivory);font:300 13px var(--sans);letter-spacing:.12em;min-width:0}
.join-form input::placeholder{color:var(--ivory-35);letter-spacing:.2em;text-transform:uppercase;font-size:10.5px}
.join-form input:focus{outline:none}
.join-form .btn{border:0;border-left:1px solid rgba(212,175,55,.35)}

/* ---------- Forms ---------- */
.form{display:grid;gap:34px}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.field label{display:block;font:500 9.5px var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--bronze);margin-bottom:10px}
.field input,.field textarea,.field select{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(140,106,61,.45);padding:13px 2px;color:var(--ivory);font:300 15px var(--sans);letter-spacing:.03em;transition:border-color .3s;border-radius:0}
.field textarea{resize:vertical;min-height:110px;line-height:1.7}
.field :is(input,textarea,select):focus{outline:0;border-bottom-color:var(--gold)}
.field input::placeholder,.field textarea::placeholder{color:var(--ivory-35)}
.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23D4AF37' stroke-width='1.2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;cursor:pointer}
.field select option{background:#141414;color:var(--ivory)}
.form-note{display:none;padding:16px 20px;border:1px solid rgba(212,175,55,.4);color:var(--gold);font:400 12px var(--sans);letter-spacing:.14em;background:rgba(212,175,55,.05)}
form.sent .form-note{display:block}
form.sent .btn[type="submit"]{opacity:.35;pointer-events:none}

/* ---------- Event detail ---------- */
.crumbs{display:flex;gap:12px;align-items:center;font:500 9.5px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ivory-35);margin-bottom:34px;flex-wrap:wrap}
.crumbs a{color:var(--ivory-55);transition:color .3s}
.crumbs a:hover{color:var(--gold)}
.crumbs span.sep{color:var(--bronze)}
.countpill{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(212,175,55,.4);padding:11px 18px;font:500 10px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-top:26px}
.countpill i{width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px 2px rgba(212,175,55,.6);animation:flick 4s infinite;font-style:normal}
.pillars{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);background:rgba(255,255,255,.008)}
.pillar{padding:34px 22px;text-align:center;border-right:1px solid var(--line-soft);display:flex;flex-direction:column;align-items:center;gap:13px}
.pillar:last-child{border-right:0}
.pillar svg{color:var(--gold)}
.pillar h4{font:500 11px var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--ivory)}
.pillar p{font-size:12px;line-height:1.65;color:var(--ivory-55)}
.menu-list{max-width:780px;margin:0 auto}
.course{display:grid;grid-template-columns:72px 1fr;gap:26px;padding:34px 0;border-bottom:1px solid rgba(212,175,55,.12);align-items:baseline}
.course:last-child{border-bottom:0}
.cnum{font:500 12px var(--serif);letter-spacing:.26em;color:var(--bronze);text-transform:uppercase}
.cname{font:500 19px/1.4 var(--serif);letter-spacing:.06em;color:var(--ivory);margin-bottom:8px}
.cdesc{font-size:14px;color:var(--ivory-55)}
.cpair{display:block;margin-top:10px;font:italic 500 15px var(--ital);color:var(--sand)}
.details-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}
.dcell{padding:30px 28px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.dcell:nth-child(3n){border-right:0}
.dcell:nth-last-child(-n+3){border-bottom:0}
.dcell h5{font:500 9.5px var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--bronze);margin-bottom:10px}
.dcell p{font-size:14px;color:var(--ivory-70)}
.tiers{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;max-width:860px;margin:0 auto}
.tier{border:1px solid var(--line);padding:44px 36px;text-align:center;display:flex;flex-direction:column;gap:16px;align-items:center;background:linear-gradient(180deg,#131313,#0c0c0c);position:relative;transition:border-color .35s,transform .35s}
.tier:hover{border-color:rgba(212,175,55,.5);transform:translateY(-4px)}
.tier.hl{border-color:rgba(212,175,55,.55)}
.tier .flag{position:absolute;top:-1px;left:50%;transform:translate(-50%,-50%);background:var(--black);padding:6px 16px;border:1px solid rgba(212,175,55,.55);font:500 8.5px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.tier h4{font:500 15px var(--serif);letter-spacing:.26em;text-transform:uppercase;color:var(--ivory)}
.price{font:600 42px/1 var(--serif);color:var(--gold)}
.price sup{font-size:.45em;top:-.7em;position:relative;margin-right:3px;font-weight:500}
.price small{display:block;margin-top:9px;font:500 9px var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--ivory-35)}
.tier p{font-size:13px;line-height:1.75;color:var(--ivory-55)}
.tier .btn{margin-top:auto}

/* Split editorial blocks */
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.split .h-sub{margin-bottom:18px}

/* Gallery */
.filters{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:44px 0 50px}
.fbtn{padding:11px 20px;border:1px solid rgba(212,175,55,.22);font:500 9.5px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ivory-55);transition:.3s}
.fbtn:hover{color:var(--gold);border-color:rgba(212,175,55,.5)}
.fbtn.active{color:var(--black);background:var(--gold);border-color:var(--gold)}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.g-item{position:relative;aspect-ratio:4/5;border:1px solid var(--line);overflow:hidden}
.g-item.wide{grid-column:span 2;aspect-ratio:auto}
.g-item .tx{transition:transform .8s}
.g-item:hover .tx{transform:scale(1.06)}
.gcap{position:absolute;inset:auto 0 0 0;z-index:3;padding:38px 18px 16px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.86));font:500 9px var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--sand);opacity:0;transform:translateY(6px);transition:.4s}
.g-item:hover .gcap{opacity:1;transform:none}
@media(hover:none){.gcap{opacity:1;transform:none}}
.g-item.hide{display:none}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-left:1px solid var(--line)}
.step{padding:8px 30px 8px 30px;border-right:1px solid var(--line)}
.step .n{font:600 30px var(--serif);color:var(--bronze);display:block;margin-bottom:14px}
.step h4{font:500 12px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ivory);margin-bottom:12px}
.step p{font-size:13px;line-height:1.75;color:var(--ivory-55)}

/* FAQ */
.faq{border-bottom:1px solid var(--line-soft)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 2px;font:400 15px var(--sans);letter-spacing:.06em;color:var(--ivory)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font:300 22px/1 var(--sans);color:var(--gold);transition:transform .3s;flex:none}
.faq[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 2px 26px;font-size:14px;color:var(--ivory-55);max-width:640px}

/* Quote */
.quote{max-width:760px;margin:0 auto;text-align:center}
.quote p{font:italic 500 clamp(20px,2.6vw,28px)/1.6 var(--ital);color:var(--ivory)}
.quote cite{display:block;margin-top:26px;font:500 10px var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--bronze);font-style:normal}

/* Ticket rows */
.trow{display:grid;grid-template-columns:120px 1fr auto;gap:34px;align-items:center;border:1px solid var(--line);padding:34px 38px;background:linear-gradient(180deg,#121212,#0c0c0c);transition:border-color .35s}
.trow:hover{border-color:rgba(212,175,55,.4)}
.trow+.trow{margin-top:18px}
.tdate{text-align:center;border-right:1px solid var(--line-soft);padding-right:30px}
.tdate .d{font:600 34px/1 var(--serif);color:var(--gold)}
.tdate .m{font:500 10px var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--ivory-55);margin-top:8px}
.tdate .y{font:400 10px var(--sans);letter-spacing:.2em;color:var(--ivory-35)}
.trow h3{font:500 21px var(--serif);letter-spacing:.14em;text-transform:uppercase;color:var(--ivory);margin-bottom:8px}
.trow .tmeta{display:flex;gap:22px;flex-wrap:wrap}
.trow .status{font:500 9px var(--sans);letter-spacing:.3em;text-transform:uppercase;padding:7px 12px;border:1px solid rgba(212,175,55,.4);color:var(--gold);display:inline-block;margin-bottom:12px}
.trow .status.wl{color:var(--sand);border-color:rgba(205,183,158,.35)}
.tact{display:flex;flex-direction:column;gap:12px;align-items:stretch;min-width:200px}

/* Contact */
.c-info{display:grid;gap:34px}
.c-block h5{font:500 9.5px var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--bronze);margin-bottom:10px}
.c-block a{color:var(--ivory);font-size:15px;letter-spacing:.04em;transition:color .3s}
.c-block a:hover{color:var(--gold)}
.socials{display:flex;gap:14px}
.socials a{width:42px;height:42px;border:1px solid rgba(212,175,55,.3);display:flex;align-items:center;justify-content:center;color:var(--gold);transition:.3s}
.socials a:hover{background:var(--gold);color:var(--black);border-color:var(--gold)}

/* Values / senses strips */
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.vcell{border:1px solid var(--line);padding:38px 30px;background:linear-gradient(180deg,#121212,#0c0c0c)}
.vcell h4{font:500 14px var(--serif);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.vcell p{font-size:13.5px;line-height:1.8;color:var(--ivory-55)}

/* Destination vote chips */
.dest-grid{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.dest{padding:15px 26px;border:1px solid rgba(212,175,55,.28);font:500 11px var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--ivory-70);transition:.3s;cursor:pointer}
.dest:hover{border-color:var(--gold);color:var(--gold)}
.dest.sel{background:var(--gold);border-color:var(--gold);color:var(--black)}

/* ---------- Footer ---------- */
.foot{border-top:1px solid var(--line);padding:88px 0 0;background:linear-gradient(180deg,var(--black),#0d0c0a)}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:50px;padding-bottom:70px}
.foot .logo{align-items:flex-start;margin-bottom:22px}
.foot-tag{font:italic 500 16px var(--ital);color:var(--ivory-55);margin-bottom:28px}
.foot h4{font:500 9.5px var(--sans);letter-spacing:.4em;text-transform:uppercase;color:var(--bronze);margin-bottom:22px}
.foot ul a{display:inline-block;padding:6.5px 0;font:400 13px var(--sans);letter-spacing:.08em;color:var(--ivory-55);transition:color .3s}
.foot ul a:hover{color:var(--gold)}
.foot ul a em{font-style:normal;font-size:9px;letter-spacing:.18em;color:var(--ivory-35);margin-left:8px;text-transform:uppercase}
.foot-bar{border-top:1px solid var(--line-soft);padding:30px 0;text-align:center;font:400 9.5px var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--ivory-35)}

/* ---------- Reveal & motion ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.6,.2,1),transform .9s cubic-bezier(.2,.6,.2,1);transition-delay:calc(var(--i,0)*90ms)}
.reveal.in{opacity:1;transform:none}
#app{min-height:100vh}
.page{animation:pagein .7s ease both}
@keyframes pagein{from{opacity:0}to{opacity:1}}

/* ---------- 404 ---------- */
.nf{min-height:70vh;display:flex;align-items:center}

/* ---------- Responsive ---------- */
@media(max-width:1420px){
  .nav{gap:20px}
  .nav .top{font-size:10px;letter-spacing:.15em}
  .head-in{gap:22px}
}
@media(max-width:1240px){
  .nav,.head-cta{display:none}
  .burger{display:flex}
  .logo-img,.custom-logo{height:44px}
  .site-head.scrolled .logo-img{height:40px}
}
@media(max-width:1080px){
  .g5{grid-template-columns:repeat(3,1fr)}
  .g4{grid-template-columns:repeat(2,1fr)}
  .pillars{grid-template-columns:repeat(3,1fr)}
  .pillar:nth-child(3n){border-right:0}
  .pillar{border-bottom:1px solid var(--line-soft)}
  .pillar:nth-last-child(-n+2){border-bottom:0}
  .feature,.split{grid-template-columns:1fr;gap:52px}
  .frame-in{height:400px}
  .gal{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
  .step{padding-top:30px;padding-bottom:30px;border-bottom:1px solid var(--line)}
  .foot-grid{grid-template-columns:1fr 1fr;gap:44px}
}
@media(max-width:820px){
  .sec{padding:84px 0}
  .g5,.g3{grid-template-columns:repeat(2,1fr)}
  .details-grid{grid-template-columns:1fr 1fr}
  .dcell:nth-child(3n){border-right:1px solid var(--line-soft)}
  .dcell:nth-child(2n){border-right:0}
  .dcell:nth-last-child(-n+3){border-bottom:1px solid var(--line-soft)}
  .dcell:nth-last-child(-n+2){border-bottom:0}
  .tiers{grid-template-columns:1fr}
  .trow{grid-template-columns:1fr;gap:22px}
  .tdate{border-right:0;border-bottom:1px solid var(--line-soft);padding:0 0 18px;display:flex;gap:12px;align-items:baseline;justify-content:flex-start;text-align:left}
  .tdate .m{margin-top:0}
  .tact{flex-direction:row;flex-wrap:wrap}
  .form .row2{grid-template-columns:1fr}
  .gal{grid-template-columns:repeat(2,1fr)}
  .g-item.wide{grid-column:span 2}
  .quote p{font-size:20px}
}
@media(max-width:560px){
  .g5,.g4,.g3,.g2,.values,.pillars{grid-template-columns:1fr}
  .pillar{border-right:0}
  .pillar:nth-last-child(-n+2){border-bottom:1px solid var(--line-soft)}
  .pillar:last-child{border-bottom:0}
  .steps{grid-template-columns:1fr}
  .hero{min-height:86vh}
  .join-form{flex-direction:column;border:0;gap:16px}
  .join-form input{border:1px solid rgba(212,175,55,.35);text-align:center}
  .join-form .btn{border:1px solid var(--gold)}
  .wrap,.wrap-n{padding:0 22px}
  .head-in{padding:0 22px}
  .mega{display:none}
  .card-body{padding:26px 22px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ============================================================
   WORDPRESS LAYER — photography, media & core WP classes
   ============================================================ */

/* --- Brand photo treatment ---------------------------------
   Every photo is filtered so any image (including the picsum
   placeholders) reads as dark, warm, candlelit editorial.
   Reduce/remove .ph-filter values once real photography is in. */
.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .6s}
.ph-filter{filter:brightness(.66) contrast(1.08) saturate(.72) sepia(.28)}
a:hover>.ph,.card:hover .ph,.g-item:hover .ph,.frame:hover .ph{transform:scale(1.05)}
.card:hover .ph,.g-item:hover .ph{filter:brightness(.78) contrast(1.06) saturate(.85) sepia(.2)}
.media{position:relative;overflow:hidden}
.media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,11,.15),rgba(11,11,11,.05) 45%,rgba(11,11,11,.62));pointer-events:none}
.media-plain::after{display:none}

/* Hero photography */
.hero-media{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.5) contrast(1.1) saturate(.7) sepia(.3)}
.hero-media::after{content:'';position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(11,11,11,.94) 0%,rgba(11,11,11,.78) 38%,rgba(11,11,11,.34) 70%,rgba(11,11,11,.6) 100%),
  linear-gradient(180deg,rgba(11,11,11,.7),transparent 30%,rgba(11,11,11,.92))}
.hero-center .hero-media::after{background:
  radial-gradient(120% 90% at 50% 45%,rgba(11,11,11,.42),rgba(11,11,11,.9) 72%),
  linear-gradient(180deg,rgba(11,11,11,.82),transparent 34%,rgba(11,11,11,.95))}
.hero .wrap,.hero .wrap-n{position:relative;z-index:2}
.hero .band{z-index:3}

/* Editable placeholder ribbon (admins only, toggle in Customizer) */
.ph-badge{position:absolute;left:10px;bottom:10px;z-index:4;font:500 8px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--sand);background:rgba(9,9,9,.7);border:1px solid rgba(212,175,55,.28);padding:5px 8px;backdrop-filter:blur(3px);pointer-events:none}

/* --- WordPress core classes -------------------------------- */
.admin-bar .site-head{top:32px}
@media screen and (max-width:782px){.admin-bar .site-head{top:46px}}
.alignleft{float:left;margin:.4em 2em 1.2em 0}
.alignright{float:right;margin:.4em 0 1.2em 2em}
.aligncenter{display:block;margin:1.6em auto}
.alignwide,.alignfull{margin:2em 0}
.wp-caption{max-width:100%}
.wp-caption-text,.wp-block-image figcaption{font:400 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ivory-35);margin-top:12px;text-align:center}
.prose img,.wp-block-image img{max-width:100%;height:auto;border:1px solid var(--line)}
.prose h2{font:500 26px var(--serif);letter-spacing:.1em;color:var(--ivory);text-transform:uppercase;margin:44px 0 18px}
.prose h3{font:500 20px var(--serif);letter-spacing:.08em;color:var(--ivory);margin:36px 0 14px}
.prose ul,.prose ol{margin:0 0 26px 22px}
.prose ul{list-style:disc}.prose ol{list-style:decimal}
.prose li{margin-bottom:10px}
.prose blockquote{border-left:1px solid var(--gold);padding:6px 0 6px 26px;margin:32px 0;font:italic 400 21px/1.6 var(--ital);color:var(--ivory)}
.prose a{color:var(--gold);border-bottom:1px solid rgba(212,175,55,.35)}
.prose a:hover{border-color:var(--gold)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.sticky .tag{display:inline-block}

/* Pagination */
.se-pag{display:flex;justify-content:center;gap:8px;margin-top:70px;flex-wrap:wrap}
.se-pag .page-numbers{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);font:500 11px var(--sans);letter-spacing:.16em;color:var(--ivory-55);transition:.3s;padding:0 12px}
.se-pag .page-numbers:hover{border-color:var(--gold);color:var(--gold)}
.se-pag .page-numbers.current{background:var(--gold);border-color:var(--gold);color:var(--black)}

/* Comments */
.comments{margin-top:20px}
.comments ol{list-style:none;margin:0}
.comment-body{border-top:1px solid var(--line-soft);padding:26px 0}
.comment-author{font:500 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ivory)}
.comment-meta{font:400 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ivory-35);margin-bottom:12px}
.comment-form label{display:block;font:500 10px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ivory-55);margin-bottom:10px}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;background:rgba(255,255,255,.03);border:1px solid var(--line);color:var(--ivory);padding:14px 16px;font:300 15px var(--sans);margin-bottom:18px}
.comment-form .submit{background:none;border:1px solid var(--gold);color:var(--gold);padding:15px 34px;font:500 11px var(--sans);letter-spacing:.24em;text-transform:uppercase;cursor:pointer;transition:.35s}
.comment-form .submit:hover{background:var(--gold);color:var(--black)}

/* Search */
.se-search{display:flex;gap:0;max-width:460px;margin:0 auto}
.se-search input{flex:1;background:rgba(255,255,255,.03);border:1px solid var(--line);border-right:0;color:var(--ivory);padding:15px 18px;font:300 15px var(--sans)}
.se-search button{border:1px solid var(--gold);background:var(--gold);color:var(--black);padding:0 26px;font:500 11px var(--sans);letter-spacing:.2em;text-transform:uppercase}

/* Success / error notices from the PHP form handler */
.form-note.err{color:var(--terracotta);border-color:rgba(180,74,44,.4)}
.hp-field{position:absolute!important;left:-9999px;opacity:0;height:0;width:0}

/* Editor / block widths inside .prose */
.prose>*{max-width:100%}

/* ============================================================
   ELEMENTOR LAYER
   ============================================================ */
/* Keep Elementor content clear of the fixed theme header on non-hero starts. */
.elementor-widget-html .frame{margin:0}
.elementor .join{margin:0}
/* Ensure the reveal animation never hides content inside the Elementor editor. */
.elementor-editor-active .reveal{opacity:1!important;transform:none!important}
/* Shortcode-block grids inherit theme spacing; give them breathing room after headings. */
.elementor-widget-shortcode .cards,.elementor-widget-shortcode .values,.elementor-widget-shortcode .steps,.elementor-widget-shortcode .gal{margin-top:32px}
.elementor-widget-shortcode .filters{margin-top:10px}
/* Buttons rendered via the HTML widget keep theme hover states; reset widget margins. */
.elementor-widget-html .btn-row{margin-top:26px}
