/* ============================================================
   SERVICE PAGES: shared component styles.
   Used only by the 12 /service pages (index.html and
   get-started.html keep their own page-specific <style>).
   Relies on brand tokens + .wrap/.nav-*/.footer-* from shared.css.
   ============================================================ */

.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
img{max-width:100%; display:block;}

.eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--mono); font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--ink-dim); border:1px solid var(--line); padding:7px 12px 7px 10px; border-radius:100px;
  margin-bottom:22px;
}
.eyebrow .dot{width:7px; height:7px; border-radius:50%; background:var(--accent2); animation:blink 1.8s ease-in-out infinite;}
@keyframes blink{0%,100%{opacity:1;} 50%{opacity:.25;}}

h1,h2,h3{font-family:var(--display); font-weight:600; letter-spacing:-0.015em;}
.hl{color:var(--accent2);}

.reveal{opacity:0; transform:translateY(26px); transition:opacity .75s cubic-bezier(.2,.7,.2,1), transform .75s cubic-bezier(.2,.7,.2,1);}
.reveal.in-view{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){.reveal{transition:none; opacity:1; transform:none;}}

/* ---------- BREADCRUMB ---------- */
.svc-breadcrumb{padding:20px 0 0; font-family:var(--mono); font-size:11.5px; color:var(--ink-faint); letter-spacing:0.03em;}
.svc-breadcrumb a{color:var(--ink-faint); transition:color .2s ease;}
.svc-breadcrumb a:hover{color:var(--ink-dim);}
.svc-breadcrumb span{margin:0 8px; color:var(--line);}

/* ---------- HERO ---------- */
.svc-hero{display:grid; grid-template-columns:1.15fr 0.85fr; gap:52px; align-items:center; padding:40px 0 88px;}
.svc-hero h1{font-size:clamp(32px,3.6vw,48px); line-height:1.12; max-width:600px;}
.svc-hero .sub{margin-top:20px; font-size:16.5px; line-height:1.65; color:var(--ink-dim); max-width:500px;}
.svc-hero.centered{grid-template-columns:1fr; text-align:center; padding:40px 0 64px;}
.svc-hero.centered .hero-copy{max-width:720px; margin:0 auto;}
.svc-hero.centered h1{max-width:100%; margin:0 auto;}
.svc-hero.centered .sub{max-width:100%; margin-left:auto; margin-right:auto;}
.svc-hero.centered .eyebrow{margin-left:auto; margin-right:auto;}
.svc-hero.centered .svc-cta-row{justify-content:center;}
.svc-cta-row{display:flex; align-items:center; gap:16px; margin-top:32px; flex-wrap:wrap;}
.btn-primary{
  font-family:var(--body); font-weight:600; font-size:14.5px;
  background:var(--accent1); color:#121212; padding:14px 24px; border-radius:8px;
  transition:transform .15s ease, background .2s ease; display:inline-block;
}
.btn-primary:hover{background:var(--accent2); transform:translateY(-2px);}
.btn-secondary{
  font-family:var(--body); font-weight:600; font-size:14.5px; color:var(--ink);
  padding:14px 6px; border-bottom:1px solid var(--ink-faint);
  transition:border-color .2s ease, color .2s ease;
}
.btn-secondary:hover{border-color:var(--accent2); color:var(--accent2);}

/* spec card, hero's right-side "what you get" panel */
.spec-card{
  border:1px solid var(--card-border); border-radius:18px; background:var(--card);
  padding:34px; position:relative; overflow:hidden;
}
.spec-card::before{
  content:''; position:absolute; top:-30%; right:-20%; width:220px; height:220px; border-radius:50%;
  background:radial-gradient(circle, rgba(239,58,36,0.16), transparent 70%); pointer-events:none;
}
.spec-card .spec-label{font-family:var(--mono); font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--accent2); margin-bottom:20px; position:relative;}
.spec-list{display:flex; flex-direction:column; gap:0; position:relative;}
.spec-row{display:flex; justify-content:space-between; align-items:center; gap:14px; padding:14px 0; border-bottom:1px solid var(--line);}
.spec-row:last-child{border-bottom:none;}
.spec-row .k{font-size:13.5px; color:var(--ink-dim);}
.spec-row .v{font-family:var(--display); font-weight:600; font-size:14.5px; color:var(--ink); text-align:right;}

/* ---------- SECTIONS ---------- */
.svc-section{padding:78px 0; border-top:1px solid var(--line);}
.svc-section.alt{background:var(--bg-alt);}
.section-head{max-width:640px; margin-bottom:48px;}
.section-head h2{font-size:clamp(26px,3vw,38px); line-height:1.16;}
.section-head p{margin-top:14px; font-size:15.5px; line-height:1.6; color:var(--ink-dim);}
.section-head.centered{max-width:680px; margin-left:auto; margin-right:auto; text-align:center;}
.section-head.centered .eyebrow{margin-left:auto; margin-right:auto;}

/* ---------- WHY IT MATTERS (two-column copy) ---------- */
.svc-value{display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:start;}
.svc-value .kicker{font-family:var(--mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:14px;}
.svc-value h2{font-size:clamp(26px,3vw,36px); line-height:1.2;}
.svc-value .body-text p{color:var(--ink-dim); font-size:15.5px; line-height:1.75;}
.svc-value .body-text p + p{margin-top:14px;}
.svc-value .body-text em{color:var(--ink); font-style:normal; font-weight:500;}

/* ---------- SPECS / FORMAT GRID ---------- */
.specs-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:8px;}
.specs-tile{border:1px solid var(--card-border); border-radius:14px; background:var(--card); padding:24px 22px;}
.specs-tile .icon-circle{
  width:40px; height:40px; border-radius:50%; border:1px solid var(--card-border);
  display:flex; align-items:center; justify-content:center; color:var(--accent2); margin-bottom:16px;
}
.specs-tile .icon-circle svg{width:18px; height:18px;}
.specs-tile h3{font-family:var(--display); font-weight:600; font-size:15px; margin-bottom:6px;}
.specs-tile p{font-size:13px; color:var(--ink-dim); line-height:1.55;}

/* ---------- INCLUDED CHECKLIST + PLAN BADGE ---------- */
.included-wrap{display:grid; grid-template-columns:1.2fr 0.8fr; gap:48px; align-items:start;}
.included-list{display:flex; flex-direction:column; gap:16px;}
.included-list li{display:flex; align-items:flex-start; gap:12px; font-size:15px; color:var(--ink); line-height:1.5; list-style:none;}
.included-list .tick{
  width:20px; height:20px; border-radius:50%; border:1.5px solid var(--accent1); flex:0 0 auto; margin-top:1px;
  display:flex; align-items:center; justify-content:center;
}
.included-list .tick svg{width:10px; height:10px;}
.plan-badge-card{
  border:1.5px solid rgba(239,58,36,0.4); border-radius:16px; background:var(--card); padding:28px;
  text-align:center;
}
.plan-badge-card .plan-eyebrow{font-family:var(--mono); font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:10px;}
.plan-badge-card h3{font-family:var(--display); font-weight:600; font-size:22px; color:var(--accent2); margin-bottom:10px;}
.plan-badge-card p{font-size:13.5px; color:var(--ink-dim); line-height:1.6; margin-bottom:20px;}
.plan-badge-card .btn-primary{width:100%; text-align:center;}

/* ---------- PROCESS (3-step) ---------- */
.process-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:8px;}
.step-card{border:1px solid var(--line); border-radius:14px; padding:30px; position:relative;}
.step-num{font-family:var(--mono); font-size:12px; color:var(--accent2); margin-bottom:20px;}
.step-card h3{font-family:var(--display); font-size:19px; font-weight:600; margin-bottom:10px;}
.step-card p{font-size:14.5px; color:var(--ink-dim); line-height:1.6;}
.step-arrow{position:absolute; top:32px; right:-24px; color:var(--ink-faint); font-family:var(--mono); font-size:18px;}
@media (max-width:900px){.step-arrow{display:none;}}

/* ---------- WHY-CHOOSE-US (3 bento cards) ---------- */
.why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:8px;}
.why-card{
  border:1px solid var(--card-border); border-radius:16px; background:var(--card);
  padding:28px; transition:border-color .25s ease, transform .25s ease;
}
.why-card:hover{border-color:rgba(240,231,218,0.26); transform:translateY(-2px);}
.why-card .icon-circle{
  width:46px; height:46px; border-radius:50%; border:1px solid var(--card-border);
  display:flex; align-items:center; justify-content:center; color:var(--accent2); margin-bottom:18px;
}
.why-card .icon-circle svg{width:20px; height:20px;}
.why-card h3{font-family:var(--display); font-weight:600; font-size:16.5px; margin-bottom:8px;}
.why-card p{font-size:13.8px; color:var(--ink-dim); line-height:1.6;}

/* ---------- FAQ ---------- */
.svc-faq-list{max-width:760px; margin-top:8px;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{
  width:100%; display:flex; justify-content:space-between; align-items:center; gap:20px;
  padding:20px 4px; background:none; border:none; color:var(--ink); font-family:var(--display);
  font-size:16px; font-weight:500; text-align:left; cursor:pointer;
}
.faq-q .plus{font-family:var(--mono); font-size:18px; color:var(--accent2); transition:transform .25s ease; flex:0 0 auto;}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.faq-a p{padding:0 4px 20px; font-size:14.5px; color:var(--ink-dim); line-height:1.65; max-width:640px;}

/* ---------- RELATED SERVICES ---------- */
.related-wrap{display:flex; flex-wrap:wrap; gap:12px; margin-top:8px;}
.related-chip{
  display:inline-flex; align-items:center; gap:8px; padding:11px 18px; border-radius:100px;
  border:1px solid var(--card-border); background:var(--card); font-size:13.5px; color:var(--ink-dim);
  transition:border-color .2s ease, color .2s ease;
}
.related-chip:hover{border-color:var(--accent2); color:var(--ink);}
.related-chip .arrow{color:var(--accent2);}

/* ---------- FINAL CTA ---------- */
.svc-final-cta{padding:96px 0; text-align:center; border-top:1px solid var(--line); position:relative; overflow:hidden;}
.svc-final-cta .final-glow{position:absolute; bottom:-30%; left:50%; width:700px; height:700px; transform:translateX(-50%); background:radial-gradient(circle, rgba(205,198,158,0.14), transparent 65%); filter:blur(30px); pointer-events:none;}
.svc-final-cta h2{font-size:clamp(26px,3.6vw,40px); max-width:640px; margin:0 auto; position:relative; z-index:2;}
.svc-final-cta p{margin-top:14px; color:var(--ink-dim); font-size:15.5px; position:relative; z-index:2;}
.svc-final-cta .svc-cta-row{justify-content:center; position:relative; z-index:2;}

/* ---------- COMPARISON TABLE ---------- */
.cmp-table-wrap{overflow-x:auto; border:1px solid var(--card-border); border-radius:16px; background:var(--card);}
.cmp-table{width:100%; border-collapse:collapse; min-width:600px;}
.cmp-table th, .cmp-table td{padding:16px 22px; text-align:left; font-size:14px; border-bottom:1px solid var(--line); vertical-align:top;}
.cmp-table thead th{font-family:var(--display); font-weight:600; font-size:14.5px; color:var(--ink); background:rgba(240,231,218,0.03);}
.cmp-table th.us, .cmp-table td.us{background:rgba(239,58,36,0.08); color:var(--ink); font-weight:600;}
.cmp-table tbody tr:last-child td{border-bottom:none;}
.cmp-table td.dim, .cmp-table td:first-child{color:var(--ink-dim); font-family:var(--mono); font-size:12px; letter-spacing:0.03em; text-transform:uppercase; white-space:nowrap; font-weight:400;}
.cmp-table td:not(.us):not(.dim):not(:first-child){color:var(--ink-dim); font-size:13.8px; line-height:1.5;}

/* ---------- VERDICT CARDS ---------- */
.verdict-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.verdict-card{border-radius:16px; padding:28px; border:1.5px solid var(--card-border); background:var(--card);}
.verdict-card.us{border-color:rgba(239,58,36,0.45);}
.verdict-card .tag{font-family:var(--mono); font-size:10px; color:var(--accent2); text-transform:uppercase; letter-spacing:0.06em; display:block; margin-bottom:8px;}
.verdict-card h2{font-family:var(--display); font-weight:600; font-size:17px; line-height:1.4;}
.verdict-card p{margin-top:14px; font-size:13.8px; color:var(--ink-dim); line-height:1.65;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .svc-hero{grid-template-columns:1fr; padding:24px 0 56px; gap:32px;}
  .svc-hero h1{max-width:100%;}
  .svc-hero .sub{max-width:100%;}
  .svc-value{grid-template-columns:1fr; gap:24px;}
  .specs-grid{grid-template-columns:repeat(2,1fr);}
  .included-wrap{grid-template-columns:1fr; gap:28px;}
  .process-grid{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr; gap:16px;}
  .svc-section{padding:56px 0;}
  .verdict-grid{grid-template-columns:1fr;}
}
