/* bhdasia.com - TechNext type + style layer, BHD Asia colours kept (8 Nov 2026).
   Loaded LAST on every page. Fonts: Plus Jakarta Sans (headings) + Inter (body), self-hosted.
   Style taken from technext.asia site.css: tight heavy headings, 12px buttons 46px tall,
   cards with a fine line + soft layered shadow, tracked uppercase eyebrows, 2px hover lift, .96 press.
   Every colour below is a BHD token (marigold, ink, red, ivory, sand, line). */

@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/tn/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/tn/inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/tn/plus-jakarta-sans-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/tn/plus-jakarta-sans-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* old font names now resolve to the TechNext fonts (leftover inline styles, shared.js, event-detail.css) */
@font-face{font-family:'Sora';font-weight:100 900;font-display:swap;src:url(/fonts/tn/plus-jakarta-sans-latin.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-weight:100 900;font-display:swap;src:url(/fonts/tn/inter-latin.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/tn/inter-latin.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-weight:100 900;font-display:swap;src:url(/fonts/tn/inter-latin.woff2) format('woff2')}

:root{
  --font-warm: Inter, system-ui, -apple-system, 'Segoe UI', sans-serif;      /* body (was Figtree) */
  --font-display: 'Plus Jakarta Sans', Inter, system-ui, sans-serif;          /* headings */
  /* TechNext shadows, tinted with BHD ink */
  --shadow-sm: 0 1px 2px rgba(20,36,74,.06), 0 8px 24px -18px rgba(20,36,74,.25);
  --shadow:    0 2px 6px rgba(20,36,74,.06), 0 24px 48px -28px rgba(20,36,74,.35);
  --shadow-lg: 0 6px 16px rgba(20,36,74,.08), 0 32px 64px -30px rgba(20,36,74,.40);
  --shadow-cta: 0 12px 28px -12px rgba(242,161,0,.60);
  --r: 14px; --r-md: 14px; --r-lg: 20px; --r-btn: 12px;
  --tn-ease: cubic-bezier(.2,.8,.2,1);
  /* pastel corporate palette (owner 8 Nov 2026: "much more pastel and not strong, more corporate").
     Same BHD family, softened. Navy carries actions; marigold is only a light accent. */
  --marigold:#F2C46D; --marigold-dk:#E5B254; --sun:#F1DD9A; --peach:#FFF3DF;
  --ivory:#FFFDF9; --sand:#FAF6EF; --line:#ECE5D9; --border:#ECE5D9; --off-white:#FAF6EF;
  --blue:#F2C46D; --blue-dk:#E5B254; --gold:#F1DD9A;
  --navy-tint:#F2F5FA; --navy-line:#D8DEE9; --btn-ink:#14244a; --btn-ink-hover:#24386A;
}

/* ---------- type ---------- */
html body{font-family:var(--font-warm)!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html body :is(p,li,a,span,button,input,textarea,select,label,small,strong,b,em,dt,dd,blockquote,figcaption,td,th){font-family:var(--font-warm)!important}
html body :is(h1,h2,h3,h4,h5,h6),
html body :is(h1,h2,h3,h4,h5,h6) :is(span,a,em,strong,b){font-family:var(--font-display)!important}
html body :is(h1,h2,h3,h4){letter-spacing:-.015em;text-wrap:balance}
html body h1{font-weight:800!important;letter-spacing:-.025em!important;line-height:1.06}
html body h2{font-weight:700;line-height:1.14}
html body h3{font-weight:700;line-height:1.3}
html body p{text-wrap:pretty}
html body :is(p,li,td,dd){overflow-wrap:break-word}

/* eyebrows / labels: TechNext eyebrow (BHD amber ink keeps the colour) */
html body :is(.section-label,.hero-label,.ec-tags,.hec-tag,.pp-caption-label,.eyebrow,.kicker){
  font:700 12px/1.3 var(--font-warm)!important;letter-spacing:.12em!important;text-transform:uppercase}

/* ---------- buttons ---------- */
html body :is(.et_pb_button,.ec-btn,.btn,.btn-outline,.btn-white,.btn-white-outline,.header-contact-btn,.hx-cta-btns a,.hero-ctas a,.page-hero-ctas a,.bhd-btn){
  border-radius:var(--r-btn)!important;font:600 15px/1 var(--font-warm)!important;letter-spacing:0!important;text-transform:none!important;
  min-height:46px;padding-left:20px!important;padding-right:20px!important;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  transition:transform .18s var(--tn-ease),box-shadow .25s var(--tn-ease),background-color .2s,border-color .2s,color .2s!important}
html body :is(.et_pb_button,.ec-btn,.btn,.btn-outline,.btn-white,.btn-white-outline,.header-contact-btn,.hx-cta-btns a,.hero-ctas a,.page-hero-ctas a,.bhd-btn):hover{transform:translateY(-2px)}
html body :is(.et_pb_button,.ec-btn,.btn,.btn-outline,.btn-white,.btn-white-outline,.header-contact-btn,.hx-cta-btns a,.hero-ctas a,.page-hero-ctas a,.bhd-btn):active{transform:scale(.96)}
html body .header-contact-btn{min-height:42px}

/* ---------- ONE button system (owner 8 Nov 2026: "fix all buttons, simplified everything") ----------
   Primary   = solid navy, white text.        Secondary = white, fine border, navy text.
   On dark photo heroes / navy cards: primary = white with navy text, secondary = white outline. */
html body :is(.et_pb_button:not(.btn-outline):not(.btn-white-outline),.ec-btn-fill,.header-contact-btn,.tn-btn-pri,.tn-btn-ink){
  background:var(--btn-ink)!important;border:1px solid var(--btn-ink)!important;color:#fff!important;box-shadow:0 1px 2px rgba(20,36,74,.12)!important}
html body :is(.et_pb_button:not(.btn-outline):not(.btn-white-outline),.ec-btn-fill,.header-contact-btn,.tn-btn-pri,.tn-btn-ink):hover{
  background:var(--btn-ink-hover)!important;border-color:var(--btn-ink-hover)!important;color:#fff!important;box-shadow:0 12px 26px -14px rgba(20,36,74,.55)!important}
html body :is(.btn-outline,.btn-white-outline,.ec-btn-outline,.tn-btn-ghost,.tn-btn-line){
  background:#fff!important;border:1px solid var(--navy-line)!important;color:var(--btn-ink)!important;box-shadow:none!important}
html body :is(.btn-outline,.btn-white-outline,.ec-btn-outline,.tn-btn-ghost,.tn-btn-line):hover{border-color:var(--btn-ink)!important;color:var(--btn-ink)!important;background:#fff!important}
/* dark contexts */
html body :is(.page-hero-ctas,.evt-hero-ctas) .et_pb_button:not(.btn-outline):not(.btn-white-outline),
html body .et_pb_button.on-dark:not(.btn-outline):not(.btn-white-outline){background:#fff!important;border-color:#fff!important;color:var(--btn-ink)!important}
html body :is(.page-hero-ctas,.evt-hero-ctas) .et_pb_button.on-dark:hover,
html body :is(.page-hero-ctas,.evt-hero-ctas) .et_pb_button:not(.btn-outline):not(.btn-white-outline):hover,
html body .et_pb_button.on-dark:not(.btn-outline):not(.btn-white-outline):hover{background:#F2F5FA!important;border-color:#F2F5FA!important;color:var(--btn-ink)!important}
html body :is(.page-hero-ctas,.evt-hero-ctas) :is(.btn-outline,.btn-white-outline),
html body .et_pb_button.on-dark:is(.btn-outline,.btn-white-outline){background:transparent!important;border-color:rgba(255,255,255,.6)!important;color:#fff!important}
html body :is(.page-hero-ctas,.evt-hero-ctas) :is(.btn-outline,.btn-white-outline):hover,
html body .et_pb_button.on-dark:is(.btn-outline,.btn-white-outline):hover{border-color:#fff!important;background:rgba(255,255,255,.08)!important;color:#fff!important}
/* the "Add to calendar" button sits on a light card */
html body .ev-ics{background:#fff!important;border-color:var(--navy-line)!important;color:var(--btn-ink)!important}
/* sold / ended stay muted */
html body :is(.ec-btn-sold,.ec-btn-ended){background:#F1EFEA!important;border:1px solid #E4DFD5!important;color:#6f6a64!important;box-shadow:none!important}
/* button icons follow the text colour */
html body :is(.et_pb_button,.ec-btn,.header-contact-btn,.tn-btn) svg{stroke:currentColor}

/* ---------- cards: fine line + soft layered shadow (TechNext) ---------- */
html body :is(.card,.pillar-card,.value-card,.mission-card,.coaching-package,.service-category,.team-card,.event-card,.ec,.stat-box,.contact-detail){
  border:1px solid var(--line)!important;border-radius:var(--r-lg)!important;box-shadow:var(--shadow-sm);
  transition:transform .25s var(--tn-ease),box-shadow .25s var(--tn-ease),border-color .25s}
html body :is(.card,.pillar-card,.value-card,.coaching-package,.service-category,.team-card,.event-card,.ec):hover{
  transform:translateY(-2px);box-shadow:var(--shadow);border-color:#E6D4B8!important}

/* ---------- light sections: TechNext dotted field, in BHD ink ---------- */
html body :is(.section-light,.band-cream){
  background:radial-gradient(circle at 1px 1px,rgba(20,36,74,.07) 1px,transparent 1.5px) 0 0/22px 22px,var(--sand)!important}

/* ---------- forms ---------- */
html body :is(input,select,textarea):not([type=checkbox]):not([type=radio]){border-radius:10px}
html body :is(input,select,textarea):focus-visible{outline:2px solid var(--marigold-dk)!important;outline-offset:2px}

/* ---------- icons bare, never on tiles (TechNext rule) ---------- */
html body :is(.ab-stop-i,.ab-val-i,.ct-ico,.ct-book-ico,.ct-news-ico,.ops-ico,.ev-refund-i,.sv-tab-i,.value-card-icon,.icf-icon){
  background:none!important;background-image:none!important;box-shadow:none!important;border:0!important;
  width:auto!important;height:auto!important;min-width:0!important;padding:0!important;border-radius:0!important;color:var(--amber-ink)!important}
html body :is(.ab-stop-i,.ab-val-i,.ct-ico,.ct-news-ico,.ops-ico,.ev-refund-i,.sv-tab-i,.value-card-icon,.icf-icon) svg[stroke]:not([stroke=none]),
html body :is(.ab-stop-i,.ab-val-i,.ct-ico,.ct-news-ico,.ops-ico,.ev-refund-i,.sv-tab-i,.value-card-icon,.icf-icon) svg [stroke]:not([stroke=none]){stroke:currentColor!important}
html body :is(.ab-stop-i,.ab-val-i,.ct-ico,.ct-news-ico,.ops-ico,.sv-tab-i,.value-card-icon,.icf-icon) svg{width:26px;height:26px}
html body .ct-book-ico{color:var(--marigold)!important}
html body .ev-refund-i{color:var(--brand-red)!important}

@media (prefers-reduced-motion:reduce){
  html body *{transition-duration:.01ms!important}
  html body :is(.et_pb_button,.ec-btn,.btn,.card,.ec,.event-card):hover{transform:none!important}
}

/* dark contexts: white primary needs navy text (beats style.css L1453 which forces #fff + --t/--ft) */
html body :is(.page-hero-ctas,.evt-hero-ctas) a.et_pb_button.et_pb_button:not(.btn-outline):not(.btn-white-outline),
html body a.et_pb_button.et_pb_button.on-dark:not(.btn-outline):not(.btn-white-outline){
  --t:#14244a!important;--ft:#14244a!important;color:#14244a!important;-webkit-text-fill-color:#14244a!important}
html body :is(.page-hero-ctas,.evt-hero-ctas) a.et_pb_button.et_pb_button:not(.btn-outline):not(.btn-white-outline) *,
html body a.et_pb_button.et_pb_button.on-dark:not(.btn-outline):not(.btn-white-outline) *{color:#14244a!important;-webkit-text-fill-color:#14244a!important;stroke:#14244a}

/* ---------- CALM (owner 8 Nov 2026: smoother, no glow on cards, less interaction; only the home hero animates) ---------- */
html body :is(.ev-glow,.v11-glow,.warm-blobs,.hx-glow,.ec-glow,.card-glow,.pp-ring,[class*="spotlight"]){display:none!important}
html body :is(.card,.pillar-card,.value-card,.mission-card,.coaching-package,.service-category,.team-card,.event-card,.ec,.home-evt-card,.tn-card,.ab-pick,.sv-jump-a,.tn-mate)::before,
html body :is(.card,.pillar-card,.value-card,.mission-card,.coaching-package,.service-category,.team-card,.event-card,.ec,.home-evt-card,.tn-card,.tn-mate)::after{background-image:none!important;opacity:0!important}
html body :is(.card,.pillar-card,.value-card,.coaching-package,.service-category,.team-card,.event-card,.ec,.home-evt-card,.tn-card,.tn-mate,.ab-pick){
  transform:none!important;transition:box-shadow .3s ease,border-color .3s ease!important}
html body :is(.card,.pillar-card,.value-card,.coaching-package,.service-category,.team-card,.event-card,.ec,.home-evt-card,.tn-card,.tn-mate,.ab-pick):hover{
  transform:none!important;box-shadow:0 2px 6px rgba(20,36,74,.05),0 18px 36px -26px rgba(20,36,74,.28)!important}
html body .home-evt-card img,html body .ec img{transform:none!important}
/* buttons: no magnetic pull, no shine sweep; a 1px lift only */
html body :is(.et_pb_button,.ec-btn,.header-contact-btn,.tn-btn){transform:none!important;background-image:none!important}
html body :is(.et_pb_button,.ec-btn,.header-contact-btn,.tn-btn)::before,html body :is(.et_pb_button,.ec-btn,.header-contact-btn)::after{display:none!important}
html body :is(.et_pb_button,.ec-btn,.header-contact-btn,.tn-btn):hover{transform:translateY(-1px)!important}
/* reveals: shorter and smaller */
html body .hx-live .hx-rv{translate:0 8px!important;transition:opacity .45s ease var(--d,0ms),translate .5s ease var(--d,0ms)!important}
html body .hx-live .hx-rv.hx-in{translate:0 0!important}
html body [class*="-rv"]:not(.hx-rv){transition-duration:.45s!important}

/* ---------- ALL CARDS: plain (owner 8 Nov 2026: "fix all cards, simplified, no glow") ---------- */
html body :is(.home-countdown,.hx-cd,.ab-val,.sv-card,.sv-fig,.ct-panel,.ev-next-card,.evt-card,.ev-rc,.pt-list,.pt-panel,.bio-pc,.bio-ai-card,.home-evt-card,.ec,.hx-pil-media){
  background-image:none!important}
html body :is(.home-countdown,.hx-cd,.ab-val,.sv-card,.ct-panel,.ev-next-card,.evt-card,.ev-rc,.pt-list,.pt-panel,.bio-pc,.bio-ai-card,.home-evt-card,.ec){
  background-color:#fff!important;border:1px solid var(--line)!important;border-radius:16px!important;
  box-shadow:0 1px 2px rgba(20,36,74,.04),0 10px 26px -22px rgba(20,36,74,.25)!important}
html body :is(.ab-wrap,.ct-book,.sv-cta-in,.ev-cta-in,.pt-cta-card,.ct-cta-card,.hx-cta){background-image:none!important}
html body :is(.home-countdown,.hx-cd,.ab-val,.ab-wrap,.sv-card,.sv-fig,.ct-panel,.ct-book,.ev-next-card,.evt-card,.ev-rc,.pt-list,.pt-panel,.bio-pc,.bio-ai-card,.home-evt-card,.ec,.hx-pil-media,.sv-cta-in,.ev-cta-in,.pt-cta-card,.ct-cta-card)::before,
html body :is(.home-countdown,.hx-cd,.ab-val,.ab-wrap,.sv-card,.sv-fig,.ct-panel,.ct-book,.ev-next-card,.evt-card,.ev-rc,.pt-list,.pt-panel,.bio-pc,.bio-ai-card,.home-evt-card,.ec,.hx-pil-media,.sv-cta-in,.ev-cta-in,.pt-cta-card,.ct-cta-card)::after{
  background-image:none!important;box-shadow:none!important;opacity:0!important}

/* ---------- welcome intro (HummingBeing gold hairlines) ---------- */
html.intro-on body{overflow:hidden}
html.intro-on::after{content:"";position:fixed;inset:0;z-index:2147482000;background:#FFFDF9}
#bhd-intro{position:fixed;inset:0;z-index:2147483000;display:grid;place-content:center;justify-items:center;gap:14px;cursor:pointer;overflow:hidden;
  background:#FFFDF9;clip-path:circle(150% at 50% 50%)}
#bhd-intro .bi-glow{position:absolute;left:50%;top:50%;width:120vmax;height:120vmax;transform:translate(-50%,-50%) scale(.2);border-radius:50%;opacity:0;
  background:radial-gradient(circle,#FFF0D4 0%,#FFF6E6 30%,rgba(255,253,249,0) 60%)}
#bhd-intro .bi-motes{position:absolute;left:50%;top:44%;width:0;height:0}
#bhd-intro .bi-m{position:absolute;left:0;top:0;width:var(--s);height:var(--s);border-radius:50%;background:#D6A852;opacity:0;transform:translate(var(--x),var(--y))}
#bhd-intro .bi-stage{position:relative;width:210px;height:210px;display:grid;place-items:center;margin-bottom:6px}
#bhd-intro .bi-rip{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(214,168,82,.55);opacity:0;transform:scale(.4)}
#bhd-intro .bi-art{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#bhd-intro circle{fill:none;stroke-linecap:round}
#bhd-intro .bi-c1{stroke:#D6A852;stroke-width:1.3;stroke-dasharray:1;stroke-dashoffset:1;transform:rotate(-90deg);transform-origin:120px 120px}
#bhd-intro .bi-c2{stroke:rgba(20,36,74,.28);stroke-width:.9;stroke-dasharray:2 7;opacity:0;transform-origin:120px 120px}
#bhd-intro .bi-dot{fill:#D6A852;stroke:none;opacity:0;transform-origin:120px 120px}
#bhd-intro .bi-mask{position:relative;display:block;width:92px;height:92px;clip-path:inset(100% 0 0 0)}
#bhd-intro .bi-logo{width:100%;height:auto;display:block;transform:translateY(40%) scale(.8)}
#bhd-intro .bi-word{margin:0;display:flex;font:800 30px/1.1 'Plus Jakarta Sans',Inter,sans-serif;letter-spacing:-.02em;color:#14244a;overflow:hidden;padding:2px 4px 4px}
#bhd-intro .bi-l{display:inline-block;transform:translateY(110%);opacity:0}
#bhd-intro .bi-l2{color:#B9822A}
#bhd-intro .bi-gap{width:.28em}
#bhd-intro .bi-tag{margin:0;font:600 11.5px/1.5 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#6b7080;text-align:center;max-width:34ch;padding:0 16px}
#bhd-intro .bi-tag span{display:inline-block;opacity:0;transform:translateY(8px);filter:blur(4px)}
#bhd-intro .bi-bar{position:absolute;left:50%;bottom:12%;width:140px;height:2px;margin-left:-70px;border-radius:2px;background:rgba(20,36,74,.08);overflow:hidden}
#bhd-intro .bi-bar::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#F2C46D,#B9822A);transform:scaleX(0);transform-origin:left}
/* play */
#bhd-intro.bi-go .bi-glow{animation:bi-glow 1.6s cubic-bezier(.2,.8,.2,1) forwards}
#bhd-intro.bi-go .bi-m{animation:bi-in 1.25s cubic-bezier(.6,0,.2,1) var(--d) forwards}
#bhd-intro.bi-go .bi-rip{animation:bi-rip 2.1s cubic-bezier(.2,.8,.2,1) .55s infinite}
#bhd-intro.bi-go .bi-rip:nth-child(2){animation-delay:1.25s}
#bhd-intro.bi-go .bi-rip:nth-child(3){animation-delay:1.95s}
#bhd-intro.bi-go .bi-c1{animation:bi-draw 1.2s cubic-bezier(.65,0,.35,1) .35s forwards}
#bhd-intro.bi-go .bi-c2{animation:bi-fade .6s ease .6s forwards,bi-spin 9s linear .6s infinite}
#bhd-intro.bi-go .bi-dot{animation:bi-fade .3s ease 1.3s forwards,bi-orbit 2.2s cubic-bezier(.45,0,.55,1) 1.3s infinite}
#bhd-intro.bi-go .bi-mask{animation:bi-mask .8s cubic-bezier(.2,.8,.2,1) .75s forwards}
#bhd-intro.bi-go .bi-logo{animation:bi-logo 1.1s cubic-bezier(.34,1.56,.64,1) .75s forwards}
#bhd-intro.bi-go .bi-l{animation:bi-up .7s cubic-bezier(.2,.8,.2,1) calc(1.15s + var(--k) * 55ms) forwards}
#bhd-intro.bi-go .bi-tag span{animation:bi-tag .6s ease calc(1.55s + var(--k) * 60ms) forwards}
#bhd-intro.bi-go .bi-bar::after{animation:bi-bar 2.3s cubic-bezier(.4,0,.2,1) .2s forwards}
/* exit: the iris closes onto the page while the stage lifts away */
#bhd-intro.bi-out{clip-path:circle(0% at 50% 46%);transition:clip-path .95s cubic-bezier(.7,0,.2,1)}
#bhd-intro.bi-out .bi-stage,#bhd-intro.bi-out .bi-word,#bhd-intro.bi-out .bi-tag{transform:scale(.92);opacity:0;transition:transform .7s cubic-bezier(.7,0,.2,1),opacity .5s ease}
@keyframes bi-glow{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes bi-in{0%{opacity:0;transform:translate(var(--x),var(--y)) scale(.6)}35%{opacity:.9}100%{opacity:0;transform:translate(0,0) scale(1.2)}}
@keyframes bi-rip{0%{opacity:.8;transform:scale(.45)}100%{opacity:0;transform:scale(1.9)}}
@keyframes bi-draw{to{stroke-dashoffset:0}}
@keyframes bi-fade{to{opacity:1}}
@keyframes bi-spin{to{transform:rotate(360deg)}}
@keyframes bi-orbit{to{transform:rotate(360deg)}}
@keyframes bi-mask{to{clip-path:inset(-20% -20% -20% -20%)}}
@keyframes bi-logo{to{transform:none}}
@keyframes bi-up{to{transform:none;opacity:1}}
@keyframes bi-tag{to{opacity:1;transform:none;filter:none}}
@keyframes bi-bar{to{transform:scaleX(1)}}
@media (max-width:560px){#bhd-intro .bi-stage{width:170px;height:170px}#bhd-intro .bi-mask{width:74px;height:74px}#bhd-intro .bi-word{font-size:25px}#bhd-intro .bi-tag{font-size:10.5px}}

/* ---------- COMPACT: tighter sections everywhere except heroes and event pages (handled in event-detail.css) ---------- */
html body:not(.evt-live) #et-main-area > section:not([class*="hero"]):not(.page-hero):not(.tn-hero),
html body:not(.evt-live) #et-main-area > div > section:not([class*="hero"]):not(.page-hero){
  padding-top:clamp(44px,5.5vw,72px)!important;padding-bottom:clamp(44px,5.5vw,72px)!important}
html body:not(.evt-live) :is(.ab-head,.sv-head,.ct-head,.hx-head,.tn-head,.section-head){margin-bottom:28px!important}

/* ---------- ICONS: one line style, bare, a small response on hover ---------- */
html body :is(.tn-ic,.ab-val-i,.ab-stop-i,.ct-ico,.ct-news-ico,.ops-ico,.sv-tab-i,.hx-pil-n,.value-card-icon,.icf-icon,.hx-faq-ic) svg{
  fill:none;stroke-width:1.75!important;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s cubic-bezier(.2,.8,.2,1),color .2s,stroke .2s}
html body :is(.hx-pil-n,.footer-soc-btn,.hx-faq-ic){background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;width:auto!important;height:auto!important;border-radius:0!important}
html body .hx-pil-n{color:#8f5a00!important}
html body .hx-pil-tab[aria-selected="true"] .hx-pil-n{background:none!important;color:#14244a!important;transform:none!important}
html body .footer-soc-btn{color:rgba(255,255,255,.75)!important;padding:6px!important}
html body .footer-soc-btn:hover{color:#F2C46D!important}
html body .hx-faq-ic{color:#8f5a00!important}
/* the hover response: the icon lifts 2px and takes the ink colour when its card/link/tab is hovered */
html body :is(a,button,li,.tn-card,.ab-val,.ct-detail,.contact-detail,.hx-pil-tab,.sv-tab):hover > :is(.tn-ic,.ab-val-i,.ab-stop-i,.ct-ico,.ops-ico,.sv-tab-i,.hx-pil-n,.value-card-icon,.icf-icon),
html body :is(a,button,li,.tn-card,.ab-val,.hx-pil-tab,.sv-tab):hover :is(.tn-ic,.ab-val-i svg,.ct-ico svg,.sv-tab-i svg,.hx-pil-n svg){transform:translateY(-2px);color:#14244a!important;stroke:#14244a}
html body .footer-soc-btn:hover svg{transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){html body :is(a,button,li,.tn-card,.ab-val,.hx-pil-tab,.sv-tab):hover :is(.tn-ic,.ab-val-i svg,.ct-ico svg,.sv-tab-i svg,.hx-pil-n svg){transform:none}}

/* footer social: filled brand glyphs, bare, visible (fix 8 Nov) */
html body .footer-soc-btn{display:inline-flex!important;align-items:center;justify-content:center;width:36px!important;height:36px!important;padding:0!important;opacity:1!important;visibility:visible!important}
html body .footer-soc-btn svg{width:18px!important;height:18px!important;fill:currentColor!important;stroke:none!important;display:block!important;opacity:1!important;transition:transform .2s,color .2s}

/* ---------- GDPR consent: same required wording, compact and quiet everywhere (fix 8 Nov) ---------- */
html body .gdpr-box{margin:12px 0 0!important;padding:0!important;font-size:12px!important;line-height:1.45!important;color:#6b7080!important}
html body .gdpr-box label{display:flex!important;align-items:flex-start;gap:9px!important;margin:0 0 8px!important;font-size:12px!important;line-height:1.45!important;color:#4b5163!important;font-weight:400!important}
html body .gdpr-box label span,html body .gdpr-box label a{font-size:12px!important;line-height:1.45!important}
html body .gdpr-box input[type=checkbox]{flex:none;width:16px!important;height:16px!important;margin:1px 0 0!important;accent-color:#14244a}
html body .gdpr-box :is(p,.gdpr-note,small){font-size:11.5px!important;line-height:1.5!important;color:#7a7f8e!important;margin:6px 0 0!important}
html body .gdpr-box a{color:#14244a!important;font-weight:600}

/* eyebrow label, site-wide (was only on the homepage) */
html body .tn-eyebrow{font:700 12px/1.3 Inter,sans-serif!important;letter-spacing:.12em!important;text-transform:uppercase;color:#8f5a00!important;margin:0 0 12px}

/* phone menu: the "Contact" pill follows the button system (was marigold + white text, 1.6:1) */
@media (max-width:980px){
  html body #top-menu > li:last-child > a{background:#14244a!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#14244a!important;text-shadow:none!important}
  html body #top-menu > li:last-child > a:hover{background:#24386A!important}
}

/* ---------- events countdown: compact, no rolling digits, no accent bars (owner 8 Nov) ---------- */
html body .countdown-timer.ev-tiles{gap:8px!important;align-items:stretch}
html body .ev-tiles .ev-tile{min-width:64px!important;width:auto!important;padding:10px 10px 8px!important;border-radius:12px!important;
  background:#fff!important;background-image:none!important;border:1px solid #ECE5D9!important;box-shadow:none!important;transform:none!important}
html body .ev-tiles .ev-tile::before,html body .ev-tiles .ev-tile::after,html body .ev-tile-bar{display:none!important}
html body .ev-tiles .c-n{font:800 26px/1.05 'Plus Jakarta Sans',Inter,sans-serif!important;color:#14244a!important;font-variant-numeric:tabular-nums;letter-spacing:-.01em;
  transform:none!important;animation:none!important;transition:none!important;overflow:visible!important;height:auto!important}
html body .ev-tiles .c-n *{animation:none!important;transition:none!important}
html body .ev-tiles .ev-tile-l{font:600 10.5px/1.2 Inter,sans-serif!important;letter-spacing:.1em!important;color:#6b7080!important;margin-top:4px!important}
/* stat row under the countdown: plain numbers, no peach tiles */
html body .ev-stat-n{background:none!important;background-image:none!important;width:auto!important;height:auto!important;min-width:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important;
  font:800 1.6rem/1 'Plus Jakarta Sans',Inter,sans-serif!important;color:#14244a!important}
html body .ev-stats-row .ev-stat{gap:10px!important}
html body .ev-roll{display:none!important}
html body .ev-js .ev-tile .c-n{position:static!important;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;clip:auto!important;clip-path:none!important;white-space:nowrap}
html body .ev-next-card{padding:28px 32px!important}
html body .ev-next-card .countdown-timer{align-self:center}
html body .ev-next-card :is(h2,h3,.countdown-title){font-size:clamp(1.3rem,2.2vw,1.7rem)!important}
html body .ev-next-card .ev-stats-row{margin-top:20px!important;padding-top:14px!important}
@media (max-width:700px){html body .ev-next-card{padding:22px 18px!important}}

/* ===== audit fixes (independent review, 8 Nov) ===== */
/* 1 contact list on phone: nothing pushed off the left edge, icons visible */
@media (max-width:760px){html body .ct-panel .ct-row{margin-left:0!important;transform:none!important;padding-left:0!important;display:flex!important;gap:12px!important}
  html body .ct-panel .ct-ico{display:inline-flex!important;flex:none}
  html body .ct-wrap .container,html body .ct-wrap{overflow:visible!important}}
/* 2 sold out / ended buttons readable (beats style.css forced white text) */
html body a.ec-btn.ec-btn.ec-btn-sold,html body a.ec-btn.ec-btn.ec-btn-ended,html body .ec-btn.ec-btn.ec-btn-sold,html body .ec-btn.ec-btn.ec-btn-ended{
  background:#EFEDE8!important;border:1px solid #E1DCD2!important;color:#5b6070!important;-webkit-text-fill-color:#5b6070!important;--t:#5b6070!important;--ft:#5b6070!important}
/* 3 quote: solid navy, no fading gradient text */
html body .bio-quote-t,html body .bio-quote-t *{background:none!important;-webkit-text-fill-color:#14244a!important;color:#14244a!important;opacity:1!important}
/* 4 event cards: date tile moves to the image's bottom-right so it no longer covers poster text */
html body .ev-cal{top:auto!important;bottom:10px!important;right:10px!important;transform:scale(.86)!important;transform-origin:bottom right}
/* 5 phone: filter pills and package tabs wrap instead of being cut off */
@media (max-width:760px){html body .ev-filters{flex-wrap:wrap!important;overflow:visible!important;gap:8px!important}
  html body .sv-pkg-tabs,html body [role=tablist]:has(.sv-pkg-tab){flex-wrap:wrap!important;overflow:visible!important}}
/* 7 CTA bands: flat navy, no red hairline, one width */
html body :is(.hx-cta,.sv-cta-in,.ab-cta > .ab-wrap,.ev-cta-in,.pt-cta-card,.ct-cta-card,.bio-cta > .container,.cta-strip > .container){
  background:#14244a!important;background-image:none!important;box-shadow:none!important;max-width:1216px!important;margin-left:auto!important;margin-right:auto!important;border:0!important}
html body :is(.hx-cta,.sv-cta-in,.ab-wrap,.ev-cta-in,.pt-cta-card,.ct-cta-card,.bio-cta,.cta-strip) :is(.red-line,.cta-line,[class*="hairline"],[class*="-rule"]){display:none!important}
html body :is(.sv-cta-in,.ab-cta > .ab-wrap,.ev-cta-in,.bio-cta > .container,.cta-strip > .container)::before,
html body :is(.sv-cta-in,.ab-cta > .ab-wrap,.ev-cta-in,.bio-cta > .container,.cta-strip > .container)::after{display:none!important}
/* 8 inner heroes: text starts on the same left edge as the page content */
html body .page-hero .container,html body .page-hero [class*="hero-inner"],html body .page-hero [class*="hero-content"]{margin-left:auto!important;margin-right:auto!important;max-width:1216px!important;text-align:left!important;padding-left:16px!important;padding-right:16px!important}
html body .page-hero :is(h1,.page-hero-sub){margin-left:0!important;text-align:left!important}
html body .page-hero .page-hero-ctas{justify-content:flex-start!important}
html body .isa-hero-photo{object-position:72% 30%!important}
/* 10 stat tiles on bio pages: plain numbers on a divider row */
html body .bio-stats{gap:0!important}
html body .bio-stats > *{background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;border-right:1px solid #ECE5D9!important;padding:4px 18px!important}
html body .bio-stats > *:last-child{border-right:0!important}
html body .bio-stat-n{background:none!important;color:#14244a!important}
/* 15 package price: no dashed amber rule */
html body .sv-pkg [class*="price"]::after,html body .sv-pkg [class*="price"] + [class*="dash"],html body .sv-pkg [class*="dashes"]{display:none!important}
/* 18 phone event pages: room for the sticky register bar */
@media (max-width:760px){html body.evt-live{padding-bottom:84px!important}}
/* 19 footer: last contact link readable */
html body #main-footer .footer-widget a{color:rgba(255,255,255,.86)!important}
html body #main-footer .footer-widget a:hover{color:#F2C46D!important}
/* 20 newsletter: no orphan icon, tidy two-column */
html body .ct-news-ico{display:none!important}
/* 14 Isabelle "three areas" cards: no pale decorative numerals */
html body .bio-pc-num{display:none!important}
/* inner heroes (page-title-wrap): text on the page's left edge */
html body .page-title-wrap .container{max-width:1216px!important;margin-left:auto!important;margin-right:auto!important;padding-left:16px!important;padding-right:16px!important;text-align:left!important}
html body .page-title-wrap :is(h1,.page-hero-sub,.section-label){margin-left:0!important;text-align:left!important}
html body .page-title-wrap .page-hero-ctas{justify-content:flex-start!important}
html body .page-title-wrap .container{width:100%!important;flex:1 1 100%!important}
html body .page-title-wrap{justify-content:flex-start!important}
/* Isabelle page: her photo on the right half, navy on the left for the text */
html body .page-title-wrap:has(.isa-hero-photo){background:#14244a!important}
html body .page-title-wrap .isa-hero-photo{left:auto!important;right:0!important;width:56%!important;height:100%!important;object-fit:cover!important;object-position:50% 22%!important;transform:none!important}
html body .page-title-wrap:has(.isa-hero-photo) .page-hero-overlay{background:linear-gradient(90deg,#14244a 0%,#14244a 44%,rgba(20,36,74,.55) 62%,rgba(20,36,74,.08) 100%)!important}
@media (max-width:760px){html body .page-title-wrap .isa-hero-photo{width:100%!important;object-position:70% 20%!important}
  html body .page-title-wrap:has(.isa-hero-photo) .page-hero-overlay{background:linear-gradient(180deg,rgba(20,36,74,.55),rgba(20,36,74,.88))!important}}
/* footer: line icons (Instagram, YouTube) stay outlined; filled glyphs (Facebook, LinkedIn) stay filled */
html body .footer-soc-btn svg[fill="none"]{fill:none!important;stroke:currentColor!important;stroke-width:2!important}
html body .footer-soc-btn svg[fill="none"] *{fill:none!important}
/* no highlighter marks on text anywhere (owner 8 Nov) */
html body .ab-mark,html body mark{background:none!important;background-image:none!important;padding:0!important;color:inherit!important;transition:none!important}
html body .ct-panel a,html body .ct-row a{background-image:none!important}
html body .ct-panel a:hover,html body .ct-row a:hover{text-decoration:underline;text-underline-offset:3px}
/* events: compact next-event card (8 Nov) - one box, not a card in a card */
html body .ev-next{padding:28px 0!important}
html body .ev-next-card{padding:22px 28px!important}
html body .ev-next-card .countdown-section.ev-cd{padding:0!important;margin:0!important;background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important}
html body .ev-next-card .ev-cd-inner{gap:24px!important;align-items:center!important}
html body .ev-next-card .countdown-title{margin:4px 0 8px!important;font-size:clamp(1.2rem,1.9vw,1.5rem)!important}
html body .ev-next-card :is(.countdown-meta,.ev-local){font-size:14.5px!important;line-height:1.5!important;margin:0 0 4px!important}
html body .ev-next-card .ev-cd-actions{margin-top:14px!important;gap:10px!important}
html body .ev-next-card .ev-cd-actions .et_pb_button{padding:9px 18px!important;font-size:14.5px!important;min-height:0!important}
html body .ev-next-card .ev-stats{margin:0!important}
html body .ev-next-card .ev-stats-row{margin-top:16px!important;padding-top:6px!important}
html body .ev-next-card .ev-stat{padding:8px 16px 4px 0!important;margin:0!important}
html body .ev-next-card .ev-stat-n{font-size:22px!important;line-height:1!important}
html body .ev-next-card .ev-stat-l{font-size:13.5px!important}
html body .ev-next-card .ev-tiles .ev-tile{min-width:56px!important;padding:8px 8px 6px!important}
html body .ev-next-card .ev-tiles .c-n{font-size:22px!important}
@media (max-width:700px){html body .ev-next-card{padding:18px 16px!important}html body .ev-next-card .ev-cd-inner{gap:16px!important}}
/* contact newsletter: the icon column is gone, so the copy is one column */
html body .ct-news-copy{display:block!important}
html body .ct-news-copy h3{margin:0 0 6px!important}
/* footer: one tidy grid (8 Nov) - same width as the page, one type size, aligned columns */
html body #footer-widgets{padding:56px 0 40px!important}
html body #footer-widgets .container,html body #footer-bottom .container{max-width:1216px!important;width:calc(100% - 48px)!important;margin:0 auto!important;padding:0!important}
html body #footer-widgets .container{display:grid!important;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,.9fr) minmax(0,1.1fr)!important;gap:32px 48px!important;align-items:start!important}
html body #main-footer .footer-widget{margin:0!important;padding:0!important;width:auto!important;float:none!important;min-width:0}
html body #main-footer .footer-brand-name{font-size:22px!important;line-height:1.2!important;margin:0 0 14px!important}
html body #main-footer .footer-widget h4{font:700 12px/1.2 Inter,sans-serif!important;letter-spacing:.14em!important;color:#F2C46D!important;margin:6px 0 18px!important;padding:0!important}
html body #main-footer .footer-widget ul{display:grid!important;gap:10px!important;margin:0!important}
html body #main-footer .footer-widget ul li{margin:0!important}
html body #main-footer .footer-widget :is(ul li a,p,p a){font-size:15px!important;line-height:1.5!important;font-weight:400!important}
html body #main-footer .footer-widget p{color:rgba(255,255,255,.72)!important;margin:0 0 10px!important;padding:0!important;max-width:34ch}
html body #main-footer .footer-widget:first-child p+p{font-size:13.5px!important;color:rgba(255,255,255,.55)!important}
html body #main-footer .footer-widget a{display:inline!important}
html body #main-footer .footer-widget ul li a{display:inline-block!important}
html body #main-footer .footer-widget p:last-child a{color:#F2C46D!important;font-weight:600!important}
html body #main-footer .footer-social{gap:6px!important;margin:18px 0 0 -9px!important}
html body .footer-soc-btn svg[fill="none"] [fill="currentColor"]{fill:currentColor!important;stroke:none!important}
html body #footer-bottom{padding:18px 0!important}
html body #footer-bottom .container{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px 24px!important;flex-wrap:wrap!important}
html body :is(#footer-info,#footer-credit,#footer-credit a){font-size:13px!important}
@media (max-width:980px){html body #footer-widgets .container{grid-template-columns:1fr 1fr!important;gap:32px!important}}
@media (max-width:560px){html body #footer-widgets{padding:40px 0 28px!important}html body #footer-widgets .container{grid-template-columns:1fr 1fr!important;gap:28px 20px!important}
  html body #main-footer .footer-widget:first-child,html body #main-footer .footer-widget:last-child{grid-column:1/-1}
  html body #footer-bottom .container{flex-direction:column!important;align-items:flex-start!important;text-align:left!important}
  html body :is(#footer-info,#footer-credit){text-align:left!important;width:auto!important}}
/* footer on phones: compact like desktop (8 Nov) - brand row, Navigate|Legal side by side, tight lists, one-line bottom bar */
@media (max-width:560px){
  html body #footer-widgets{padding:28px 0 18px!important}
  html body #footer-widgets .container{grid-template-columns:1fr 1fr!important;gap:20px 16px!important}
  html body #main-footer .footer-widget:first-child{display:grid!important;grid-template-columns:1fr auto;align-items:center;column-gap:12px}
  html body #main-footer .footer-brand-name{font-size:19px!important;margin:0!important}
  html body #main-footer .footer-social{grid-column:2;grid-row:1;margin:0 -9px 0 0!important;gap:0!important}
  html body #main-footer .footer-widget:first-child p{grid-column:1/-1;margin:8px 0 0!important;max-width:none}
  html body #main-footer .footer-widget:first-child p+p{margin-top:2px!important;font-size:12.5px!important}
  html body #main-footer .footer-widget h4{margin:0 0 10px!important;font-size:11px!important}
  html body #main-footer .footer-widget ul{gap:6px!important}
  html body #main-footer .footer-widget :is(ul li a,p,p a){font-size:14px!important;line-height:1.45!important}
  html body #main-footer .footer-widget:last-child p{margin:0 0 6px!important;max-width:none}
  html body #footer-bottom{padding:12px 0!important}
  html body #footer-bottom .container{flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:4px 12px!important}
  html body :is(#footer-info,#footer-credit,#footer-credit a){font-size:12px!important}
}
/* events page cards (upcoming + past): compact body, smaller sub text (8 Nov) */
html body .evt-card .ec-body{padding:16px 18px 18px!important}
html body .evt-card .ec-tags{margin:0 0 10px!important;gap:6px!important}
html body .evt-card :is(.ec-loc,.ec-type){font-size:10.5px!important;padding:4px 9px!important;letter-spacing:.08em!important}
html body .evt-card .ec-date{font-size:13px!important;line-height:1.4!important;margin:0 0 6px!important;gap:6px!important}
html body .evt-card .ec-date svg{width:14px!important;height:14px!important}
html body .evt-card h3{font-size:1.02rem!important;line-height:1.3!important;margin:0 0 6px!important}
html body .evt-card .ec-body>p{font-size:13.5px!important;line-height:1.5!important;color:#5a6072!important;margin:0 0 12px!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
html body .evt-card .ec-footer{padding-top:12px!important}
html body .evt-card .ec-price{font-size:16px!important;line-height:1.3!important;margin:0 0 10px!important}
html body .evt-card .ec-price span{font-size:12.5px!important;margin-top:2px!important}
html body .evt-card .ec-ctas{gap:8px!important}
html body .evt-card .ec-btn{font-size:13.5px!important;padding:0 12px!important;min-height:38px!important;border-radius:10px!important}
html body .evt-card :is(.ev-cal b){font-size:18px!important}
html body .evt-card .ev-when{font-size:11.5px!important;padding:5px 10px!important}
/* buttons line up with the text above them (theme gave every button an 8px left margin) */
html body .et_pb_button{margin-left:0!important}
html body .et_pb_button:not(:last-child){margin-right:10px!important}
html body .et_pb_button:last-child{margin-right:0!important}
/* chat assistant: bigger panel, smaller text, clean interface (8 Nov) */
html body #bhd-chat{width:410px!important;height:620px!important;max-height:calc(100vh - 120px)!important;max-width:calc(100vw - 32px)!important;border-radius:18px!important;overflow:hidden!important;border:1px solid #ECE5D9!important;box-shadow:0 24px 60px -20px rgba(20,36,74,.35)!important;background:#fff!important}
html body #bhd-chat .bhd-chat-head{background:#fff!important;border-bottom:1px solid #ECE5D9!important;padding:14px 14px 14px 18px!important}
html body #bhd-chat .bhd-chat-title{font:700 15px/1.3 'Plus Jakarta Sans',Inter,sans-serif!important;color:#14244a!important}
html body #bhd-chat .bhd-chat-status{font-size:12px!important;color:#6b7080!important;display:flex;align-items:center;gap:6px}
html body #bhd-chat .bhd-chat-status::before{display:none!important}
html body #bhd-chat .bhd-status-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;display:inline-block}
html body #bhd-chat .bhd-chat-close{width:32px!important;height:32px!important;border-radius:50%!important;font-size:22px!important;color:#14244a!important;background:none!important}
html body #bhd-chat .bhd-chat-close:hover{background:#F4EFE6!important}
html body #bhd-chat .bhd-chat-msgs{background:#FAF6EF!important;padding:16px!important;gap:10px!important}
html body #bhd-chat .bhd-msg{font-size:13.5px!important;line-height:1.5!important;padding:10px 13px!important;max-width:88%!important;box-shadow:none!important}
html body #bhd-chat .bhd-msg-bot{background:#fff!important;border:1px solid #ECE5D9!important;color:#2d3348!important;border-radius:14px 14px 14px 4px!important}
html body #bhd-chat .bhd-msg-user{background:#14244a!important;color:#fff!important;border:0!important;border-radius:14px 14px 4px 14px!important}
html body #bhd-chat .bhd-msg-label{font-size:10px!important;letter-spacing:.12em!important;color:#8f5a00!important;margin-bottom:4px!important}
html body #bhd-chat .bhd-msg-bot a{color:#14244a!important}
html body #bhd-chat .bhd-msg-btns{gap:6px!important;margin-top:8px!important}
html body #bhd-chat .bhd-msg-btn{font-size:12px!important;font-weight:600!important;padding:5px 11px!important;border:1px solid #14244a!important;color:#14244a!important;background:#fff!important;border-radius:999px!important}
html body #bhd-chat .bhd-msg-btn:hover{background:#14244a!important;color:#fff!important}
html body #bhd-chat .bhd-chat-quick{background:#fff!important;border-top:1px solid #ECE5D9!important;padding:10px 12px 4px!important;gap:6px!important}
html body #bhd-chat .bhd-quick-btn{font-size:12px!important;font-weight:500!important;padding:5px 11px!important;border:1px solid #E6DCC8!important;color:#14244a!important;background:#FFFDF9!important;border-radius:999px!important;box-shadow:none!important}
html body #bhd-chat .bhd-quick-btn:hover{background:#FFF3DF!important;border-color:#F2C46D!important}
html body #bhd-chat .bhd-chat-input{display:flex!important;align-items:center!important;gap:8px!important;padding:8px 12px 12px!important;background:#fff!important;border-top:0!important}
html body #bhd-chat .bhd-chat-input input{flex:1;min-width:0;height:42px!important;margin:0!important;padding:0 16px!important;font-size:13.5px!important;border:1px solid #D8DEE9!important;border-radius:999px!important;background:#fff!important;box-shadow:none!important;outline:none!important;color:#14244a!important}
html body #bhd-chat .bhd-chat-input input:focus{border-color:#14244a!important;box-shadow:0 0 0 3px rgba(20,36,74,.08)!important}
html body #bhd-chat .bhd-chat-input button{flex:none;width:42px!important;height:42px!important;border-radius:50%!important;background:#14244a!important;color:#fff!important;border:0!important;margin:0!important;padding:0!important;box-shadow:none!important}
html body #bhd-chat .bhd-chat-input button svg{width:17px!important;height:17px!important;margin-left:-2px}
html body #bhd-chat .bhd-chat-input button:hover{background:#0d1834!important}
@media (max-width:480px){html body #bhd-chat{left:12px!important;right:12px!important;width:auto!important;height:min(78vh,640px)!important;bottom:84px!important}}
/* newsletter: pill button inset evenly inside the pill field */
html body form.newsletter-form{display:flex!important;align-items:center!important;gap:6px!important;padding:5px!important;background:#fff!important;border:1px solid #E6DCC8!important;border-radius:999px!important;box-shadow:none!important;overflow:hidden}
html body form.newsletter-form input[type=email]{flex:1;min-width:0;height:44px!important;margin:0!important;padding:0 18px!important;border:0!important;background:none!important;box-shadow:none!important;font-size:15px!important;outline:none}
html body form.newsletter-form button{flex:none;height:44px!important;min-height:0!important;margin:0!important;padding:0 22px!important;border-radius:999px!important;font-size:14.5px!important;line-height:1!important}
html body form.newsletter-form:focus-within{border-color:#14244a!important;box-shadow:0 0 0 3px rgba(20,36,74,.08)!important}
/* ===== ONE button format everywhere, with motion (owner 8 Nov 2026: "update all buttons ... proper animation and interaction") =====
   Same size, radius and type as the home hero buttons. Hover: lift + shadow, arrow slides, a light sweep crosses.
   Press: sinks. Click: ripple from the pointer (shared.js). Focus: clear ring. Sold-out buttons stay still. */
html body :is(.et_pb_button,.ec-btn,.btn-outline,.btn-white,.btn-white-outline,.tn-btn,.form-submit button,#form-btn,.newsletter-form button,.evt-reg-form button,.bhd-btn){
  min-height:48px!important;padding:0 22px!important;border-radius:12px!important;font:600 15px/1.1 'Plus Jakarta Sans',Inter,sans-serif!important;letter-spacing:0!important;
  display:inline-flex!important;align-items:center;justify-content:center;gap:8px;position:relative!important;overflow:hidden!important;isolation:isolate;
  cursor:pointer;-webkit-tap-highlight-color:transparent;text-decoration:none!important;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .3s cubic-bezier(.2,.8,.2,1),background-color .2s ease,border-color .2s ease,color .2s ease!important}
html body .header-contact-btn{min-height:42px!important;padding:0 18px!important;border-radius:12px!important;font:600 14.5px/1.1 'Plus Jakarta Sans',Inter,sans-serif!important;
  position:relative!important;overflow:hidden!important;isolation:isolate;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,background-color .2s ease!important}
/* the sweep (re-uses the old fill layer) */
html body :is(.et_pb_button,.ec-btn,.btn-outline,.btn-white,.btn-white-outline,.tn-btn-ghost,.header-contact-btn,.form-submit button,#form-btn,.newsletter-form button,.evt-reg-form button)::after{
  content:""!important;position:absolute!important;inset:0!important;z-index:-1;pointer-events:none;border-radius:inherit;clip-path:none!important;opacity:1!important;
  background:linear-gradient(105deg,transparent 28%,rgba(255,255,255,.30) 50%,transparent 72%)!important;transform:translateX(-135%)!important;transition:none!important}
html body :is(.btn-outline,.btn-white-outline,.ec-btn-outline,.tn-btn-ghost)::after{background:linear-gradient(105deg,transparent 28%,rgba(242,196,109,.28) 50%,transparent 72%)!important}
html body :is(.et_pb_button,.ec-btn,.btn-outline,.btn-white,.btn-white-outline,.tn-btn-ghost,.header-contact-btn,.form-submit button,#form-btn,.newsletter-form button,.evt-reg-form button):is(:hover,:focus-visible)::after{
  transform:translateX(135%)!important;transition:transform .75s cubic-bezier(.2,.8,.2,1)!important}
/* lift + shadow, press */
html body :is(.et_pb_button,.ec-btn,.btn-outline,.btn-white,.btn-white-outline,.tn-btn,.header-contact-btn,.form-submit button,#form-btn,.newsletter-form button,.evt-reg-form button):hover{transform:translateY(-2px)!important}
html body :is(.et_pb_button:not(.btn-outline):not(.btn-white-outline),.ec-btn-fill,.tn-btn-pri,.header-contact-btn,.form-submit button,#form-btn,.newsletter-form button,.evt-reg-form button):hover{box-shadow:0 14px 28px -14px rgba(20,36,74,.6)!important}
html body :is(.btn-outline,.btn-white-outline,.ec-btn-outline,.tn-btn-ghost):hover{box-shadow:0 12px 24px -16px rgba(20,36,74,.35)!important;border-color:#14244a!important}
html body :is(.et_pb_button,.ec-btn,.btn-outline,.btn-white,.btn-white-outline,.tn-btn,.header-contact-btn,.form-submit button,#form-btn,.newsletter-form button,.evt-reg-form button):active{
  transform:translateY(0) scale(.97)!important;box-shadow:none!important;transition-duration:.1s!important}
/* arrows */
html body :is(.btn-arr,.tn-ar){transition:transform .35s cubic-bezier(.34,1.56,.64,1)!important}
html body :is(.et_pb_button,.ec-btn,.tn-btn,.tn-link):is(:hover,:focus-visible) :is(.btn-arr,.tn-ar){transform:translateX(4px)!important}
/* focus */
html body :is(.et_pb_button,.ec-btn,.btn-outline,.btn-white,.btn-white-outline,.tn-btn,.header-contact-btn,.form-submit button,#form-btn,.newsletter-form button,.evt-reg-form button):focus-visible{outline:2px solid #14244a!important;outline-offset:3px!important}
html body :is(.page-hero-ctas,.evt-hero-ctas) .et_pb_button:focus-visible,html body .et_pb_button.on-dark:focus-visible{outline-color:#fff!important}
/* click ripple */
html body .bhd-rip{position:absolute;z-index:-1;border-radius:50%;pointer-events:none;width:12px;height:12px;margin:-6px 0 0 -6px;background:currentColor;opacity:.22;transform:scale(0);animation:bhd-rip .6s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes bhd-rip{to{transform:scale(var(--r,30));opacity:0}}
/* sold out / disabled: no motion */
html body :is(.ec-btn-sold,.et_pb_button[aria-disabled="true"],button:disabled){cursor:default!important;transform:none!important;box-shadow:none!important}
html body :is(.ec-btn-sold,.et_pb_button[aria-disabled="true"],button:disabled)::after{display:none!important}
/* event-card buttons keep their compact size */
html body .evt-card .ec-btn{min-height:40px!important;padding:0 14px!important;font-size:14px!important;border-radius:10px!important}
html body .header-contact-btn .btn-arr{display:none}
@media (prefers-reduced-motion:reduce){
  html body :is(.et_pb_button,.ec-btn,.btn-outline,.btn-white,.btn-white-outline,.tn-btn,.header-contact-btn,.form-submit button,#form-btn,.newsletter-form button,.evt-reg-form button){transform:none!important}
  html body :is(.et_pb_button,.ec-btn,.btn-outline,.btn-white,.btn-white-outline,.tn-btn-ghost,.header-contact-btn,.form-submit button,#form-btn,.newsletter-form button,.evt-reg-form button)::after,html body .bhd-rip{display:none!important}
  html body :is(.btn-arr,.tn-ar){transform:none!important}}
/* footer: compact like the original format (owner 8 Nov) */
html body #footer-widgets{padding:40px 0 28px!important}
html body #footer-widgets .container{gap:24px 40px!important}
html body #main-footer .footer-brand-name{font-size:20px!important;margin:0 0 10px!important}
html body #main-footer .footer-widget h4{font-size:11px!important;margin:4px 0 12px!important}
html body #main-footer .footer-widget ul{gap:4px!important}
html body #main-footer .footer-widget :is(ul li a,p,p a){font-size:14px!important;line-height:1.5!important}
html body #main-footer .footer-widget p{margin:0 0 6px!important}
html body #main-footer .footer-widget:first-child p+p{font-size:12.5px!important}
html body #main-footer .footer-social{margin-top:12px!important}
html body #footer-bottom{padding:12px 0!important}
html body :is(#footer-info,#footer-credit,#footer-credit a){font-size:12.5px!important}
@media (max-width:560px){html body #footer-widgets{padding:24px 0 16px!important}html body #footer-widgets .container{gap:18px 16px!important}
  html body #main-footer .footer-widget ul{gap:2px!important}html body #main-footer .footer-widget :is(ul li a,p,p a){font-size:13.5px!important}
  html body #main-footer .footer-widget ul li a{padding:3px 0!important}}
/* one type scale for section titles on every page (hero H1s untouched): title clearly larger than lead, lead larger than body */
html body #et-main-area section:not(.tn-hero-isa) h2:not(.bio-vh){font-size:clamp(1.65rem,2.5vw,2.2rem)!important;line-height:1.15!important;letter-spacing:-.02em!important}
/* About: Why we do what we do + What we stand for - compact, clear hierarchy */
html body .ab-mv{padding-top:clamp(48px,6vw,72px)!important;padding-bottom:clamp(48px,6vw,72px)!important}
html body .ab-mv .ab-mv-grid{gap:clamp(32px,5vw,64px)!important;align-items:start!important}
html body .ab-mv .ab-h2{margin:0 0 14px!important}
html body .ab-mv .ab-rule{margin:0 0 16px!important}
html body .ab-mv .ab-statement{font:600 17.5px/1.5 'Plus Jakarta Sans',Inter,sans-serif!important;color:#14244a!important;margin:0 0 16px!important;max-width:40ch}
html body .ab-mv .ab-mission-copy{display:grid;gap:8px}
html body .ab-mv .ab-line{font-size:14.5px!important;line-height:1.6!important;color:#4b5163!important;margin:0!important}
html body .ab-mv .ab-mission-cta{margin-top:20px!important}
html body .ab-mv .ab-vals{gap:12px!important}
html body .ab-mv .ab-val{display:grid!important;grid-template-columns:22px minmax(0,1fr);column-gap:12px;align-items:start;padding:18px 20px!important;text-align:left!important}
html body .ab-mv .ab-val-i{grid-row:1/3;margin:2px 0 0!important;width:22px!important;height:22px!important}
html body .ab-mv .ab-val-i svg{width:22px!important;height:22px!important}
html body .ab-mv .ab-val h3{font-size:16px!important;line-height:1.3!important;margin:0 0 6px!important}
html body .ab-mv .ab-val p{font-size:13.5px!important;line-height:1.55!important;color:#5a6072!important;margin:0!important}
/* About: Built on Diversity - compact, title / lead / body hierarchy (8 Nov) */
html body .ab-story{padding-top:clamp(48px,6vw,72px)!important;padding-bottom:clamp(48px,6vw,72px)!important}
html body .ab-story .ab-story-grid{gap:clamp(32px,5vw,64px)!important;align-items:center!important}
html body .ab-story .ab-h2{margin:0 0 14px!important}
html body .ab-story .ab-rule{margin:0 0 16px!important}
html body .ab-story .ab-lead{font:500 17px/1.6 Inter,sans-serif!important;color:#3d4459!important;margin:0!important;max-width:42ch}
html body .ab-story .ab-track{gap:14px!important;padding-top:0!important}
html body .ab-story .ab-track-line{left:15px!important;top:20px!important;bottom:20px!important}
html body .ab-story .ab-stop{grid-template-columns:32px minmax(0,1fr)!important;gap:14px!important}
html body .ab-story .ab-stop-i{width:32px!important;height:32px!important;display:grid!important;place-items:center;background:#FFFDF9!important;position:relative;z-index:1}
html body .ab-story .ab-stop-i svg{width:22px!important;height:22px!important}
html body .ab-story .ab-stop p{font-size:14.5px!important;line-height:1.6!important;color:#4b5163!important;padding-top:5px!important}
@media (max-width:900px){html body .ab-story .ab-story-grid{align-items:start!important}}
/* FAQs (Services + Home): compact, question clearly larger than answer, small calm toggle (8 Nov) */
html body .sv-acc-btn{padding:14px 0!important;gap:16px!important;font:600 16px/1.4 'Plus Jakarta Sans',Inter,sans-serif!important;color:#14244a!important;min-height:0!important}
html body .sv-acc-h{margin:0!important;font-size:16px!important}
html body .sv-acc-p p{font-size:14.5px!important;line-height:1.6!important;color:#5a6072!important;margin:0!important;max-width:68ch}
html body .sv-acc-p>div{padding:0 0 14px!important}
html body .sv-acc-item{border-bottom:1px solid #ECE5D9!important}
html body .sv-acc-x{flex:0 0 28px!important;width:28px!important;height:28px!important;background:#fff!important;border:1px solid #E6DCC8!important}
html body .sv-acc-x::before,html body .sv-acc-x::after{width:10px!important;height:1.6px!important;margin:-.8px 0 0 -5px!important;background:#14244a!important}
html body .sv-acc-btn[aria-expanded="true"] .sv-acc-x{background:#14244a!important;border-color:#14244a!important}
html body .sv-acc-btn[aria-expanded="true"] .sv-acc-x::before,html body .sv-acc-btn[aria-expanded="true"] .sv-acc-x::after{background:#fff!important}
html body .sv-acc-btn:hover .sv-acc-x{border-color:#14244a!important}
html body .hx-faq-item summary{padding:14px 0!important;gap:16px!important;font:600 16px/1.4 'Plus Jakarta Sans',Inter,sans-serif!important;color:#14244a!important}
html body .hx-faq-item .hx-faq-a{font-size:14.5px!important;line-height:1.6!important;color:#5a6072!important;margin:0!important;padding:0 0 14px!important;max-width:68ch}
html body .hx-faq-ic{width:28px!important;height:28px!important;flex:0 0 28px!important}
html body .hx-faq-ic svg{width:14px!important;height:14px!important}
/* ===== MOBILE AUDIT fixes (8 Nov 2026) ===== */
/* phone menu: the white + glow link style is for the header over a dark hero; inside the light menu panel it is navy */
html body.mobile-nav-open #top-menu-nav a,html body.mobile-nav-open #top-menu a{color:#14244a!important;text-shadow:none!important}
html body.mobile-nav-open #top-menu :is(.current-menu-item,.current_page_item)>a{color:#8f5a00!important}
html body.mobile-nav-open #top-menu a svg,html body.mobile-nav-open #top-menu a::after{color:#8f5a00!important;stroke:currentColor}
/* refund note: one paragraph, link inline */
@media (max-width:600px){html body p.ev-refund{display:block!important;padding-left:24px!important;position:relative}
  html body p.ev-refund svg{position:absolute;left:0;top:2px;margin:0!important}
  html body p.ev-refund a{display:inline!important;margin-left:4px}}
@media (max-width:700px){
  /* filter pills wrap instead of running off the screen; selected pill carries its own colour */
  html body .ev-pills{flex-wrap:wrap!important;overflow:visible!important;border-radius:16px!important;gap:4px!important;padding:4px!important}
  html body .ev-pills .ev-ind{display:none!important}
  html body .ev-pill{min-height:38px!important;padding:0 12px!important;font-size:13.5px!important;gap:6px!important}
  html body .ev-pill[aria-selected="true"]{background:#F2C46D!important}
  /* next-event key numbers: compact 2 x 2, number beside label */
  html body .ev-next-card .ev-stats-row{grid-template-columns:1fr 1fr!important;gap:0!important;margin-top:12px!important;padding-top:4px!important}
  html body .ev-next-card .ev-stat{flex-direction:row!important;align-items:baseline!important;gap:8px!important;padding:8px 8px 8px 0!important;border:0!important}
  html body .ev-next-card .ev-stat-n{font-size:20px!important}
  html body .ev-next-card .ev-stat-l{font-size:12.5px!important;line-height:1.3!important}
  html body .ev-next-card .ev-tiles .ev-tile{min-width:0!important;padding:8px 4px 6px!important}
  html body .ev-next-card .countdown-timer.ev-tiles{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:6px!important}}
/* mobile audit round 2 (8 Nov) */
/* every red "non-refundable" box becomes the same quiet line as the Events page */
html body :is(.evt-refund-note,.hx-notice){background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0 0 0 22px!important;position:relative;
  font-size:13px!important;font-weight:500!important;line-height:1.55!important;color:#5a6072!important;margin-top:12px!important}
html body :is(.evt-refund-note,.hx-notice)::before{content:"";position:absolute;left:0;top:2px;width:14px;height:14px;border-radius:50%;border:1.6px solid #8f5a00;box-sizing:border-box}
html body :is(.evt-refund-note,.hx-notice)::after{content:"i";position:absolute;left:0;top:2px;width:14px;line-height:14px;text-align:center;font:700 9px/14px Inter,sans-serif;color:#8f5a00}
html body .hx-notice svg{display:none!important}
html body .hx-notice :is(strong,b){font-weight:600!important;color:#5a6072!important}
/* privacy: plain links in legal text are navy and underlined */
html body :is(.legal-content,.legal-body,main) p a[href^="http"]{color:#14244a!important;text-decoration:underline;text-underline-offset:3px}
@media (max-width:560px){
  /* newsletter: field and button stack instead of the button breaking out of the pill */
  html body form.newsletter-form{flex-direction:column!important;align-items:stretch!important;border-radius:16px!important;padding:6px!important;gap:6px!important}
  html body form.newsletter-form input[type=email]{height:44px!important}
  html body form.newsletter-form button{width:100%!important}
  /* home hero: the three key numbers fit on one row */
  html body .tn-hero-isa .tn-proof{gap:14px!important;flex-wrap:nowrap!important}
  html body .tn-hero-isa .tn-proof li{font-size:12px!important;white-space:nowrap}
  html body .tn-hero-isa .tn-proof b{font-size:19px!important}}
html body .hx-notice{display:block!important}
/* phone menu: out-rank style.css L1255/L1317 (white + glow for the header over a dark hero) */
html body.mobile-nav-open #main-header:not(.zz-a):not(.zz-b):not(.zz-c) #top-menu > li > a{color:#14244a!important;-webkit-text-fill-color:#14244a!important;text-shadow:none!important}
html body.mobile-nav-open #main-header:not(.zz-a):not(.zz-b):not(.zz-c) #top-menu > li:is(.current-menu-item,.current_page_item) > a{color:#8f5a00!important;-webkit-text-fill-color:#8f5a00!important}
/* newsletter: the button is a pill inside the pill field (must come after the one-button-format rule) */
html body form.newsletter-form button{border-radius:999px!important}
html body form.newsletter-form{border-radius:999px!important}
@media (max-width:560px){html body form.newsletter-form{border-radius:24px!important}}
/* the one-button rule's :is() list contains #form-btn, which gives it ID weight - so the pill needs an ID selector too */
html body #newsletter-form button,html body form#newsletter-form button[type=submit]{border-radius:999px!important}
