/* ============================================================
   Scope & Entity Verification — shared stylesheet
   One stylesheet, five pages. No external fonts, no frameworks.
   Palette matches the free 20-point checklist (lead magnet) so
   the whole funnel looks like one brand.
   ============================================================ */

:root{
  --ink:#1a1f2e;
  --sub:#5a6273;
  --accent:#0f6b5c;
  --accent-dark:#0b5045;
  --accent-soft:#e7f3f0;
  --warn:#b45309;
  --warn-soft:#fef3e2;
  --line:#e3e7ef;
  --line-strong:#cdd4e0;
  --paper:#ffffff;
  --bg:#f2f4f8;
  --radius:10px;
  --maxw:1080px;
  --measure:700px;
  --font:"Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
}

*{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;}

body{
  margin:0;
  font-family:var(--font);
  font-size:16px;
  line-height:1.62;
  color:var(--ink);
  background:var(--bg);
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
}

img{max-width:100%;height:auto;display:block;}

a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}

:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:3px;
}

.skip-link{
  position:absolute;left:-9999px;top:0;
  background:var(--accent);color:#fff;padding:10px 16px;z-index:99;
  border-radius:0 0 var(--radius) 0;
}
.skip-link:focus{left:0;}

.wrap{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 28px;
}

/* ---------- placeholder marker -------------------------------------------
   Anything wrapped in .ph must be replaced before the site goes live.
   It is deliberately loud so nothing ships half-finished.
   ------------------------------------------------------------------------ */
.ph{
  background:var(--warn-soft);
  border-bottom:2px dashed var(--warn);
  color:var(--warn);
  padding:0 3px;
  font-weight:600;
}

/* ---------- header ------------------------------------------------------- */
.site-header{
  background:var(--paper);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:20;
}
.header-inner{
  display:flex;align-items:center;gap:24px;
  min-height:66px;flex-wrap:wrap;
  padding-top:10px;padding-bottom:10px;
}
.brand{
  display:flex;align-items:center;gap:10px;
  font-weight:800;font-size:16px;letter-spacing:-.01em;
  color:var(--ink);
}
.brand:hover{text-decoration:none;}
.brand .dot{
  width:10px;height:10px;border-radius:50%;
  background:var(--accent);flex:0 0 auto;
}
.brand .tag{
  display:block;
  font-size:11px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--sub);
  line-height:1.2;
}
.site-nav{
  margin-left:auto;
  display:flex;gap:4px;flex-wrap:wrap;
}
.site-nav a{
  display:block;
  padding:8px 12px;border-radius:7px;
  font-size:14px;font-weight:600;color:var(--sub);
}
.site-nav a:hover{background:var(--accent-soft);color:var(--accent-dark);text-decoration:none;}
.site-nav a[aria-current="page"]{color:var(--accent-dark);background:var(--accent-soft);}

/* ---------- generic page shells ------------------------------------------ */
main{display:block;}

.sheet{
  max-width:var(--maxw);
  margin:0 auto;
  background:var(--paper);
  padding:0 0 8px;
}

.band{border-top:1px solid var(--line);}
.band:first-of-type{border-top:none;}

.section{padding:52px 28px;max-width:var(--maxw);margin:0 auto;}
.section.tight{padding-top:36px;padding-bottom:36px;}
.section.soft{background:var(--accent-soft);max-width:none;}
.section.soft > .inner{max-width:var(--maxw);margin:0 auto;}
.section.ink{background:var(--ink);color:#eef1f6;max-width:none;}
.section.ink > .inner{max-width:var(--maxw);margin:0 auto;}

/* ---------- typography --------------------------------------------------- */
h1,h2,h3,h4{line-height:1.22;margin:0 0 14px;font-weight:800;letter-spacing:-.01em;}

h1{font-size:40px;}
h2{font-size:27px;}
h3{font-size:19px;font-weight:750;}
h4{font-size:15px;font-weight:750;letter-spacing:0;}

p{margin:0 0 16px;max-width:var(--measure);}
p.wide,li.wide{max-width:none;}

.eyebrow{
  display:inline-block;
  font-size:12px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent);
  margin-bottom:12px;
}
.lede{font-size:18px;color:var(--sub);max-width:660px;}
.muted{color:var(--sub);}
small,.small{font-size:13.5px;line-height:1.55;}

.section.ink h2,.section.ink h3{color:#fff;}
.section.ink p,.section.ink li{color:#c7cedd;}
.section.ink .steps strong{color:#fff;}
.section.ink .steps li::before{background:#2f9a86;}
.section.ink .steps li::after{background:#3a4459;}

/* ---------- hero --------------------------------------------------------- */
.hero{padding:64px 28px 52px;max-width:var(--maxw);margin:0 auto;}
.hero h1{max-width:820px;font-size:42px;}
.hero .lede{margin-bottom:26px;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px;}

.trustline{
  display:flex;gap:10px 22px;flex-wrap:wrap;
  padding-top:20px;border-top:1px solid var(--line);
  font-size:13.5px;font-weight:600;color:var(--sub);
}
.trustline span{display:flex;align-items:center;gap:7px;}
.trustline span::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--accent);flex:0 0 auto;
}

/* ---------- buttons ------------------------------------------------------ */
.btn{
  display:inline-block;
  padding:13px 22px;
  border-radius:8px;
  font-size:15px;font-weight:700;
  border:1.5px solid transparent;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease;
}
.btn:hover{text-decoration:none;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:var(--accent-dark);}
.btn-ghost{background:transparent;color:var(--accent-dark);border-color:var(--line-strong);}
.btn-ghost:hover{border-color:var(--accent);background:var(--accent-soft);}
.btn-light{background:#fff;color:var(--ink);}
.btn-light:hover{background:#e9edf5;}
.btn-sm{padding:9px 16px;font-size:13.5px;}

/* ---------- cards -------------------------------------------------------- */
.grid{display:grid;gap:18px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}

.card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:26px 24px;
  display:flex;flex-direction:column;
}
.card h3{margin-bottom:8px;}
.card p{font-size:14.5px;color:var(--sub);margin-bottom:16px;max-width:none;}
.card .price{
  margin-top:auto;padding-top:16px;border-top:1px solid var(--line);
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
}
.card .price .amount{font-size:22px;font-weight:800;color:var(--accent-dark);}
.card .price .unit{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--sub);}

.tick{list-style:none;margin:0 0 4px;padding:0;}
.tick li{
  position:relative;padding-left:24px;margin-bottom:9px;
  font-size:14.5px;color:var(--ink);max-width:none;
}
.tick li::before{
  content:"";position:absolute;left:2px;top:8px;
  width:7px;height:12px;
  border-right:2.5px solid var(--accent);
  border-bottom:2.5px solid var(--accent);
  transform:rotate(42deg);
}
.tick.dash li::before{
  width:12px;height:0;border:0;border-top:2.5px solid var(--line-strong);
  transform:none;top:11px;
}

/* ---------- callouts ----------------------------------------------------- */
.callout{
  border-radius:var(--radius);
  padding:22px 24px;
  margin:0 0 22px;
  max-width:var(--measure);
}
.callout p:last-child{margin-bottom:0;}
.callout .label{
  display:block;font-size:12px;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:8px;
}
.callout-accent{background:var(--accent-soft);border-left:4px solid var(--accent);}
.callout-accent .label{color:var(--accent-dark);}
.callout-warn{background:var(--warn-soft);border-left:4px solid var(--warn);}
.callout-warn .label{color:var(--warn);}
.callout-plain{background:#f6f7fa;border-left:4px solid var(--line-strong);}
.callout-plain .label{color:var(--sub);}

/* ---------- tables ------------------------------------------------------- */
.table-scroll{overflow-x:auto;margin:0 0 22px;max-width:100%;}
table{
  border-collapse:collapse;
  width:100%;
  min-width:520px;
  font-size:14px;
}
caption{
  caption-side:top;text-align:left;
  font-size:13px;font-weight:700;color:var(--sub);
  padding-bottom:9px;
}
th,td{
  text-align:left;vertical-align:top;
  padding:11px 13px;
  border-bottom:1px solid var(--line);
}
thead th{
  background:#f6f7fa;
  font-size:12.5px;font-weight:800;letter-spacing:.03em;
  text-transform:uppercase;color:var(--sub);
  border-bottom:1.5px solid var(--line-strong);
  white-space:nowrap;
}
tbody tr:last-child td{border-bottom:1px solid var(--line-strong);}
td .yes{color:var(--accent-dark);font-weight:700;}
td .no{color:var(--warn);font-weight:700;}

/* ---------- chips -------------------------------------------------------- */
.chip{
  display:inline-block;
  font-size:11.5px;font-weight:800;letter-spacing:.05em;
  text-transform:uppercase;
  padding:3px 9px;border-radius:999px;
  white-space:nowrap;
}
.chip-ok{background:var(--accent-soft);color:var(--accent-dark);}
.chip-warn{background:var(--warn-soft);color:var(--warn);}
.chip-neutral{background:#eef0f5;color:var(--sub);}
.chip-strong{background:var(--ink);color:#fff;}

.verdict{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--warn-soft);border:1.5px solid var(--warn);
  border-radius:8px;padding:9px 15px;
  font-size:14px;font-weight:800;color:var(--warn);
  margin-bottom:18px;
}

/* ---------- steps -------------------------------------------------------- */
.steps{list-style:none;margin:0;padding:0;counter-reset:s;}
.steps li{
  counter-increment:s;
  position:relative;
  padding:0 0 20px 46px;
  max-width:none;
}
.steps li::before{
  content:counter(s);
  position:absolute;left:0;top:0;
  width:29px;height:29px;border-radius:50%;
  background:var(--accent);color:#fff;
  font-size:13.5px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}
.steps li::after{
  content:"";position:absolute;left:14px;top:34px;bottom:6px;
  width:1.5px;background:var(--line-strong);
}
.steps li:last-child{padding-bottom:0;}
.steps li:last-child::after{display:none;}
.steps strong{display:block;font-size:15.5px;margin-bottom:2px;}
.steps span{font-size:14.5px;color:var(--sub);}

/* ---------- service block ------------------------------------------------ */
.service{
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:30px 28px;
  margin-bottom:26px;
  background:var(--paper);
}
.service .top{
  display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;
  margin-bottom:12px;
}
.service .top h3{flex:1 1 340px;margin:0;}
.service .from{
  font-size:15px;font-weight:800;color:var(--accent-dark);
  background:var(--accent-soft);border-radius:7px;
  padding:7px 13px;white-space:nowrap;
}
.service .pitch{
  font-size:15.5px;color:var(--sub);
  margin:0 0 22px;padding-bottom:20px;
  border-bottom:1px solid var(--line);
  max-width:var(--measure);
}
.spec{display:grid;grid-template-columns:repeat(2,1fr);gap:22px 30px;margin-bottom:22px;}
.spec h4{
  font-size:12px;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--accent);margin-bottom:9px;
}
.spec ul{margin:0;padding-left:19px;}
.spec li{font-size:14.5px;margin-bottom:7px;color:var(--ink);}
.spec p{font-size:14.5px;color:var(--sub);margin:0;max-width:none;}

/* ---------- report sample ------------------------------------------------ */
.report{
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  margin-bottom:26px;
}
.report-head{
  background:var(--ink);color:#fff;
  padding:24px 26px;
}
.report-head .kicker{
  font-size:11.5px;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;color:#8fd4c6;margin-bottom:8px;
}
.report-head h2{font-size:22px;margin:0 0 6px;color:#fff;}
.report-head p{color:#b9c2d4;font-size:14px;margin:0;max-width:none;}
.report-body{padding:26px;}

.metagrid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:8px;
  overflow:hidden;margin-bottom:24px;
}
.metagrid.mg-4{grid-template-columns:repeat(4,1fr);}
.metagrid div{background:var(--paper);padding:15px 17px;}
.metagrid dt{
  font-size:11px;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--sub);margin-bottom:5px;
}
.metagrid dd{margin:0;font-size:15px;font-weight:700;}

.score{font-size:34px;font-weight:800;color:var(--accent-dark);line-height:1;}

/* ---------- faq ---------------------------------------------------------- */
.faq{border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{
  cursor:pointer;list-style:none;
  padding:17px 34px 17px 0;
  font-size:15.5px;font-weight:700;
  position:relative;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"+";position:absolute;right:8px;top:15px;
  font-size:20px;font-weight:700;color:var(--accent);
  line-height:1;
}
.faq details[open] summary::after{content:"\2013";}
.faq details p{
  padding:0 34px 18px 0;margin:0;
  font-size:14.5px;color:var(--sub);
  max-width:var(--measure);
}

/* ---------- contact ------------------------------------------------------ */
.contact-card{
  border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 24px;background:var(--paper);
}
.contact-card .k{
  font-size:11.5px;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--sub);margin-bottom:6px;
}
.contact-card .v{font-size:16px;font-weight:700;word-break:break-word;}

/* ---------- footer ------------------------------------------------------- */
.site-footer{
  background:var(--ink);color:#9aa4b8;
  padding:40px 0 34px;margin-top:0;
}
.site-footer .inner{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.site-footer a{color:#e3e8f2;}
.footer-nav{
  display:flex;gap:6px 18px;flex-wrap:wrap;
  padding-bottom:20px;margin-bottom:20px;
  border-bottom:1px solid #2b3346;
  font-size:13.5px;font-weight:600;
}
.footer-note{
  font-size:12.5px;line-height:1.65;color:#8b95a9;
  max-width:820px;
}
.footer-note strong{color:#c7cedd;}
.footer-copy{
  margin-top:18px;font-size:12.5px;color:#6f7a90;
}

/* ---------- misc --------------------------------------------------------- */
.divider{height:1px;background:var(--line);margin:34px 0;}
.stack-sm > * + *{margin-top:10px;}
.center{text-align:center;}
.center p{margin-left:auto;margin-right:auto;}
.mt-0{margin-top:0;}
.mb-0{margin-bottom:0;}
.mb-lg{margin-bottom:34px;}

/* ---------- responsive --------------------------------------------------- */
@media (max-width:900px){
  .grid-3{grid-template-columns:1fr;}
  .spec{grid-template-columns:1fr;gap:22px;}
  .metagrid{grid-template-columns:repeat(2,1fr);}
  .metagrid.mg-4{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:680px){
  .wrap{padding:0 18px;}
  .section{padding:38px 18px;}
  .hero{padding:40px 18px 36px;}
  h1,.hero h1{font-size:29px;}
  h2{font-size:22px;}
  .lede,.hero .lede{font-size:16.5px;}
  .header-inner{gap:12px;padding-top:12px;padding-bottom:12px;}
  .site-nav{margin-left:0;width:100%;}
  .site-nav a{padding:7px 10px;font-size:13.5px;}
  .grid-2{grid-template-columns:1fr;}
  .metagrid,.metagrid.mg-4{grid-template-columns:1fr;}
  .service{padding:22px 18px;}
  .card{padding:22px 18px;}
  .report-body{padding:18px;}
  .btn{display:block;text-align:center;}
  .hero-actions{gap:10px;}
}

@media print{
  body{background:#fff;}
  .site-header,.hero-actions,.btn{display:none;}
  .section.ink{background:#fff;color:#000;}
  .section.ink h2,.section.ink p,.section.ink li{color:#000;}
  .report-head{background:#fff;color:#000;border-bottom:2px solid #000;}
  .report-head h2,.report-head p,.report-head .kicker{color:#000;}
  a{color:#000;text-decoration:none;}
}
