/* BAGHI v42 · enhancement layer */
.bg-ico{display:inline-flex;width:34px;height:34px;border-radius:50%;background:rgba(163,181,152,.12);color:var(--sage,#a3b598);align-items:center;justify-content:center;margin:0 0 10px;flex:none;vertical-align:middle}
.bg-ico svg{width:18px;height:18px}
li > .bg-ico{width:22px;height:22px;margin:0 8px -4px 0;background:transparent}
li > .bg-ico svg{width:16px;height:16px}
.faq-item > .bg-ico{position:absolute;left:0;top:14px;width:26px;height:26px;background:transparent}
.faq-item{position:relative}.faq-item.bg-has-ico .faq-q{padding-left:34px}
.abnb-item > .bg-ico{display:none}
.tl-step > .bg-ico,.career .step > .bg-ico{margin-bottom:6px}
.career .step > .bg-ico{grid-column:2}
.bg-rv{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.2,.7,.1,1),transform .8s cubic-bezier(.2,.7,.1,1)}
.bg-rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.bg-rv{opacity:1;transform:none;transition:none}}
.bg-tl{position:relative}
.bg-tl::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:linear-gradient(90deg,var(--sage,#a3b598),transparent);transform:scaleX(0);transform-origin:left;transition:transform 1.6s ease .2s;opacity:.6;pointer-events:none}
.bg-tl.in::after,.bg-tl:has(.in)::after{transform:scaleX(1)}
.bg-herovid video{will-change:transform;transition:transform .1s linear}
.bg-pulse{animation:bgPulse 2.4s ease-in-out infinite}
@keyframes bgPulse{0%,100%{box-shadow:0 0 0 0 rgba(163,181,152,.45)}50%{box-shadow:0 0 0 10px rgba(163,181,152,0)}}

/* ===== body map ===== */
.bg-bodymap{padding:64px 32px;background:var(--graphite-deep,#070d09);color:var(--cream,#f5f5f3)}
.bg-bodymap .bm-head{max-width:1200px;margin:0 auto 28px}
.bm-title{font-weight:200;font-size:clamp(26px,3vw,40px);letter-spacing:-.008em;line-height:1.15;margin:0 0 10px;color:var(--cream,#f5f5f3)}
.bm-sub{font-size:15px;color:var(--muted,rgba(245,245,243,.5));max-width:720px;line-height:1.6}
.bm-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}
.bm-fig{position:relative;background:var(--graphite-mid,#192b1f);border:1px solid rgba(245,245,243,.08);padding:24px;border-radius:6px}
.bm-svg{width:100%;max-width:300px;margin:0 auto;display:block;height:auto}
.bm-sil path{fill:rgba(245,245,243,.06);stroke:rgba(245,245,243,.25);stroke-width:1}
.bm-z{fill:rgba(163,181,152,.08);stroke:rgba(163,181,152,.25);stroke-width:1;cursor:pointer;transition:fill .4s,stroke .4s,filter .4s}
.bm-z.bm-skin{fill:transparent;stroke:transparent;pointer-events:none}
.bm-z.bm-skin.on{stroke:#a3b598;stroke-width:1.5;stroke-dasharray:4 3;animation:bmDash 6s linear infinite}
@keyframes bmDash{to{stroke-dashoffset:-70}}
.bm-z.on{fill:rgba(163,181,152,.55);stroke:#a3b598;filter:drop-shadow(0 0 8px rgba(163,181,152,.6));animation:bmPulse 2.2s ease-in-out infinite}
.bm-z.hov{fill:rgba(217,168,44,.6);stroke:#D9A82C}
@keyframes bmPulse{0%,100%{opacity:1}50%{opacity:.65}}
.bm-tip{margin-top:14px;text-align:center;font-size:14px;letter-spacing:.08em;color:var(--muted,rgba(245,245,243,.5));min-height:18px;transition:color .2s}
.bm-tip.on{color:#D9A82C}
.bm-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.bm-tabs button{background:transparent;border:1px solid rgba(245,245,243,.14);color:var(--cream,#f5f5f3);padding:14px 10px;text-align:left;cursor:pointer;font:inherit;border-radius:4px;transition:.25s;display:grid;gap:4px}
.bm-tabs button:hover{border-color:#a3b598}
.bm-tabs button.on{background:rgba(163,181,152,.14);border-color:#a3b598}
.bm-tag{font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:#a3b598;font-weight:600}
.bm-name{font-size:17px;font-weight:300}
.bm-detail{margin-top:18px;padding:22px;background:var(--graphite-mid,#192b1f);border:1px solid rgba(245,245,243,.08);border-radius:6px;animation:bmIn .35s ease}
@keyframes bmIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.bm-pain{font-size:20px;font-weight:300;line-height:1.3;color:var(--cream,#f5f5f3);margin-bottom:10px}
.bm-how{font-size:15px;color:rgba(245,245,243,.72);line-height:1.65}
.bm-zl{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 18px}
.bm-zl span{font-size:14px;letter-spacing:.08em;padding:6px 10px;border:1px solid rgba(163,181,152,.4);border-radius:999px;color:#a3b598}
.bm-mh{display:flex;justify-content:space-between;font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted,rgba(245,245,243,.5));margin-bottom:8px}
.bm-m{margin-bottom:12px}
.bm-mn{font-size:14px;color:rgba(245,245,243,.8);margin-bottom:6px}
.bm-bars{display:grid;gap:4px}
.bm-bar{position:relative;height:16px;background:rgba(245,245,243,.06);border-radius:3px;overflow:hidden}
.bm-bar i{display:block;height:100%;width:0 !important;transition:width 1.2s cubic-bezier(.2,.7,.1,1);border-radius:3px}
.bm-bar i.go{width:var(--w) !important}
.bm-bar.b i{background:rgba(245,245,243,.28)}
.bm-bar.a i{background:#a3b598}
.bm-bar b{position:absolute;right:8px;top:0;line-height:16px;font-size:14px;font-weight:600;color:var(--cream,#f5f5f3)}
@media(max-width:900px){.bm-grid{grid-template-columns:1fr}.bm-tabs{grid-template-columns:repeat(2,1fr)}.bg-bodymap{padding:48px 20px}}
/* ===== progress ===== */
.bg-progress{max-width:1200px;margin:0 auto;padding:28px;background:var(--graphite-mid,#192b1f);border:1px solid rgba(163,181,152,.3);border-radius:6px;color:var(--cream,#f5f5f3)}
.bg-progress .pr-h{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap}
.bg-progress .pr-n{font-size:clamp(34px,5vw,56px);font-weight:200;letter-spacing:-.02em;line-height:1}
.bg-progress .pr-n small{font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:#a3b598;margin-left:10px;font-weight:600}
.bg-progress .pr-r{font-size:14px;color:var(--muted,rgba(245,245,243,.55));text-align:right;max-width:420px;line-height:1.5}
.bg-progress .pr-bar{height:10px;background:rgba(245,245,243,.08);border-radius:999px;overflow:hidden;margin:18px 0 10px;position:relative}
.bg-progress .pr-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#56684a,#a3b598);border-radius:999px;transition:width 1.6s cubic-bezier(.2,.7,.1,1)}
.bg-progress.in .pr-bar i{width:var(--p)}
.bg-progress .pr-ticks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;font-size:14px;letter-spacing:.08em;color:var(--muted,rgba(245,245,243,.5))}
.bg-progress .pr-ticks b{display:block;color:var(--cream,#f5f5f3);font-weight:400;font-size:14px;letter-spacing:0;margin-bottom:2px}
.inv .bg-progress{background:#fff;border-color:#e3e0d7;color:#1d2420}.inv .bg-progress .pr-ticks b{color:#1d2420}.inv .bg-progress .pr-bar{background:#efede6}

/* v44: hero fits the viewport so the Day/Night toggle is visible without scrolling */
.h-hero{padding:0 !important;min-height:0 !important}
.h-hero .content{min-height:calc(100vh - var(--hero-top,0px)) !important}
