/* Bitcoin Compass — cinematic, image-led visual system */
html{color-scheme:dark;-webkit-tap-highlight-color:rgba(196,181,253,.24)}
body.compass{--ink:#f6f5f7;--paper:#0b0b0e;--muted:#b4b2bd;--line:#35333e;--accent:#d7c3ff;--accent-ink:#17111e;--card:#15151a;--focus:#e7d8ff;--training:#e6ddf5;--training-ink:#1b1721;--form:#faf8ff;--form-ink:#1b1721;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
.compass .wrap{max-width:1320px}
.compass h1,.compass h2,.compass h3{text-wrap:balance;font-family:Arial,Helvetica,sans-serif}
.compass h1{font-weight:800;letter-spacing:-.075em;line-height:.96}
.compass h2{font-weight:750;letter-spacing:-.055em;line-height:1.02}
.compass h3{font-weight:700}
.compass .site-header{position:relative;z-index:10;background:#0b0b0e;border-bottom:1px solid rgba(255,255,255,.13)}
.compass .header-inner{min-height:84px}
.compass .brand{gap:.65rem;font-size:.88rem;font-weight:750;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap}
.compass .brand img{width:36px;height:36px}
.compass .brand strong{color:var(--ink);font-weight:750}
.compass .site-nav{font-size:.76rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;gap:2rem}
.compass .site-nav a:hover,.compass .site-nav a[aria-current=page]{color:var(--accent);text-decoration:none}
.compass .site-nav .nav-cta{border:1px solid rgba(255,255,255,.55);border-radius:0;padding:.7rem 1rem}
.compass .site-nav .nav-cta:hover{background:var(--ink);color:var(--paper)}
.compass .eyebrow,.compass .kicker{color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.compass .lede{color:#d1ced7;font-size:clamp(1.05rem,1.5vw,1.23rem);line-height:1.6}
.compass .small{color:var(--muted)}
.compass .button{background:var(--ink);color:#111015;border-radius:0;padding-inline:1.7rem;min-height:54px;font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;transition:background-color .2s ease,transform .2s ease}
.compass .button:hover{filter:none;background:var(--accent);transform:translateY(-2px)}
.compass .text-link{font-size:.82rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;text-underline-offset:.35em}
.compass .hero-note{color:#aaa7b2;letter-spacing:.04em}
.compass.home-page .site-header{position:absolute;inset:0 0 auto;background:transparent;border-color:rgba(255,255,255,.2)}
.compass .hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;max-width:none;min-height:min(820px,100svh);padding:140px max(3rem,calc((100vw - 1224px)/2)) 48px;background-color:#060609}
.compass .hero::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(6,6,9,.78) 0%,rgba(6,6,9,.38) 43%,rgba(6,6,9,.05) 75%),linear-gradient(0deg,rgba(6,6,9,.87),transparent 48%)}
.compass .hero>div{max-width:950px;position:relative;z-index:1}
.compass .hero .eyebrow{margin-bottom:1.8rem;color:#fff}
.compass .hero h1{max-width:15ch;font-size:clamp(3.8rem,7vw,6.5rem);text-transform:uppercase}
.compass .hero h1 em{font-style:normal;color:var(--accent)}
.compass .hero .lede{max-width:58ch;margin-top:1.8rem}
.compass .hero .actions{margin-top:2rem}
.compass .hero .hero-note{margin-top:1.7rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.11em}
.compass .band{background:#d7c3ff;color:#17111e;border:0;padding-block:1rem}
.compass .band .wrap{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}
.compass .route-layout,.compass .safety-section{padding-block:7rem}
.compass .route-aside{top:3rem}
.compass .concept{border-color:var(--line)}
.compass .concept .number{color:var(--accent)}
.compass .forks,.compass .sources,.compass .btc1-tint,.compass .forks-tint{background:#121217}
.compass .note{border-color:var(--accent)}
.compass .btc1-home-link{margin-block:5rem;padding:3rem 0;border-top:1px solid #6c607c;border-bottom:1px solid #6c607c;display:flex;align-items:end;justify-content:space-between;gap:2rem}
.compass .btc1-home-link p{margin-top:1rem;color:var(--muted)}
.compass .btc1-home-link .button{flex:none}
.compass .btc1-facts{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;list-style:none;margin:1.8rem 0 0;padding:0;color:var(--accent);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.compass .btc1-facts li::before{content:"↗ ";color:var(--ink)}
.compass .training{border-radius:0;gap:3rem}
.compass .training h2{font-family:Arial,Helvetica,sans-serif;font-weight:800}
.compass .training .kicker,.compass .training .lede,.compass .training .small{color:var(--training-ink);opacity:1}
.compass .training .button{background:#19151f;color:white}
.compass .training .button:hover{background:#4d395f}
.compass .training-form{border-radius:0}
.compass .footer{background:#0b0b0e}
.compass .footer .brand{color:var(--ink)}
.compass .btc1-breadcrumb{color:var(--muted)}
.compass .btc1-hero,.compass .forks-hero{position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid var(--line)}
.compass .btc1-hero::before,.compass .forks-hero::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#0b0b0e 0%,rgba(11,11,14,.9) 36%,rgba(11,11,14,.4) 100%),url('hero-sculpture.webp') center 54%/cover no-repeat;opacity:.75}
.compass .btc1-hero{min-height:570px}
.compass .btc1-hero h1,.compass .forks-hero h1{font-size:clamp(3.8rem,6.6vw,6.9rem);text-transform:uppercase}
.compass .btc1-hero h1 span{color:var(--accent)}
.compass .btc1-summary{background:rgba(17,16,22,.86);border-color:#645975;border-radius:0;backdrop-filter:blur(12px)}
.compass .btc1-summary p strong{color:var(--accent)}
.compass .forks-hero{display:block;min-height:520px;padding-block:5rem 4rem}
.compass .forks-hero-copy{max-width:850px}
.compass .forks-hero h1{max-width:13ch}
.compass .forks-jump{margin-top:2.5rem}
.compass .forks-table thead th{color:var(--accent)}
.compass .forks-table-wrap:focus-visible{outline-color:var(--focus)}
.compass .btc1-comparison>div,.compass .forks-other article,.compass .forks-descendants article{border-color:var(--line)}
@media(max-width:740px){
  .compass .header-inner{gap:.8rem;padding-block:.8rem}
  .compass .brand{font-size:.76rem}
  .compass .brand img{width:30px;height:30px}
  .compass .site-nav{gap:.6rem 1rem;font-size:.65rem}
  .compass .site-nav .nav-cta{padding:.35rem .55rem}
  .compass .hero{min-height:780px;min-height:100svh;padding:210px 1.3rem 3.5rem}
  .compass .hero::before{background:linear-gradient(0deg,rgba(6,6,9,.96) 0%,rgba(6,6,9,.7) 42%,rgba(6,6,9,.04) 100%)}
  .compass .hero h1{font-size:clamp(3rem,12.6vw,5.4rem)}
  .compass .hero .lede{font-size:1rem;line-height:1.5}
  .compass .hero .actions{gap:1rem}
  .compass .route-layout,.compass .safety-section{padding-block:4rem}
  .compass .btc1-home-link{align-items:flex-start;flex-direction:column;margin-block:3rem;padding-block:2.5rem}
  .compass .btc1-hero,.compass .forks-hero{min-height:auto;padding-block:3rem 4rem}
  .compass .btc1-hero h1,.compass .forks-hero h1{font-size:clamp(3rem,12vw,5rem)}
  .compass .forks-hero::before,.compass .btc1-hero::before{background-position:58% center}
}
@media(prefers-reduced-motion:reduce){.compass .button{transition:none}.compass .button:hover{transform:none}}

/* Shared type: one self-hosted variable font covers 400, 500, 700 and 800. */
@font-face{font-family:Inter;src:url('assets/fonts/InterLatin.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
body.compass,.compass h1,.compass h2,.compass h3,.compass button,.compass input{font-family:Inter,Arial,sans-serif}
.compass h1{font-weight:800;letter-spacing:-.03em;line-height:.95}
.compass h2{font-size:clamp(2rem,4.5vw,3.75rem);font-weight:700;letter-spacing:-.02em;line-height:1.05}
.compass .eyebrow,.compass .kicker{font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.compass p{max-width:62ch}

/* The single stage sits behind the entire home page. */
body.compass.home-page{background:#060609;font-size:1.0625rem;line-height:1.65}
.home-page .stage{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#060609}
.home-page .stage-mover{position:absolute;inset:0;background:url('assets/hero/hero-poster.webp') 62% center/cover no-repeat}
.js .home-page .stage-mover{will-change:transform;transform-origin:50% 50%}
.home-page .stage-mover{transform:scale(1.04)}
.home-page .stage-video{display:block;width:100%;height:100%;object-fit:cover;object-position:62% center;visibility:hidden}
.home-page .stage-video.is-ready{visibility:visible}
.home-page .stage-scrim{position:absolute;inset:0;background:#060609;opacity:0}
.home-page .site-header,.home-page main,.home-page .footer{position:relative;z-index:1}
.compass.home-page .site-header{position:sticky;inset:auto;top:0;z-index:30;background:transparent;border-color:rgba(255,255,255,.15);transition:background-color .25s ease,backdrop-filter .25s ease}
.compass.home-page .site-header.is-scrolled{background:rgba(6,6,9,.74);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.compass.home-page .hero{background:transparent;max-width:none;width:100%;min-height:calc(100svh - var(--header-height,84px));padding-inline:max(clamp(1.25rem,4vw,3rem),calc((100vw - 1200px)/2 + 3rem))}
.home-page .hero h1{font-size:clamp(2.8rem,7vw,6.5rem);line-height:.95;letter-spacing:-.03em}
.home-page .hero .eyebrow{color:var(--accent)}
.home-page .wrap{max-width:1200px;padding-inline:clamp(1.25rem,4vw,3rem)}
.home-page .section{padding-block:clamp(5rem,12vh,9rem)}
.home-page .route-layout,.home-page .safety-section{padding-block:clamp(5rem,12vh,9rem)}
.home-page .forks,.home-page .sources,.home-page .footer{background:transparent}
.home-page [id]{scroll-margin-top:calc(var(--header-height,84px) + 32px)}
html:has(.home-page){--header-height:84px;scroll-padding-top:calc(var(--header-height) + 32px)}

/* Twelve-column editorial route, with copy opposite the sculpture. */
.home-page #basics,.home-page #safety,.home-page #forks>.wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2.5vw,2rem)}
.home-page #basics .route-aside{grid-column:1/7;position:static;top:auto}
.home-page #basics>div{grid-column:1/9;min-width:0}
.home-page #basics .concept-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.home-page #basics .concept{display:block;min-width:0}
.home-page #basics .concept .number{display:block;margin-bottom:1.5rem;font-family:Inter,Arial,sans-serif;font-size:.72rem}
.home-page #basics .concept p,.home-page #basics .concept .source-link{grid-column:auto}
.home-page #forks>.wrap>*{grid-column:6/-1;min-width:0}
.home-page #forks .section-top{display:block}
.home-page #forks .section-top{background:rgba(6,6,9,.62);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:clamp(1.25rem,2.5vw,2rem);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.home-page #forks .section-top>p{margin-top:1.5rem}
.home-page #forks .fork-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.home-page #forks .fork-grid article:last-child{grid-column:1/-1}
.home-page #safety>div:first-child{grid-column:1/7}
.home-page #safety>div:last-child{grid-column:1/9;min-width:0}
.home-page .training{max-width:1000px;margin-inline:auto;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:rgba(12,12,18,.72);color:var(--ink);border:1px solid rgba(255,255,255,.12);border-radius:24px}
.home-page .training .kicker{color:var(--accent)}
.home-page .training .lede,.home-page .training .small{color:var(--ink)}
.home-page .training-form{align-self:center}
.home-page .training-form{border-radius:16px}
.home-page .training .training-form .small,.home-page .training .training-form .small a{color:var(--form-ink)}
.home-page .training .button{background:var(--accent);color:var(--accent-ink)}
.home-page .faq{max-width:900px}
.home-page .sources{padding-block:clamp(5rem,12vh,9rem)}

/* Glass cards retain the established dark/lavender palette. */
.home-page .concept,.home-page .fork-grid article,.home-page .safety-list li,.home-page .faq details{background:rgba(12,12,18,.55);-webkit-backdrop-filter:blur(14px) saturate(120%);backdrop-filter:blur(14px) saturate(120%);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:clamp(1.25rem,2.5vw,2rem)}
.home-page .safety-list li,.home-page .faq details{margin-bottom:.85rem}
.home-page .fork-grid article{padding-top:clamp(1.25rem,2.5vw,2rem)}
.home-page .faq details p{padding-inline:0}
.home-page .faq summary{margin-left:1.2rem}
@media(hover:hover) and (min-width:1025px){.home-page .concept:hover,.home-page .fork-grid article:hover,.home-page .safety-list li:hover,.home-page .faq details:hover{border-color:rgba(215,195,255,.48);box-shadow:0 0 28px rgba(215,195,255,.12)}}
.home-page .button,.home-page .site-nav .nav-cta,.home-page .text-link{min-height:48px;border-radius:999px}
.home-page .button{background:var(--accent);color:var(--accent-ink);padding:.75rem 1.5rem}
.home-page .text-link{display:inline-flex;align-items:center;padding:.65rem 1.35rem;border:1px solid rgba(215,195,255,.66);text-decoration:none;color:var(--ink)}
.home-page .site-nav .nav-cta{border-color:rgba(215,195,255,.66)}
.home-page a:focus-visible,.home-page button:focus-visible,.home-page input:focus-visible,.home-page summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}

/* Slim route rail, filled by ScrollTrigger. */
.home-page .page-progress{position:fixed;z-index:25;left:24px;top:50%;width:105px;transform:translateY(-50%);display:flex;flex-direction:column;gap:.7rem;padding-left:14px;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}
.home-page .page-progress a{position:relative;z-index:1;display:block;padding:.4rem .15rem;text-decoration:none;color:var(--muted)}
.home-page .page-progress a:hover,.home-page .page-progress a:focus-visible{color:var(--accent)}
.home-page .page-progress a span{color:var(--accent);font-weight:700;margin-right:.2rem}
.home-page .page-progress-track{position:absolute;left:0;top:0;bottom:0;width:2px;background:rgba(215,195,255,.24)}
.home-page .page-progress-fill{display:block;width:100%;height:100%;background:var(--accent);transform:scaleY(var(--route-progress,0));transform-origin:top}
.js .home-page .reveal-item:not(.is-visible){opacity:0;transform:translateY(24px)}

@media(min-width:1025px) and (max-width:1439px){.home-page main .wrap{padding-left:clamp(9rem,12vw,11rem)}.compass.home-page .hero{padding-left:clamp(11rem,15vw,13rem)}}
@media(max-width:1024px){
  .home-page .stage-mover{background-position:66% center}
  .home-page .stage-video{object-position:66% center}
  .home-page .page-progress{z-index:40;top:0;left:0;width:100%;height:3px;transform:none;display:block;padding:0;gap:0}
  .home-page .page-progress a{display:none}
  .home-page .page-progress-track{right:0;bottom:auto;width:auto;height:3px}
  .home-page .page-progress-fill{transform:scaleX(var(--route-progress,0));transform-origin:left}
  .home-page #basics,.home-page #safety,.home-page #forks>.wrap{grid-template-columns:minmax(0,1fr)}
  .home-page #basics .route-aside,.home-page #basics>div,.home-page #safety>div:first-child,.home-page #safety>div:last-child,.home-page #forks>.wrap>*{grid-column:1}
  .home-page #basics .concept-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-page .training{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:740px){
  html:has(.home-page){--header-height:144px}
  .home-page .stage-mover{background-position:70% center}
  .home-page .stage-video{object-position:70% center}
  .compass.home-page .hero{padding:130px 1.3rem 3.5rem}
  .home-page .hero h1{font-size:clamp(2.8rem,7vw,6.5rem)}
  .home-page #basics .concept-grid,.home-page #forks .fork-grid{grid-template-columns:minmax(0,1fr)}
  .home-page #forks .fork-grid article:last-child{grid-column:1}
  .home-page .concept,.home-page .fork-grid article,.home-page .safety-list li,.home-page .faq details{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(12,12,18,.85)}
  .home-page #forks .section-top{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(6,6,9,.82)}
  .home-page .site-header.is-scrolled{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(6,6,9,.92)}
}
@media(prefers-reduced-motion:reduce){
  .home-page .stage-mover{transform:none!important;will-change:auto;-webkit-mask-image:none;mask-image:none;background:url('assets/hero/hero-poster.webp') 70% center/cover no-repeat}
  .home-page .stage-video{display:none}
  .home-page .stage-scrim{opacity:.6!important}
  .home-page .page-progress{display:none}
  .js .home-page .reveal-item{opacity:1!important;transform:none!important}
  .home-page .site-header{transition:none}
}
