
* { margin:0; padding:0; box-sizing:border-box; }
:root {
  --bg:#dbdbdb; --deep:#afafaf; --card:#f4f4f4; --text:#0b0b0b; --muted:#7d7d7d;
  --accent:#0033cc; --on-acc:#ffffff; --border:rgba(11,11,11,0.13); --soft:rgba(11,11,11,0.06);
  --accsoft:rgba(0,51,204,0.18); --ring:rgba(0,51,204,0.28); --shadow:rgba(0,0,0,0.20); --shadow2:rgba(0,51,204,0.34);
  --rad:8px; --pad:24px;
}
html { scroll-behavior:smooth; }
body { margin:0; color:var(--text); font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; line-height:1.6;
  background:radial-gradient(80% 60% at 50% 45%, var(--bg), var(--deep) 90%);
  -webkit-font-smoothing:antialiased; overflow-x:hidden; }
h1,h2 { font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif; line-height:1.1; letter-spacing:-.02em; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }

.tnav { position:fixed; top:0; left:0; right:0; z-index:50; display:flex;
  align-items:center; justify-content:space-between; padding:16px 22px;
  backdrop-filter:blur(8px); }
.brand { font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif; font-weight:800; font-size:20px;
  display:flex; align-items:center; gap:10px; }
.brand-vp { width:14px; height:14px; border-radius:50%;
  box-shadow:0 0 0 2px var(--accent), 0 0 0 6px var(--accsoft); }
.tnav-hint { font-size:13px; color:var(--muted); }

.tunnel { position:relative; height:calc(var(--n) * 100vh + 100vh); }
.tunnel-track { position:sticky; top:0; height:100vh; }
.tunnel-view { position:relative; width:100%; height:100%;
  perspective:900px; overflow:hidden; }
.tunnel-space { position:absolute; inset:0; transform-style:preserve-3d; }

.t-rings { position:absolute; inset:0; transform-style:preserve-3d; pointer-events:none; }
.t-ring { position:absolute; top:50%; left:50%; width:120vmin; height:120vmin;
  margin:-60vmin 0 0 -60vmin; border:2px solid var(--ring); border-radius:26px;
  opacity:.5; }

.t-panel { position:absolute; top:50%; left:50%; width:min(88vw,720px);
  transform:translate(-50%,-50%); will-change:transform,opacity;
  backface-visibility:hidden; }
.t-panel-in { background:var(--card); border:1px solid var(--border);
  border-radius:calc(var(--rad) + 4px); padding:var(--pad);
  box-shadow:0 30px 80px var(--shadow); }
.kicker { display:inline-block; font-size:13px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--accent); margin-bottom:14px; }
.t-tag { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--accent); background:var(--accsoft);
  padding:6px 12px; border-radius:999px; margin-bottom:14px; }
.t-panel h1 { font-size:clamp(32px,5vw,58px); margin-bottom:16px; }
.t-panel h2 { font-size:clamp(26px,3.4vw,42px); margin-bottom:14px; }
.t-panel p { color:var(--muted); font-size:17px; margin-bottom:16px; }
.scroll-cue { display:inline-block; color:var(--accent); font-weight:700; font-size:14px;
  letter-spacing:.08em; margin-top:6px; }
.t-svc { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.t-svc li { padding:14px; border-radius:var(--rad); background:var(--soft); }
.t-svc b { display:block; font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif; font-size:17px; margin-bottom:3px; }
.t-svc span { color:var(--muted); font-size:13px; }
.t-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.t-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--rad);
  border:1px solid var(--border); }
.t-quote { font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif; font-size:clamp(22px,3vw,32px); line-height:1.3;
  margin-bottom:16px; }
.t-by { display:inline-flex; align-items:center; gap:12px; }
.t-by img { width:48px; height:48px; border-radius:50%; object-fit:cover; border:2px solid var(--accent); }
.t-by cite { font-style:normal; font-weight:700; }
.t-info { list-style:none; display:flex; flex-direction:column; gap:8px; margin-bottom:20px; }
.t-info li span { color:var(--muted); margin-right:10px; }
.btn { display:inline-block; border-radius:999px; padding:13px 26px; font-weight:600;
  font-size:15px; cursor:pointer; border:1px solid transparent; font-family:inherit;
  transition:transform .14s, filter .14s; }
.primary { background:var(--accent); color:var(--on-acc); box-shadow:0 12px 26px var(--shadow2); }
.primary:hover { transform:translateY(-3px); filter:brightness(1.05); }

.t-progress { position:absolute; left:22px; right:22px; bottom:18px; height:4px;
  background:var(--soft); border-radius:999px; overflow:hidden; }
.t-progress span { display:block; height:100%; width:0; background:var(--accent);
  border-radius:999px; }

.tfoot { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  max-width:1160px; margin:0 auto; padding:26px 22px; border-top:1px solid var(--border);
  font-size:14px; }
.muted { color:var(--muted); }

@media (max-width:640px) {
  .t-svc, .t-grid { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .tunnel { height:auto; }
  .tunnel-track { position:static; height:auto; }
  .tunnel-view { perspective:none; overflow:visible; height:auto; }
  .tunnel-space { position:static; transform:none !important; }
  .t-rings { display:none; }
  .t-panel { position:relative; top:auto; left:auto; width:auto; max-width:720px;
    margin:0 auto 20px; transform:none !important; opacity:1 !important; }
  .t-progress { display:none; }
  .btn:hover { transform:none; }
}


.xq{box-sizing:border-box;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;color:#0b0b0b;padding:56px 24px;width:100%}
.xq *{box-sizing:border-box;margin:0}
.xq .xq-wrap{max-width:1060px;margin:0 auto}
.xq h2{font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif;font-size:1.7rem;line-height:1.2;margin-bottom:8px}
.xq .xq-kick{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#0033cc;margin-bottom:10px;font-weight:700}

.xq-strip{padding-left:0;padding-right:0}
.xq-strip .xq-wrap{padding:0 24px}
.xq-striprail{list-style:none;display:flex;gap:12px;overflow-x:auto;padding:14px 24px;scroll-snap-type:x mandatory}
.xq-striprail li{flex:0 0 min(64vw,300px);scroll-snap-align:start}
.xq-striprail img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0px;display:block}


.xq-cta{background:#0033cc;color:#ffffff}
.xq-cta h2,.xq-cta p{color:#ffffff}
.xq-cta p{opacity:.85;max-width:52ch}
.xq-cta-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.xq-btn{display:inline-block;background:#ffffff;color:#0b0b0b;text-decoration:none;font-weight:700;padding:14px 30px;border-radius:0px;font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif}
.xq-btn:hover{transform:translateY(-2px)}


/* =====================================================
   DESIGN DNA: sketchbook
   Whole-page visual system applied over the layout
   archetype. Appended last so it wins the cascade.
   ===================================================== */
html::before{content:'';position:fixed;inset:0;z-index:99980;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='28'%3E%3Cpath d='M0 27.5H100' stroke='%230b0b0b' stroke-width='1'/%3E%3C/svg%3E");opacity:.06;}
h1,h2,h3{font-family:'Segoe Print', 'Comic Sans MS', cursive !important;font-weight:700 !important}
h2{text-decoration:underline wavy rgba(0,51,204,.8) 2px;text-underline-offset:6px}
img{border:3px solid #0b0b0b !important;border-radius:10px 3px 12px 4px !important;transform:rotate(-.7deg);filter:saturate(.95)}
a[class*="btn"],button,span[class*="btn"]{border:2.5px dashed #0b0b0b !important;border-radius:12px 4px 14px 5px !important;font-family:'Segoe Print', 'Comic Sans MS', cursive !important;box-shadow:none !important}
div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{border:2px dashed rgba(11,11,11,.7) !important;border-radius:4px 14px 5px 12px !important;box-shadow:none !important}
