/* ============================================================================
   Clearline visual reset — shell + components (#73 skin).
   Ported from the approved reference build
   (clearline-marketing/mockups/visual-reset-reference/app.css) and adapted to
   consume tokens.css. Load order on every reset page:
     <link rel="stylesheet" href="/assets/css/tokens.css">
     <link rel="stylesheet" href="/assets/css/reset-shell.css">
   Adds the #73 a11y/quality gates the reference mockup omitted (focus rings,
   44px touch targets, prefers-reduced-motion, coral hover/press).
   ============================================================================ */

*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font-body);background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2{font-family:var(--font-display);font-weight:500;letter-spacing:-0.5px;line-height:1.08}
a{color:var(--action);text-decoration:none}
.eyebrow{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--ink-muted);font-weight:500}

/* nav — main bar */
nav.reset-nav{background:var(--paper)}
.nav-in{max-width:1240px;margin:0 auto;padding:18px 40px;width:100%;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:500;font-size:22px;letter-spacing:-0.01em;color:var(--ink)}
.nav-links{display:flex;align-items:center;gap:26px;font-size:15px;font-weight:500}
.nav-links a{color:var(--ink-secondary)} .nav-links .muted{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:600;font-size:14px;border-radius:var(--radius);padding:10px 16px;min-height:44px;cursor:pointer;border:0}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--hairline);border-radius:var(--radius-pill);padding:9px 18px}
.btn-dark{background:var(--dark);color:var(--action-text);border-radius:var(--radius-pill);padding:10px 20px}
.btn-fill{background:var(--action);color:var(--action-text)} .btn-fill.lg{font-size:16px;padding:14px 22px}

/* nav — sub strip */
.subnav{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.subnav-in{max-width:1240px;margin:0 auto;padding:11px 40px;display:flex;align-items:center;justify-content:space-between;font-size:13.5px}
.subnav .l{color:var(--ink-secondary);display:inline-flex;align-items:center;gap:8px}
.subnav .l .d{width:7px;height:7px;border-radius:50%;background:var(--cta-coral)}
.subnav .r{color:var(--ink-muted)}

/* hero — left aligned, art right (claude.ai pattern) */
.hero{max-width:1240px;margin:0 auto;padding:60px 40px 56px;display:grid;grid-template-columns:1.02fr 0.98fr;gap:40px;align-items:center}
.hero h1{font-size:68px;color:var(--ink);margin-bottom:22px}
.hero .sub{font-size:20px;color:var(--ink-secondary);max-width:46ch;margin-bottom:30px}
.hero-art{display:flex;align-items:center;justify-content:center}

/* signup input-box (the email-first capture) */
.signup-box{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--hairline);border-radius:14px;padding:10px 10px 10px 18px;max-width:520px;box-shadow:0 1px 2px rgba(10,14,26,0.04)}
.signup-box input{flex:1;border:0;outline:0;background:transparent;font-family:inherit;font-size:16px;color:var(--ink);min-width:0}
.signup-box input::placeholder{color:var(--ink-muted)}
.signup-box button{flex-shrink:0;background:var(--cta-coral);color:#fff;border:0;border-radius:10px;font-weight:600;font-size:14px;padding:11px 18px;min-height:44px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.signup-box button:hover,.signup-box button:active{background:var(--cta-coral-hover)}
.chips{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.chip-pill{display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-pill);padding:8px 14px;font-size:13.5px;color:var(--ink-secondary);font-weight:500;cursor:pointer;min-height:44px}
.chip-pill .dot{width:9px;height:9px;border-radius:50%}
.trust{font-size:13px;color:var(--ink-muted);margin-top:20px}

/* tiles */
section.band{border-top:1px solid var(--hairline)}
.tiles-intro{text-align:center;padding:56px 40px 8px}
.tiles-intro p{font-size:17px;color:var(--ink-secondary);margin-top:8px}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:24px 40px 64px;max-width:1240px;margin:0 auto}
.tile{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:22px;display:block}
.tile .ico{width:40px;height:40px;border-radius:10px;background:var(--paper);border:1px solid var(--hairline);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.tile h3{font-family:var(--font-body);font-weight:600;font-size:17px;margin-bottom:2px;color:var(--ink)}
.tile .aud{font-size:13px;color:var(--ink-muted)}

/* demo video */
.demo-in{max-width:880px;margin:0 auto;text-align:center;padding:64px 40px}
.demo-in h2{font-size:32px;margin:8px 0 10px}
.demo-sub{font-size:17px;color:var(--ink-secondary);max-width:56ch;margin:0 auto 28px}
.video-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);overflow:hidden}
.video-poster{aspect-ratio:16/9;background:linear-gradient(160deg,#101a3d,#142774);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#cfe;position:relative}
.play{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,0.92);color:var(--action);display:flex;align-items:center;justify-content:center;font-size:22px;padding-left:4px}
.poster-note{font-size:12px;color:rgba(255,255,255,0.7);max-width:46ch;text-align:center;font-family:var(--font-mono)}

/* post-1-july hero */
.postjuly{text-align:center;padding:72px 40px;background:var(--surface);border-top:1px solid var(--hairline)}
.postjuly .mode{font-family:var(--font-mono);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-muted);margin-bottom:8px}
.postjuly h1{font-size:52px;color:var(--ink);margin:18px 0 14px}
.postjuly p{font-size:20px;color:var(--ink-secondary)}

/* final CTA */
.final{text-align:center;padding:72px 40px;border-top:1px solid var(--hairline)}
.final h2{font-size:34px;margin-bottom:10px}
.final p{color:var(--ink-secondary);margin-bottom:24px}

/* /start/ split */
.start{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 60px)}
.start-left{display:flex;flex-direction:column;justify-content:center;padding:64px;max-width:560px;margin-left:auto}
.start-left .mark-row{display:flex;align-items:center;gap:10px;font-weight:600;margin-bottom:40px}
.start-left h1{font-size:48px;color:var(--ink);margin-bottom:14px}
.start-left .sub{font-size:18px;color:var(--ink-secondary);margin-bottom:28px;max-width:42ch}
.field{display:block;width:100%;max-width:380px;height:48px;border:1px solid var(--hairline);border-radius:var(--radius);padding:0 14px;font-size:16px;font-family:inherit;background:var(--surface);margin-bottom:14px}
.field:focus{outline:2px solid var(--action);border-color:var(--action)}
.start-left .micro{font-size:13px;color:var(--ink-muted);margin-top:14px;max-width:40ch}
.start-right{background:var(--panel);border-left:1px solid var(--hairline);display:flex;align-items:center;justify-content:center;padding:48px}

/* /choose/ */
.choose{max-width:760px;margin:0 auto;text-align:center;padding:64px 40px}
.choose h1{font-size:42px;color:var(--ink);margin-bottom:12px}
.choose .sub{font-size:18px;color:var(--ink-secondary);margin-bottom:18px}
.email-chip{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--hairline);border-radius:999px;padding:7px 14px;font-size:13px;color:var(--ink-secondary);margin-bottom:32px}
.choose-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left}
.crd{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:22px;display:flex;flex-direction:column;gap:6px}
.crd .ico{width:38px;height:38px;border-radius:10px;background:var(--paper);border:1px solid var(--hairline);display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.crd .role{font-weight:600;font-size:17px;color:var(--ink)}
.crd .app{font-size:13px;color:var(--ink-muted)} .crd .one{font-size:14px;color:var(--ink-secondary);margin:2px 0 14px}
.crd .go{align-self:flex-start;font-weight:600;font-size:14px}
.choose-foot{font-size:14px;color:var(--ink-muted);margin-top:26px;max-width:60ch;margin-left:auto;margin-right:auto}

/* constellation (Clearline Connect graph) */
.constellation{background:#EFEBE1;border-top:1px solid var(--hairline)}
.const-in{max-width:1240px;margin:0 auto;padding:60px 40px;display:grid;grid-template-columns:330px 1fr;gap:36px;align-items:center}
.const-left .blk{padding:20px 0;border-top:1px solid #DDD7C9}
.const-left .blk:first-child{border-top:0;padding-top:0}
.const-left .blk h3{font-family:var(--font-display);font-weight:500;font-size:21px;color:var(--ink);margin-bottom:7px;display:flex;align-items:center;gap:9px}
.const-left .blk h3 .mk{width:18px;height:18px;flex:0 0 18px}
.const-left .blk p{font-size:15px;color:var(--ink-secondary);max-width:34ch}
.graph svg{width:100%;height:auto;display:block}

/* a11y / quality gates (#73) — not in the reference mockup */
.btn:focus-visible,a:focus-visible,input:focus-visible,button:focus-visible,.chip-pill:focus-visible{outline:2px solid var(--action);outline-offset:2px;border-radius:var(--radius)}

@media(max-width:900px){
  .nav-links{display:none}
  .hero{grid-template-columns:1fr;padding:40px 22px} .hero h1{font-size:44px} .hero-art{order:-1}
  .hero-art svg{width:200px;height:200px}
  .postjuly h1{font-size:34px} .start-left h1{font-size:34px} .choose h1{font-size:30px}
  .tiles,.choose-cards{grid-template-columns:1fr 1fr;gap:12px} .tiles{padding:20px 20px 48px}
  .start{grid-template-columns:1fr} .start-left{padding:40px 24px;margin:0 auto} .start-right{order:-1;padding:28px;min-height:160px}
  .nav-in,.subnav-in{padding-left:22px;padding-right:22px}
  .const-in{grid-template-columns:1fr;padding:40px 18px}
}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}
}
