:root{
  --bg:#0b0d0f;
  --bg2:#11161a;
  --card:rgba(255,255,255,.06);
  --card2:rgba(255,255,255,.09);
  --text:#f4f5f6;
  --muted:rgba(244,245,246,.72);
  --muted2:rgba(244,245,246,.55);
  --line:rgba(244,245,246,.12);
  --accent:#e19f15; /* gold */
  --accent2:#698283; /* slate/teal */
  --danger:#ff4d4d;
  --radius:18px;
  --shadow: 0 18px 60px rgba(0,0,0,.55);
  --max: 1100px;
  --font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace;
  --focus: 0 0 0 3px rgba(225,159,21,.35);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(105,130,131,.22), transparent 55%),
    radial-gradient(1000px 520px at 110% 10%, rgba(225,159,21,.16), transparent 55%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
  min-height:100vh;
}

a{color:inherit; text-decoration:none}
a:hover{color:var(--text)}
p{color:var(--muted); line-height:1.6}
small{color:var(--muted2)}
code,kbd,pre{font-family:var(--mono)}
pre{
  background:rgba(0,0,0,.35);
  border:1px solid var(--line);
  border-radius:12px;
  padding:14px;
  overflow:auto;
}

.container{max-width:var(--max); margin:0 auto; padding:0 18px}
.skip{
  position:absolute; left:-999px; top:10px;
  background:var(--text); color:#000; padding:10px 12px; border-radius:10px;
}
.skip:focus{left:10px; box-shadow:var(--shadow)}


.navbar{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 0}
.brand{display:flex; align-items:center; gap:10px; min-width: 180px}
.brand img{width:34px; height:34px; border-radius:10px; border:1px solid rgba(225,159,21,.35); box-shadow:0 10px 30px rgba(0,0,0,.35)}
.brand .title{font-weight:760; letter-spacing:.2px}
.brand .tag{display:block; font-size:12px; color:var(--muted2); margin-top:2px}

.navlinks{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 11px;
  border-radius:999px;
  border:1px solid rgba(244,245,246,.12);
  background:rgba(255,255,255,.04);
  color:var(--muted);
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.pill:hover{transform:translateY(-1px); background:rgba(255,255,255,.06); border-color:rgba(225,159,21,.35); color:var(--text)}
.pill.active{border-color:rgba(225,159,21,.55); background:rgba(225,159,21,.10); color:var(--text)}
.pill .dot{
  width:8px; height:8px; border-radius:999px; background:var(--accent);
  box-shadow:0 0 0 3px rgba(225,159,21,.12);
}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:11px 14px;
  border-radius:14px;
  border:1px solid rgba(225,159,21,.45);
  background:linear-gradient(180deg, rgba(225,159,21,.18), rgba(225,159,21,.08));
  color:var(--text);
  box-shadow:0 10px 40px rgba(0,0,0,.35);
  transition:transform .15s ease, filter .15s ease;
}
.btn:hover{transform:translateY(-1px); filter:saturate(120%)}
.btn:focus{outline:none; box-shadow:var(--focus)}
.btn.secondary{
  border-color:rgba(244,245,246,.14);
  background:rgba(255,255,255,.04);
  box-shadow:none;
}

.iconbtn{
  display:none;
  border:1px solid rgba(244,245,246,.14);
  background:rgba(255,255,255,.04);
  border-radius:12px;
  padding:10px 12px;
  color:var(--text);
}

main{padding:34px 0 60px}
.hero{
  display:grid; grid-template-columns: 1.3fr .7fr; gap:22px;
  align-items:stretch;
  margin-top:18px;
}
.card{
  border:1px solid rgba(244,245,246,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.card.pad{padding:22px}
.hero h1{margin:0 0 10px; font-size: clamp(30px, 4vw, 48px); letter-spacing:-.6px}
.hero .sub{margin:0; font-size: clamp(15px, 1.5vw, 18px); color:var(--muted)}
.kicker{
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 11px;
  border-radius:999px;
  border:1px solid rgba(225,159,21,.35);
  background:rgba(225,159,21,.08);
  color:var(--text);
  font-size:13px;
}
.kicker .spark{width:8px; height:8px; border-radius:999px; background:var(--accent); box-shadow:0 0 0 3px rgba(225,159,21,.14)}

.heroart{
  position:relative;
  overflow:hidden;
  min-height:260px;
}
.heroart::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    radial-gradient(500px 300px at 20% 20%, rgba(225,159,21,.25), transparent 60%),
    radial-gradient(600px 360px at 85% 15%, rgba(105,130,131,.22), transparent 60%),
    url("assets/hero.jpg");
  background-size:cover;
  background-position:center;
  filter:saturate(110%) contrast(105%);
  opacity:.35;
}
.heroart .overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(11,13,15,.25) 0%, rgba(11,13,15,.85) 85%);
}
.heroart .inner{
  position:relative; height:100%;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:20px;
}
.statgrid{display:grid; grid-template-columns: repeat(3,1fr); gap:10px; margin-top:16px}
.stat{
  border:1px solid rgba(244,245,246,.12);
  background:rgba(0,0,0,.20);
  border-radius:14px;
  padding:12px;
}
.stat b{display:block; font-size:16px}
.stat span{display:block; font-size:12px; color:var(--muted2); margin-top:6px}

.section{margin-top:22px}
.section h2{margin:0 0 10px; font-size:22px}
.meta{color:var(--muted2); font-size:13px; margin:10px 0 0}
.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:12px}
.grid2{display:grid; grid-template-columns:repeat(2,1fr); gap:12px}
.grid1{display:grid; grid-template-columns:1fr; gap:10px}

/* Page layout helper: main content + right rail (TOC).
   Scoped opt-in via class so we don’t change every 2-col grid. */
.layout-main-aside{
  grid-template-columns: minmax(0, 1fr) 340px;
  align-items:start;
}
/* On phones/tablets, collapse to a single column.
   The right rail becomes an in-flow section to prevent horizontal scroll. */
@media (max-width: 980px){
  .layout-main-aside{grid-template-columns: 1fr;}
  .toc{position:relative; top:auto;}
}
@media (min-width: 1200px){
  .layout-main-aside{grid-template-columns: minmax(0, 1fr) 360px;}
}

.tile{
  border:1px solid rgba(244,245,246,.12);
  background:rgba(255,255,255,.04);
  border-radius:16px;
  padding:14px;
  transition:transform .15s ease, border-color .15s ease, background .15s ease;
}
.tile:hover{transform:translateY(-1px); border-color:rgba(225,159,21,.28); background:rgba(255,255,255,.06)}
.tile h3{margin:0 0 6px; font-size:16px}
.tile p{margin:0; font-size:14px}

.breadcrumbs{display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin: 8px 0 14px}
.breadcrumbs a{color:var(--muted); font-size:13px}
.breadcrumbs a:hover{color:var(--text)}
.breadcrumbs .sep{color:rgba(244,245,246,.25)}
.toc{
  border:1px solid rgba(244,245,246,.12);
  background:rgba(0,0,0,.18);
  border-radius:16px;
  padding:14px;
  position:sticky;
  top:88px;
  align-self:start;
}
.toc b{display:block; margin-bottom:8px}
.toc a{display:block; padding:8px 8px; border-radius:10px; color:var(--muted)}
.toc a:hover{background:rgba(255,255,255,.04); color:var(--text)}
.callout{
  border:1px solid rgba(225,159,21,.28);
  background:rgba(225,159,21,.06);
  border-radius:16px;
  padding:14px;
}
.callout strong{display:block; margin-bottom:6px}
.hr{height:1px; background:rgba(244,245,246,.12); margin:18px 0}

footer{
  border-top:1px solid rgba(244,245,246,.10);
  background:rgba(0,0,0,.18);
  padding:26px 0 90px;
}
.footergrid{display:grid; grid-template-columns: 1.2fr .8fr; gap:14px}
.footergrid a{color:var(--muted)}
.footergrid a:hover{color:var(--text)}
.footerlinks{display:flex; flex-wrap:wrap; gap:10px; margin-top:10px}

.mobilebar{
  position:fixed; left:0; right:0; bottom:0; z-index:60;
  background:rgba(11,13,15,.72);
  backdrop-filter:saturate(140%) blur(14px);
  border-top:1px solid rgba(244,245,246,.08);
  padding:10px 14px;
  display:none;
}
.mobilebar .row{display:flex; justify-content:space-between; gap:8px}
.tab{
  flex:1;
  border:1px solid rgba(244,245,246,.12);
  background:rgba(255,255,255,.03);
  border-radius:14px;
  padding:10px 10px;
  text-align:center;
  color:var(--muted);
  font-size:12px;
}
.tab.active{border-color:rgba(225,159,21,.55); background:rgba(225,159,21,.10); color:var(--text)}

input,textarea,select{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(244,245,246,.14);
  background:rgba(0,0,0,.25);
  color:var(--text);
  outline:none;
}
input:focus,textarea:focus,select:focus{box-shadow:var(--focus); border-color:rgba(225,159,21,.55)}
label{font-size:13px; color:var(--muted); display:block; margin-bottom:6px}

@media (max-width: 920px){
  .hero{grid-template-columns: 1fr; }
  .grid3{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .footergrid{grid-template-columns:1fr}
  .toc{position:static; top:auto}
}

@media (max-width: 760px){
  .navlinks{display:none}
  .iconbtn{display:inline-flex}
  .mobilebar{display:block}
}

/* accessibility: reduce motion */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .pill,.btn,.tile{transition:none}
}

/* ===== Boutique splash + video ===== */
.heroart .bgvideo{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  filter: brightness(.65) contrast(1.06) saturate(1.05);
  opacity:.45;
  transform: scale(1.02);
}
.intro{
  position:fixed;
  inset:0;
  z-index:120;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.intro.hidden{opacity:0; pointer-events:none; transition: opacity .35s ease}
.intro__video{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  filter: brightness(.55) contrast(1.08) saturate(1.05);
}
.intro__shade{
  position:absolute; inset:0;
  background: radial-gradient(900px 520px at 25% 22%, rgba(225,159,21,.18), transparent 60%),
              linear-gradient(180deg, rgba(0,0,0,.30) 0%, rgba(0,0,0,.78) 78%);
  backdrop-filter: blur(6px);
}
.intro__box{
  position:relative;
  width:min(520px, 94vw);
  border-radius:18px;
  border:1px solid rgba(225,159,21,.38);
  background:rgba(0,0,0,.55);
  box-shadow: 0 18px 60px rgba(0,0,0,.65);
  padding:16px;
}
.intro__brand{
  display:flex;
  gap:12px;
  align-items:center;
}
.intro__brand img{
  width:34px; height:34px;
  border-radius:10px;
  border:1px solid rgba(225,159,21,.28);
}
.intro__title{
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.intro__sub{font-size:12px; color:var(--muted2); margin-top:2px}
.intro__copy{color:var(--muted); line-height:1.65; margin:12px 0 14px}
.intro__actions{display:flex; gap:10px; flex-wrap:wrap}
.intro__hint{display:block; color:rgba(244,245,246,.55); margin-top:10px}



/* ===== Splash Intro (Kajabi-style) ===== */
html.is-locked, body.is-locked { overflow: hidden !important; }

/* Fullscreen overlay */
#splash{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  opacity: 1;
  transition: opacity 0.9s ease;
}
#splash::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,0.55);
  z-index:1;
}
#bg-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter: brightness(0.55) contrast(1.05);
  z-index:0;
}

/* ENTER button */
#enter-btn{
  position: relative;
  z-index: 2;
  border: 1px solid rgba(250,227,76,0.55);
  background: rgba(0,0,0,0.35);
  color: #fff;
  padding: 16px 30px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  border-radius: 14px;
  cursor: pointer;
  backdrop-filter: blur(10px);
  box-shadow: 0 20px 60px rgba(0,0,0,0.55);
}
#enter-btn:hover{ border-color: rgba(250,227,76,0.9); background: rgba(255,255,255,0.08); }

/* Main content hidden until ENTER (matches Kajabi intro behavior) */
#main-content{
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s ease;
}
#main-content.visible{
  opacity: 1;
  pointer-events: auto;
}


/* ===== Page utilities (Start Here) ===== */
.header-actions{display:flex; gap:10px; align-items:center;}
.menu-sheet{position:fixed; inset:0; z-index:80; background:rgba(0,0,0,.55); backdrop-filter: blur(10px);}
.menu-sheet__card{max-width:520px; margin:14px auto; width:calc(100% - 28px);}
.menu-sheet__top{display:flex; justify-content:space-between; align-items:center; gap:10px;}

.mt-8{margin-top:8px;}
.mt-10{margin-top:10px;}
.mt-12{margin-top:12px;}

.btnrow{display:flex; gap:10px; flex-wrap:wrap;}
.grid1{display:grid; grid-template-columns:1fr; gap:10px;}

.steps{margin:0; padding-left:18px; line-height:1.9; color:var(--muted);}
.bullets{margin:14px 0 0; padding-left:18px; line-height:1.8; color:var(--muted);}

.soul{color:rgba(225,159,21,.95); font-weight:750;}
.breadcrumbs .current{color:var(--muted2); font-size:13px;}

/* ===== YouTube lazy embed ===== */
.yt{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(225,159,21,.28);
  background:
    radial-gradient(800px 420px at 20% 20%, rgba(225,159,21,.14), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.72) 78%),
    url('hero.jpg') center/cover no-repeat;
  box-shadow: 0 18px 60px rgba(0,0,0,.55);
}
.yt iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.yt__btn{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background: linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.76) 78%);
  color:var(--text);
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  gap:12px;
  padding:16px;
  cursor:pointer;
}
.yt__btn:focus{outline:none; box-shadow: var(--focus);}
.yt__play{
  width:54px;
  height:54px;
  border-radius:999px;
  background: rgba(225,159,21,.92);
  color:#000;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  box-shadow: 0 12px 30px rgba(0,0,0,.45);
  flex: 0 0 auto;
}
.yt__meta{display:flex; flex-direction:column; gap:4px;}
.yt__meta b{font-size:15px;}
.yt__meta small{color:rgba(244,245,246,.72); font-size:12px;}


/* Phase 5: micro-page snippet helpers */
.tbl{width:100%;border-collapse:collapse;margin:12px 0;font-size:.95rem}
.tbl th,.tbl td{border:1px solid rgba(255,255,255,.10);padding:10px;vertical-align:top}
.tbl th{background:rgba(255,255,255,.06);text-align:left}
#faq h3{margin:14px 0 6px}

/* --- v12: fix "stuck card / layered scroll" regression ---
   Only the top site header should be sticky. Content headers inside <main> must scroll normally.
*/
body > header{position:sticky; top:0; z-index:60}
main header.section{position:static !important; top:auto !important}

