/*
 * Gridspace Market — interior page components.
 * Extends the tokens and base styles in style.css (design system: Space
 * Grotesk headings, Figtree body, warm paper background, blue/amber/green).
 */

/* ============ PAGE HERO ============ */
.gs-phero{padding:56px 0 8px;max-width:820px;}
.gs-phero h1{font-size:44px;line-height:1.06;font-weight:700;margin-top:12px;}
.gs-phero-sub{font-size:18px;line-height:1.55;color:var(--gs-muted);margin:16px 0 0;max-width:640px;}
.gs-phero-ctas{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap;}
.gs-btn-ghost{font-weight:700;font-size:15px;color:var(--gs-blue-deep);background:#fff;border:1px solid var(--gs-line);padding:10px 18px;border-radius:8px;}

/* ============ GENERIC BANDS ============ */
.gs-band{margin-top:56px;}
.gs-band>h2{font-size:28px;font-weight:700;}
.gs-band>.sub{color:var(--gs-muted);font-size:16px;margin-top:8px;max-width:680px;}
.gs-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.gs-card{background:#fff;border:1px solid var(--gs-line);border-radius:16px;padding:24px;box-shadow:0 6px 18px rgba(22,58,99,.05);}
.gs-card h3{font-size:19px;font-weight:700;}
.gs-card p{color:var(--gs-muted);font-size:14.5px;line-height:1.55;margin:10px 0 0;}
.gs-card .gs-card-cta{display:inline-block;margin-top:14px;font-weight:700;font-size:14.5px;}
.gs-kicker{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gs-amber-deep);}

/* Callout (the honesty boxes) */
.gs-callout{background:var(--gs-tint-amber);border:1px solid #F3DCA6;border-radius:14px;padding:20px 22px;margin-top:20px;}
.gs-callout h4{font-family:'Space Grotesk';font-size:16px;margin:0;}
.gs-callout p{color:#5b4a1e;font-size:14.5px;line-height:1.55;margin:8px 0 0;}
.gs-callout.blue{background:var(--gs-tint-blue);border-color:#CFE0EF;}
.gs-callout.blue p{color:#37506b;}
.gs-callout.green{background:var(--gs-tint-green);border-color:#CFE7D8;}
.gs-callout.green p{color:#2c5a41;}

/* Numbered steps (horizontal) */
.gs-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-top:26px;counter-reset:gsstep;}
.gs-step{background:#fff;border:1px solid var(--gs-line);border-radius:14px;padding:20px;position:relative;counter-increment:gsstep;}
.gs-step::before{content:counter(gsstep);position:absolute;top:-13px;left:18px;width:26px;height:26px;border-radius:50%;background:var(--gs-blue-deep);color:#fff;font-family:'Space Grotesk';font-weight:700;font-size:13.5px;display:flex;align-items:center;justify-content:center;}
.gs-step h4{font-family:'Space Grotesk';font-size:15.5px;margin:4px 0 0;}
.gs-step p{color:var(--gs-muted);font-size:13.5px;line-height:1.5;margin:8px 0 0;}

/* ============ TABLES ============ */
.gs-tablewrap{overflow-x:auto;margin-top:22px;}
.gs-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--gs-line);border-radius:14px;overflow:hidden;font-size:14px;}
.gs-table th{font-family:'Space Grotesk';font-size:13px;letter-spacing:.03em;text-transform:uppercase;color:var(--gs-muted);text-align:left;padding:12px 16px;background:var(--gs-bg);border-bottom:1px solid var(--gs-line);}
.gs-table td{padding:13px 16px;border-bottom:1px solid var(--gs-line);vertical-align:top;line-height:1.5;color:var(--gs-ink);}
.gs-table tr:last-child td{border-bottom:0;}
.gs-table td strong{font-family:'Space Grotesk';}

/* ============ FAQ ============ */
.gs-faq-list{margin-top:22px;max-width:780px;}
.gs-faq{background:#fff;border:1px solid var(--gs-line);border-radius:12px;margin-bottom:10px;padding:0 18px;}
.gs-faq summary{cursor:pointer;font-family:'Space Grotesk';font-weight:600;font-size:15.5px;padding:15px 0;list-style:none;position:relative;padding-right:28px;}
.gs-faq summary::-webkit-details-marker{display:none;}
.gs-faq summary::after{content:'+';position:absolute;right:2px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--gs-amber-deep);}
.gs-faq[open] summary::after{content:'–';}
.gs-faq p{color:var(--gs-muted);font-size:14.5px;line-height:1.6;margin:0;padding:0 0 16px;}

/* ============ SCORE CHIP ============ */
.gs-chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--gs-line);border-radius:999px;padding:4px 12px 4px 4px;font-size:13px;}
.gs-chip-score{color:#fff;font-family:'Space Grotesk';font-weight:700;font-size:14px;padding:4px 10px;border-radius:999px;}
.gs-chip-band{font-weight:700;color:var(--gs-ink);}
.gs-chip-conf{color:var(--gs-muted2);font-size:12px;}

/* ============ STATUS PILL RAIL ============ */
.gs-rail{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px;}
.gs-rail span{font-size:12px;font-weight:700;color:var(--gs-muted);background:#fff;border:1px solid var(--gs-line);padding:5px 11px;border-radius:999px;white-space:nowrap;}
.gs-rail span.is-on{color:#fff;background:var(--gs-blue-deep);border-color:var(--gs-blue-deep);}

/* ============ DISCLOSURE BAR ⚠️ ============ */
.gs-disclosure{position:sticky;bottom:0;z-index:50;background:var(--gs-blue-ink);color:#C5D4E4;font-size:13px;padding:10px 18px;text-align:center;border-radius:10px 10px 0 0;margin-top:56px;}
.gs-disclosure a{color:var(--gs-amber);font-weight:700;}

/* ============ GATED BLOCK ============ */
.gs-gate{position:relative;border:1px solid var(--gs-line);border-radius:14px;overflow:hidden;margin-top:20px;min-height:150px;background:#fff;}
.gs-gate-blur{filter:blur(6px);opacity:.55;padding:20px;}
.gs-gate-blur div{height:16px;border-radius:6px;background:#D9E4EE;margin-bottom:12px;}
.gs-gate-blur div:nth-child(2){width:82%;background:#E7DFC9;}
.gs-gate-blur div:nth-child(3){width:64%;}
.gs-gate-msg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:600;font-size:14.5px;color:var(--gs-ink);background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.75));padding:16px;text-align:center;flex-wrap:wrap;}

/* ============ DATA PROVENANCE ============ */
.gs-prov{margin-top:10px;font-size:12.5px;color:var(--gs-muted2);}
.gs-prov summary{cursor:pointer;font-weight:700;display:inline-block;}
.gs-prov ul{margin:6px 0 0 18px;padding:0;line-height:1.6;}

/* ============ FORK / TWO-CARD CHOICE ============ */
.gs-fork{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px;}
.gs-fork-card{background:#fff;border:2px solid var(--gs-line);border-radius:16px;padding:26px;display:flex;flex-direction:column;}
.gs-fork-card.amber{border-color:#F3DCA6;background:linear-gradient(180deg,#FFFDF7,#fff);}
.gs-fork-card.blue{border-color:#CFE0EF;background:linear-gradient(180deg,#F8FBFE,#fff);}
.gs-fork-min{font-family:'Space Grotesk';font-weight:700;font-size:24px;}
.gs-fork-card p{color:var(--gs-muted);font-size:14.5px;line-height:1.55;margin:12px 0 18px;}
.gs-fork-card a{margin-top:auto;font-weight:700;}

/* ============ FLIP TILES (site types) ============ */
.gs-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px;}
.gs-tile{background:#fff;border:1px solid var(--gs-line);border-radius:14px;padding:18px;}
.gs-tile .ico{font-size:26px;}
.gs-tile h4{font-family:'Space Grotesk';font-size:15px;margin:10px 0 0;}
.gs-tile .gs-tile-more{margin-top:10px;font-size:13px;color:var(--gs-muted);}
.gs-tile .gs-tile-more summary{cursor:pointer;font-weight:700;color:var(--gs-blue-deep);list-style:none;}
.gs-tile .gs-tile-more summary::-webkit-details-marker{display:none;}
.gs-tile .gs-tile-more p{margin:8px 0 0;line-height:1.5;}

/* ============ TIMELINE ============ */
.gs-timeline{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:26px;}
.gs-tl{background:#fff;border:1px solid var(--gs-line);border-radius:12px;padding:14px;position:relative;}
.gs-tl h5{font-family:'Space Grotesk';font-size:13.5px;margin:0;}
.gs-tl span{display:block;color:var(--gs-amber-deep);font-weight:700;font-size:12px;margin-top:6px;}
.gs-caption{color:var(--gs-muted2);font-size:13.5px;margin-top:14px;font-style:italic;}

/* ============ STAT STRIP ============ */
.gs-statstrip{display:flex;gap:28px;flex-wrap:wrap;background:#fff;border:1px solid var(--gs-line);border-radius:14px;padding:18px 24px;margin-top:26px;}
.gs-statstrip div{font-size:13.5px;color:var(--gs-muted);}
.gs-statstrip strong{display:block;font-family:'Space Grotesk';font-size:22px;color:var(--gs-ink);}

/* ============ DECISION RECORD ============ */
.gs-dr{background:#fff;border:1px solid var(--gs-line);border-left:4px solid var(--gs-blue-deep);border-radius:12px;padding:22px 24px;margin-top:20px;}
.gs-dr-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-family:'Space Grotesk';font-weight:700;font-size:15px;}
.gs-dr-status{font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;padding:3px 10px;border-radius:999px;background:var(--gs-tint-green);color:var(--gs-green);}
.gs-dr-status.rejected{background:#F9E8E4;color:#A33D2A;}
.gs-dr-status.reverted{background:var(--gs-tint-amber);color:var(--gs-amber-deep);}
.gs-dr dl{margin:16px 0 0;}
.gs-dr dt{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gs-muted2);margin-top:14px;}
.gs-dr dd{margin:4px 0 0;font-size:14.5px;line-height:1.6;color:var(--gs-ink);}

/* ============ FEED ITEMS (hypotheses) ============ */
.gs-feed{margin-top:22px;}
.gs-feed-item{background:#fff;border:1px solid var(--gs-line);border-radius:12px;padding:18px 20px;margin-bottom:12px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start;}
.gs-feed-item h4{font-family:'Space Grotesk';font-size:15.5px;margin:0;}
.gs-feed-meta{color:var(--gs-muted2);font-size:12.5px;margin-top:6px;}
.gs-feed-item p{grid-column:1/-1;color:var(--gs-muted);font-size:13.5px;line-height:1.55;margin:2px 0 0;}
.gs-feed-status{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 11px;border-radius:999px;white-space:nowrap;}
.gs-feed-status.validated{background:var(--gs-tint-green);color:var(--gs-green);}
.gs-feed-status.rejected{background:#F9E8E4;color:#A33D2A;}
.gs-feed-status.review{background:var(--gs-tint-amber);color:var(--gs-amber-deep);}
.gs-feed-status.proposed{background:var(--gs-tint-blue);color:var(--gs-blue-deep);}

/* ============ FORMS ============ */
.gs-form{background:#fff;border:1px solid var(--gs-line);border-radius:16px;padding:26px;margin-top:24px;max-width:720px;}
.gs-form label{display:block;font-weight:700;font-size:13.5px;margin-top:16px;}
.gs-form label:first-child{margin-top:0;}
.gs-form .hint{font-weight:400;color:var(--gs-muted2);font-size:12.5px;display:block;margin-top:2px;}
.gs-form input[type=text],.gs-form input[type=email],.gs-form input[type=number],.gs-form select,.gs-form textarea{width:100%;margin-top:6px;border:1px solid var(--gs-line);border-radius:9px;background:var(--gs-bg);padding:11px 12px;font-family:'Figtree';font-size:14.5px;color:var(--gs-ink);outline:none;}
.gs-form textarea{min-height:96px;resize:vertical;}
.gs-form .gs-radio-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-weight:400;font-size:14px;}
.gs-form .gs-radio-row label{display:flex;align-items:center;gap:6px;font-weight:500;margin:0;}
.gs-form button,.gs-form .gs-submit{margin-top:22px;border:0;background:var(--gs-amber);color:#3A2A05;font-family:'Figtree';font-weight:800;font-size:15px;padding:13px 24px;border-radius:9px;cursor:pointer;display:inline-block;}
.gs-form .fine{color:var(--gs-muted2);font-size:12.5px;margin-top:12px;line-height:1.5;}

/* ============ PRE-SCREEN RESULT BANDS ============ */
.gs-result{border-radius:14px;padding:20px 22px;margin-top:18px;border:1px solid;}
.gs-result h4{font-family:'Space Grotesk';font-size:17px;margin:0;}
.gs-result ul{margin:10px 0 0 18px;padding:0;font-size:14px;line-height:1.6;color:var(--gs-muted);}
.gs-result.promising{background:var(--gs-tint-green);border-color:#CFE7D8;}
.gs-result.closer{background:var(--gs-tint-amber);border-color:#F3DCA6;}
.gs-result.unlikely{background:#F9E8E4;border-color:#EACFC7;}

/* ============ GLOSSARY ============ */
.gs-glossary dt{font-family:'Space Grotesk';font-weight:700;font-size:15.5px;margin-top:20px;}
.gs-glossary dd{margin:6px 0 0;color:var(--gs-muted);font-size:14.5px;line-height:1.6;max-width:720px;}

/* ============ WEIGHT BARS (model card) ============ */
.gs-weights{margin-top:18px;}
.gs-weight{display:grid;grid-template-columns:240px 1fr 48px;gap:12px;align-items:center;margin-bottom:10px;font-size:13.5px;}
.gs-weight .bar{height:10px;background:#EDEAE1;border-radius:999px;overflow:hidden;}
.gs-weight .bar span{display:block;height:100%;background:var(--gs-blue);}
.gs-weight strong{font-family:'Space Grotesk';}

/* ============ PAGE CTA BAND (reuses .gs-cta look, lighter) ============ */
.gs-endcta{margin-top:64px;background:linear-gradient(120deg,#1E4E86,#2C6CB5);border-radius:20px;padding:40px;text-align:center;color:#fff;}
.gs-endcta h2{font-size:28px;font-weight:700;max-width:640px;margin:0 auto;}
.gs-endcta .gs-cta-row{display:flex;gap:14px;justify-content:center;margin-top:22px;flex-wrap:wrap;}

/* ============ NOTICE (Lab guardrail, legal placeholders) ============ */
.gs-notice{background:#fff;border:1px dashed var(--gs-amber);border-radius:12px;padding:16px 18px;font-size:13.5px;color:var(--gs-amber-deep);margin-top:22px;line-height:1.55;}

/* ============ ACCOUNT TABS ============ */
.gs-account{max-width:440px;margin:56px auto 0;}
.gs-account .gs-form{margin-top:16px;}
.gs-tabs{display:flex;gap:8px;}
.gs-tabs a{flex:1;text-align:center;font-weight:700;font-size:14.5px;padding:11px;border-radius:9px;border:1px solid var(--gs-line);background:#fff;color:var(--gs-muted);}
.gs-tabs a.is-active{background:var(--gs-blue-deep);border-color:var(--gs-blue-deep);color:#fff;}
.gs-sso{display:flex;gap:8px;margin-top:14px;}
.gs-sso a{flex:1;text-align:center;border:1px solid var(--gs-line);background:#fff;border-radius:9px;padding:10px;font-weight:600;font-size:13.5px;color:var(--gs-ink);}

/* ============ RESPONSIVE ============ */
@media (max-width:960px){
  .gs-phero h1{font-size:34px;}
  .gs-grid-2,.gs-fork{grid-template-columns:1fr;}
  .gs-tiles{grid-template-columns:1fr 1fr;}
  .gs-timeline{grid-template-columns:1fr 1fr 1fr;}
  .gs-weight{grid-template-columns:150px 1fr 44px;}
}
@media (max-width:600px){
  .gs-tiles,.gs-timeline{grid-template-columns:1fr;}
  .gs-statstrip{gap:16px;}
}
