/* ============================================================
   GSB TRUST CONCEPTS — shared base
   Faithful to the LIVE quote page (quote-maker · design B):
   palette J1, dark topbar, total-only price card, dark accept.
   Concept-only chrome (.conceptbar, .chip-*) lives at the end.
   ============================================================ */

:root{
  --ink:#141414; --ink-soft:#3f3f3f; --ink-mute:#6b6b6b;
  --line:#e7e7e7; --line-strong:#d8d8d8;
  --paper:#ffffff; --paper-warm:#f8f8f7; --paper-warm2:#f0f0ee;

  --gold:#b8923c; --gold-deep:#9a7b2e; --gold-tint:#f5edda;
  --green:#1e7a4d; --green-deep:#155c3a; --green-tint:#e6f3ec;

  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px;
  --s6:32px; --s7:48px; --s8:64px; --s9:96px;

  --radius:14px; --radius-sm:10px;
  --shadow-sm:0 1px 2px rgba(0,0,0,.05);
  --shadow-md:0 14px 40px -18px rgba(0,0,0,.22);
  --shadow-lg:0 30px 70px -30px rgba(0,0,0,.28);
  --maxw:1120px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;
  color:var(--ink); background:var(--paper); line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,.display{font-family:"Plus Jakarta Sans",sans-serif;}
h1,h2,h3,h4{margin:0;line-height:1.1;letter-spacing:-.02em;font-weight:800;}
p{margin:0;}
a{color:inherit;}
img{max-width:100%;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--s5);}
.eyebrow{
  font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);
}
.muted{color:var(--ink-mute);}
.tnum{font-variant-numeric:tabular-nums;}
svg{display:block;}

/* ---------- top utility bar (dark, as on the live page) ---------- */
.topbar{
  border-bottom:1px solid rgba(255,255,255,.08);
  background:#0e0e10;color:#ece9e3;font-size:13px;
}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);height:104px;}
.brandlogo{height:72px;width:auto;display:block;}
.topbar .lic{color:rgba(236,233,227,.75);display:flex;align-items:center;gap:var(--s2);}
.topbar .lic svg{width:15px;height:15px;color:var(--gold);}
.topbar .ph{display:flex;align-items:center;gap:var(--s2);font-weight:700;text-decoration:none;}
.topbar .ph svg{width:14px;height:14px;color:var(--gold);}
.topbar .ph-label{font-weight:500;color:rgba(236,233,227,.65);}
@media(max-width:860px){.topbar .lic{display:none;}.topbar .ph-label{display:none;}}

/* ---------- hero ---------- */
.hero{
  background:
    radial-gradient(1200px 460px at 80% -10%, var(--gold-tint) 0%, rgba(245,237,218,0) 60%),
    var(--paper);
  border-bottom:1px solid var(--line);
  padding:var(--s8) 0 var(--s7);
}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--s8);align-items:start;}
.prepared{
  display:inline-flex;align-items:center;gap:var(--s2);
  font-size:12.5px;font-weight:600;color:var(--ink-soft);
  background:var(--paper-warm);border:1px solid var(--line-strong);
  padding:6px 12px;border-radius:100px;margin-bottom:var(--s3);
}
.prepared .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px var(--green-tint);}
.prepared-meta{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);font-size:12.5px;color:var(--ink-mute);margin-bottom:var(--s5);}
.hero h1{font-size:clamp(34px,4.4vw,54px);line-height:1.04;}
.hero h1 .light{font-weight:500;color:var(--ink-soft);display:block;font-size:.52em;letter-spacing:-.01em;margin-top:var(--s3);}
.hero-sub{margin-top:var(--s5);font-size:17px;color:var(--ink-soft);max-width:46ch;}
.hero-btns{margin-top:var(--s6);display:flex;gap:var(--s3);flex-wrap:wrap;}

/* total-only price card (live page) */
.pricecard{
  background:var(--paper);border:1px solid var(--line-strong);
  border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:hidden;
}
.pc-total{display:flex;flex-direction:column;gap:var(--s1);padding:var(--s6);}
.pc-total .tt-label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);}
.pc-total .tt-val{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:clamp(40px,5vw,52px);letter-spacing:-.03em;line-height:1;}

/* buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);
  font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:15px;
  border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;
  padding:14px 22px;text-decoration:none;
  transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s;
  width:100%;
}
.btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.btn svg{width:16px;height:16px;}
.btn-green{background:var(--green);color:#fff;box-shadow:0 8px 22px -10px rgba(30,122,77,.65);}
.btn-green:hover{background:var(--green-deep);transform:translateY(-1px);}
.btn-ghost{background:var(--paper);color:var(--ink);border-color:var(--line-strong);box-shadow:var(--shadow-sm);width:auto;padding:12px 18px;}
.btn-ghost:hover{border-color:var(--ink-soft);transform:translateY(-1px);}

/* ---------- trust strip (today's baseline) ---------- */
.trust{border-bottom:1px solid var(--line);background:var(--paper-warm);}
.trust .wrap{display:flex;flex-wrap:wrap;gap:var(--s5) var(--s7);align-items:center;justify-content:space-between;padding:var(--s5) var(--s5);}
.tbadge{display:flex;align-items:center;gap:var(--s3);}
.tbadge .ic{width:36px;height:36px;border-radius:9px;flex:0 0 auto;display:grid;place-items:center;background:var(--paper);border:1px solid var(--line-strong);color:var(--gold-deep);box-shadow:var(--shadow-sm);}
.tbadge .ic svg{width:18px;height:18px;}
.tbadge .tt{font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:14px;line-height:1.2;display:block;}
.tbadge .ts{font-size:12px;color:var(--ink-mute);display:block;}
.stars{display:inline-flex;gap:2px;color:var(--gold);}
.stars svg{width:15px;height:15px;}

/* ---------- section scaffolding ---------- */
.section{padding:var(--s9) 0;}
.section.tight{padding:var(--s8) 0;}
.section-head{max-width:62ch;margin-bottom:var(--s7);}
.section-head h2{font-size:clamp(26px,3.2vw,38px);margin-top:var(--s3);}
.section-head p{margin-top:var(--s4);font-size:16.5px;color:var(--ink-soft);}

/* ---------- condensed itemized scope ---------- */
.bill{border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);background:var(--paper);}
.bill-row{padding:var(--s6);border-bottom:1px solid var(--line);}
.bill-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s5);flex-wrap:wrap;}
.bill-row .lead{display:flex;align-items:flex-start;gap:var(--s4);}
.bill-row .idx{
  width:28px;height:28px;border-radius:8px;flex:0 0 auto;display:grid;place-items:center;
  background:var(--gold-tint);color:var(--gold-deep);font-weight:800;font-size:13px;
  font-family:"Plus Jakarta Sans",sans-serif;margin-top:2px;
}
.bill-row h3{font-size:19px;letter-spacing:-.02em;}
.bill-row .price{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:22px;letter-spacing:-.02em;text-align:right;white-space:nowrap;}
.scope{margin:var(--s4) 0 0;padding:0;list-style:none;}
.scope li{display:flex;gap:var(--s2);font-size:14px;color:var(--ink-soft);line-height:1.45;margin-bottom:8px;}
.scope .snum{color:var(--gold-deep);font-weight:700;font-family:"Plus Jakarta Sans",sans-serif;font-size:13px;flex:0 0 auto;margin-top:1px;}
.scope li.more{color:var(--ink-mute);font-style:italic;}
.bill-foot{display:grid;grid-template-columns:1fr auto;gap:var(--s4);padding:var(--s6);background:var(--ink);color:#fff;align-items:center;}
.bill-foot .lab{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6);font-weight:700;}
.bill-foot .grand{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:34px;letter-spacing:-.03em;}
.condensed-note{font-size:12.5px;color:var(--ink-mute);margin-top:var(--s3);font-style:italic;}

/* ---------- deposit / CA-law call-out ---------- */
.deposit-call{
  display:flex;gap:var(--s4);align-items:flex-start;
  background:var(--green-tint);border:1px solid #cfe6d6;border-radius:var(--radius);padding:var(--s5);
}
.deposit-call .ic{width:40px;height:40px;border-radius:10px;background:var(--paper);color:var(--green-deep);display:grid;place-items:center;flex:0 0 auto;box-shadow:var(--shadow-sm);}
.deposit-call .ic svg{width:20px;height:20px;}
.deposit-call h4{font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:16px;color:var(--green-deep);}
.deposit-call p{font-size:14px;color:var(--ink-soft);margin-top:3px;}

/* ---------- testimonial card ---------- */
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);}
.quote{background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius);padding:var(--s6);box-shadow:var(--shadow-sm);}
.quote .stars{margin-bottom:var(--s4);}
.quote blockquote{margin:0;font-size:17px;line-height:1.55;font-family:"Plus Jakarta Sans",sans-serif;font-weight:500;letter-spacing:-.01em;color:var(--ink);}
.quote .who{margin-top:var(--s5);display:flex;align-items:center;gap:var(--s3);}
.quote .av{width:38px;height:38px;border-radius:50%;background:var(--gold-tint);color:var(--gold-deep);display:grid;place-items:center;font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:14px;flex:0 0 auto;}
.quote .who .n{font-weight:700;font-size:14px;font-family:"Plus Jakarta Sans",sans-serif;}
.quote .who .l{font-size:12.5px;color:var(--ink-mute);}

/* ---------- accept / signature (dark, as live) ---------- */
#accept{background:#141414;color:#fff;}
.sign-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8);align-items:center;}
#accept .eyebrow{color:var(--gold);}
#accept h2{color:#fff;font-size:clamp(28px,3.4vw,40px);margin-top:var(--s3);}
#accept .lede{color:rgba(255,255,255,.72);margin-top:var(--s4);font-size:16.5px;max-width:42ch;}
.sign-summary{margin-top:var(--s6);display:flex;flex-direction:column;gap:var(--s3);}
.ss-row{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:rgba(255,255,255,.7);padding-bottom:var(--s3);border-bottom:1px solid rgba(255,255,255,.1);}
.ss-row.big{border-bottom:0;padding-top:var(--s2);}
.ss-row.big .lab{color:#fff;font-weight:600;font-size:15px;}
.ss-row .val{font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;}
.ss-row.big .val{font-size:26px;}
.sign-card{background:var(--paper);color:var(--ink);border-radius:var(--radius);padding:var(--s7);box-shadow:var(--shadow-lg);}
.sign-card .sc-h{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:20px;letter-spacing:-.02em;}
.sign-stack{display:flex;flex-direction:column;gap:var(--s3);margin-top:var(--s5);}
.warranty-line{margin-top:var(--s5);font-size:12.5px;color:var(--ink-mute);text-align:center;line-height:1.5;}

/* ---------- footer ---------- */
.foot{padding:var(--s8) 0;border-top:1px solid var(--line);background:var(--paper-warm);font-size:13.5px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--s7);}
.footlogo{height:84px;width:auto;display:block;margin-bottom:var(--s4);}
.foot h5{font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:var(--s4);}
.foot a{color:var(--ink-soft);text-decoration:none;display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s2);}
.foot a:hover{color:var(--gold-deep);}
.foot a svg{width:14px;height:14px;}
.foot .legal{color:var(--ink-mute);margin-top:var(--s3);line-height:1.6;}

/* ---------- responsive ---------- */
@media(max-width:920px){
  .hero-grid,.sign-grid{grid-template-columns:1fr;gap:var(--s7);}
  .quotes{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:620px){
  .wrap{padding:0 var(--s4);}
  .section{padding:var(--s8) 0;}
  .bill-head{flex-direction:column;}
  .bill-row .price{text-align:left;}
  .bill-foot{grid-template-columns:1fr;gap:var(--s3);}
  .foot-grid{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important;}
}

/* ============================================================
   CONCEPT-REVIEW CHROME — not part of the design.
   Slate bar + chips so reviewers can tell additions from
   baseline and real facts from placeholder data.
   ============================================================ */
.conceptbar{
  background:#1c2733;color:#cbd5e1;font-size:12.5px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  padding:9px 0;
}
.conceptbar .wrap{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap;}
.conceptbar b{color:#fff;letter-spacing:.04em;}
.conceptbar a{color:#8fb8e8;text-decoration:none;margin-left:auto;}
.conceptbar a:hover{text-decoration:underline;}
.conceptbar .legend{display:flex;align-items:center;gap:var(--s3);color:#94a3b8;}
.chip-new,.chip-sample{
  display:inline-flex;align-items:center;vertical-align:middle;
  font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:9.5px;
  letter-spacing:.1em;text-transform:uppercase;line-height:1;
  padding:4px 7px;border-radius:100px;margin-left:8px;position:relative;top:-1px;
}
.chip-new{background:var(--gold);color:#fff;}
.chip-sample{background:#f59e0b;color:#fff;cursor:help;}
#accept .chip-sample,#accept .chip-new{box-shadow:0 0 0 2px rgba(255,255,255,.25);}
