@import url("./tokens.css");

/* ClearLabel homepage — "regulatory document", not SaaS landing page.
   Hard rules this file obeys deliberately: no gradients, no shadows, no radius
   above 2px, two accents only (blue #22407c, amber #9a5b12), separation done
   with 1px hairlines and background tone shifts. Scanner styles: home-scan.css.
   The older styles.css still serves /label/, /pack/, /study/ and /vendors/.
   Design tokens (color/type/spacing) live in tokens.css, shared with styles.css. */

*{margin:0;padding:0;box-sizing:border-box;border-radius:0;box-shadow:none}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--page);color:var(--body);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none}
a:hover{color:var(--ink)}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.015em;line-height:1.1;color:var(--ink)}
h1{letter-spacing:-.02em}
p{max-width:64ch}
strong{font-weight:600;color:var(--ink)}
code{font-family:var(--mono);font-size:.92em}

.container{max-width:1140px;margin:0 auto;padding:0 28px}
.eyebrow{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Buttons */
.btn{display:inline-block;padding:10px 18px;border:1px solid transparent;border-radius:2px;font-family:var(--sans);font-size:14px;font-weight:600;line-height:1.2;cursor:pointer;text-align:center}
.btn-ink{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-ink:hover{background:#000;color:#fff}
.btn-blue{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn-blue:hover{background:var(--blue-deep);color:#fff}
.btn-outline{background:transparent;border-color:var(--edge);color:var(--ink)}
.btn-outline:hover{background:var(--panel);color:var(--ink)}
.btn[disabled]{opacity:.55;cursor:default}

/* The page chrome (skip link, sticky header, footer, and their mobile
   blocks) lives in site-chrome.css, linked before this file and shared
   byte-identically by every page. */

/* Status ticker */
.status-ticker{background:var(--ticker);border-bottom:1px solid var(--hairline)}
.status-ticker .container{display:flex;align-items:center;gap:10px;padding-top:9px;padding-bottom:9px;flex-wrap:wrap}
.ticker-dot{width:7px;height:7px;background:var(--amber);flex:0 0 auto}
.ticker-status{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}
.ticker-day{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* Hero */
.hero{padding-top:76px;padding-bottom:56px}
.hero .container{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:64px;align-items:start}
.hero h1{font-size:clamp(38px,4.6vw,60px);line-height:1.04;max-width:17ch;margin:12px 0 20px}
.lead{font-size:17.5px;line-height:1.6;max-width:56ch;color:var(--body)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.hero-note{margin-top:14px;font-size:13px;color:var(--muted);max-width:56ch}

/* Compliance clock */
.compliance-clock{border:1px solid var(--ink);background:var(--panel)}
.clock-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ink)}
.clock-title{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.clock-date{font-family:var(--mono);font-size:11px;text-transform:uppercase;color:var(--muted)}
.clock-rows{padding:16px;display:grid;gap:16px}
.clock-row{display:grid;gap:2px;padding-bottom:16px;border-bottom:1px dashed var(--hairline-dashed)}
.clock-row:last-child{padding-bottom:0;border-bottom:none}
.clock-num{font-family:var(--mono);font-size:40px;line-height:1}
.clock-num.amber{color:var(--amber)}
.clock-num.blue{color:var(--blue)}
.clock-label{font-size:13.5px;color:var(--body)}
.clock-footer{background:var(--page);border-top:1px solid var(--hairline);padding:10px 16px;font-family:var(--mono);font-size:11px;color:var(--muted)}

/* Statistics row */
.stats{padding:48px 0;background:var(--page);border-top:1px solid var(--hairline)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat-cell{padding:16px 24px;border-left:1px solid var(--hairline-soft)}
.stat-cell:first-child{border-left:none}
.stat-figure{font-family:var(--mono);font-size:32px;font-weight:500;line-height:1.2;color:var(--ink)}
.stat-caption{margin-top:4px;font-size:13.5px;color:var(--muted)}

/* The rules */
.rules{padding:64px 0;background:var(--page);border-top:1px solid var(--hairline)}
.rules h2{margin-bottom:24px}
.rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--hairline);border:1px solid var(--hairline)}
.rule-card{background:var(--panel);padding:32px}
.rule-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.article-chip{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.08em;border:1px solid var(--ink);border-radius:2px;padding:4px 8px;color:var(--ink)}
.status-chip{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;border-radius:2px}
.status-in-force{background:var(--amber-tint);color:var(--amber)}
.status-due{background:var(--blue-tint);color:var(--blue)}
.rule-card h3{font-size:21px;margin-bottom:8px}
.rule-card p{font-size:15px;color:var(--body)}
.utility-box{margin-top:24px;border:1px dashed var(--hairline-dashed);background:#f9f7f0;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.utility-box .eyebrow{display:block;margin-bottom:6px}
.utility-disclosure{font-family:var(--mono);font-size:12px;line-height:1.5;color:var(--body);overflow-wrap:anywhere}
.utility-tool{font-size:13px;color:var(--muted);max-width:28ch}
.utility-tool a{color:var(--blue)}
.copy-btn{font-family:var(--mono);font-size:11px;background:transparent;border:1px solid var(--ink);border-radius:2px;padding:4px 8px;color:var(--ink);cursor:pointer;margin-top:8px}
.copy-btn:hover{background:var(--ink);color:#fff}

/* Timeline */
.timeline{padding:64px 0;background:var(--page);border-top:1px solid var(--hairline)}
.timeline .container{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:64px;align-items:start}
.timeline h2{margin-bottom:12px}
.timeline-standfirst{font-size:16px;color:var(--body);max-width:48ch}
.timeline-list{list-style:none}
.timeline-row{display:grid;grid-template-columns:112px 1fr;gap:24px;padding:20px 0;border-top:1px solid var(--hairline)}
.timeline-date{font-family:var(--mono);font-size:14px;color:var(--ink)}
.timeline-status{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;margin-top:4px;color:var(--muted)}
.timeline-status.now{color:var(--amber)}
.timeline-status.days{color:var(--blue)}
.timeline-row p{font-size:15px;color:var(--body)}

/* Scope */
.scope{padding:48px 0;background:var(--page);border-top:1px solid var(--hairline)}
.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.scope-item .eyebrow{display:block;margin-bottom:8px}
.scope-item h3{font-size:18px;margin-bottom:8px}
.scope-item p{font-size:14.5px;color:var(--body);max-width:48ch}

/* Compliance Pack */
.pack{padding:64px 0;background:var(--band);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.pack .container{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.78fr);gap:64px;align-items:start}
.pack-copy h2{margin:12px 0 16px}
.pack-copy p{font-size:16px;color:var(--body);max-width:56ch;margin-top:12px}
.pack-disclaimer{margin-top:24px;border-left:2px solid var(--edge);padding-left:16px;font-size:13.5px;color:var(--muted);max-width:56ch}
.order-panel{border:1px solid var(--ink);background:var(--panel)}
.order-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;border-bottom:1px solid var(--ink)}
.order-title-left .eyebrow{display:block;margin-bottom:4px}
.order-title{font-family:var(--serif);font-size:22px;font-weight:600;line-height:1.1;color:var(--ink)}
.order-price-block{text-align:right}
.order-price{font-family:var(--mono);font-size:30px;line-height:1;color:var(--ink)}
.order-price-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.order-list{list-style:none;padding:8px 24px}
.order-item{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:10px 0;border-bottom:1px dashed var(--hairline-dashed);font-size:14px;color:var(--body)}
.order-item:last-child{border-bottom:none}
.order-num{font-family:var(--mono);font-size:12px;color:var(--muted)}
.order-text{max-width:52ch}
.order-footer{border-top:1px solid var(--hairline);padding:16px 24px}
.order-cta{width:100%}
.order-footnote{margin-top:8px;font-size:12.5px;color:var(--muted);text-align:center;max-width:none}

/* FAQ */
.faq{padding:64px 0;background:var(--page);border-top:1px solid var(--hairline)}
.faq .container{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:64px;align-items:start}
.faq-list{list-style:none}
.faq-item{border-top:1px solid var(--hairline)}
.faq-item:last-child{border-bottom:1px solid var(--hairline)}
.faq-question{width:100%;padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;background:none;border:none;font-family:var(--sans);font-size:16.5px;font-weight:500;color:var(--ink);cursor:pointer;text-align:left}
.faq-question:hover{color:var(--blue)}
.faq-item.open .faq-question{font-weight:600}
.faq-icon{font-family:var(--mono);font-size:16px;color:var(--muted);line-height:1}
.faq-answer{display:none;padding:0 0 20px;font-size:15px;color:var(--body);max-width:64ch}
.faq-item.open .faq-answer{display:block}

/* Closing CTA */
.closing-cta{padding:64px 0;background:var(--page);border-top:1px solid var(--hairline)}
.closing-cta-panel{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;border:1px solid var(--ink);background:var(--panel);padding:40px}
.closing-title{font-family:var(--serif);font-size:26px;font-weight:600;line-height:1.1;color:var(--ink);max-width:30ch}
.closing-live{margin-top:8px;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.closing-actions{display:flex;flex-wrap:wrap;gap:12px}

@media (max-width:900px){
  .container{padding:0 20px}
  .hero{padding-top:40px}
  .hero .container,.timeline .container,.pack .container,.faq .container{grid-template-columns:1fr;gap:32px}
  .hero h1{font-size:clamp(36px,8vw,48px)}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn{width:100%}
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat-cell{border-left:none;border-top:1px solid var(--hairline-soft)}
  .stat-cell:nth-child(-n+2){border-top:none}
  .rules-grid{grid-template-columns:minmax(0,1fr)}
  .rule-card{padding:24px}
  .utility-box{grid-template-columns:1fr}
  .timeline-row{grid-template-columns:1fr;gap:8px}
  .scope-grid{grid-template-columns:1fr;gap:32px}
  .closing-cta-panel{padding:24px;flex-direction:column;align-items:flex-start}
  .closing-actions{width:100%;flex-direction:column;align-items:stretch}
  .closing-actions .btn{width:100%}
}

@media (max-width:560px){
  .stats-grid{grid-template-columns:1fr}
  .stat-cell,.stat-cell:nth-child(-n+2){border-top:1px solid var(--hairline-soft);border-left:none}
  .stat-cell:first-child{border-top:none}
  .order-header{flex-direction:column;align-items:flex-start}
  .order-price-block{text-align:left}
  .btn{min-height:44px;padding:12px 18px}
}

/* Secondary offers under the pack CTA */
.order-offers-kicker{margin:18px 0 8px;font-family:var(--mono,ui-monospace,Menlo,monospace);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center}
.order-offers{display:flex;flex-direction:column;gap:8px}
.order-offer{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--hairline);padding:11px 14px;text-decoration:none;color:inherit;background:transparent;transition:border-color .15s ease,background .15s ease}
.order-offer:hover{border-color:var(--ink);background:var(--paper,rgba(0,0,0,.02))}
.order-offer-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.order-offer-title{font-weight:600;color:var(--ink);font-size:14.5px}
.order-offer-sub{font-size:12.5px;color:var(--muted)}
.order-offer-price{font-family:var(--mono,ui-monospace,Menlo,monospace);font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap}
.order-offer-free{border:1px solid var(--hairline);padding:2px 8px;border-radius:2px}
