/* The Bonding Corner - shared page CSS (phase 2).
   Install once: Appearance > Customize > Additional CSS, or enqueue as a real .css file.
   Fonts are loaded in the theme head, not with @import, so this file never blocks render.
   Every page fragment is wrapped in .bh and uses these tokens. */
/* Fonts: @font-face rules are inlined in <head> by the plugin (assets/fonts/fonts.css)
   so text uses them from the first paint, before this stylesheet arrives. */
/* Kadence's `.single-content p` adds a 32px bottom margin and outranks the `.bh *`
   reset. This matches its weight, and sits first so every later rule of the same
   weight in this file still wins over it. */
.bh p{margin-bottom:0}
/* Built pages no longer load the block-editor styles, which carried this part of
   the standard visually-hidden pattern. */
.screen-reader-text,.widget_shopping_cart_live_region{margin:-1px}
/* The blog and forum listings render from the theme, outside any .bh wrapper,
   so they get the tokens here as well - without them every var() below is
   undefined and the browser throws the declaration away. */
.bh,
body.bc-blog,
body.bc-forum{
--bh-deep:#0A2F2B;
--bh-deep-2:#0D3B35;
--bh-deep-3:#071F1C;
--bh-teal:#0E5049;
--bh-lift:#1A7A6E;
--bh-onDeep:#CFE3DE;
--bh-onDeep-dim:#9BBCB5;
--bh-mint:#8FE0CF;
--bh-sage:#E4EDE9;
--bh-ink:#16211F;
--bh-muted:#55665F;
--bh-faint:#7E918B;
--bh-paper:#F7F8F7;
--bh-line:#D2DCD8;
--bh-line-soft:#E5EBE9;
--s1:.25rem; --s2:.5rem; --s3:.75rem; --s4:1rem; --s5:1.5rem;
--s6:2rem; --s7:2.5rem; --s8:3rem; --s9:4rem; --s10:5rem;
--r-s:10px; --r-m:16px; --r-l:22px; --r-xl:28px; --pill:999px;
--sh-1:0 1px 2px rgba(10,47,43,.04), 0 6px 18px rgba(10,47,43,.06);
--sh-2:0 2px 6px rgba(10,47,43,.06), 0 16px 36px rgba(10,47,43,.10);
--sh-3:0 18px 44px rgba(6,26,23,.30);
--ease:cubic-bezier(.23,1,.32,1);
--bh-motion-fast:160ms; --bh-motion-ui:220ms; --bh-motion-enter:480ms;
--bh-travel:14px; --bh-stagger:45ms;
--display:'Schibsted Grotesk', system-ui, -apple-system, sans-serif;
--body:'Public Sans', system-ui, -apple-system, sans-serif;
--max:1180px;
--z-bar:100; --z-prog:300;
}

/* Layout and typography stay on .bh only - the block above is tokens, and
   giving a full-bleed width to <body> is how you get a horizontal scrollbar. */
.bh{
width:var(--bh-vw, 100vw);
max-width:var(--bh-vw, 100vw);
margin-left:calc(50% - (var(--bh-vw, 100vw) / 2));
background:var(--bh-paper);
color:var(--bh-ink);
font-family:var(--body);
font-size:1.0625rem;
line-height:1.68;
-webkit-font-smoothing:antialiased;
text-wrap:pretty;
overflow-wrap:break-word;
}
.bh *, .bh *::before, .bh *::after{ box-sizing:border-box; margin:0; padding:0; }

/* Kadence's content.min.css styles the same bare elements these fragments use:
     .single-content h1..h6 { margin:1.5em 0 .5em }
     .single-content ul,ol  { margin:0 0 var(--global-md-spacing); padding-left:2em }
   Both out-specify the `.bh *` reset above and load later, so they won: every
   heading gained a 1.5em top margin, the `auto` side margins that centre the
   hero and closing headings were zeroed, and every list picked up a 2em indent.
   Repeating the class lifts us past them deterministically - no !important and
   no enqueue-order dependency. Kept here, above every component rule, so the
   `.bh-phase X h2` rules below still win their ties on order. */
.bh.bh :is(h1,h2,h3,h4,h5,h6){ margin:0; }
.bh.bh :is(ul,ol){ padding-left:0; }
.bh img{ max-width:100%; display:block; }
.bh svg{ display:block; }
.bh a{ color:inherit; text-decoration:none; touch-action:manipulation; }
.bh button, .bh summary{ touch-action:manipulation; font:inherit; }
.bh ul, .bh ol{ list-style:none; }
.bh ::selection{ background:var(--bh-teal); color:#fff; }
.bh :focus-visible{ outline:3px solid var(--bh-teal); outline-offset:3px; border-radius:4px; }
.bh-onDeep :focus-visible{ outline-color:var(--bh-mint); }
.bh [id]{ scroll-margin-block-start:24px; }
.bh h1, .bh h2, .bh h3{
font-family:var(--display); font-weight:600; color:var(--bh-deep);
line-height:1.08; letter-spacing:-.028em; text-wrap:balance;
}
.bh h2{ font-size:clamp(2rem, 3.9vw, 2.85rem); }
.bh h3{ font-size:1.2rem; font-weight:600; letter-spacing:-.012em; line-height:1.3; font-family:var(--body); }
.bh p{ max-width:64ch; }
.bh-in{ max-width:var(--max); margin-inline:auto; padding-inline:clamp(1.25rem, 4vw, 2.5rem); }
.bh-sec{ padding-block:clamp(4.5rem, 8vw, 7rem); }
.bh-sec--tight{ padding-block:clamp(3rem, 6vw, 4.5rem); }
.bh-progress{
position:fixed; top:0; left:0; right:0; height:2px; z-index:var(--z-prog);
background:var(--bh-lift); transform:scaleX(0); transform-origin:0 50%;
pointer-events:none;
}
.bh .bh-btn{
display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
min-block-size:52px; padding:.8rem 1.9rem; border-radius:var(--pill);
font-family:var(--body); font-weight:600; font-size:1rem; line-height:1.2;
border:1.5px solid transparent; white-space:nowrap; cursor:pointer;
transition:background-color .22s var(--ease), color .22s var(--ease),
border-color .22s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);
}
.bh .bh-btn:active{ transform:translateY(0) scale(.99); }
.bh .bh-btn--white{ background:#fff; color:var(--bh-deep); }
.bh .bh-btn--go{ background:var(--bh-teal); color:#fff; }
.bh .bh-btn--line{ background:transparent; color:var(--bh-deep); border-color:var(--bh-line); }
.bh .bh-btn--ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.4); }
.bh-acts{ display:flex; flex-wrap:wrap; gap:var(--s3); justify-content:center; }
.bh-illo{
position:relative; overflow:hidden; border-radius:var(--r-xl);
background:
  radial-gradient(120% 90% at 20% 10%, rgba(255,255,255,.85), transparent 60%),
  var(--bh-sage);
box-shadow:var(--sh-1); border:1px solid var(--bh-line-soft);
}
.bh-illo img{ width:100%; height:100%; object-fit:cover; }
.bh-illo--wide{ aspect-ratio:16/9; }
.bh-illo--tall{ aspect-ratio:4/5; }
.bh-illo.is-empty img{ visibility:hidden; }
.bh-illo.is-empty::after{
content:attr(data-slot);
position:absolute; inset:auto 0 var(--s5) 0; text-align:center;
font-size:.7rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
color:var(--bh-faint);
}
.bh-hero{
position:relative; background:var(--bh-deep); color:#fff; text-align:center;
padding-block:clamp(3.5rem, 7vw, 6rem) clamp(3.5rem, 7vw, 5.5rem); overflow:hidden;
}
.bh-hero .bh-in{ position:relative; z-index:1; }
.bh-orb{ position:absolute; border-radius:50%; pointer-events:none; }
.bh-orb--r1{ width:min(46vw,420px); aspect-ratio:1; border:1px solid rgba(255,255,255,.11); top:-110px; left:-130px; }
.bh-orb--r2{ width:min(26vw,230px); aspect-ratio:1; border:1px solid rgba(255,255,255,.09); bottom:14%; right:-70px; }
.bh-orb--fill{ width:min(58vw,500px); aspect-ratio:1; background:rgba(255,255,255,.035); top:-140px; right:-160px; }
@media (prefers-reduced-motion:no-preference){
.bh.bh-hero-visible .bh-orb--r1{ animation:bhFloat 16s ease-in-out infinite alternate; }
.bh.bh-hero-visible .bh-orb--r2{ animation:bhFloat 13s ease-in-out -5s infinite alternate-reverse; }
.bh.bh-hero-visible .bh-orb--fill{ animation:bhFloat 18s ease-in-out -9s infinite alternate; }
.bh.bh-paused .bh-orb{ animation-play-state:paused; }
}
@keyframes bhFloat{ to{ transform:translateY(18px); } }
.bh-eyebrow{
display:inline-flex; align-items:center;
font-size:.75rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
color:var(--bh-onDeep); background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16);
padding:.45rem 1.05rem; border-radius:var(--pill); margin-block-end:var(--s5);
}
.bh-hero h1{
color:#fff; font-size:clamp(2.5rem, 6.4vw, 4.4rem); letter-spacing:-.038em; line-height:1.04;
max-width:15ch; margin:0 auto var(--s5);
}
.bh-hero-sub{ color:var(--bh-onDeep); font-size:clamp(1.05rem, 1.8vw, 1.3rem); max-width:48ch; margin:0 auto var(--s7); }
.bh-stats{
display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:var(--s4);
max-width:820px; margin:var(--s8) auto 0;
background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14);
border-radius:var(--r-m); padding:var(--s5);
}
.bh-stats > div{ text-align:center; }
.bh-stats dt{ font-size:.7rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--bh-onDeep-dim); margin-bottom:var(--s1); }
.bh-stats dd{ font-family:var(--display); font-size:1.15rem; font-weight:600; color:#fff; font-variant-numeric:tabular-nums; }
@media (max-width:700px){ .bh-stats{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
.bh-w{ display:inline-block; overflow:hidden; vertical-align:top; padding-block-end:.14em; margin-block-end:-.14em; }
.bh-w > span{ display:inline-block; }
@media (prefers-reduced-motion:no-preference){
.bh.bh-intro .bh-w > span{ animation:bhRise var(--bh-motion-enter) var(--ease) both; animation-delay:var(--bh-word-delay,0ms); }
.bh.bh-intro .bh-fadeup{ animation:bhFadeUp 420ms var(--ease) both; }
.bh.bh-intro .bh-fadeup[data-fd="1"]{ animation-delay:90ms; }
.bh.bh-intro .bh-fadeup[data-fd="2"]{ animation-delay:140ms; }
.bh.bh-intro .bh-fadeup[data-fd="3"]{ animation-delay:180ms; }
.bh.bh-intro .bh-fadeup[data-fd="4"]{ animation-delay:230ms; }
}
@keyframes bhRise{ from{ transform:translateY(100%); } to{ transform:none; } }
@keyframes bhFadeUp{ from{ opacity:.65; transform:translateY(10px); } to{ opacity:1; transform:none; } }
.bh-uh{ position:relative; display:inline-block; white-space:nowrap; }
.bh-uline{ position:absolute; left:-2%; bottom:-.07em; width:104%; height:.18em; overflow:visible; pointer-events:none; }
.bh-uline path{
fill:none; stroke:var(--bh-mint); stroke-width:4; stroke-linecap:round;
vector-effect:non-scaling-stroke; stroke-dasharray:1; stroke-dashoffset:0;
}
@media (prefers-reduced-motion:no-preference){
.bh.bh-intro .bh-uline path{ animation:bhUnderline 620ms var(--ease) 260ms both; }
}
@keyframes bhUnderline{ from{ stroke-dashoffset:1; } to{ stroke-dashoffset:0; } }
.bh-proofline{
display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
margin-block-start:var(--s5); color:var(--bh-onDeep-dim);
font-size:.83rem; font-weight:500; line-height:1.45;
transition:color var(--bh-motion-ui) ease;
}
.bh-proofline svg{ flex:none; color:var(--bh-mint); transition:transform var(--bh-motion-ui) var(--ease); }
.bh-wave{ display:block; line-height:0; }
.bh-b-paper{ background:var(--bh-paper); }
.bh-f-deep{ color:var(--bh-deep); }
.bh-wave svg{ display:block; width:100%; height:clamp(44px, 7vw, 88px); }
.bh-wave path{ fill:currentColor; }
.bh-lead{ background:var(--bh-sage); border-radius:var(--r-xl); padding:clamp(1.75rem, 4vw, 3rem); text-align:center; }
.bh-lead-ico{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:#fff; color:var(--bh-teal); margin-block-end:var(--s4); }
.bh-lead p#direct-answer{
font-family:var(--display); font-weight:500;
font-size:clamp(1.25rem, 2.5vw, 1.55rem); line-height:1.5; letter-spacing:-.015em;
color:var(--bh-deep); max-width:54ch; margin-inline:auto;
}
.bh-shead{ text-align:center; max-width:680px; margin:0 auto clamp(2.5rem, 5vw, 3.75rem); }
.bh.bh .bh-eyebrow2{
display:inline-flex; align-items:center;
background:var(--bh-sage); color:var(--bh-teal);
font-size:.72rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase;
padding:.45rem 1rem; border-radius:var(--pill); margin-block-end:var(--s3);
}
.bh-shead .sub{ color:var(--bh-muted); margin-block-start:var(--s4); margin-inline:auto; max-width:58ch; }
.bh-split{ display:grid; gap:clamp(2.5rem, 5vw, 4.5rem); align-items:center; }
@media (min-width:940px){ .bh-split{ grid-template-columns:1fr 1fr; } }
.bh-split-copy p{ color:var(--bh-muted); margin-block-end:var(--s4); }
.bh-split-copy b{ color:var(--bh-ink); font-weight:600; }
.bh-more{ display:inline-flex; align-items:center; gap:.5rem; color:var(--bh-teal); font-weight:600; }
.bh-more svg{ transition:transform .22s var(--ease); }
.bh-figwrap{ position:relative; max-width:440px; margin-inline:auto; width:100%; }
.bh-figwrap::before{
content:""; position:absolute; inset:0; transform:translate(16px, 16px);
border:2px solid var(--bh-line); border-radius:var(--r-xl); pointer-events:none;
}
.bh-figwrap .bh-illo{ position:relative; }
.bh-badge{
position:absolute; left:14px; bottom:26px; z-index:2;
background:#fff; border:1px solid var(--bh-line-soft); border-radius:var(--r-m);
padding:var(--s4) var(--s5); box-shadow:var(--sh-2); max-width:230px;
}
.bh-badge b{ display:block; font-family:var(--display); font-size:1.7rem; font-weight:600; color:var(--bh-teal); line-height:1; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.bh-badge span{ display:block; font-size:.78rem; color:var(--bh-muted); margin-block-start:var(--s1); line-height:1.45; }
.bh-cred{ background:#fff; border:1px solid var(--bh-line-soft); border-radius:var(--r-m); padding:var(--s4) var(--s5); box-shadow:var(--sh-1); margin-block-start:var(--s5); }
.bh-cred > div{ display:flex; justify-content:space-between; gap:var(--s4); padding-block:var(--s3); }
.bh-cred > div + div{ border-block-start:1px solid var(--bh-line-soft); }
.bh-cred dt{ font-size:.72rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--bh-faint); align-self:center; }
.bh-cred dd{ font-size:.95rem; color:var(--bh-ink); font-weight:500; text-align:end; font-variant-numeric:tabular-nums; }
.bh-free{
display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
gap:var(--s3) var(--s5);
background:var(--bh-sage); border-radius:var(--r-l);
padding:var(--s6) var(--s5); margin-block-end:var(--s8);
}
.bh-free-ico{
display:inline-flex; align-items:center; justify-content:center; flex:none;
width:52px; height:52px; border-radius:50%; background:#fff; color:var(--bh-teal);
}
.bh-free-copy{ text-align:center; flex:1 1 320px; }
.bh-free-copy strong{
display:block; font-family:var(--display); font-size:1.3rem; font-weight:600;
color:var(--bh-deep); letter-spacing:-.02em; margin-block-end:var(--s1);
}
.bh-free-copy p{ font-size:.92rem; color:var(--bh-muted); max-width:46ch; margin-inline:auto; }
.bh-tier{ margin-block-start:var(--s9); }
.bh-tier:first-of-type{ margin-block-start:0; }
.bh-tier-head{ text-align:center; margin-block-end:var(--s7); }
.bh.bh .bh-tier-head h3{ font-family:var(--display); font-size:1.55rem; letter-spacing:-.025em; margin-block-end:var(--s2); }
.bh-tier-head p{ font-size:.9rem; color:var(--bh-muted); max-width:60ch; margin-inline:auto; }
.bh-cards{ display:grid; gap:var(--s4); }
@media (min-width:620px){ .bh-cards{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (min-width:1060px){
.bh-cards--4{ grid-template-columns:repeat(4, minmax(0,1fr)); }
.bh-cards--3{ grid-template-columns:repeat(3, minmax(0,1fr)); }
}
.bh-card{
position:relative; display:flex; flex-direction:column;
background:#fff; border:1px solid var(--bh-line-soft); border-radius:var(--r-l);
padding:clamp(1.75rem, 3vw, 2.25rem); box-shadow:var(--sh-1);
transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.bh-card::after{
content:""; position:absolute; top:-1px; left:1.5rem; right:1.5rem; height:3px;
border-radius:0 0 4px 4px;
background:linear-gradient(90deg, var(--bh-teal), var(--bh-lift));
transform:scaleX(0); transform-origin:0 50%;
transition:transform .35s var(--ease); pointer-events:none;
}
.bh-card--pick{
background:linear-gradient(168deg, var(--bh-deep-2) 0%, var(--bh-deep) 58%, var(--bh-deep-3) 100%);
border-color:rgba(143,224,207,.28); box-shadow:var(--sh-3);
}
.bh-card--pick::after{ display:none; }
.bh-card--pick::before{
content:""; position:absolute; inset:9px;
border:1px solid rgba(255,255,255,.13);
border-radius:calc(var(--r-l) - 9px); pointer-events:none;
}
@media (min-width:1060px){ .bh-cards .bh-card--pick{ margin-block:-12px; } }
.bh-card-flag{
position:absolute; top:-12px; left:50%; transform:translateX(-50%);
background:var(--bh-mint); color:var(--bh-deep);
font-size:.66rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
padding:.38rem .9rem; border-radius:var(--pill); white-space:nowrap;
box-shadow:0 6px 18px rgba(6,26,23,.30);
}
.bh-card-top{ margin-block-end:var(--s3); text-align:center; }
.bh-card-name{ font-size:.72rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--bh-teal); }
.bh-card--pick .bh-card-name{ color:var(--bh-mint); }
.bh-card-price{
display:flex; align-items:baseline; justify-content:center; gap:.34rem;
font-family:var(--display); font-weight:600; letter-spacing:-.038em; line-height:1;
font-size:clamp(2.05rem, 2.8vw, 2.55rem); color:var(--bh-deep); font-variant-numeric:tabular-nums;
margin-block:var(--s4) var(--s2);
}
.bh-card--pick .bh-card-price{ color:#fff; }
.bh-cur{ font-family:var(--body); font-size:.95rem; font-weight:600; color:var(--bh-faint); }
.bh-card--pick .bh-cur{ color:var(--bh-onDeep-dim); }
.bh-card-unit{ font-size:.8rem; color:var(--bh-muted); font-variant-numeric:tabular-nums; text-align:center; }
.bh-card--pick .bh-card-unit{ color:var(--bh-onDeep); }
.bh-card-save{
display:block; margin-block-start:var(--s2); text-align:center;
font-size:.66rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase;
color:var(--bh-teal); font-variant-numeric:tabular-nums;
}
.bh-card--pick .bh-card-save{ color:var(--bh-mint); }
.bh-card-list{ margin-block:var(--s5); padding-block-start:var(--s5); border-block-start:1px solid var(--bh-line-soft); display:grid; gap:var(--s2); }
.bh-card--pick .bh-card-list{ border-block-start-color:rgba(255,255,255,.14); }
.bh-card-list li{ font-size:.84rem; color:var(--bh-muted); line-height:1.55; padding-inline-start:var(--s5); position:relative; }
.bh-card--pick .bh-card-list li{ color:var(--bh-onDeep); }
.bh-card-list li::before{
content:""; position:absolute; inset-inline-start:1px; inset-block-start:.34em;
width:12px; height:7px;
border-inline-start:2px solid var(--bh-teal); border-block-end:2px solid var(--bh-teal);
transform:rotate(-45deg);
}
.bh-card--pick .bh-card-list li::before{ border-color:var(--bh-mint); }
.bh-card-cta{ margin-block-start:auto; }
.bh-card-cta .bh-btn{ width:100%; min-block-size:50px; padding:.7rem 1rem; font-size:.88rem; }
.bh-note{ margin-block-start:var(--s5); font-size:.85rem; color:var(--bh-muted); max-width:72ch; margin-inline:auto; text-align:center; }
.bh-note a{ color:var(--bh-teal); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.bh-faq{ display:grid; gap:var(--s3); max-width:840px; margin-inline:auto; }
.bh-faq details{
background:#fff; border:1px solid var(--bh-line-soft); border-radius:var(--r-m);
padding-inline:var(--s6); box-shadow:var(--sh-1);
transition:box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.bh-faq details[open]{ border-color:var(--bh-lift); box-shadow:var(--sh-2); }
.bh-faq summary{
list-style:none; cursor:pointer; min-block-size:60px;
display:flex; align-items:center; justify-content:space-between; gap:var(--s5);
padding-block:var(--s4);
font-family:var(--display); font-weight:500; font-size:1.12rem; letter-spacing:-.014em;
color:var(--bh-deep); transition:color .2s var(--ease);
}
.bh-faq summary::-webkit-details-marker{ display:none; }
.bh-fi{ position:relative; flex:none; width:26px; height:26px; border-radius:50%; background:var(--bh-sage); transition:background-color .28s var(--ease); }
.bh-fi::before, .bh-fi::after{
content:""; position:absolute; top:50%; left:50%;
transform:translate(-50%,-50%); background:var(--bh-teal); border-radius:2px;
transition:transform var(--bh-motion-ui) var(--ease), background-color var(--bh-motion-ui) var(--ease);
}
.bh-fi::before{ width:12px; height:2px; }
.bh-fi::after{ width:2px; height:12px; }
.bh-faq details[open] .bh-fi::after{ transform:translate(-50%,-50%) scaleY(0); }
.bh-faq details[open] .bh-fi{ background:var(--bh-teal); }
.bh-faq details[open] .bh-fi::before{ background:#fff; }
.bh-faq details p{ padding-block-end:var(--s5); color:var(--bh-muted); max-width:64ch; }
.bh-faq details a{ color:var(--bh-teal); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.bh-close{ position:relative; overflow:hidden; background:var(--bh-deep); color:#fff; text-align:center; }
.bh-close .bh-in{ position:relative; z-index:1; }
.bh-close::after{ content:""; position:absolute; width:420px; height:420px; border-radius:50%; border:1px solid rgba(255,255,255,.10); left:-160px; top:-140px; pointer-events:none; }
.bh-close h2{ color:#fff; font-size:clamp(2rem, 4.4vw, 3.1rem); max-width:16ch; margin:0 auto var(--s4); }
.bh-close p{ color:var(--bh-onDeep); max-width:50ch; margin:0 auto var(--s7); }
.bh-bar{
display:none; position:fixed; inset-block-end:0; inset-inline:0; z-index:var(--z-bar);
background:#fff; border-block-start:1px solid var(--bh-line);
border-radius:var(--r-m) var(--r-m) 0 0;
padding:var(--s2) var(--s3) calc(var(--s2) + env(safe-area-inset-bottom)); gap:var(--s2);
box-shadow:0 -8px 28px rgba(10,47,43,.10);
}
.bh-bar a{ flex:1; min-block-size:48px; display:flex; align-items:center; justify-content:center; border-radius:var(--pill); font-weight:600; font-size:.92rem; }
.bh-bar .b1{ flex:1.7; background:var(--bh-teal); color:#fff; }
.bh-bar .b2{ background:#fff; color:var(--bh-deep); border:1.5px solid var(--bh-line); }
.bh-bar a:focus-visible{ outline:3px solid var(--bh-teal); outline-offset:-3px; }
.bh .bh-up, .bh .bh-blur{ opacity:1; }
.bh.bh-enhanced .bh-up:not(.on){ opacity:0; transform:translateY(var(--bh-travel)); }
.bh.bh-enhanced .bh-blur:not(.on){ opacity:0; transform:translateY(20px); filter:blur(8px); }
.bh.bh-enhanced .bh-up,.bh.bh-enhanced .bh-blur{
transition:opacity var(--bh-motion-enter) var(--ease),transform var(--bh-motion-enter) var(--ease),filter 520ms ease;
}
.bh.bh-enhanced .bh-bar{ transform:translateY(105%); visibility:hidden;
  transition:transform var(--bh-motion-ui) var(--ease), visibility 0s linear var(--bh-motion-ui); }
.bh.bh-enhanced .bh-bar.show{ transform:translateY(0); visibility:visible; transition:transform var(--bh-motion-ui) var(--ease); }
.bh .bh-faq-a{ height:auto; }
.bh .bh-faq details.bh-accordion-moving{ overflow:hidden; }
@media (max-width:640px){
.bh-acts{ flex-direction:column; align-items:stretch; }
.bh-acts .bh-btn{ width:100%; }
.bh-figwrap::before{ transform:translate(10px, 10px); }
.bh-badge{ left:10px; bottom:14px; padding:var(--s3) var(--s4); }
.bh-bar{ display:flex; }
.bh{ padding-block-end:76px; scroll-padding-block-end:84px; }
}
@media (hover:hover) and (pointer:fine){
.bh .bh-btn--white:hover{ background:var(--bh-mint); transform:translateY(-2px); }
.bh .bh-btn--go:hover{ background:var(--bh-deep); transform:translateY(-2px); box-shadow:var(--sh-2); }
.bh .bh-btn--line:hover{ border-color:var(--bh-teal); background:var(--bh-sage); transform:translateY(-2px); }
.bh .bh-btn--ghost:hover{ border-color:#fff; background:rgba(255,255,255,.08); transform:translateY(-2px); }
.bh-own-figure:hover .bh-seat--taken{ transform:translateY(-3px); }
.bh-own-figure:hover .bh-seat--open{
border-color:var(--bh-lift); color:var(--bh-teal); transform:translateY(-3px);
}
.bh-scopecard:hover{ transform:translateY(-5px); box-shadow:var(--sh-2); border-color:var(--bh-lift); }
.bh-scopecard:hover .bh-ico{ background:var(--bh-teal); color:#fff; }
.bh-tag:hover{ background:var(--bh-teal); color:#fff; }
.bh-fmt:hover{ transform:translateY(-6px); box-shadow:var(--sh-2); border-color:var(--bh-line); }
.bh-fmt:hover .bh-ico{ background:var(--bh-teal); color:#fff; transform:scale(1.06); }
.bh-hourcard:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); }
.bh-topic:hover{ background:#FCFEFD; box-shadow:inset 0 0 0 1px var(--bh-lift); }
.bh-topic:hover::after{ transform:scaleX(1); }
.bh-topic:hover .bh-topic-cta svg{ transform:translateX(3px); }
.bh-proofline:hover{ color:#fff; }
.bh-proofline:hover svg{ transform:translateX(3px); }
.bh-more:hover svg{ transform:translateX(3px); }
.bh-step:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); }
.bh-step:hover .bh-step-n{ background:var(--bh-teal); color:#fff; }
.bh-privrow:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); border-color:var(--bh-lift); }
.bh-privrow:hover .bh-ico-sm{ background:var(--bh-teal); color:#fff; }
.bh-card:hover{ transform:translateY(-6px); box-shadow:var(--sh-2); border-color:var(--bh-lift); }
.bh-card:hover::after{ transform:scaleX(1); }
.bh-card--pick:hover{ border-color:rgba(143,224,207,.55); box-shadow:0 22px 48px rgba(6,26,23,.34); }
.bh-zone:hover{ transform:translateX(4px); border-color:var(--bh-lift); }
.bh-faq summary:hover{ color:var(--bh-teal); }
.bh-bar .b1:hover{ background:var(--bh-deep); }
.bh-bar .b2:hover{ border-color:var(--bh-deep); }
}
.bh .bh-btn:active, .bh .bh-bar a:active{ transform:scale(.98); transition-duration:140ms; }
.bh .bh-ico{ transition:transform var(--bh-motion-ui) var(--ease), background-color var(--bh-motion-ui) ease, color var(--bh-motion-ui) ease; }
.bh .bh-hero h1{ max-width:none; }
.bh .bh-headline{ display:block; max-width:15ch; margin-inline:auto; }
.bh .bh-hero h1 .bh-eyebrow{ display:inline-flex; font-family:var(--body); line-height:1.3; vertical-align:top; }
.bh .bh-hero h1 .bh-title-break{ display:block; line-height:0; }
.bh .bh-count{ position:relative; display:inline-block; font-variant-numeric:tabular-nums; }
.bh .bh-count.is-counting .bh-count-final{ visibility:hidden; }
.bh .bh-count-live{ position:absolute; inset:0; text-align:inherit; }
.bh .bh-faq details:focus-within{ scroll-margin-block-end:100px; }
.bh.bh-keyboard *, .bh.bh-keyboard *::before, .bh.bh-keyboard *::after{ animation:none !important; transition:none !important; }
.bh.bh-keyboard .bh-btn:active{ transform:none; }
@media (max-width:640px){
.bh .bh-btn{ white-space:normal; }
.bh .bh-zone{ flex-wrap:wrap; }
.bh{ padding-block-end:calc(76px + env(safe-area-inset-bottom,0px)); }
}
@media (prefers-reduced-motion:reduce){
.bh *, .bh *::before, .bh *::after{ animation:none !important; transition:none !important; }
.bh .bh-up, .bh .bh-blur, .bh .bh-fadeup, .bh .bh-w > span{ opacity:1 !important; transform:none !important; filter:none !important; }
.bh .bh-orb, .bh .bh-btn:hover, .bh .bh-btn:active{ transform:none !important; }
.bh .bh-track::before{ transform:scaleX(1) !important; }
.bh .bh-uline path{ stroke-dashoffset:0 !important; }
.bh .bh-standard-rail::after{ transform:scaleY(1) !important; }
.bh .bh-standard-mark{ background:var(--bh-teal) !important; border-color:var(--bh-teal) !important; color:#fff !important; transform:none !important; }
.bh .bh-bar{ transition:none !important; }
.bh .bh-progress{ display:none; }
}

/* Phase 1 extensions. Homepage palette, typography, cards and wave retained. */
.bh.bh-phase{
--bp-white:#fff;--bp-tiny:.75rem;--bp-small:.9rem;--bp-body:1rem;--bp-large:1.2rem;
--bp-hair:1px;--bp-ring:3px;--bp-lift:-3px;--bp-hero:24ch;--bp-copy:66ch;
--bp-input:3rem;--bp-portrait:320px;--bp-sidebar:240px;
overflow:clip;
}
.bh-phase .bh-wave{color:var(--bh-deep);margin-bottom:-1px}
.bh-phase .bp-inline-stats .bh-count,.bh-phase .bp-inline-stats .bh-count-final,.bh-phase .bp-inline-stats .bh-count-live{font:inherit;color:inherit}
.bh-phase .bh-hero h1{max-width:var(--bp-hero);margin:0 auto var(--s5)}
.bh-phase .bh-hero-sub{max-width:56ch}
.bh-phase .bp-crumb{display:flex;gap:var(--s2);justify-content:center;flex-wrap:wrap;font-size:var(--bp-small);color:var(--bh-onDeep-dim);margin-bottom:var(--s6)}
.bh-phase .bp-crumb a{text-decoration:underline;text-underline-offset:var(--s1)}
.bh-phase .bp-direct{max-width:880px;margin:auto;padding:var(--s6);border:var(--bp-hair) solid var(--bh-line);border-radius:var(--r-l);background:var(--bp-white);box-shadow:var(--sh-1)}
.bh-phase .bp-direct p{max-width:none;font-size:var(--bp-large);color:var(--bh-deep)}
.bh-phase .bp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5)}
.bh-phase .bp-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.bh-phase .bp-panel{padding:var(--s6);background:var(--bp-white);border:var(--bp-hair) solid var(--bh-line-soft);border-radius:var(--r-l);box-shadow:var(--sh-1)}
.bh-phase .bp-panel h3{margin-bottom:var(--s3)}
.bh-phase .bp-panel p{color:var(--bh-muted)}
.bh-phase .bp-panel p+p{margin-top:var(--s4)}
.bh-phase .bp-number{display:inline-flex;align-items:center;justify-content:center;min-width:var(--s8);height:var(--s8);background:var(--bh-sage);border:var(--bp-hair) solid var(--bh-line);border-radius:var(--r-m);color:var(--bh-teal);font-family:var(--display);font-weight:600;margin-bottom:var(--s5)}
.bh-phase .bp-tint{background:var(--bh-sage)}
.bh-phase .bp-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--s9);align-items:start}
.bh-phase .bp-copy>p{margin-bottom:var(--s5);color:var(--bh-muted)}
.bh-phase .bp-copy h2{margin-bottom:var(--s5)}
.bh-phase .bp-copy h3{margin-top:var(--s6);margin-bottom:var(--s3)}
.bh-phase .bp-list{display:grid;gap:var(--s3);margin-block:var(--s5)}
.bh-phase .bp-list li{position:relative;padding-left:var(--s5)}
.bh-phase .bp-list li::before{content:"";width:var(--s2);height:var(--s2);border-radius:var(--pill);background:var(--bh-lift);position:absolute;left:0;top:.65em}
.bh-phase .bp-link{font-weight:600;color:var(--bh-teal);text-decoration:underline;text-underline-offset:var(--s1)}
.bh-phase .bp-note{font-size:var(--bp-small);color:var(--bh-muted);margin-top:var(--s5);max-width:none}
.bh-phase .bp-banner{background:var(--bh-deep);color:var(--bh-onDeep);border-radius:var(--r-xl);padding:var(--s8);position:relative;overflow:hidden}
.bh-phase .bp-banner h2,.bh-phase .bp-banner h3{color:var(--bp-white);margin-bottom:var(--s5)}
.bh-phase .bp-banner .bp-link{color:var(--bh-mint)}
.bh-phase .bp-banner .bp-list li::before{background:var(--bh-mint)}
.bh-phase .bp-profile{display:grid;grid-template-columns:minmax(220px,.7fr) 1.3fr;gap:var(--s8);align-items:center}
.bh-phase .bp-portrait{aspect-ratio:4/5;max-width:var(--bp-portrait);width:100%;margin:auto;position:relative;border-radius:var(--r-xl);border:var(--bp-hair) solid var(--bh-line);background:var(--bh-sage);overflow:hidden}
.bh-phase .bp-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bh-phase .bp-portrait img:not([src]){visibility:hidden}
.bh-phase .bp-monogram{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:var(--bh-teal)}
.bh-phase .bp-monogram b{font:600 5rem/1 var(--display);letter-spacing:-.05em}
.bh-phase .bp-monogram span{font-size:var(--bp-tiny);margin-top:var(--s4)}
.bh-phase .bp-portrait.bp-loaded .bp-monogram{display:none}
.bh-phase .bp-inline-stats{display:flex;flex-wrap:wrap;gap:var(--s6);margin-top:var(--s6);padding-top:var(--s5);border-top:var(--bp-hair) solid var(--bh-line)}
.bh-phase .bp-inline-stats strong{font:600 1.6rem/1.2 var(--display);color:var(--bh-deep);display:block}
.bh-phase .bp-inline-stats span{font-size:var(--bp-small);color:var(--bh-muted)}
.bh-phase .bp-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.bh-phase .bp-related a{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);border:var(--bp-hair) solid var(--bh-line);border-radius:var(--r-m);background:var(--bp-white);padding:var(--s5);font-weight:600;transition:transform var(--bh-motion-fast) var(--ease),border-color var(--bh-motion-fast) ease}
.bh-phase .bp-related svg{width:var(--s5);height:var(--s5);flex:none;transition:transform var(--bh-motion-fast) var(--ease)}
.bh-phase .bp-choice{display:block;padding:var(--s5);border:var(--bp-hair) solid var(--bh-line);border-radius:var(--r-m);cursor:pointer;background:var(--bp-white);height:100%;transition:border-color var(--bh-motion-fast) ease,background-color var(--bh-motion-fast) ease}
.bh-phase .bp-choice:has(input:checked){background:var(--bh-sage);border-color:var(--bh-teal);box-shadow:inset 0 0 0 var(--bp-hair) var(--bh-teal)}
.bh-phase .bp-choice input{accent-color:var(--bh-teal);width:var(--s4);height:var(--s4);margin-right:var(--s2)}
.bh-phase .bp-choice strong{color:var(--bh-deep)}
.bh-phase .bp-choice small{display:block;color:var(--bh-muted);margin-top:var(--s2);font-size:var(--bp-small)}
.bh-phase fieldset{border:0;min-width:0}
.bh-phase legend{font:600 var(--bp-large)/1.3 var(--body);margin-bottom:var(--s5);color:var(--bh-deep)}
.bh-phase .bp-book-result{margin-block:var(--s6);padding:var(--s5);border-radius:var(--r-m);background:var(--bh-sage)}
.bh-phase .bp-book-result strong{color:var(--bh-deep)}
.bh-phase .bp-booking-slot{margin-block:var(--s6)}
.bh-phase .bp-legal-layout{display:grid;grid-template-columns:var(--bp-sidebar) minmax(0,1fr);gap:var(--s8);align-items:start}
.bh-phase .bp-toc{position:sticky;top:var(--s6);background:var(--bp-white);padding:var(--s5);border-radius:var(--r-l);border:var(--bp-hair) solid var(--bh-line)}
.bh-phase .bp-toc strong{display:block;margin-bottom:var(--s4);color:var(--bh-deep)}
.bh-phase .bp-toc a{display:block;padding:var(--s2) 0;color:var(--bh-muted);font-size:var(--bp-small);text-decoration:underline;text-underline-offset:var(--s1)}
.bh-phase .bp-legal-copy{max-width:var(--bp-copy)}
.bh-phase .bp-legal-copy section+section{margin-top:var(--s8);padding-top:var(--s8);border-top:var(--bp-hair) solid var(--bh-line)}
.bh-phase .bp-legal-copy h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:var(--s5)}
.bh-phase .bp-legal-copy p+p{margin-top:var(--s4)}
.bh-phase .bp-verify{padding:var(--s4);border:var(--bp-hair) dashed var(--bh-lift);background:var(--bh-sage);color:var(--bh-deep);border-radius:var(--r-s);font-size:var(--bp-small);margin-block:var(--s4)}
.bh-phase .bp-draft{border-block:var(--bp-hair) solid var(--bh-lift);background:var(--bh-sage);padding:var(--s5)}
.bh-phase .bp-draft p{max-width:var(--max);margin:auto;font-size:var(--bp-small);color:var(--bh-deep)}
.bh-phase .bp-contact-number{font:600 clamp(1.3rem,3vw,2rem)/1.3 var(--display);color:var(--bh-deep);margin-block:var(--s5)}
.bh-phase .bh-card-name{font-size:var(--bp-large)}
.bh-phase .bh-cred{margin-block:var(--s6)}
.bh-phase .bh-card-price{font-variant-numeric:tabular-nums}
.bh-phase .bh-close h2{max-width:24ch;margin:0 auto var(--s4)}
.bh-phase .bh-faq summary{gap:var(--s5)}
.bh-phase .bh-faq-a p{padding-inline:var(--s5)}
.bh-phase .bh-bar{display:none}
.bh-phase.bp-hasbar .bh-bar.show{display:flex}
.bh-phase{padding-bottom:0}
.bh-phase .bh-up{opacity:1;transform:none}
.bh-phase .bh-orb{animation:none!important}
.bh-phase .bp-interactive{transition:transform var(--bh-motion-ui) var(--ease),border-color var(--bh-motion-ui) ease,box-shadow var(--bh-motion-ui) ease}
.bh-phase.bp-keyboard *,.bh-phase.bp-keyboard *::before,.bh-phase.bp-keyboard *::after{animation:none!important;transition:none!important}
.bh-phase.bp-keyboard .bh-btn:active{transform:none}
@media(hover:hover) and (pointer:fine){
.bh-phase .bp-interactive:hover{transform:translateY(var(--bp-lift));box-shadow:var(--sh-2);border-color:var(--bh-lift)}
.bh-phase .bp-related a:hover{border-color:var(--bh-lift);transform:translateY(var(--bp-lift))}
.bh-phase .bp-related a:hover svg{transform:translateX(var(--s1))}
.bh-phase .bp-toc a:hover{color:var(--bh-teal)}
}
@media(max-width:900px){
.bh-phase .bp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.bh-phase .bp-related{grid-template-columns:repeat(2,minmax(0,1fr))}
.bh-phase .bp-legal-layout{grid-template-columns:1fr}
.bh-phase .bp-toc{position:static}
.bh-phase .bp-split{gap:var(--s6)}
}
@media(max-width:640px){
.bh-phase .bp-grid,.bh-phase .bp-grid--2,.bh-phase .bp-split,.bh-phase .bp-profile,.bh-phase .bp-related{grid-template-columns:1fr}
.bh-phase .bp-banner{padding:var(--s6)}
.bh-phase .bp-panel,.bh-phase .bp-direct{padding:var(--s5)}
.bh-phase.bp-hasbar{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
.bh-phase .bp-portrait{max-width:var(--bp-portrait)}
.bh-phase .bh-cred div{align-items:start;gap:var(--s4)}
.bh-phase .bh-cred dd{max-width:60%}
}
@media(min-width:641px){.bh-phase.bp-hasbar .bh-bar.show{display:none}}
@media(prefers-reduced-motion:reduce){
.bh-phase *,.bh-phase *::before,.bh-phase *::after{animation:none!important;transition:none!important}
.bh-phase .bh-up,.bh-phase .bh-w>span,.bh-phase .bh-fadeup{opacity:1!important;transform:none!important}
.bh-phase .bp-interactive:hover,.bh-phase .bp-related a:hover,.bh-phase .bp-related a:hover svg,.bh-phase .bh-card:hover{transform:none!important}
}


/* ================= BC V2: evidence, utility and responsive depth ================= */
.bh.bh-phase{
--bp-spot:rgba(143,224,207,.30);
--bp-spot-soft:rgba(143,224,207,.12);
--bp-deep-line:rgba(143,224,207,.22);
--bp-source-size:.82rem;
}
.bh-phase .bh-hero::before{
content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
background:radial-gradient(520px circle at var(--bp-hx,50%) var(--bp-hy,28%),rgba(143,224,207,.16),transparent 68%);
opacity:.75;transition:opacity var(--bh-motion-ui) ease;
}
.bh-phase .bp-context{
position:relative;isolation:isolate;overflow:hidden;
background:var(--bh-paper);
background:linear-gradient(155deg,var(--bh-paper),color-mix(in srgb,var(--bh-sage) 62%,var(--bh-paper)));
}
.bh-phase .bp-context::before{
content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.55;
background-image:radial-gradient(circle at 1px 1px,rgba(14,80,73,.11) 1px,transparent 0);
background-size:24px 24px;
mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%);
}
.bh-phase .bp-context::after{
content:"";position:absolute;z-index:-1;pointer-events:none;width:min(48vw,620px);aspect-ratio:1;border-radius:50%;
inset:-34% -16% auto auto;border:1px solid var(--bp-deep-line);box-shadow:0 0 0 52px rgba(143,224,207,.035),0 0 0 104px rgba(143,224,207,.025);
}
.bh-phase .bp-context-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:var(--s9);align-items:start}
.bh-phase .bp-context-copy{position:sticky;top:var(--s6)}
.bh-phase .bp-context-copy h2{margin-bottom:var(--s5);max-width:18ch}
.bh-phase .bp-context-copy>p:not(.bh-eyebrow2){color:var(--bh-muted);max-width:58ch}
.bh-phase .bp-cite{display:inline-flex;align-items:center;justify-content:center;min-width:1.45rem;height:1.45rem;margin-left:.2rem;border-radius:var(--pill);background:var(--bh-teal);color:#fff;font-size:.72rem;font-weight:600;line-height:1;text-decoration:none;vertical-align:.16em}
.bh-phase .bp-context-points{display:grid;gap:var(--s4);counter-reset:context;grid-template-columns:repeat(auto-fit,minmax(min(100%,17.5rem),1fr))}
.bh-phase .bp-context-point{
position:relative;overflow:hidden;isolation:isolate;padding:var(--s6);background:rgba(255,255,255,.92);border:1px solid var(--bh-line-soft);border-radius:var(--r-l);box-shadow:var(--sh-1);
transition:transform var(--bh-motion-ui) var(--ease),box-shadow var(--bh-motion-ui) var(--ease),border-color var(--bh-motion-ui) ease;
}
.bh-phase .bp-context-point::before,.bh-phase .bp-source::before{
content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;
background:radial-gradient(260px circle at var(--bp-x,50%) var(--bp-y,50%),var(--bp-spot),transparent 70%);
transition:opacity var(--bh-motion-ui) ease;
}
.bh-phase .bp-context-point::after{
content:"";position:absolute;inset:0 auto auto 0;width:100%;height:3px;background:linear-gradient(90deg,var(--bh-mint),var(--bh-lift));
transform:scaleX(.16);transform-origin:left;transition:transform 360ms var(--ease);
}
.bh-phase .bp-context-point h3{margin:0 0 var(--s2);color:var(--bh-deep)}
.bh-phase .bp-context-point p{color:var(--bh-muted)}
.bh-phase .bp-context-point .bp-point-kicker{display:block;margin-bottom:var(--s3);font-size:var(--bp-tiny);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bh-teal)}
.bh-phase .bp-sources-wrap{margin-top:var(--s8);padding:var(--s6);border:1px solid var(--bh-line);border-radius:var(--r-xl);background:rgba(255,255,255,.82);box-shadow:var(--sh-1);backdrop-filter:blur(8px)}
.bh-phase .bp-sources-head{display:flex;align-items:end;justify-content:space-between;gap:var(--s5);margin-bottom:var(--s5)}
.bh-phase .bp-sources-head h3{font-family:var(--display);font-size:1.35rem;color:var(--bh-deep)}
.bh-phase .bp-sources-head p{max-width:54ch;color:var(--bh-muted);font-size:var(--bp-small)}
.bh-phase .bp-sources{display:grid;gap:var(--s3)}
.bh-phase .bp-source{
position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s4);padding:var(--s4);border:1px solid var(--bh-line-soft);border-radius:var(--r-m);background:var(--bp-white);text-decoration:none;
transition:transform var(--bh-motion-fast) var(--ease),border-color var(--bh-motion-fast) ease,box-shadow var(--bh-motion-fast) ease;
}
.bh-phase .bp-source-mark{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:var(--r-s);background:var(--bh-sage);color:var(--bh-teal);font-family:var(--display);font-weight:600;font-variant-numeric:tabular-nums}
.bh-phase .bp-source-body{min-width:0}
.bh-phase .bp-source-body cite{display:block;color:var(--bh-deep);font-style:normal;font-weight:600;line-height:1.35}
.bh-phase .bp-source-body span{display:block;margin-top:var(--s1);color:var(--bh-muted);font-size:var(--bp-source-size);line-height:1.5}
.bh-phase .bp-source-origin{color:var(--bh-faint);font-size:var(--bp-tiny);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.bh-phase .bp-source svg{width:1.15rem;height:1.15rem;color:var(--bh-teal);transition:transform var(--bh-motion-fast) var(--ease)}
.bh-phase .bp-evidence-note{margin-top:var(--s4);font-size:var(--bp-tiny);color:var(--bh-faint);max-width:none}
.bh-phase .bp-assurance{display:grid;grid-template-columns:auto 1fr;gap:var(--s5);align-items:start;margin-top:var(--s8);padding:var(--s6);border-radius:var(--r-xl);background:var(--bh-deep);color:var(--bh-onDeep);box-shadow:var(--sh-3)}
.bh-phase .bp-assurance-mark{display:grid;place-items:center;width:3rem;height:3rem;border:1px solid var(--bp-deep-line);border-radius:50%;color:var(--bh-mint)}
.bh-phase .bp-assurance h3{color:#fff;margin-bottom:var(--s2)}
.bh-phase .bp-assurance p{color:var(--bh-onDeep);max-width:68ch}
.bh-phase .bp-template{margin-top:var(--s5);padding:var(--s5);border:1px solid var(--bh-line);border-radius:var(--r-l);background:var(--bp-white);box-shadow:var(--sh-1)}
.bh-phase .bp-template label{display:block;margin-bottom:var(--s3);font-weight:600;color:var(--bh-deep)}
.bh-phase .bp-template textarea{display:block;width:100%;min-height:9rem;resize:vertical;padding:var(--s4);border:1px solid var(--bh-line);border-radius:var(--r-m);background:var(--bh-paper);color:var(--bh-ink);font:inherit;line-height:1.55}
.bh-phase .bp-template textarea:focus-visible{outline:3px solid var(--bh-teal);outline-offset:3px}
.bh-phase .bp-template-actions{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s4)}
.bh-phase .bp-template-actions p{color:var(--bh-muted);font-size:var(--bp-small)}
@media(hover:hover) and (pointer:fine){
.bh-phase .bp-context-point:hover{transform:translateY(-5px);border-color:var(--bh-lift);box-shadow:var(--sh-2)}
.bh-phase .bp-context-point:hover::before,.bh-phase .bp-source:hover::before,.bh-phase .bp-source:focus-visible::before{opacity:1}
.bh-phase .bp-context-point:hover::after{transform:scaleX(1)}
.bh-phase .bp-source:hover{transform:translateY(-2px);border-color:var(--bh-lift);box-shadow:var(--sh-1)}
.bh-phase .bp-source:hover svg{transform:translate(2px,-2px)}
}
@media(max-width:900px){
.bh-phase .bp-context-grid{grid-template-columns:1fr;gap:var(--s6)}
.bh-phase .bp-context-copy{position:static}
.bh-phase .bp-context-copy h2{max-width:22ch}
}
@media(max-width:640px){
.bh-phase .bp-context-point,.bh-phase .bp-sources-wrap,.bh-phase .bp-assurance,.bh-phase .bp-template{padding:var(--s5)}
.bh-phase .bp-sources-head{display:block}
.bh-phase .bp-sources-head p{margin-top:var(--s2)}
.bh-phase .bp-source{grid-template-columns:auto minmax(0,1fr);align-items:start}
.bh-phase .bp-source svg{display:none}
.bh-phase .bp-source-origin{grid-column:2}
.bh-phase .bp-assurance{grid-template-columns:1fr}
.bh-phase .bp-template-actions{align-items:stretch;flex-direction:column}
.bh-phase .bp-template-actions .bh-btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
.bh-phase .bh-hero::before{display:none}
.bh-phase .bp-context-point,.bh-phase .bp-source,.bh-phase .bp-source svg{transform:none!important;transition:none!important}
.bh-phase .bp-context-point::before,.bh-phase .bp-source::before{display:none}
.bh-phase .bp-context-point::after{transform:scaleX(1)!important;transition:none!important}
}

/* BC LIVE REDESIGN START */
.bh.bl-live{
--bl-white:#fff;--bl-wash:#EEF7F4;--bl-wash-2:#DDF1EB;--bl-line:rgba(143,224,207,.32);
--bl-deep-line:rgba(255,255,255,.13);--bl-shadow:0 26px 70px -32px rgba(5,35,31,.42);
--bl-shadow-hover:0 30px 70px -28px rgba(5,53,47,.35);--bl-ease:cubic-bezier(.22,1,.36,1);
--bl-rx:0deg;--bl-ry:0deg;overflow-x:clip;
}
.bh.bl-live .bh-sec{position:relative;padding-block:clamp(3.75rem,6vw,5.5rem);isolation:isolate}
.bh.bl-live .bh-sec--tight{padding-block:clamp(2.5rem,4.5vw,3.65rem)}
.bh.bl-live .bh-sec>.bh-in{position:relative;z-index:1}
.bh.bl-live .bh-sec::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(42rem 19rem at var(--bl-section-x,12%) 0,rgba(143,224,207,.11),transparent 66%);transform:translateY(14px);transition:opacity 900ms var(--bl-ease),transform 900ms var(--bl-ease)}
.bh.bl-live .bh-sec.bl-inview::before{opacity:1;transform:none}
.bh.bl-live .bh-sec:nth-of-type(4n+3):not(.bp-tint):not(.bp-context):not(.bh-close){--bl-section-x:88%;background:linear-gradient(180deg,rgba(238,247,244,.44),rgba(247,248,247,0) 72%)}
.bh.bl-live .bp-tint{background:linear-gradient(145deg,#EAF4F0 0%,#F5F8F6 52%,#E7F2EE 100%)}
.bh.bl-live .bh-hero+.bh-sec--tight{z-index:3;margin-top:-1.4rem;padding-top:0;background:transparent}
.bh.bl-live .bp-direct{border:1px solid rgba(143,224,207,.44);background:linear-gradient(145deg,#fff,#F2F9F6);box-shadow:0 18px 45px -28px rgba(4,50,43,.4),inset 0 1px rgba(255,255,255,.9)}
.bh.bl-live .bp-direct::before{background:linear-gradient(180deg,var(--bh-mint),var(--bh-lift));box-shadow:0 0 20px rgba(143,224,207,.45)}
.bh.bl-live .bh-shead h2{position:relative}
.bh.bl-live .bh-shead h2::after{content:"";display:block;width:3.2rem;height:2px;margin:var(--s4) auto 0;border-radius:var(--pill);background:linear-gradient(90deg,var(--bh-mint),var(--bh-teal));transform:scaleX(.15);opacity:.25;transform-origin:center;transition:transform 700ms var(--bl-ease),opacity 500ms ease}
.bh.bl-live .bl-inview .bh-shead h2::after{transform:scaleX(1);opacity:1}

/* Split hero, used by every page except the purpose-built text-chat phone hero. */
.bh.bl-live .bh-hero{min-height:min(760px,86vh);display:grid;align-items:center;text-align:left;padding-block:clamp(3.25rem,6vw,5.25rem);background:radial-gradient(70% 90% at 12% 10%,rgba(26,122,110,.58),transparent 68%),radial-gradient(56% 75% at 88% 15%,rgba(143,224,207,.17),transparent 70%),linear-gradient(155deg,#0D3B35,#071F1C 78%)}
.bh.bl-live .bh-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to right,#000,transparent 78%)}
.bh.bl-live .bl-hero-stage{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.82fr);gap:clamp(2rem,5vw,5.25rem);align-items:center}
.bh.bl-live .bl-hero-copy{min-width:0;position:relative;z-index:2}
.bh.bl-live .bl-hero-copy .bp-crumb{justify-content:flex-start}
.bh.bl-live .bl-hero-copy .bh-eyebrow{margin-inline:0}
.bh.bl-live .bl-hero-copy h1{margin-inline:0;max-width:12.8ch}
.bh.bl-live .bl-hero-copy .bh-hero-sub{margin-inline:0;max-width:46ch}
.bh.bl-live .bl-hero-copy .bh-acts{justify-content:flex-start}
.bh.bl-live .bh-stats{max-width:none;margin-top:clamp(2rem,4vw,3.25rem);background:linear-gradient(110deg,rgba(255,255,255,.075),rgba(255,255,255,.035));backdrop-filter:blur(10px);box-shadow:inset 0 1px rgba(255,255,255,.08)}
.bh.bl-live .bh-stats>div+div{border-inline-start:1px solid rgba(255,255,255,.1)}

/* Shared hero-art frame. Static perspective lives on the frame; entrance motion lives on pieces. */
.bh.bl-live .bl-art{position:relative;min-height:390px;perspective:1100px;pointer-events:none;isolation:isolate}
.bh.bl-live .bl-art-halo{position:absolute;inset:8% 2% 4% 10%;border-radius:42%;background:radial-gradient(circle at 45% 45%,rgba(143,224,207,.26),rgba(143,224,207,.04) 46%,transparent 72%);filter:blur(14px)}
.bh.bl-live .bl-art-frame{position:absolute;inset:1rem;border:1px solid rgba(255,255,255,.17);border-radius:32px;background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.045));box-shadow:0 38px 80px -34px rgba(0,0,0,.65),inset 0 1px rgba(255,255,255,.15);backdrop-filter:blur(12px);transform:rotateX(var(--bl-rx)) rotateY(var(--bl-ry)) translateZ(0);transform-style:preserve-3d;transition:transform 500ms var(--bl-ease),border-color 350ms ease}
.bh.bl-live .bl-art-frame::before,.bh.bl-live .bl-art-frame::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.bh.bl-live .bl-art-frame::before{width:9rem;height:9rem;right:-2rem;top:-3rem;border:1px solid rgba(143,224,207,.22)}
.bh.bl-live .bl-art-frame::after{width:4.4rem;height:4.4rem;left:-1.4rem;bottom:1rem;background:rgba(143,224,207,.08);border:1px solid rgba(143,224,207,.18)}
.bh.bl-live .bl-art-scene{position:absolute;inset:clamp(1.25rem,3vw,2rem);color:#fff;transform:translateZ(24px)}
.bh.bl-live .bl-art-piece{position:relative;z-index:1}
.bh.bl-live.bh-intro .bl-art-piece{animation:blPiece 720ms var(--bl-ease) both;animation-delay:calc(180ms + var(--bl-piece)*85ms)}
@keyframes blPiece{from{opacity:0;transform:translateY(22px) scale(.96);filter:blur(7px)}to{opacity:1;transform:none;filter:none}}
.bh.bl-live .bl-minihead{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.7rem .8rem;border-bottom:1px solid rgba(255,255,255,.11);font-size:.78rem}
.bh.bl-live .bl-minihead b{font-weight:600}.bh.bl-live .bl-minihead em{font-style:normal;color:var(--bh-onDeep-dim);font-size:.68rem}
.bh.bl-live .bl-live-dot{width:.48rem;height:.48rem;border-radius:50%;background:var(--bh-mint);box-shadow:0 0 0 5px rgba(143,224,207,.1)}

/* Hero art: booking and pricing. */
.bh.bl-live .bl-calendar{margin-top:1.1rem;padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(4,26,23,.3)}
.bh.bl-live .bl-cal-days,.bh.bl-live .bl-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.42rem;text-align:center}
.bh.bl-live .bl-cal-days{margin-bottom:.7rem;color:var(--bh-onDeep-dim);font-size:.62rem}.bh.bl-live .bl-cal-grid i{aspect-ratio:1;border-radius:7px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045)}
.bh.bl-live .bl-cal-grid i.is-soft{background:rgba(143,224,207,.15)}.bh.bl-live .bl-cal-grid i.is-on{background:var(--bh-mint);box-shadow:0 8px 20px rgba(2,20,18,.35)}
.bh.bl-live .bl-slot{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding:1rem 1.1rem;border-radius:16px;background:#fff;color:var(--bh-deep);box-shadow:var(--bl-shadow)}
.bh.bl-live .bl-slot span{display:grid}.bh.bl-live .bl-slot small{font-size:.65rem;color:var(--bh-muted)}.bh.bl-live .bl-slot b{font-size:.9rem}.bh.bl-live .bl-slot strong{color:var(--bh-teal)}
.bh.bl-live .bl-price-stack{display:grid;gap:.65rem;margin-top:1.2rem}.bh.bl-live .bl-price-stack>div{display:grid;grid-template-columns:5rem 1fr 2rem;align-items:center;gap:.7rem;padding:.78rem .9rem;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(1,22,19,.24);font-size:.72rem}
.bh.bl-live .bl-price-stack i{height:5px;border-radius:var(--pill);background:linear-gradient(90deg,var(--bh-mint) var(--bl-w),rgba(255,255,255,.09) var(--bl-w))}.bh.bl-live .bl-price-stack b{text-align:right}.bh.bl-live .bl-price-stack .is-best{background:rgba(143,224,207,.13);border-color:rgba(143,224,207,.3)}
.bh.bl-live .bl-price-note,.bh.bl-live .bl-cap-note{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.9rem 1rem;border-top:1px solid rgba(255,255,255,.1);font-size:.72rem;color:var(--bh-onDeep-dim)}.bh.bl-live .bl-price-note strong,.bh.bl-live .bl-cap-note b{color:#fff}

/* Hero art: online route, profile and policies. */
.bh.bl-live .bl-route{position:relative;display:flex;justify-content:space-between;margin:2.2rem .6rem 1.2rem}.bh.bl-live .bl-route-line{position:absolute;left:12%;right:12%;top:1.45rem;height:2px;background:linear-gradient(90deg,rgba(143,224,207,.2),var(--bh-mint),rgba(143,224,207,.2))}.bh.bl-live .bl-route>div{position:relative;display:grid;place-items:center;gap:.45rem}.bh.bl-live .bl-route b{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:#fff;color:var(--bh-deep);box-shadow:0 12px 28px rgba(1,17,15,.32)}.bh.bl-live .bl-route small{color:var(--bh-onDeep)}
.bh.bl-live .bl-device{margin:1.3rem auto 0;width:76%;height:9.5rem;padding:1rem;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(2,22,19,.4);box-shadow:inset 0 0 0 5px rgba(255,255,255,.025)}.bh.bl-live .bl-device-cam{display:block;width:.38rem;height:.38rem;margin:0 auto .8rem;border-radius:50%;background:var(--bh-mint)}.bh.bl-live .bl-device>div{display:flex;justify-content:center;gap:.6rem}.bh.bl-live .bl-device i{width:3.2rem;height:3.8rem;border-radius:12px;background:linear-gradient(160deg,rgba(143,224,207,.22),rgba(255,255,255,.05))}.bh.bl-live .bl-device small{display:block;margin-top:.8rem;text-align:center;color:var(--bh-onDeep-dim)}
.bh.bl-live .bl-profile-orbit{position:absolute;left:50%;top:50%;width:13rem;height:13rem;translate:-50% -50%;display:grid;place-items:center}.bh.bl-live .bl-profile-ring{position:absolute;inset:0;border:1px solid rgba(143,224,207,.28);border-radius:50%;box-shadow:0 0 0 2.2rem rgba(143,224,207,.035),0 0 0 4.3rem rgba(143,224,207,.025)}.bh.bl-live .bl-profile-core{display:grid;place-items:center;width:8rem;height:8rem;border-radius:50%;background:linear-gradient(145deg,var(--bh-mint),#BCEBDF);color:var(--bh-deep);box-shadow:0 24px 45px rgba(0,0,0,.28)}.bh.bl-live .bl-profile-core b{font:600 2.2rem/1 var(--display)}.bh.bl-live .bl-profile-core small{margin-top:.35rem;font-size:.62rem}
.bh.bl-live .bl-profile-chip{position:absolute;display:flex;align-items:center;gap:.45rem;padding:.65rem .8rem;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(3,28,25,.72);box-shadow:0 12px 28px rgba(0,0,0,.25);font-size:.65rem}.bh.bl-live .bl-profile-chip strong{color:var(--bh-mint);font-size:.9rem}.bh.bl-live .bl-profile-chip span{color:var(--bh-onDeep)}.bh.bl-live .bl-profile-chip--one{left:.2rem;top:3.2rem}.bh.bl-live .bl-profile-chip--two{right:-.2rem;top:6.7rem}.bh.bl-live .bl-profile-chip--three{left:1.4rem;bottom:2.1rem}
.bh.bl-live .bl-lock{position:relative;width:7.5rem;height:8.2rem;margin:2rem auto 1.2rem}.bh.bl-live .bl-lock-loop{position:absolute;left:1.4rem;right:1.4rem;top:0;height:4.4rem;border:7px solid var(--bh-mint);border-bottom:0;border-radius:3rem 3rem 0 0}.bh.bl-live .bl-lock-body{position:absolute;inset:auto 0 0;height:5.1rem;display:grid;place-items:center;border-radius:19px;background:linear-gradient(145deg,#fff,#DDF1EB);box-shadow:0 22px 46px rgba(0,0,0,.34)}.bh.bl-live .bl-lock-body i{width:.72rem;height:1.5rem;border-radius:var(--pill);background:var(--bh-teal)}
.bh.bl-live .bl-data-path,.bh.bl-live .bl-focus-path,.bh.bl-live .bl-turns{display:flex;align-items:center;justify-content:center;gap:.55rem;font-size:.64rem;color:var(--bh-onDeep)}.bh.bl-live .bl-data-path i,.bh.bl-live .bl-focus-path i,.bh.bl-live .bl-turns i{width:1.8rem;height:1px;background:rgba(143,224,207,.45)}
.bh.bl-live .bl-document{position:relative;width:76%;margin:1.45rem auto 0;padding:1.4rem;border-radius:18px 18px 24px 18px;background:#fff;color:var(--bh-deep);box-shadow:0 26px 56px rgba(0,0,0,.34)}.bh.bl-live .bl-doc-corner{position:absolute;right:0;top:0;border-style:solid;border-width:0 0 2.2rem 2.2rem;border-color:transparent transparent #DDF1EB transparent}.bh.bl-live .bl-document p{display:grid;gap:.5rem}.bh.bl-live .bl-document p i{height:5px;border-radius:var(--pill);background:#DDE9E5}.bh.bl-live .bl-document p i:nth-child(2){width:78%}.bh.bl-live .bl-document p i:nth-child(3){width:55%}.bh.bl-live .bl-document ul{display:grid;gap:.55rem;margin-top:1.1rem}.bh.bl-live .bl-document li{font-size:.7rem;color:var(--bh-muted)}.bh.bl-live .bl-document li b{color:var(--bh-teal);margin-right:.35rem}.bh.bl-live .bl-signline{display:flex;align-items:center;gap:.7rem;margin-top:1.2rem;font-size:.65rem;color:var(--bh-onDeep-dim)}.bh.bl-live .bl-signline i{flex:1;border-top:1px dashed rgba(143,224,207,.4)}.bh.bl-live .bl-signline strong{color:#fff}

/* Hero art: contact and counseling-specific visual narratives. */
.bh.bl-live .bl-channel{display:flex;align-items:center;gap:.85rem;margin-top:1rem;padding:.92rem 1rem;border:1px solid rgba(255,255,255,.13);border-radius:15px;background:rgba(3,28,25,.42)}.bh.bl-live .bl-channel>span{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:50%;background:var(--bh-mint);color:var(--bh-deep);font-size:.72rem;font-weight:700}.bh.bl-live .bl-channel>div{display:grid;min-width:0}.bh.bl-live .bl-channel small{font-size:.62rem;color:var(--bh-onDeep-dim)}.bh.bl-live .bl-channel b{font-size:clamp(.72rem,1.4vw,.9rem);overflow-wrap:anywhere}.bh.bl-live .bl-contact-note,.bh.bl-live .bl-family-note{margin-top:1rem;padding:.75rem;border-top:1px solid rgba(255,255,255,.1);text-align:center;color:var(--bh-onDeep-dim);font-size:.65rem}
.bh.bl-live .bl-begin-path{position:relative;height:9rem;margin:1.2rem .5rem 0;border-bottom:1px solid rgba(255,255,255,.12)}.bh.bl-live .bl-begin-path>i{position:absolute;left:13%;right:12%;top:58%;height:2px;background:linear-gradient(90deg,rgba(143,224,207,.2),var(--bh-mint));transform:rotate(-8deg);transform-origin:left}.bh.bl-live .bl-weight{position:absolute;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15)}.bh.bl-live .bl-weight--one{width:5rem;height:5rem;left:7%;top:24%}.bh.bl-live .bl-weight--two{width:2.2rem;height:2.2rem;right:11%;top:29%;background:var(--bh-mint)}.bh.bl-live .bl-begin-path strong{position:absolute;right:6%;bottom:.75rem;font-size:.7rem}.bh.bl-live .bl-prompt{padding:1rem;border-radius:15px;background:#fff;color:var(--bh-deep);box-shadow:var(--bl-shadow)}.bh.bl-live .bl-prompt small{display:block;color:var(--bh-muted);font-size:.62rem}.bh.bl-live .bl-prompt b{display:block;margin-top:.3rem;font-size:.82rem}
.bh.bl-live .bl-breath{position:relative;display:grid;place-items:center;width:12rem;height:12rem;margin:1.5rem auto .5rem}.bh.bl-live .bl-breath span{position:absolute;border:1px solid rgba(143,224,207,.3);border-radius:50%}.bh.bl-live .bl-breath span:nth-child(1){inset:0}.bh.bl-live .bl-breath span:nth-child(2){inset:1.8rem}.bh.bl-live .bl-breath span:nth-child(3){inset:3.6rem;background:rgba(143,224,207,.14)}.bh.bl-live .bl-breath b{z-index:1;color:var(--bh-mint);font-size:.82rem}.bh.bl-live .bl-thoughts{display:flex;justify-content:center;gap:.45rem}.bh.bl-live .bl-thoughts span{padding:.4rem .6rem;border:1px solid rgba(255,255,255,.1);border-radius:var(--pill);color:var(--bh-onDeep-dim);font-size:.58rem}
.bh.bl-live .bl-dialogue{display:grid;grid-template-columns:1fr 2.6rem 1fr;align-items:center;gap:.55rem;margin-top:1.7rem}.bh.bl-live .bl-dialogue>div{padding:1rem;border:1px solid rgba(255,255,255,.14);border-radius:17px;background:rgba(3,28,25,.35)}.bh.bl-live .bl-dialogue small{color:var(--bh-onDeep);font-size:.65rem}.bh.bl-live .bl-dialogue span{display:block;height:4px;margin-top:.55rem;border-radius:var(--pill);background:rgba(255,255,255,.14)}.bh.bl-live .bl-dialogue span:last-child{width:68%}.bh.bl-live .bl-dialogue>i{height:1px;background:linear-gradient(90deg,transparent,var(--bh-mint),transparent)}.bh.bl-live .bl-common{display:flex;align-items:center;gap:.65rem;margin-top:2rem;color:var(--bh-mint);font-size:.67rem}.bh.bl-live .bl-common span{flex:1;height:1px;background:rgba(143,224,207,.22)}
.bh.bl-live .bl-seats{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin:2.1rem .5rem 1.8rem}.bh.bl-live .bl-seats>div{display:grid;place-items:center}.bh.bl-live .bl-seats span{display:grid;place-items:center;width:4rem;height:4rem;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(143,224,207,.13);font-weight:600}.bh.bl-live .bl-seats i{width:5rem;height:1.35rem;margin-top:.55rem;border:1px solid rgba(255,255,255,.12);border-radius:8px}.bh.bl-live .bl-seats>b{color:var(--bh-mint);font-size:.68rem}.bh.bl-live .bl-turns .is-on{color:#071F1C;background:var(--bh-mint);padding:.3rem .55rem;border-radius:var(--pill)}
.bh.bl-live .bl-compass{position:relative;display:grid;place-items:center;width:12rem;height:12rem;margin:1.6rem auto 1rem;border:1px solid rgba(143,224,207,.28);border-radius:50%;box-shadow:0 0 0 2rem rgba(143,224,207,.025)}.bh.bl-live .bl-compass span{position:absolute;inset:2.3rem;border:1px solid rgba(255,255,255,.12);border-radius:50%}.bh.bl-live .bl-compass i{position:absolute;width:1px;height:5.5rem;background:linear-gradient(var(--bh-mint) 50%,rgba(255,255,255,.13) 50%);transform:rotate(28deg)}.bh.bl-live .bl-compass b{z-index:1;font-size:.7rem;color:#fff;background:var(--bh-teal);padding:.42rem .65rem;border-radius:var(--pill)}
.bh.bl-live .bl-capacity{display:grid;gap:1rem;margin-top:1.6rem}.bh.bl-live .bl-capacity>div{display:grid;grid-template-columns:5rem 1fr;align-items:center;gap:.8rem;font-size:.68rem;color:var(--bh-onDeep)}.bh.bl-live .bl-capacity i{height:.68rem;border-radius:var(--pill);background:linear-gradient(90deg,var(--bh-mint) var(--bl-fill),rgba(255,255,255,.08) var(--bl-fill));box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.bh.bl-live .bl-family-map{position:relative;width:17rem;height:13rem;margin:1.6rem auto .5rem}.bh.bl-live .bl-family-map i{position:absolute;left:50%;top:50%;height:1px;width:7rem;background:rgba(143,224,207,.35);transform-origin:left}.bh.bl-live .bl-family-map .l1{transform:rotate(-145deg)}.bh.bl-live .bl-family-map .l2{transform:rotate(-35deg)}.bh.bl-live .bl-family-map .l3{transform:rotate(90deg)}.bh.bl-live .bl-family-map span,.bh.bl-live .bl-family-map b{position:absolute;display:grid;place-items:center;border-radius:50%}.bh.bl-live .bl-family-map span{width:3rem;height:3rem;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.07);font-size:.7rem}.bh.bl-live .bl-family-map b{left:50%;top:50%;width:4.2rem;height:4.2rem;translate:-50% -50%;background:var(--bh-mint);color:var(--bh-deep);font-size:.7rem}.bh.bl-live .bl-family-map .n1{left:0;top:1rem}.bh.bl-live .bl-family-map .n2{right:0;top:1rem}.bh.bl-live .bl-family-map .n3{left:1.7rem;bottom:0}.bh.bl-live .bl-family-map .n4{right:1.7rem;bottom:0}

/* Content surfaces and hover choreography. */
.bh.bl-live .bp-grid,.bh.bl-live .bh-cards{align-items:stretch;grid-auto-rows:1fr}
.bh.bl-live .bp-grid>.bp-panel,.bh.bl-live .bh-cards>.bh-card{height:100%}
.bh.bl-live .bp-grid>.bp-panel{display:flex;flex-direction:column;overflow:hidden}
.bh.bl-live .bp-grid>.bp-panel p:last-child{margin-bottom:0}
.bh.bl-live .bp-panel,.bh.bl-live .bh-card,.bh.bl-live .bp-context-point,.bh.bl-live .bp-related a,.bh.bl-live .bh-faq details{transition:transform 300ms var(--bl-ease),box-shadow 300ms var(--bl-ease),border-color 220ms ease,background-color 220ms ease}
.bh.bl-live .bp-panel,.bh.bl-live .bh-card{box-shadow:0 14px 38px -30px rgba(7,52,46,.5),inset 0 1px rgba(255,255,255,.9)}
.bh.bl-live .bp-number{transition:transform 320ms var(--bl-ease),background-color 220ms ease,color 220ms ease}
.bh.bl-live .bp-banner{position:relative;overflow:hidden;background:radial-gradient(22rem 14rem at 90% 10%,rgba(143,224,207,.15),transparent 70%),linear-gradient(145deg,#0D3B35,#071F1C);box-shadow:var(--bl-shadow)}
.bh.bl-live .bp-banner::before{content:"";position:absolute;right:-3.5rem;bottom:-4.5rem;width:11rem;height:11rem;border:1px solid rgba(143,224,207,.15);border-radius:50%;pointer-events:none}
.bh.bl-live .bp-context{background:linear-gradient(180deg,#F1F7F4,#EAF4F0)}
.bh.bl-live .bp-sources-wrap{box-shadow:0 22px 54px -40px rgba(6,44,39,.5)}
.bh.bl-live .bp-related a{min-height:5.4rem;background:linear-gradient(145deg,#fff,#F7FBF9);box-shadow:0 12px 32px -28px rgba(5,48,42,.5)}
.bh.bl-live .bh-faq details{overflow:hidden;background:linear-gradient(145deg,#fff,#FAFCFB)}
.bh.bl-live .bh-faq details[open]{transform:translateY(-2px)}
.bh.bl-live .bh-faq summary{transition:color 180ms ease,padding-inline 280ms var(--bl-ease)}
.bh.bl-live .bh-faq details[open] summary{padding-inline-start:calc(var(--s5) + .3rem)}
.bh.bl-live .bh-close{position:relative;overflow:hidden;background:radial-gradient(42rem 22rem at 50% 120%,rgba(143,224,207,.2),transparent 70%),linear-gradient(145deg,#0D3B35,#071F1C)}
.bh.bl-live .bh-close::after{content:"";position:absolute;left:50%;top:50%;width:min(70vw,720px);aspect-ratio:1;translate:-50% -50%;border:1px solid rgba(143,224,207,.1);border-radius:50%;box-shadow:0 0 0 6rem rgba(143,224,207,.022),0 0 0 12rem rgba(143,224,207,.018);pointer-events:none}
.bh.bl-live .bh-close>.bh-in{position:relative;z-index:1}
.bh.bl-live .bh-btn{position:relative;overflow:hidden;isolation:isolate}.bh.bl-live .bh-btn::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(105deg,transparent 28%,rgba(255,255,255,.28) 50%,transparent 72%);translate:-135% 0;transition:translate 0s}
.bh.bl-live .bp-link{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;transition:background-size 300ms var(--bl-ease),color 180ms ease}

/* Requested fees layout: one landscape single-session card, then three packages. */
.bh.bl-live[data-page="fees-packages"] .bh-cards--4{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:var(--s5)}
.bh.bl-live[data-page="fees-packages"] .bh-cards--4>.bh-card:first-child{grid-column:1/-1;display:grid;height:auto;grid-template-columns:minmax(12rem,.65fr) minmax(16rem,1fr) minmax(12rem,.55fr);grid-template-areas:"name list cta" "price list cta" "unit list cta";grid-template-rows:auto auto auto;align-items:center;align-content:center;column-gap:clamp(1.5rem,4vw,3.5rem);row-gap:.3rem;padding:clamp(1.5rem,3vw,2.4rem)}
.bh.bl-live[data-page="fees-packages"] .bh-cards--4>.bh-card:first-child .bh-card-name{grid-area:name;text-align:left}.bh.bl-live[data-page="fees-packages"] .bh-cards--4>.bh-card:first-child .bh-card-price{grid-area:price;text-align:left;margin-top:.35rem}.bh.bl-live[data-page="fees-packages"] .bh-cards--4>.bh-card:first-child .bh-card-unit{grid-area:unit;text-align:left}.bh.bl-live[data-page="fees-packages"] .bh-cards--4>.bh-card:first-child .bh-card-list{grid-area:list;margin:0;border-top:0;border-left:1px solid var(--bh-line-soft);padding:0 0 0 var(--s6)}.bh.bl-live[data-page="fees-packages"] .bh-cards--4>.bh-card:first-child .bh-card-cta{grid-area:cta;margin:0}

/* Compact, factual package ladder on high-intent service pages. */
.bh.bl-live .bl-rate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:var(--s5)}
.bh.bl-live .bl-rate{display:grid;gap:.12rem;padding:.78rem .85rem;border:1px solid var(--bh-line);border-radius:12px;background:rgba(255,255,255,.72);transition:transform 220ms var(--bl-ease),border-color 180ms ease,box-shadow 220ms ease}
.bh.bl-live .bl-rate span{font-size:.62rem;color:var(--bh-faint);text-transform:uppercase;letter-spacing:.08em}.bh.bl-live .bl-rate strong{font:600 .96rem/1.2 var(--display);color:var(--bh-deep)}.bh.bl-live .bl-rate small{font-size:.65rem;color:var(--bh-muted)}

/* Legal pages feel navigable, not like an unbroken document. */
.bh.bl-live .bp-toc{border-color:rgba(143,224,207,.42);box-shadow:0 18px 48px -38px rgba(5,52,45,.56);background:linear-gradient(160deg,#fff,#F2F9F6)}
.bh.bl-live .bp-toc a{position:relative;padding-inline-start:.85rem;text-decoration:none;transition:color 180ms ease,transform 220ms var(--bl-ease)}
.bh.bl-live .bp-toc a::before{content:"";position:absolute;left:0;top:50%;width:.32rem;height:.32rem;border-radius:50%;background:var(--bh-line);translate:0 -50%;transition:background-color 180ms ease,transform 220ms var(--bl-ease)}
.bh.bl-live .bp-legal-copy section{position:relative;padding:clamp(1.25rem,3vw,2rem);border:1px solid transparent;border-radius:var(--r-l);transition:background-color 260ms ease,border-color 260ms ease,box-shadow 300ms var(--bl-ease)}
.bh.bl-live .bp-legal-copy section+section{margin-top:var(--s5);padding-top:clamp(1.25rem,3vw,2rem);border-top-color:transparent}
.bh.bl-live .bp-verify{border-style:solid;border-color:rgba(26,122,110,.35);background:linear-gradient(145deg,#E7F3EF,#F3F8F6)}

/* Motion setup. Content is never hidden unless JS confirms it can reveal it. */
@media(prefers-reduced-motion:no-preference){
.bh.bl-live.bl-motion .bh-up:not(.on){opacity:0}
.bh.bl-live .bl-live-dot{animation:blDot 2.8s ease-in-out infinite}
.bh.bl-live.bh-hero-visible .bh-orb--r1{animation:bhFloat 16s ease-in-out infinite alternate!important}
.bh.bl-live.bh-hero-visible .bh-orb--r2{animation:bhFloat 13s ease-in-out -5s infinite alternate-reverse!important}
.bh.bl-live.bh-hero-visible .bh-orb--fill{animation:bhFloat 18s ease-in-out -9s infinite alternate!important}
.bh.bl-live.bh-paused .bh-orb,.bh.bl-live.bh-paused .bl-live-dot{animation-play-state:paused!important}
@keyframes blDot{50%{box-shadow:0 0 0 9px rgba(143,224,207,0)}}
}
@media(hover:hover) and (pointer:fine){
.bh.bl-live .bh-btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px -16px rgba(5,48,42,.65)}
.bh.bl-live .bh-btn:hover::before{translate:135% 0;transition:translate 620ms var(--bl-ease)}
.bh.bl-live .bp-panel:hover,.bh.bl-live .bh-card:hover,.bh.bl-live .bp-context-point:hover{transform:translateY(-6px);border-color:rgba(26,122,110,.55);box-shadow:var(--bl-shadow-hover)}
.bh.bl-live .bp-panel:hover .bp-number{transform:translateY(-2px) rotate(-5deg);background:var(--bh-teal);color:#fff}
.bh.bl-live .bp-related a:hover{transform:translateY(-4px);box-shadow:var(--bl-shadow-hover)}
.bh.bl-live .bp-related a:hover svg{transform:translateX(4px)}
.bh.bl-live .bp-link:hover{background-size:100% 1px}
.bh.bl-live .bl-rate:hover{transform:translateY(-3px);border-color:var(--bh-lift);box-shadow:0 12px 28px -22px rgba(5,48,42,.6)}
.bh.bl-live .bp-toc a:hover{transform:translateX(3px)}.bh.bl-live .bp-toc a:hover::before{background:var(--bh-lift);transform:scale(1.45)}
.bh.bl-live .bp-legal-copy section:hover{background:#fff;border-color:rgba(143,224,207,.35);box-shadow:0 18px 45px -38px rgba(5,48,42,.55)}
}
@media(max-width:960px){
.bh.bl-live .bl-hero-stage{grid-template-columns:1fr;gap:2.2rem}.bh.bl-live .bl-hero-copy{text-align:center}.bh.bl-live .bl-hero-copy .bp-crumb,.bh.bl-live .bl-hero-copy .bh-acts{justify-content:center}.bh.bl-live .bl-hero-copy .bh-eyebrow,.bh.bl-live .bl-hero-copy h1,.bh.bl-live .bl-hero-copy .bh-hero-sub{margin-inline:auto}.bh.bl-live .bl-art{width:min(100%,530px);min-height:350px;margin-inline:auto}.bh.bl-live .bh-hero{min-height:auto}.bh.bl-live .bh-stats>div+div{border-inline-start:0}.bh.bl-live[data-page="fees-packages"] .bh-cards--4{grid-template-columns:repeat(2,minmax(0,1fr))}.bh.bl-live[data-page="fees-packages"] .bh-cards--4>.bh-card:first-child{grid-template-columns:1fr 1fr;grid-template-areas:"name list" "price list" "unit list" "cta cta"}.bh.bl-live[data-page="fees-packages"] .bh-cards--4>.bh-card:first-child .bh-card-cta{margin-top:var(--s4)}
}
@media(max-width:640px){
.bh.bl-live .bh-sec{padding-block:3.35rem}.bh.bl-live .bh-hero+.bh-sec--tight{margin-top:-.75rem}.bh.bl-live .bl-art{min-height:300px}.bh.bl-live .bl-art-frame{inset:.45rem;border-radius:24px}.bh.bl-live .bl-art-scene{inset:1rem}.bh.bl-live .bl-minihead em{display:none}.bh.bl-live .bl-minihead{grid-template-columns:auto 1fr}.bh.bl-live .bl-profile-chip--two{right:0}.bh.bl-live .bl-dialogue{grid-template-columns:1fr 1.2rem 1fr}.bh.bl-live .bl-seats{gap:.4rem}.bh.bl-live .bl-seats span{width:3.2rem;height:3.2rem}.bh.bl-live .bl-seats i{width:3.8rem}.bh.bl-live .bl-family-map{scale:.82;transform-origin:center}.bh.bl-live[data-page="fees-packages"] .bh-cards--4{grid-template-columns:1fr}.bh.bl-live[data-page="fees-packages"] .bh-cards--4>.bh-card:first-child{grid-template-columns:1fr;grid-template-areas:"name" "price" "unit" "list" "cta"}.bh.bl-live[data-page="fees-packages"] .bh-cards--4>.bh-card:first-child .bh-card-list{margin-top:var(--s5);padding:var(--s5) 0 0;border-left:0;border-top:1px solid var(--bh-line-soft)}.bh.bl-live .bl-rate-grid{grid-template-columns:1fr 1fr}.bh.bl-live .bp-legal-copy section{padding:var(--s5)}
}
@media(prefers-reduced-motion:reduce){
.bh.bl-live .bl-art-frame{transform:none!important;transition:none!important}.bh.bl-live .bl-art-piece{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}.bh.bl-live .bl-live-dot{animation:none!important}.bh.bl-live .bh-sec::before,.bh.bl-live .bh-shead h2::after{opacity:1!important;transform:none!important;transition:none!important}.bh.bl-live .bh-up{opacity:1!important;transform:none!important;filter:none!important}.bh.bl-live *{scroll-behavior:auto!important}
}
/* BC LIVE REDESIGN END */

/* ==========================================================================
   Pointer glow on the remaining reactive surfaces.
   The script already writes --bp-x / --bp-y to every .bp-reactive element
   (.bp-panel, .bh-card, .bp-related a, .bl-rate as well as the two below),
   but only .bp-context-point and .bp-source ever painted it. This picks up
   the other four using the values that were already being computed.
   Guarded to match the script: fine pointer only, and off under
   prefers-reduced-motion.
   ========================================================================== */

@media (hover:hover) and (pointer:fine){
  .bh-phase .bp-reactive{position:relative;isolation:isolate}
  .bh-phase .bp-reactive:not(.bp-context-point):not(.bp-source)::before{
    content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
    opacity:0;border-radius:inherit;
    background:radial-gradient(240px circle at var(--bp-x,50%) var(--bp-y,50%),var(--bp-spot-soft),transparent 72%);
    transition:opacity var(--bh-motion-ui) ease;
  }
  .bh-phase .bp-reactive:not(.bp-context-point):not(.bp-source):hover::before,
  .bh-phase .bp-reactive:not(.bp-context-point):not(.bp-source):focus-visible::before{opacity:1}
  /* On the deep pricing card the mint reads much hotter, so halve it. */
  .bh-phase .bh-card--pick.bp-reactive::before{
    background:radial-gradient(240px circle at var(--bp-x,50%) var(--bp-y,50%),rgba(143,224,207,.07),transparent 72%);
  }
}

@media (prefers-reduced-motion:reduce){
  .bh-phase .bp-reactive:not(.bp-context-point):not(.bp-source)::before{display:none}
}

/* ==========================================================================
   Bookly form, dropped into the #booking section as its own shortcode block.
   The plugin's markup is Bookly's own, so this only sets the container.
   ========================================================================== */
.bh-phase .bl-bookly,
.bh-phase .bl-embed{
  max-width:760px;margin-inline:auto;padding:var(--s6);
  background:var(--bp-white);border:var(--bp-hair) solid var(--bh-line-soft);
  border-radius:var(--r-l);box-shadow:var(--sh-1);
}
.bh-phase .bl-bookly .bookly-form,
.bh-phase .bl-embed .bookly-form{margin:0}
@media (max-width:640px){ .bh-phase .bl-bookly,.bh-phase .bl-embed{padding:var(--s4)} }

/* ==========================================================================
   Package comparison table.
   Scrolls horizontally on small screens rather than shrinking the type.
   ========================================================================== */
.bh-phase .bp-compare{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-block:var(--s5)}
.bh-phase .bp-compare table{width:100%;min-width:620px;border-collapse:collapse;font-size:.95rem}
.bh-phase .bp-compare :is(th,td){padding:var(--s4);text-align:left;border-bottom:1px solid var(--bh-line-soft);vertical-align:top}
.bh-phase .bp-compare thead th{
  font-family:var(--display);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--bh-teal);border-bottom:2px solid var(--bh-line);white-space:nowrap;
}
.bh-phase .bp-compare tbody th{font-weight:600;color:var(--bh-deep)}
.bh-phase .bp-compare tbody tr:hover{background:rgba(143,224,207,.07)}
.bh-phase .bp-compare .is-best{background:rgba(143,224,207,.13)}
.bh-phase .bp-compare .bp-save{display:inline-block;margin-top:.2rem;font-size:.8rem;font-weight:600;color:var(--bh-lift)}
.bh-phase .bp-compare td .bh-btn{margin-top:.35rem}
.bh-phase .bp-scroll-note{font-size:.82rem;color:var(--bh-faint);margin-top:calc(var(--s2) * -1)}
@media (min-width:860px){ .bh-phase .bp-scroll-note{display:none} }

/* ==========================================================================
   Editorial image, one per page.
   Hidden until the script confirms the file actually loaded, so a page that
   goes live before its image is uploaded shows nothing rather than a broken
   icon. .bl-figure-ready is added by the script on load.
   ========================================================================== */
.bh-phase .bl-figure{
  display:block;
  max-width:min(100%,36rem);
  margin-inline:auto;
  border-radius:var(--r-l);overflow:hidden;
  box-shadow:var(--sh-1);background:var(--bh-sage);
}
.bh-phase .bl-figure.bl-figure-ready{display:block}
.bh-phase .bl-figure img{
  display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;
}
@media (prefers-reduced-motion:no-preference){
  .bh-phase .bl-figure.bl-figure-ready img{animation:bhFadeUp 600ms var(--ease) both}
}

/* ==========================================================================
   Blog: listing, category archives, single post and the author box.

   The theme generates this markup, not the page builder, so these rules attach
   to Kadence's classes and only bring the design tokens across. `.bc-blog` is
   added to <body> by the plugin so none of this leaks into the 40 built pages.
   ========================================================================== */

body.bc-blog{ --bl-blog-max:72ch; }

/* --- listing ------------------------------------------------------------ */
body.bc-blog .entry-content > *,
body.bc-blog .loop-entry .entry-content > *{ font-family:var(--body); }

body.bc-blog .loop-entry{
  border:1px solid var(--bh-line-soft);
  border-radius:var(--r-l);
  background:#fff;
  box-shadow:var(--sh-1);
  overflow:hidden;
  transition:transform var(--bh-motion-ui) var(--ease),
             box-shadow var(--bh-motion-ui) var(--ease),
             border-color var(--bh-motion-ui) ease;
}
@media (hover:hover) and (pointer:fine){
  body.bc-blog .loop-entry:hover{
    transform:translateY(-4px);
    border-color:rgba(26,122,110,.45);
    box-shadow:var(--sh-2);
  }
}
body.bc-blog .loop-entry .entry-title{
  font-family:var(--display);
  letter-spacing:-.02em;
  line-height:1.15;
}
body.bc-blog .loop-entry .entry-title a{ color:var(--bh-deep); }
body.bc-blog .loop-entry .entry-title a:hover{ color:var(--bh-lift); }
body.bc-blog .loop-entry .entry-summary{ color:var(--bh-muted); }

/* category pills on a card */
body.bc-blog .entry-taxonomies a,
body.bc-blog .category-links a{
  display:inline-block;
  padding:.3rem .7rem;
  border-radius:var(--pill);
  background:var(--bh-sage);
  color:var(--bh-teal);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
}
body.bc-blog .entry-taxonomies a:hover,
body.bc-blog .category-links a:hover{ background:var(--bh-teal); color:#fff; }

/* --- archive header ----------------------------------------------------- */
body.bc-blog .page-title,
body.bc-blog .archive-title h1{
  font-family:var(--display);
  color:var(--bh-deep);
  letter-spacing:-.028em;
}
body.bc-blog .taxonomy-description,
body.bc-blog .archive-description{ color:var(--bh-muted); max-width:60ch; }

/* --- single post -------------------------------------------------------- */
body.bc-blog.single .entry-content{ max-width:var(--bl-blog-max); }
body.bc-blog.single .entry-content :is(h2,h3){
  font-family:var(--display);
  color:var(--bh-deep);
  letter-spacing:-.022em;
  margin-block:2em .5em;
}
body.bc-blog.single .entry-content h2{ font-size:clamp(1.5rem,3vw,2rem); }
body.bc-blog.single .entry-content h3{ font-size:1.2rem; }
body.bc-blog.single .entry-content p:not(.ba-cta-lead):not(.ba-cta-links){ line-height:1.7; color:var(--bh-ink); }
body.bc-blog.single .entry-content a:not(.bh-btn):not(.ba-btn){
  color:var(--bh-teal);
  text-decoration:underline;
  text-underline-offset:.18em;
}
body.bc-blog.single .entry-content a:not(.bh-btn):not(.ba-btn):hover{ color:var(--bh-lift); }
body.bc-blog.single .entry-content blockquote{
  margin:2rem 0;
  padding:var(--s5) var(--s6);
  border-left:3px solid var(--bh-mint);
  background:var(--bh-sage);
  border-radius:0 var(--r-m) var(--r-m) 0;
  color:var(--bh-deep);
}
body.bc-blog.single .entry-content :is(ul,ol){ padding-left:1.4em; }
body.bc-blog.single .entry-content li{ margin-block:.4em; line-height:1.65; }
body.bc-blog.single .entry-content img{ border-radius:var(--r-l); }

/* --- author box --------------------------------------------------------- */
/* Self-contained AND doubled-class. It renders outside `.bh` so it cannot use
   the design tokens, and it renders inside Kadence's `.single-content` whose
   rules on bare `p` and `a` out-specify a single class. Repeating the class
   settles both without !important. */
.bl-authorbox.bl-authorbox{
  --bla-deep:#071F1C;
  --bla-deep-2:#0D3B35;
  --bla-on:#CFE3DE;
  --bla-on-dim:#9BBCB5;
  --bla-mint:#8FE0CF;
  --bla-line:rgba(207,227,222,.16);
  --bla-ease:cubic-bezier(.23,1,.32,1);
  margin-block-start:3rem;
  border-radius:20px;
  background:linear-gradient(145deg,var(--bla-deep-2),var(--bla-deep));
  color:var(--bla-on);
  overflow:hidden;
  position:relative;
  isolation:isolate;
  font-family:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
.bl-authorbox.bl-authorbox::after{
  content:"";position:absolute;z-index:-1;
  width:320px;aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  inset:-120px -90px auto auto;
  pointer-events:none;
}
.bl-authorbox.bl-authorbox .bl-authorbox-in{ padding:clamp(1.5rem,4vw,2.5rem); max-width:none; }
.bl-authorbox.bl-authorbox :where(p,h2){ margin:0; max-width:none; }
.bl-authorbox.bl-authorbox .bl-authorbox-kicker{
  margin-bottom:.4rem;
  font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bla-mint);
}
.bl-authorbox.bl-authorbox .bl-authorbox-name{
  margin:0 0 .35rem;
  font-family:"Schibsted Grotesk",system-ui,sans-serif;
  font-weight:600;
  font-size:clamp(1.35rem,3vw,1.8rem);
  line-height:1.15;
  color:#fff;letter-spacing:-.02em;
}
.bl-authorbox.bl-authorbox .bl-authorbox-role{
  margin-bottom:1rem;
  font-size:.85rem;color:var(--bla-mint);
}
.bl-authorbox.bl-authorbox .bl-authorbox-bio{
  margin-bottom:1.5rem;
  max-width:62ch;line-height:1.65;color:var(--bla-on);
}
.bl-authorbox.bl-authorbox .bl-authorbox-links{
  display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;
}
.bl-authorbox.bl-authorbox .bl-authorbox-links a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:.6rem 1.15rem;
  border-radius:999px;
  font-size:.88rem;font-weight:600;line-height:1;
  text-decoration:none;
  border:1px solid rgba(207,227,222,.35);
  color:var(--bla-on);
  background:transparent;
  transition:background 200ms var(--bla-ease),color 200ms var(--bla-ease),
             border-color 200ms var(--bla-ease),transform 200ms var(--bla-ease);
}
.bl-authorbox.bl-authorbox .bl-authorbox-links a:hover{
  background:rgba(207,227,222,.12);
  border-color:var(--bla-mint);
  color:#fff;
  text-decoration:none;
}
.bl-authorbox.bl-authorbox .bl-authorbox-links a:last-child{
  background:var(--bla-mint);
  border-color:var(--bla-mint);
  color:#06201C;
}
.bl-authorbox.bl-authorbox .bl-authorbox-links a:last-child:hover{
  background:#fff;border-color:#fff;color:#06201C;
}
@media (prefers-reduced-motion:no-preference){
  .bl-authorbox.bl-authorbox .bl-authorbox-links a:hover{ transform:translateY(-1px); }
}
.bl-authorbox.bl-authorbox .bl-authorbox-links a:focus-visible{
  outline:3px solid var(--bla-mint);outline-offset:3px;
}
.bl-authorbox.bl-authorbox .bl-authorbox-note{
  padding-top:1rem;
  border-top:1px solid var(--bla-line);
  font-size:.8rem;line-height:1.55;color:var(--bla-on-dim);
}
/* The author box is appended inside .entry-content, so the article body rules
   above reach into it and paint ink-coloured text and 2em heading margins onto
   a dark green panel. Those rules were previously dropped here because their
   var() tokens were undefined on a blog page; now that the tokens resolve, the
   panel has to out-specify them. Restated once for the whole subtree rather
   than excluded from each article rule one property at a time. */
body.bc-blog.single .entry-content .bl-authorbox.bl-authorbox :is(p,h2,h3){
  color:inherit;
  margin-block:0;
  line-height:1.65;
}
body.bc-blog.single .entry-content .bl-authorbox.bl-authorbox .bl-authorbox-name{
  color:#fff; margin-bottom:.35rem;
}
body.bc-blog.single .entry-content .bl-authorbox.bl-authorbox .bl-authorbox-kicker{
  color:var(--bla-mint); margin-bottom:.4rem;
}
body.bc-blog.single .entry-content .bl-authorbox.bl-authorbox .bl-authorbox-role{
  color:var(--bla-mint); margin-bottom:1rem;
}
body.bc-blog.single .entry-content .bl-authorbox.bl-authorbox .bl-authorbox-bio{
  margin-bottom:1.5rem;
}
body.bc-blog.single .entry-content .bl-authorbox.bl-authorbox .bl-authorbox-links{
  margin-bottom:1.5rem;
}
body.bc-blog.single .entry-content .bl-authorbox.bl-authorbox .bl-authorbox-note{
  color:var(--bla-on-dim); padding-top:1rem;
}

@media (max-width:640px){
  .bl-authorbox.bl-authorbox .bl-authorbox-links{ flex-direction:column; }
  .bl-authorbox.bl-authorbox .bl-authorbox-links a{ width:100%; }
}

/* --- pagination --------------------------------------------------------- */
body.bc-blog .pagination a,
body.bc-blog .pagination .page-numbers{
  border-radius:var(--r-m);
  border:var(--bp-hair) solid var(--bh-line);
  color:var(--bh-deep);
}
body.bc-blog .pagination .page-numbers.current{
  background:var(--bh-deep);border-color:var(--bh-deep);color:#fff;
}
body.bc-blog .pagination a:hover{ border-color:var(--bh-lift); color:var(--bh-lift); }

/* ==========================================================================
   Hero flush to the header.
   Kadence pads .entry-content-wrap by 32px, which is correct for an editor page
   but leaves a gap above a hero that already has its own padding. `.bc-fragment`
   is added by the plugin only on pages carrying a built fragment, so ordinary
   pages and the blog keep the theme's spacing.
   ========================================================================== */
body.bc-fragment .entry-content-wrap{ padding-top:0; }
body.bc-fragment .entry-content-wrap > .entry-content{ margin-top:0; }

/* Gravity Forms inside a .bl-embed panel: take the theme's form styling and
   bring it in line with the rest of the page. Kadence styles inputs already, so
   this only fixes width, rhythm and the submit button. */
.bh-phase .bl-embed .gform_wrapper{ margin:0; }
.bh-phase .bl-embed .gform_wrapper form{ margin:0; }
.bh-phase .bl-embed .gform_fields{ gap:var(--s4); }
.bh-phase .bl-embed .gfield_label{
  font-weight:600; color:var(--bh-deep); font-size:.92rem;
}
.bh-phase .bl-embed :is(input[type=text],input[type=email],input[type=tel],textarea){
  width:100%; padding:.8rem 1rem;
  border:var(--bp-hair) solid var(--bh-line);
  border-radius:var(--r-m);
  font:inherit; color:var(--bh-ink); background:#fff;
}
.bh-phase .bl-embed :is(input,textarea):focus-visible{
  outline:3px solid var(--bh-teal); outline-offset:2px; border-color:var(--bh-teal);
}
.bh-phase .bl-embed .gform_button{
  min-height:48px; padding:.75rem 1.5rem;
  border:0; border-radius:var(--pill);
  background:var(--bh-deep); color:#fff;
  font-weight:600; font-size:.95rem; cursor:pointer;
  transition:background var(--bh-motion-ui) ease, transform var(--bh-motion-ui) var(--ease);
}
.bh-phase .bl-embed .gform_button:hover{ background:var(--bh-lift); }
@media (prefers-reduced-motion:no-preference){
  .bh-phase .bl-embed .gform_button:hover{ transform:translateY(-1px); }
}
.bh-phase .bl-embed .gfield_required{ color:var(--bh-lift); }
.bh-phase .bl-embed .gform_validation_errors{
  border-radius:var(--r-m); border-left:3px solid #b3261e;
}

/* ==========================================================================
   Blog + forum hero.
   The posts page and the forum archive render from the theme, not the page
   builder, so the theme's plain page title is replaced with a small branded
   hero. `.bc-hero` is printed by the plugin above the loop.
   ========================================================================== */
/* Kadence puts its content padding above our hero, leaving a blank band. When
   the hero is the first thing in the main column, that padding is ours to drop. */
body:is(.bc-blog,.bc-forum) .content-area:has(.bc-hero){ margin-top:0; }
.bc-hero{
  --bch-deep:#071F1C; --bch-deep-2:#0D3B35;
  --bch-on:#CFE3DE; --bch-mint:#8FE0CF;
  position:relative; isolation:isolate; overflow:hidden;
  margin:0 0 clamp(2rem,5vw,3.25rem);
  padding:clamp(2.5rem,6vw,4.5rem) clamp(1.25rem,4vw,2.5rem);
  background:
    radial-gradient(60% 90% at 15% 10%,rgba(26,122,110,.5),transparent 68%),
    linear-gradient(150deg,var(--bch-deep-2),var(--bch-deep) 78%);
  color:var(--bch-on);
  text-align:center;
  font-family:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
.bc-hero::after{
  content:""; position:absolute; z-index:-1; pointer-events:none;
  width:min(46vw,520px); aspect-ratio:1; border-radius:50%;
  border:1px solid rgba(143,224,207,.14);
  inset:-42% -12% auto auto;
}
.bc-hero-in{ max-width:62ch; margin-inline:auto; }
.bc-hero .bc-hero-kicker{
  margin:0 0 .6rem; font-size:.7rem; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase; color:var(--bch-mint);
}
.bc-hero .bc-hero-title{
  margin:0 0 .75rem;
  font-family:"Schibsted Grotesk",system-ui,sans-serif;
  font-weight:600; letter-spacing:-.03em; line-height:1.08;
  font-size:clamp(2rem,5vw,3.1rem); color:#fff;
}
.bc-hero .bc-hero-sub{
  margin:0 auto; max-width:56ch; line-height:1.6; color:var(--bch-on);
  font-size:clamp(1rem,1.6vw,1.12rem);
}
.bc-hero .bc-hero-cta{ margin:1.5rem 0 0; }
.bc-hero .bc-hero-cta a{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:48px; padding:.7rem 1.4rem; border-radius:999px;
  background:var(--bch-mint); color:#06201C;
  font-weight:600; font-size:.95rem; text-decoration:none;
  transition:background 200ms ease, transform 200ms ease;
}
.bc-hero .bc-hero-cta a:hover{ background:#fff; }
@media (prefers-reduced-motion:no-preference){
  .bc-hero .bc-hero-cta a:hover{ transform:translateY(-1px); }
}
/* the theme page title is redundant once the hero is there */
/* Kadence prints its own hero section above the loop. With the title hidden it
   was left as a 200px empty band above ours, so the whole section goes. */
body.bc-blog .page-title,
body.bc-forum .page-title,
body.bc-blog .entry-hero,
body.bc-forum .entry-hero,
body.bc-blog .entry-hero-container,
body.bc-forum .entry-hero-container,
body.bc-blog .post-archive-hero-section,
body.bc-forum .post-archive-hero-section{ display:none !important; }

/* The forum reads as a list: one question per row, at a width that is
   comfortable to read, rather than three columns of narrow cards. */
body.bc-forum .bc_question-archive.bc_question-archive{
  grid-template-columns:1fr;
  gap:clamp(1rem,2.5vw,1.5rem);
  max-width:56rem;
  margin-inline:auto;
}
body.bc-forum .bc_question-archive .loop-entry .entry-content-wrap{
  padding:clamp(1.35rem,3vw,1.9rem);
}
body.bc-forum .bc_question-archive .entry-title{
  font-size:clamp(1.15rem,2.2vw,1.4rem);
  margin:0 0 .5rem;
}
body.bc-forum .bc_question-archive .entry-summary p:last-child{ margin-bottom:0; }

/* ==========================================================================
   Blog article components.
   Posts render from the theme, outside .bh, so these carry literal colours and
   repeat their class where the theme out-specifies bare elements.
   ========================================================================== */
.ba-figure{
  display:block; max-width:min(100%,32rem); margin:0 auto 2rem;
  border-radius:18px; overflow:hidden;
  background:#E4EDE9; box-shadow:0 1px 2px rgba(10,47,43,.04), 0 6px 18px rgba(10,47,43,.06);
}
.ba-figure.bl-figure-ready{ display:block; }
.ba-figure img{ display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }

/* The direct answer, written to stand alone if a search engine lifts it. */
.ba-answer.ba-answer{
  margin:0 0 2rem; padding:clamp(1.25rem,3vw,1.75rem);
  border-radius:16px; background:#E4EDE9; border-left:3px solid #1A7A6E;
}
.ba-answer.ba-answer .ba-answer-label{
  margin:0 0 .5rem; font-size:.72rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:#0E5049;
}
.ba-answer.ba-answer p:last-child{ margin:0; color:#0A2F2B; line-height:1.65; }

.ba-faq.ba-faq{ margin:2.75rem 0 0; padding-top:2rem; border-top:1px solid #D2DCD8; }
.ba-faq.ba-faq > h2{ margin:0 0 1.5rem; }
.ba-faq.ba-faq .ba-q{ margin-bottom:1.5rem; }
.ba-faq.ba-faq .ba-q h3{ margin:0 0 .45rem; font-size:1.08rem; color:#0A2F2B; }
.ba-faq.ba-faq .ba-q p{ margin:0; color:#55665F; line-height:1.7; }

.ba-cta.ba-cta{
  margin:2.75rem 0 0; padding:clamp(1.5rem,4vw,2.25rem);
  border-radius:18px; background:#071F1C; color:#CFE3DE; text-align:center;
}
.ba-cta.ba-cta .ba-cta-lead{
  margin:0 0 1.25rem; color:#fff; font-weight:600;
  font-family:"Schibsted Grotesk",system-ui,sans-serif;
  font-size:clamp(1.1rem,2.4vw,1.35rem); line-height:1.35;
}
.ba-cta.ba-cta .ba-cta-links{
  margin:0; display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center;
}
.ba-cta.ba-cta .ba-btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:48px; padding:.7rem 1.5rem; border-radius:999px;
  border:1px solid rgba(207,227,222,.35); color:#CFE3DE;
  font-weight:600; font-size:.95rem; text-decoration:none;
  transition:background 200ms ease, color 200ms ease, border-color 200ms ease;
}
.ba-cta.ba-cta .ba-btn:hover{ background:rgba(143,224,207,.14); color:#fff; }
.ba-cta.ba-cta .ba-btn--go{ background:#8FE0CF; border-color:#8FE0CF; color:#06201C; }
.ba-cta.ba-cta .ba-btn--go:hover{ background:#fff; border-color:#fff; color:#06201C; }

/* featured image on the listing and the single post */
body.bc-blog .post-thumbnail img,
body.bc-blog .loop-entry .post-thumbnail img{
  width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; display:block;
}
body.bc-blog.single .post-thumbnail img{ border-radius:18px; }

/* ==========================================================================
   Forum
   ========================================================================== */
body.bc-forum{ --bcf-line:#D2DCD8; }

.bcf-archive-intro{ max-width:62ch; margin:0 auto 2rem; text-align:center; }
.bcf-archive-intro p{ color:#55665F; line-height:1.65; }
.bcf-archive-note{ font-size:.85rem; color:#7E918B; }
.bcf-archive-cta{ margin:1.25rem 0; }

.bcf-btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:48px; padding:.7rem 1.4rem; border-radius:999px;
  border:1px solid #0A2F2B; background:transparent; color:#0A2F2B;
  font-weight:600; font-size:.95rem; text-decoration:none; cursor:pointer;
  transition:background 200ms ease,color 200ms ease,transform 200ms ease;
}
.bcf-btn:hover{ background:#0A2F2B; color:#fff; }
.bcf-btn--go{ background:#0A2F2B; color:#fff; border-color:#0A2F2B; }
.bcf-btn--go:hover{ background:#1A7A6E; border-color:#1A7A6E; }
@media (prefers-reduced-motion:no-preference){
  .bcf-btn:hover{ transform:translateY(-1px); }
}

.bcf-card-meta{
  font-size:.75rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:#0E5049; margin:0 0 .5rem;
}

/* --- single question --- */
.bcf-question{
  border:1px solid var(--bcf-line); border-radius:18px;
  padding:clamp(1.25rem,3vw,2rem); background:#fff; margin-bottom:2rem;
}
.bcf-facts{
  display:flex; flex-wrap:wrap; gap:1.5rem;
  margin:0 0 1.25rem; padding:0 0 1.25rem;
  list-style:none; border-bottom:1px solid #E5EBE9;
}
.bcf-facts li{ display:grid; gap:.15rem; }
.bcf-facts span{
  font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:#7E918B;
}
.bcf-facts b{ font-size:.95rem; color:#16211F; }
.bcf-asker{ font-size:.85rem; color:#7E918B; margin:0 0 1rem; }
.bcf-question-body p{ line-height:1.7; color:#16211F; }
.bcf-pending-answer{
  padding:1rem 1.25rem; border-radius:12px;
  background:#E4EDE9; color:#0E5049; font-size:.92rem;
}

/* --- the answer --- */
.bcf-answer{
  border-radius:20px; overflow:hidden; position:relative; isolation:isolate;
  background:linear-gradient(145deg,#0D3B35,#071F1C); color:#CFE3DE;
}
.bcf-answer::after{
  content:""; position:absolute; z-index:-1; pointer-events:none;
  width:300px; aspect-ratio:1; border-radius:50%;
  border:1px solid rgba(255,255,255,.08); inset:-110px -80px auto auto;
}
.bcf-answer-in{ padding:clamp(1.5rem,4vw,2.5rem); }
.bcf-answer-kicker{
  margin:0 0 .35rem; font-size:.7rem; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:#8FE0CF;
}
.bcf-answer .bcf-answer-name{
  margin:0 0 .3rem; font-family:"Schibsted Grotesk",system-ui,sans-serif;
  font-size:clamp(1.3rem,3vw,1.7rem); color:#fff; letter-spacing:-.02em;
}
.bcf-answer-role{ margin:0 0 1.25rem; font-size:.85rem; color:#8FE0CF; }
.bcf-answer-body p{ line-height:1.7; color:#CFE3DE; }
.bcf-answer-note{
  margin:1.5rem 0 1rem; padding-top:1rem;
  border-top:1px solid rgba(207,227,222,.16);
  font-size:.8rem; line-height:1.55; color:#9BBCB5;
}
.bcf-answer-cta .bcf-btn{ background:#8FE0CF; border-color:#8FE0CF; color:#06201C; }
.bcf-answer-cta .bcf-btn:hover{ background:#fff; border-color:#fff; }

/* --- the form --------------------------------------------------------- */
/* Self-contained. This renders on an ordinary page, so it cannot rely on
   `body.bc-forum` for its variables, and the theme out-specifies bare inputs
   and buttons. Literal colours plus a repeated class settle both. */
.bcf-form.bcf-form{
  --bcf-line:#D2DCD8;
  --bcf-deep:#0A2F2B;
  --bcf-lift:#1A7A6E;
  max-width:44rem; margin-inline:auto;
  /* Padding, not margin: a bottom margin here collapses into the parent and the
     submit button ends up pressed against the footer. */
  padding-bottom:clamp(2.5rem,6vw,4.5rem);
}
.bcf-form.bcf-form .bcf-hp{ position:absolute!important; left:-9999px!important; height:1px; overflow:hidden; }
.bcf-form.bcf-form .bcf-field{ margin-bottom:1.5rem; }
.bcf-form.bcf-form .bcf-label{
  display:block; margin-bottom:.45rem; font-weight:600; color:#0A2F2B; font-size:.95rem;
}
.bcf-form.bcf-form .bcf-optional{ font-weight:400; color:#7E918B; font-size:.85rem; }
.bcf-form.bcf-form .bcf-hint{ display:block; margin-top:.4rem; font-size:.82rem; color:#7E918B; line-height:1.5; }
.bcf-form.bcf-form .bcf-choices{ display:flex; flex-wrap:wrap; gap:.75rem; }
.bcf-form.bcf-form .bcf-choices label{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.7rem 1.1rem; border:1px solid #D2DCD8; border-radius:999px;
  background:#fff; cursor:pointer; font-size:.92rem;
  transition:border-color 160ms ease,background 160ms ease,box-shadow 160ms ease;
}
.bcf-form.bcf-form .bcf-choices label:hover{ border-color:#1A7A6E; background:#F4F8F6; }
.bcf-form.bcf-form .bcf-choices input[type=radio]{ accent-color:#0E5049; width:auto; margin:0; }
.bcf-form.bcf-form .bcf-choices label:has(input:checked){
  border-color:#0E5049; background:#E4EDE9; box-shadow:inset 0 0 0 1px #0E5049;
}
/* the actual fix: a visible, literal border on every control */
.bcf-form.bcf-form input[type=text],
.bcf-form.bcf-form input[type=number],
.bcf-form.bcf-form select,
.bcf-form.bcf-form textarea{
  display:block; width:100%; padding:.85rem 1rem; font:inherit; color:#16211F;
  border:1px solid #C3D0CB; border-radius:12px; background:#fff;
  box-shadow:inset 0 1px 2px rgba(10,47,43,.05);
  transition:border-color 160ms ease, box-shadow 160ms ease;
}
.bcf-form.bcf-form textarea{ min-height:11rem; resize:vertical; line-height:1.6; }
.bcf-form.bcf-form input[type=number]{ max-width:9rem; }
.bcf-form.bcf-form select{
  appearance:none;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E5049' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 1rem center; background-size:1.1rem;
  padding-right:2.75rem;
}
.bcf-form.bcf-form input:hover, .bcf-form.bcf-form select:hover, .bcf-form.bcf-form textarea:hover{ border-color:#9FB3AC; }
.bcf-form.bcf-form input:focus-visible,
.bcf-form.bcf-form select:focus-visible,
.bcf-form.bcf-form textarea:focus-visible{
  outline:3px solid #0E5049; outline-offset:2px; border-color:#0E5049;
  box-shadow:0 0 0 1px #0E5049;
}
.bcf-form.bcf-form .bcf-warning,.bcf-form.bcf-form .bcf-crisis{
  padding:1rem 1.15rem; border-radius:12px; line-height:1.6; font-size:.92rem;
  margin-bottom:1.75rem;
}
.bcf-form.bcf-form .bcf-warning{ background:#E4EDE9; color:#0A2F2B; border-left:3px solid #1A7A6E; }
.bcf-form.bcf-form .bcf-crisis{ background:#FDF3F2; color:#7A2A24; border-left:3px solid #B3261E; margin-top:1.75rem; }
/* the submit button, and the space beneath it */
.bcf-form.bcf-form button[type=submit]{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:52px; padding:.85rem 1.9rem;
  border:1px solid #0A2F2B; border-radius:999px;
  background:#0A2F2B; color:#fff;
  font-weight:600; font-size:1rem; cursor:pointer;
  transition:background 200ms ease,border-color 200ms ease,transform 200ms ease;
}
.bcf-form.bcf-form button[type=submit]:hover{ background:#1A7A6E; border-color:#1A7A6E; }
@media (prefers-reduced-motion:no-preference){
  .bcf-form.bcf-form button[type=submit]:hover{ transform:translateY(-1px); }
}
.bcf-form.bcf-form button[type=submit]:focus-visible{ outline:3px solid #0E5049; outline-offset:3px; }
/* the paragraph the button sits in carries the trailing space */
.bcf-form.bcf-form > p:last-child{ margin-bottom:0; padding-bottom:.5rem; }

.bcf-errors{
  padding:1rem 1.15rem; margin-bottom:1.5rem; border-radius:12px;
  background:#FDF3F2; color:#7A2A24; border-left:3px solid #B3261E;
}
.bcf-errors ul{ margin:.5rem 0 0; padding-left:1.2rem; }
.bcf-thanks{
  max-width:44rem; margin-inline:auto;
  padding:clamp(1.5rem,4vw,2.25rem);
  border-radius:18px; background:#E4EDE9; border-left:3px solid #1A7A6E;
}
.bcf-thanks h2{
  margin:0 0 .75rem; font-family:"Schibsted Grotesk",system-ui,sans-serif;
  color:#0A2F2B; font-size:clamp(1.3rem,3vw,1.7rem);
}
.bcf-thanks p{ line-height:1.65; color:#16211F; }
/* same reason as the form: keep the confirmation off the footer */
.bcf-thanks{ margin-bottom:0; }
.bcf-thanks-wrap{ padding-bottom:clamp(2.5rem,6vw,4.5rem); }

@media (max-width:640px){
  .bcf-choices{ flex-direction:column; }
  .bcf-choices label{ width:100%; }
}

/* ==========================================================================
   V3: calmer scrolling, less empty space, smaller headings.
   Kept as one block so it can be read (or reverted) on its own.
   ========================================================================== */

/* Scroll jank: the Customizer's scroll-linked section fade kept tall sections
   half transparent while scrolling and ran on top of the JS reveals. */
body.home .bh .bh-sec{animation:none}
/* Blur is repainted every frame while animating; fade and slide are enough. */
.bh.bh-enhanced .bh-blur:not(.on){filter:none}
@keyframes blPiece{from{opacity:0;transform:translateY(22px) scale(.96)}to{opacity:1;transform:none}}
.bh-phase .bp-sources-wrap,.bh.bl-live .bh-stats{backdrop-filter:none}

/* Paragraph reset lives at the top of this file (see there). These three
   single-class rules are too weak to beat it, so restate them at its weight;
   :where() keeps them there, so any more specific rule still wins. */
.bh p:where(.bh-eyebrow){margin-block-end:var(--s5)}
.bh p:where(.bh-hero-sub){margin:0 auto var(--s7)}
.bh p:where(.bh-card-price){margin-block:var(--s4) var(--s2)}

/* Headings */
.bh .bh-hero h1{font-size:clamp(2.1rem,4.4vw,3.4rem)}
/* the old 12.8ch cap was sized for the larger font and now wraps to five lines */
.bh.bl-live .bl-hero-copy h1{max-width:17ch}
.bh h2{font-size:clamp(1.65rem,3vw,2.3rem)}
.bh .bh-close h2{font-size:clamp(1.75rem,3.4vw,2.5rem)}

/* Section spacing */
.bh .bh-sec,.bh.bl-live .bh-sec{padding-block:clamp(2.75rem,5vw,4.25rem)}
.bh.bl-live .bh-hero{min-height:0;padding-block:clamp(2.75rem,5vw,4.5rem)}

/* Social follow cards (home page) */
.bh-social ul{list-style:none;margin:var(--s6) 0 0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.bh-social a{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--bh-line);border-radius:18px;background:#fff;color:inherit;text-decoration:none;transition:border-color .16s,transform .16s}
.bh-social a:hover{border-color:#1A7A6E;transform:translateY(-2px)}
.bh-social a:focus-visible{outline:2px solid #1A7A6E;outline-offset:2px}
.bh-social svg{flex:none;width:40px;height:40px;padding:9px;border-radius:12px;background:#0E5049;color:#fff}
.bh-social strong{display:block;font-size:1.2rem;line-height:1.2;color:#0A2F2B}
.bh-social small{display:block;font-size:.88rem;color:var(--bh-muted,#55665F)}
.bh .bh-sec.bh-social{padding-block-end:clamp(3.5rem,7vw,5rem)}

@media (max-width:640px){
  .bh .bh-sec,.bh.bl-live .bh-sec{padding-block:2.5rem}
  /* The hero illustration is decorative (aria-hidden); on a phone it only adds scrolling. */
  .bh.bl-live .bl-art{display:none}
  /* Card grids become swipeable rows; the next card peeks in so the row reads as scrollable. */
  /* Fees keeps its own stacked pricing layout: prices are the point of that page. */
  .bh-phase .bp-context-points,.bh-phase .bp-related,.bh:not([data-page="fees-packages"]) .bh-cards{
    grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;grid-auto-rows:auto;
    overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding-block-end:4px
  }
  .bh-phase .bp-context-points::-webkit-scrollbar,.bh-phase .bp-related::-webkit-scrollbar,.bh:not([data-page="fees-packages"]) .bh-cards::-webkit-scrollbar{display:none}
  .bh-phase .bp-context-points>*,.bh-phase .bp-related>*,.bh:not([data-page="fees-packages"]) .bh-cards>*{scroll-snap-align:start}
}

@media (prefers-reduced-motion:reduce){
  .bh-social a{transition:none}
  .bh-social a:hover{transform:none}
}

/* ==========================================================================
   Global footer (.bcf) - was inline in the footer fragment.
   Lives here so the footer markup ships as markup only.
   ========================================================================== */

/* The Bonding Corner global footer.
   Paste this complete fragment into one Custom HTML block inside a Kadence
   Content Section Element. Set Placement to Replace Footer and Display to
   Entire Site. No schema or page-level scripts belong in this fragment. */
.bcf{
  --bcf-deep:#071F1C;
  --bcf-deep-2:#0D3B35;
  --bcf-deep-3:#0A2F2B;
  --bcf-teal:#0E5049;
  --bcf-lift:#1A7A6E;
  --bcf-mint:#8FE0CF;
  --bcf-on-deep:#CFE3DE;
  --bcf-on-deep-dim:#9BBCB5;
  --bcf-paper:#F7F8F7;
  --bcf-line:rgba(207,227,222,.14);
  --bcf-line-strong:rgba(143,224,207,.22);
  --bcf-radius:22px;
  --bcf-pill:999px;
  --bcf-ease:cubic-bezier(.23,1,.32,1);
  --bcf-display:'Schibsted Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  --bcf-body:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  position:relative;
  isolation:isolate;
  width:100%;
  overflow:hidden;
  border-top:1px solid rgba(143,224,207,.18);
  background:var(--bcf-deep);
  color:var(--bcf-on-deep-dim);
  font-family:var(--bcf-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.bcf,.bcf *,.bcf *::before,.bcf *::after{box-sizing:border-box}
.bcf.bcf :where(p,h2,h3,ul,dl,dd){margin:0;padding:0}
.bcf.bcf ul{list-style:none}
.bcf.bcf a{color:inherit;text-decoration:none}
.bcf svg,.bcf img{display:block}
.bcf::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:min(44vw,560px);
  aspect-ratio:1;
  top:-330px;
  right:-170px;
  border:1px solid rgba(143,224,207,.075);
  border-radius:50%;
  pointer-events:none;
}
.bcf-shell{
  width:min(100%,1260px);
  margin-inline:auto;
  padding:clamp(3rem,6vw,4.5rem) clamp(1.25rem,4vw,2.5rem) 0;
}
.bcf :focus-visible{
  outline:3px solid var(--bcf-mint);
  outline-offset:3px;
  border-radius:5px;
}
/* ---------- compact conversion panel ---------- */
.bcf-invite{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(260px,.65fr);
  align-items:center;
  gap:clamp(1.5rem,4vw,4rem);
  overflow:hidden;
  padding:clamp(1.5rem,3.5vw,2.5rem);
  border:1px solid var(--bcf-line-strong);
  border-radius:var(--bcf-radius);
  background:
    radial-gradient(circle at 93% -25%,rgba(143,224,207,.16),transparent 43%),
    linear-gradient(135deg,var(--bcf-deep-2),var(--bcf-deep-3));
  box-shadow:0 22px 54px rgba(2,18,15,.22);
}
.bcf-invite::after{
  content:"";
  position:absolute;
  width:128px;
  height:128px;
  right:-68px;
  bottom:-68px;
  border:1px solid rgba(143,224,207,.12);
  border-radius:50%;
  pointer-events:none;
}
.bcf-kicker{
  display:flex;
  align-items:center;
  gap:.65rem;
  color:var(--bcf-mint);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.15em;
  line-height:1.4;
  text-transform:uppercase;
}
.bcf-kicker::before{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--bcf-mint);
  box-shadow:0 0 0 4px rgba(143,224,207,.1);
}
.bcf-title{
  max-width:18ch;
  margin-top:.7rem!important;
  color:#fff;
  font-family:var(--bcf-display);
  font-size:clamp(1.85rem,3.1vw,2.5rem);
  font-weight:600;
  letter-spacing:-.034em;
  line-height:1.06;
  text-wrap:balance;
}
.bcf-invite-text{
  max-width:58ch;
  margin-top:.85rem!important;
  color:var(--bcf-on-deep);
  font-size:.98rem;
  line-height:1.65;
}
.bcf-actions{display:grid;gap:.75rem;justify-items:stretch}
.bcf-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:50px;
  padding:.8rem 1.35rem;
  border:1px solid transparent;
  border-radius:var(--bcf-pill);
  font-size:.92rem;
  font-weight:600;
  line-height:1.2;
  text-align:center;
  transition:background-color 180ms var(--bcf-ease),color 180ms var(--bcf-ease),border-color 180ms var(--bcf-ease),box-shadow 200ms var(--bcf-ease),transform 200ms var(--bcf-ease);
}
.bcf-btn svg{width:17px;height:17px;transition:transform 200ms var(--bcf-ease)}
.bcf-btn--primary{background:var(--bcf-mint);color:var(--bcf-deep)!important}
.bcf-btn--secondary{border-color:rgba(255,255,255,.32);background:transparent;color:#fff!important}
/* ---------- information grid ---------- */
.bcf-main{
  display:grid;
  grid-template-columns:minmax(240px,1.35fr) minmax(255px,1.1fr) minmax(160px,.72fr) minmax(205px,.9fr);
  gap:clamp(2rem,4vw,3.5rem);
  padding-block:clamp(3rem,5.5vw,4.25rem) clamp(2.5rem,4.5vw,3.5rem);
  align-items:start;
}
.bcf-logo{
  display:inline-flex;
  align-items:center;
  width:min(100%,220px);
  min-height:78px;
  padding:.55rem .8rem;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  background:var(--bcf-paper);
  box-shadow:0 14px 34px rgba(2,18,15,.18);
  transition:border-color 180ms var(--bcf-ease),box-shadow 200ms var(--bcf-ease),transform 200ms var(--bcf-ease);
}
.bcf-logo img{width:100%;height:auto;max-height:72px;object-fit:contain}
.bcf-brand-copy{
  max-width:35ch;
  margin-top:1.25rem!important;
  color:var(--bcf-on-deep-dim);
  font-size:.92rem;
  line-height:1.68;
}
.bcf-profile-links{display:grid;justify-items:start;gap:.55rem;margin-top:1.1rem}
.bcf-text-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  color:var(--bcf-on-deep)!important;
  font-size:.86rem;
  font-weight:600;
  line-height:1.5;
  transition:color 180ms var(--bcf-ease);
}
.bcf-text-link svg{width:15px;height:15px;transition:transform 200ms var(--bcf-ease)}
.bcf-text-link::after,.bcf-nav a::after,.bcf-legal a::after{
  content:"";
  position:absolute;
  right:0;
  bottom:-.08em;
  left:0;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right center;
  transition:transform 200ms var(--bcf-ease);
}
.bcf-heading{
  margin-bottom:1.05rem!important;
  color:#fff;
  font-size:.74rem;
  font-weight:600;
  letter-spacing:.14em;
  line-height:1.4;
  text-transform:uppercase;
}
.bcf-nav ul{display:grid;gap:.58rem}
.bcf-nav--services ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem}
.bcf-nav li{min-width:0}
.bcf-nav a,.bcf-legal a{
  position:relative;
  display:inline-flex;
  color:var(--bcf-on-deep)!important;
  font-size:.9rem;
  line-height:1.5;
  transition:color 180ms var(--bcf-ease);
}
.bcf-facts{
  padding:1.25rem;
  border:1px solid var(--bcf-line);
  border-radius:18px;
  background:rgba(255,255,255,.035);
}
.bcf-facts dl{display:grid}
.bcf-facts dl>div{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.66rem 0;
  border-bottom:1px solid rgba(207,227,222,.1);
}
.bcf-facts dl>div:first-child{padding-top:0}
.bcf-facts dl>div:last-child{padding-bottom:0;border-bottom:0}
.bcf-facts dt{color:var(--bcf-on-deep-dim);font-size:.82rem}
.bcf-facts dd{color:#fff;font-size:.82rem;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.bcf-facts .bcf-text-link{margin-top:1rem}
/* ---------- legal row ---------- */
.bcf-bottom{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:1.5rem;
  min-height:72px;
  border-top:1px solid var(--bcf-line);
}
.bcf-copyright,.bcf-legal a{color:var(--bcf-on-deep-dim)!important;font-size:.78rem}
.bcf-legal ul{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.7rem 1.25rem}
/* ---------- motion ---------- */
@media (hover:hover) and (pointer:fine){
  .bcf-logo:hover{border-color:rgba(143,224,207,.28);box-shadow:0 18px 38px rgba(2,18,15,.25);transform:translateY(-2px)}
  .bcf-btn:hover{transform:translateY(-2px)}
  .bcf-btn:hover svg,.bcf-text-link:hover svg{transform:translateX(3px)}
  .bcf-btn--primary:hover{background:#B9EEE3;box-shadow:0 12px 28px rgba(2,18,15,.24)}
  .bcf-btn--secondary:hover{border-color:var(--bcf-mint);background:rgba(143,224,207,.08)}
  .bcf-text-link:hover,.bcf-nav a:hover,.bcf-legal a:hover{color:var(--bcf-mint)!important}
  .bcf-text-link:hover::after,.bcf-nav a:hover::after,.bcf-legal a:hover::after{transform:scaleX(1);transform-origin:left center}
}
/* V3: the scroll-linked footer fade was removed: it tied opacity to scroll position,
   so the footer looked half-drawn whenever someone stopped scrolling partway. */

/* Social follow links (brand column) */
.bcf .bcf-social{list-style:none;margin:1.25rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.bcf .bcf-social a{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;padding:.45rem .9rem .45rem .5rem;border:1px solid var(--bcf-line-strong);border-radius:var(--bcf-pill);color:var(--bcf-on-deep);text-decoration:none;font-size:.88rem;line-height:1.2;transition:border-color 160ms var(--bcf-ease),color 160ms var(--bcf-ease)}
.bcf .bcf-social a:hover{border-color:var(--bcf-mint);color:#fff}
.bcf-social a:focus-visible{outline:2px solid var(--bcf-mint);outline-offset:2px}
.bcf-social svg{flex:none;width:30px;height:30px;padding:6px;border-radius:50%;background:var(--bcf-teal);color:#fff}
.bcf-social strong{color:#fff;font-weight:600}
@media (prefers-reduced-motion:reduce){.bcf-social a{transition:none}}
@media (max-width:1060px){
  .bcf-main{grid-template-columns:minmax(240px,1.1fr) minmax(250px,1fr) minmax(190px,.8fr)}
  .bcf-facts{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;column-gap:2rem}
  .bcf-facts .bcf-heading{margin:0!important;padding-top:.55rem}
  .bcf-facts dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 1rem}
  .bcf-facts dl>div{display:grid;gap:.2rem;border-bottom:0;padding:.45rem 0}
  .bcf-facts dd{text-align:left}
  .bcf-facts .bcf-text-link{margin-top:.5rem;white-space:nowrap}
}
@media (max-width:820px){
  .bcf-invite{grid-template-columns:1fr}
  .bcf-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bcf-main{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bcf-brand{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 1.5rem;align-items:start}
  .bcf-brand-copy{margin-top:0!important}
  .bcf-profile-links{grid-column:2;margin-top:.75rem}
  .bcf-facts{grid-column:1/-1;grid-template-columns:1fr}
  .bcf-facts .bcf-heading{padding-top:0;margin-bottom:.65rem!important}
  .bcf-facts dl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bcf-bottom{grid-template-columns:1fr}
  .bcf-legal ul{justify-content:flex-start}
}
@media (max-width:600px){
  .bcf-shell{padding-top:2.5rem}
  .bcf::before,.bcf-invite::after{display:none}
  .bcf-invite{padding:1.4rem;border-radius:18px}
  .bcf-actions{grid-template-columns:1fr}
  /* two link columns side by side; brand and session facts span both */
  .bcf-main{grid-template-columns:1fr 1fr;padding-block:2.5rem 2rem;gap:2rem 1rem}
  .bcf-brand,.bcf-facts{grid-column:1/-1;display:block}
  .bcf-logo{width:200px}
  .bcf-brand-copy{margin-top:1.15rem!important}
  .bcf-profile-links{margin-top:1rem}
  .bcf-nav ul{grid-template-columns:1fr}
  .bcf-nav a,.bcf-profile-links a{min-height:44px;align-items:center}
  .bcf-facts dl{grid-template-columns:1fr}
  .bcf-facts dl>div{display:flex;border-bottom:1px solid rgba(207,227,222,.1)}
  .bcf-facts dd{text-align:right}
  .bcf-bottom{min-height:0;padding-block:1.4rem 1.75rem;gap:.9rem}
  .bcf-legal ul{display:grid;grid-template-columns:1fr 1fr;gap:.35rem 1rem}
  .bcf-legal a{min-height:40px;align-items:center}
}
@media (max-width:380px){.bcf-nav--services ul{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){
  .bcf *,.bcf *::before,.bcf *::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .bcf-btn,.bcf-logo,.bcf-btn svg,.bcf-text-link svg{transform:none!important}
}
