/* ================================================================
   Tuesdays — HOMEPAGE-ONLY styles
   Shared tokens/nav/footer/buttons live in shared.css (loaded first).
   ================================================================ */

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(20px,4vw,60px);align-items:center;width:100%;padding-top:90px}
.hero-copy h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.5rem,5.6vw,5.4rem);line-height:.99;letter-spacing:-.025em;max-width:14ch}
.hero-copy h1 .word{display:inline-block;overflow:hidden;vertical-align:top;padding:.08em .14em;margin:-.08em -.14em}
.hero-copy h1 .word i{display:inline-block;font-style:normal}
.hero-copy h1 .em i{font-style:italic;color:var(--accent)}
.hero-copy .sub{margin-top:30px;max-width:48ch;font-size:clamp(1.02rem,1.5vw,1.22rem);color:var(--ink-soft);line-height:1.55}
.hero-copy .cta-row{margin-top:38px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.hero-diagram{position:relative;width:100%;aspect-ratio:6/5;will-change:transform}
.hero-diagram svg{width:100%;height:100%;overflow:visible}
@media(max-width:900px){
  .hero{min-height:auto}
  .hero-grid{grid-template-columns:1fr;gap:24px;padding-top:110px;padding-bottom:64px}
  .hero-diagram{order:-1;max-width:400px;margin:0 auto;opacity:.9}
}

/* diagram elements */
.node-dot{fill:var(--ink)}
.node-label{font-family:var(--mono);font-size:13px;letter-spacing:.14em;fill:var(--ink-faint);text-transform:uppercase}
.edge{stroke:var(--ink-faint);stroke-width:1;stroke-dasharray:2 5;opacity:.5;fill:none}
.edge.warm{stroke:var(--accent);opacity:.9;stroke-dasharray:none}
.mover{fill:var(--accent);filter:drop-shadow(0 0 8px rgba(240,78,48,.65))}

/* ---------- MARQUEE ---------- */
.strip{background:#e45038;color:#fff;overflow:hidden;padding:20px 0}
.marquee{display:flex;gap:56px;white-space:nowrap;animation:scroll 26s linear infinite;width:max-content}
.marquee span{font-family:var(--serif);font-size:1.3rem;font-style:italic;color:rgba(255,255,255,.92);display:inline-flex;align-items:center;gap:56px}
.marquee span::after{content:'';}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ---------- GROWTH GAP ---------- */
.gap-lead{font-family:var(--serif);font-weight:500;font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.06;letter-spacing:-.02em;max-width:20ch;margin-top:18px}
.gap-grid{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.gbox{position:relative;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;transition:transform .5s var(--ease),box-shadow .5s var(--ease),opacity .6s var(--ease);opacity:.55}
.gbox.hot{opacity:1;transform:translateY(-6px);box-shadow:0 30px 60px -34px rgba(22,24,29,.32)}
.gbox:hover{opacity:1;transform:translateY(-8px) scale(1.012);box-shadow:0 34px 66px -34px rgba(240,78,48,.4)}
.gbox .viz{position:relative;height:230px;overflow:hidden;background:var(--viz-bg,#eee)}
.gbox canvas{position:absolute;inset:0;width:100%;height:100%}
.gbox .gbody{padding:30px 28px 34px}
.gbox h3{font-family:var(--mono);font-weight:500;font-size:.86rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.gbox p{font-family:var(--serif);font-weight:400;font-size:1.08rem;line-height:1.32;letter-spacing:-.005em;color:var(--ink)}
.gap-cta{margin-top:54px}
@media(max-width:860px){.gap-grid{grid-template-columns:1fr}.gbox{opacity:1}}

/* ---------- APPROACH DECK ---------- */
.approach-head{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:end;margin-bottom:52px}
.approach-head .big{font-family:var(--serif);font-weight:500;font-size:clamp(1.7rem,3.2vw,2.6rem);line-height:1.12;letter-spacing:-.02em}
.approach-head .big em{font-style:italic;color:var(--accent)}
.approach-head .aside{color:var(--ink-soft);font-size:1.02rem;line-height:1.6}
@media(max-width:820px){.approach-head{grid-template-columns:1fr;gap:22px}}

.deck-wrap{position:relative}
.deck{position:relative;height:clamp(440px,52vw,560px);perspective:1800px;perspective-origin:50% 30%;margin-bottom:70px}
.deck-card{
  position:absolute;inset:0;
  display:grid;grid-template-columns:1.05fr 1fr;
  background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;
  box-shadow:0 30px 70px -40px rgba(22,24,29,.35);
  transform-origin:center bottom;
  transition:transform .7s var(--ease),opacity .55s var(--ease),box-shadow .7s var(--ease);
  will-change:transform,opacity;
  backface-visibility:hidden;
}
.deck-card.leaving{transition:transform .7s var(--ease),opacity .55s var(--ease)}
.deck-media{position:relative;overflow:hidden;background:var(--paper-2)}
.deck-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.deck-card.top:hover .deck-media img{transform:scale(1.05)}
.deck-media .ctag{position:absolute;top:20px;left:20px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);padding:7px 13px;border-radius:100px;backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 4px 20px -6px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.4)}
.deck-body{padding:clamp(30px,4vw,52px);display:flex;flex-direction:column;justify-content:center}
.deck-body .clabel{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin-bottom:16px}
.deck-body h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.6rem,2.7vw,2.2rem);line-height:1.08;letter-spacing:-.015em;margin-bottom:16px}
.deck-body p{color:var(--ink-soft);font-size:1.04rem;line-height:1.6;margin-bottom:26px;max-width:42ch}
.deck-body .arrowlink{align-self:flex-start}
@media(max-width:860px){
  .deck{height:auto;min-height:0}
  .deck-card{grid-template-columns:1fr;grid-template-rows:auto auto}
  .deck-card.top{position:relative;inset:auto}
  .deck-card:not(.top){position:absolute;inset:0}
  .deck-media{min-height:200px;height:200px}
  .deck-body{padding:28px 24px 32px;justify-content:flex-start}
  .deck-body p{margin-bottom:22px}
  .deck-body .arrowlink{margin-top:6px}
}

.deck-controls{display:flex;align-items:center;gap:28px;margin-top:32px}
.deck-progress{flex:1;height:3px;background:var(--line);border-radius:100px;overflow:hidden}
.deck-progress span{display:block;height:100%;width:11%;background:var(--accent);border-radius:100px;transition:width .5s var(--ease)}
.deck-side{display:flex;align-items:center;gap:22px}
.deck-count{font-family:var(--mono);font-size:13px;color:var(--ink-faint);letter-spacing:.08em}
.deck-count b{color:var(--ink);font-weight:500}
.deck-arrows{display:flex;gap:10px}
.deck-arrows button{width:52px;height:52px;border-radius:50%;border:1px solid var(--ink);background:none;cursor:pointer;display:grid;place-items:center;font-size:20px;color:var(--ink);transition:all .3s var(--ease)}
.deck-arrows button:hover{background:var(--ink);color:var(--bg)}

/* ---------- IMPACT ---------- */
.impact{background:var(--accent);color:#fff}
.impact-h{font-family:var(--serif);font-weight:500;font-size:clamp(1.8rem,3.4vw,2.7rem);letter-spacing:-.02em;max-width:18ch;color:#fff}
.impact-title{margin-bottom:60px}
.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:rgba(255,255,255,.22)}
.impact .cell{background:var(--accent);padding:48px 30px;min-width:0}
.impact .v{font-family:var(--serif);font-weight:500;font-size:clamp(2.4rem,4.5vw,3.6rem);letter-spacing:-.02em;color:#fff;line-height:1}
.impact .v em{font-style:normal;color:rgba(255,255,255,.72)}
.impact .l{margin-top:14px;color:rgba(255,255,255,.85);font-size:.95rem;line-height:1.45}
@media(max-width:820px){
  .impact-grid{grid-template-columns:1fr 1fr}
  .impact .cell{padding:34px 20px}
  .impact .v{font-size:clamp(1.9rem,7.5vw,2.6rem)}
}
@media(max-width:400px){
  .impact .v{font-size:1.75rem}
}

/* ---------- WHY (interactive split tabs) ---------- */
.why-top{margin-bottom:52px}
.why-lead{font-family:var(--serif);font-weight:500;font-size:clamp(1.9rem,3.6vw,2.9rem);letter-spacing:-.02em;max-width:16ch;margin-top:14px}
.why-tabs{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(30px,5vw,74px);align-items:stretch}
.why-nav{display:flex;flex-direction:column;gap:4px}
.why-tab{position:relative;text-align:left;background:none;border:none;cursor:pointer;padding:30px 4px 30px 30px;border-radius:14px;transition:background .4s var(--ease);color:inherit}
.why-tab .wt-head{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.08;letter-spacing:-.015em;color:var(--ink-faint);transition:color .4s var(--ease)}
.why-tab .wt-sub{display:block;max-height:0;overflow:hidden;opacity:0;color:var(--ink-soft);font-size:1.02rem;line-height:1.55;transition:max-height .5s var(--ease),opacity .5s var(--ease),margin .5s var(--ease)}
.why-tab.active{background:var(--paper-2)}
.why-tab.active .wt-head{color:var(--ink)}
.why-tab.active .wt-sub{max-height:200px;opacity:1;margin-top:14px;max-width:46ch}
.why-tab .wt-line{position:absolute;left:0;top:24px;bottom:24px;width:2px;background:var(--line);border-radius:2px;overflow:hidden}
.why-tab .wt-line span{position:absolute;inset:0;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .1s linear}
.why-stage{position:relative;border-radius:18px;overflow:hidden;min-height:420px;background:var(--paper-2)}
.why-vis{position:absolute;inset:0;opacity:0;transform:scale(1.04);transition:opacity .7s var(--ease),transform .9s var(--ease);margin:0}
.why-vis.active{opacity:1;transform:scale(1)}
.why-vis img{width:100%;height:100%;object-fit:cover}
.why-vis figcaption{position:absolute;left:22px;bottom:22px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:rgba(22,24,29,.55);padding:8px 14px;border-radius:100px;backdrop-filter:blur(6px)}
@media(max-width:820px){.why-tabs{grid-template-columns:1fr;gap:24px}.why-stage{min-height:300px;order:-1}}
