/* ===== Motion layer + home hero + mobile swipe rows ===== */
html.has-gsap{scroll-behavior:auto}
html.wiping::after{content:"";position:fixed;inset:0;background:#0A0C0B;z-index:400}
.sp{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#FF6B2C,#FFB347);z-index:200;pointer-events:none}
.wipe{position:fixed;inset:0;background:#0A0C0B;z-index:300;transform-origin:50% 0;transform:scaleY(0);pointer-events:none}
.cursor-glow{position:fixed;left:0;top:0;width:460px;height:460px;margin:-230px 0 0 -230px;border-radius:50%;background:radial-gradient(circle,rgba(255,107,44,.13),transparent 62%);pointer-events:none;z-index:1;mix-blend-mode:screen;opacity:0}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.wi{display:inline-block;will-change:transform}
em .wi{background:linear-gradient(95deg,#FF6B2C,#FFB347 70%);-webkit-background-clip:text;background-clip:text;color:transparent}
.theme-page em .wi{background:none;color:inherit;-webkit-background-clip:initial;background-clip:initial}

/* swipeable article rows on phones: one card, next one peeking */
@media (max-width:700px){
  .agrid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin-inline:calc(-1 * clamp(16px,4vw,40px));padding:4px clamp(16px,4vw,40px) 18px;scroll-padding-inline:clamp(16px,4vw,40px);scrollbar-width:none}
  .agrid::-webkit-scrollbar{display:none}
  .agrid>.acard{flex:0 0 80%;max-width:340px;scroll-snap-align:start}
}

/* ===== HOME HERO ===== */
.hero2{position:relative;min-height:max(100svh,720px);color:#fff;overflow:hidden;background:#050605;margin-top:-76px;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;border-radius:0 0 40px 40px}
.h2-slides{position:absolute;inset:-5% 0;z-index:-4}
.h2-slide{position:absolute;inset:0;overflow:hidden;margin:0}
.h2-slide:not(:first-child){clip-path:inset(0 0 0 100%)}
.h2-slide img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.18);filter:saturate(1.05) contrast(1.04) brightness(.82)}
.h2-shade{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(5,6,5,.78) 0%,rgba(5,6,5,.35) 55%,rgba(5,6,5,.1) 100%),linear-gradient(180deg,rgba(5,6,5,.55) 0%,rgba(5,6,5,0) 28%,rgba(5,6,5,.25) 60%,rgba(5,6,5,.96) 100%)}
.h2-glow{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden}
.h2-glow i{position:absolute;border-radius:50%;filter:blur(70px);mix-blend-mode:screen;opacity:.55}
.h2-glow i:nth-child(1){width:46vw;height:46vw;left:-14vw;bottom:-18vw;background:radial-gradient(circle,#FF6B2C,transparent 65%)}
.h2-glow i:nth-child(2){width:34vw;height:34vw;right:-8vw;top:12vh;background:radial-gradient(circle,#FFB347,transparent 65%);opacity:.32}
.h2-grain{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.09;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.h2-inner{width:100%;display:grid;gap:clamp(18px,2.4vw,30px);padding-block:clamp(120px,12vw,170px) clamp(30px,3vw,40px)}
.h2-kicker{display:inline-flex;align-items:center;gap:10px;justify-self:start;font:700 11.5px/1 var(--label);letter-spacing:.18em;text-transform:uppercase;padding:9px 16px 9px 12px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);color:#FFE2CC}
.h2-kicker b{width:8px;height:8px;border-radius:50%;background:#FF6B2C;box-shadow:0 0 0 0 rgba(255,107,44,.7);animation:ping 2s infinite}
@keyframes ping{70%{box-shadow:0 0 0 12px rgba(255,107,44,0)}100%{box-shadow:0 0 0 0 rgba(255,107,44,0)}}
.h2-title{font:600 clamp(42px,7vw,112px)/.95 var(--display);letter-spacing:-.045em;max-width:13ch;margin:0;text-wrap:balance}
.h2-title em{font-style:normal}
.h2-lead{font-size:clamp(17px,1.5vw,21px);line-height:1.6;color:#E3DDD3;max-width:52ch}
.h2-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.h2-bottom{width:100%;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:stretch;padding-bottom:clamp(20px,3vw,34px)}
.h2-stats{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:clamp(18px,3.4vw,52px);padding:20px clamp(18px,2.4vw,32px);border-radius:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(16px)}
.h2-stats div{display:grid;gap:6px}
.h2-stats b{font:600 clamp(28px,3.2vw,44px)/1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.h2-stats span{font:600 11px/1.3 var(--label);letter-spacing:.1em;text-transform:uppercase;color:#CFC8BD;max-width:16ch}
.h2-card{width:300px;padding:18px 20px;border-radius:24px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(18px);display:grid;gap:12px;align-content:space-between}
.h2-card .lab{font:700 10.5px/1 var(--label);letter-spacing:.18em;text-transform:uppercase;color:#FFC9A3}
.h2-card .place{font:600 24px/1.1 var(--display);letter-spacing:-.03em;overflow:hidden;height:1.15em}
.h2-card .place span{display:block}
.h2-bar{height:3px;border-radius:3px;background:rgba(255,255,255,.2);overflow:hidden}
.h2-bar i{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#FF6B2C,#FFB347)}
.h2-ctl{display:flex;align-items:center;justify-content:space-between}
.h2-count{font:600 13px/1 var(--label);letter-spacing:.1em;font-variant-numeric:tabular-nums}
.h2-count s{text-decoration:none;opacity:.55}
.h2-arrows{display:flex;gap:8px}
.h2-arrows button{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;cursor:pointer;font-size:16px;transition:background .25s,border-color .25s}
.h2-arrows button:hover{background:#fff;color:#111;border-color:#fff}
@media (max-width:900px){
  .h2-bottom{grid-template-columns:1fr}
  .h2-stats{grid-template-columns:repeat(2,1fr);gap:18px 22px}
  .h2-card{width:auto;grid-template-columns:1fr auto;align-items:center}
  .h2-card .lab,.h2-card .h2-bar{grid-column:1/-1}
  .h2-card .h2-ctl{grid-column:2;grid-row:2}
  .h2-card .place{grid-column:1;grid-row:2}
  .hero2{border-radius:0 0 28px 28px}
}
@media (prefers-reduced-motion:reduce){.h2-kicker b{animation:none}}

/* ===== Mobile dock: header lives at the bottom, hidden until the visitor scrolls ===== */
@media (max-width:980px){
  html.js:not(.dock-show) header.site{opacity:0;visibility:hidden}
  header.site{position:fixed;top:auto!important;bottom:max(12px,env(safe-area-inset-bottom));left:0;right:0;margin:0 12px!important;z-index:150}
  nav.main.open{top:auto!important;bottom:calc(100% + 10px);max-height:70vh;overflow:auto;margin:0!important}
  .hero2{margin-top:0}
  footer{padding-bottom:112px}
  .actions .btn{display:none}
}
.theme-btn{font-size:0!important;position:relative}.theme-btn::before{content:"";position:absolute;inset:0;margin:auto;box-sizing:border-box;width:18px;height:18px;border-radius:50%;border:2px solid currentColor;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.theme-page .cta .wrap{background:var(--signal)!important;color:var(--signal-ink)}.theme-page .cta h2,.theme-page .cta p{color:var(--signal-ink)}
body.ledger .cta .btn{background:#0A1226;color:#D4AF6A}body.lab .cta .btn{background:#14301F;color:#C6F135;border-color:#14301F;box-shadow:none}
.at,.lb,.lg{overflow-x:clip}body.theme-page{overflow-x:clip}

/* section labels: plain tracked text with a short rule instead of a dotted pill */
.eyebrow{background:none!important;padding:0!important;border-radius:0!important;display:inline-flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.22em}
.eyebrow::before{content:"";flex:none;width:28px!important;height:1.5px!important;border-radius:0!important;background:currentColor!important;box-shadow:none}
.h2-kicker{background:none;border:0;backdrop-filter:none;padding:0;gap:12px;color:#FFD2B0}
.h2-kicker b{width:28px;height:1.5px;border-radius:0;background:#FF6B2C;box-shadow:none;animation:none}

/* ===== custom arrow system: dotted-tail arrow, capsule slider control, drawn menu icon ===== */
:root{--arr:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 14'%3E%3Ccircle cx='2.2' cy='7' r='1.8'/%3E%3Cpath d='M6 7h15M16.6 2.4 21.2 7l-4.6 4.6' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.8 6 6.2l4.5-4.4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ico{display:inline-block;flex:none;background:currentColor;vertical-align:middle}
.ico-back{width:18px;height:11px;margin-right:10px;transform:scaleX(-1);-webkit-mask:var(--arr) center/contain no-repeat;mask:var(--arr) center/contain no-repeat;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
a:hover>.ico-back{transform:scaleX(-1) translateX(5px)}
.ico-caret{width:10px;height:7px;margin-left:8px;-webkit-mask:var(--chev) center/contain no-repeat;mask:var(--chev) center/contain no-repeat;transition:transform .3s}
.dd>button[aria-expanded="true"] .ico-caret{transform:rotate(180deg)}
/* slider control: one capsule, divider between, arrow slides on hover */
.h2-arrows{gap:0;border:1px solid rgba(255,255,255,.38);border-radius:999px;overflow:hidden;background:rgba(255,255,255,.1)}
.h2-arrows button{position:relative;width:46px;height:38px;border:0;border-radius:0;background:none;font-size:0;color:#fff;overflow:hidden}
.h2-arrows button+button{border-left:1px solid rgba(255,255,255,.3)}
.h2-arrows button::before{content:"";position:absolute;inset:0;margin:auto;width:22px;height:13px;background:currentColor;-webkit-mask:var(--arr) center/contain no-repeat;mask:var(--arr) center/contain no-repeat;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
#h2Prev::before{transform:scaleX(-1)}
#h2Next:hover::before{transform:translateX(4px)}#h2Prev:hover::before{transform:scaleX(-1) translateX(4px)}
.h2-arrows button:hover{background:#FF6B2C;color:#140A04;border-color:transparent}
/* lightbox arrows */
.lb-prev,.lb-next{width:48px;height:48px;border-radius:50%;font-size:0!important;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(8px);cursor:pointer;transition:background .3s}
.lb-prev::before,.lb-next::before{content:"";position:absolute;inset:0;margin:auto;width:22px;height:13px;background:currentColor;-webkit-mask:var(--arr) center/contain no-repeat;mask:var(--arr) center/contain no-repeat}
.lb-prev::before{transform:scaleX(-1)}
.lb-prev:hover,.lb-next:hover{background:#FF6B2C;color:#140A04;border-color:transparent}
/* menu button: two drawn bars that cross into an x */
.menu-btn{font-size:0!important;position:relative}
.menu-btn::before,.menu-btn::after{content:"";position:absolute;left:50%;top:50%;margin:-1px 0 0 -9px;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.menu-btn::before{transform:translateY(-3.5px)}.menu-btn::after{transform:translateY(3.5px) scaleX(.62);transform-origin:50% 50%}
.menu-btn[aria-expanded="true"]::before{transform:rotate(45deg)}
.menu-btn[aria-expanded="true"]::after{transform:rotate(-45deg) scaleX(1)}
.skip{position:fixed;left:12px;top:-60px;z-index:9999;background:#111;color:#fff;padding:10px 16px;border-radius:8px;font:600 14px system-ui;text-decoration:none;transition:top .2s}
.skip:focus{top:12px}
