/* Service pages built by src/templates/service.mjs. Same Cobalt tokens and components as the
   hand built service pages; the pieces below are this template's own. Prefix: sv */

/* ---------- hero ---------- */
.sv-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.sv-new{margin:0;background:transparent;color:var(--yellow);box-shadow:inset 0 0 0 1.5px var(--yellow)}
.page-hero--blue .sv-new{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.8)}
.sv-hero .page-title{max-width:15ch}
.sv-hero .page-hero-grid.has-aside{grid-template-columns:1.3fr 1fr}

.sv-facts{border:1px solid var(--line-light);border-radius:var(--radius);padding:clamp(22px,2.4vw,34px) clamp(22px,2.6vw,36px) clamp(8px,1vw,14px);background:rgba(255,255,255,.04)}
.page-hero--blue .sv-facts{background:rgba(11,13,20,.16);border-color:rgba(255,255,255,.3)}
.sv-facts-label{font-size:12.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;line-height:1.4;color:rgba(255,255,255,.62);margin-bottom:6px}
.page-hero--blue .sv-facts-label{color:rgba(255,255,255,.82)}
.sv-facts li{position:relative;display:grid;gap:5px;padding:clamp(16px,1.6vw,22px) 0 clamp(16px,1.6vw,22px) 34px}
.sv-facts li+li{border-top:1px solid var(--line-light)}
.sv-facts li::before{content:"";position:absolute;left:0;top:calc(clamp(16px,1.6vw,22px) + .32em);width:18px;height:18px;border-radius:50%;background:var(--yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.4l2.6 2.6L13 6.6' fill='none' stroke='%230B0D14' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.sv-fact-title{font-family:var(--display);font-weight:800;font-size:clamp(20px,1.75vw,26px);letter-spacing:-.03em;line-height:1.14;text-wrap:balance}
.sv-fact-text{font-size:15.5px;line-height:1.5;color:rgba(255,255,255,.76)}
@media (max-width:899px){.sv-hero .page-hero-grid.has-aside{grid-template-columns:1fr}}

/* ---------- what you get ---------- */
.sv-get{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.sv-get-card{grid-column:span 2;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px 30px}
.sv-get--4 .sv-get-card{grid-column:span 3}
.sv-get--5 .sv-get-card:nth-child(-n+2){grid-column:span 3}
.sv-get-n{font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.04em;line-height:1;color:var(--blue);padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.sv-get-title{font-family:var(--display);font-weight:800;font-size:clamp(21px,1.6vw,24px);letter-spacing:-.03em;line-height:1.12;margin-bottom:10px;text-wrap:balance}
.sv-get-card p{font-size:15.5px;line-height:1.55;color:var(--ink-3)}
@media (max-width:1099px){
  .sv-get .sv-get-card,.sv-get--5 .sv-get-card:nth-child(-n+2){grid-column:span 3}
  .sv-get--5 .sv-get-card:last-child{grid-column:span 6}
}
@media (max-width:699px){
  .sv-get{grid-template-columns:minmax(0,1fr);gap:14px}
  .sv-get .sv-get-card,.sv-get--5 .sv-get-card:nth-child(-n+2),.sv-get--5 .sv-get-card:last-child{grid-column:auto;padding:22px 22px 24px}
}

/* ---------- illustration under the cards ---------- */
.sv-visual{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,64px);margin-top:clamp(28px,3.4vw,48px);padding:clamp(16px,1.8vw,24px);background:#fff;border:1px solid var(--line);border-radius:calc(var(--radius) + 6px)}
.sv-visual-media{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--paper-2);border:1px solid var(--line)}
.sv-browser{display:flex;gap:7px;align-items:center;height:34px;padding:0 14px;background:var(--ink)}
.sv-browser i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.3)}
.sv-visual-media img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top center}
.sv-visual-media .tag{position:absolute;left:14px;bottom:14px;margin:0;box-shadow:0 6px 18px rgba(11,13,20,.28)}
.sv-visual-body{padding:clamp(4px,1vw,14px) clamp(4px,1.6vw,24px) clamp(8px,1vw,14px) 0}
.sv-visual-kicker{font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);line-height:1.4;margin-bottom:12px}
.sv-visual-title{font-family:var(--display);font-weight:800;font-size:clamp(1.5rem,1.1rem + 1.3vw,2.2rem);letter-spacing:-.035em;line-height:1.06;text-wrap:balance;margin-bottom:14px}
.sv-visual-caption{font-size:16.5px;line-height:1.6;color:var(--ink-3);max-width:56ch}
.sv-visual .text-link{display:inline-block;margin-top:18px}

.sv-visual--type{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;padding:clamp(28px,3.6vw,52px);background:var(--blue);border-color:transparent;color:#fff}
.sv-visual--type .sv-visual-body{padding:0}
.sv-visual--type .tag{margin-bottom:18px}
.sv-visual--type .tag--ink{background:#fff;color:var(--ink)}
.sv-visual--type .sv-visual-title{font-size:clamp(1.8rem,1.2rem + 2vw,2.9rem);margin-bottom:0}
.sv-visual--type .sv-visual-caption{color:rgba(255,255,255,.9);font-size:clamp(16.5px,1.25vw,18.5px)}
.sv-visual--type .text-link{color:#fff}
@media (max-width:899px){
  .sv-visual,.sv-visual--type{grid-template-columns:minmax(0,1fr)}
  .sv-visual-body{padding:0 6px 10px}
  .sv-visual--type{gap:18px}
}

/* ---------- two column sections: heading on the left, list on the right ---------- */
.sv-split{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:clamp(32px,6vw,104px);align-items:start}
.sv-split-head{position:sticky;top:calc(var(--header-h) + 36px)}
.sv-split-head .section-title{font-size:clamp(2.2rem,1.3rem + 3vw,3.7rem);text-wrap:balance}
.sv-split .faq{max-width:none}
.sv-split-head .text-link{white-space:nowrap}
@media (max-width:899px){
  .sv-split{grid-template-columns:minmax(0,1fr);gap:28px}
  .sv-split-head{position:static}
}

/* ---------- how it works ---------- */
.sv-steps{border-top:2px solid var(--ink)}
.sv-steps li{display:grid;grid-template-columns:clamp(60px,6vw,92px) minmax(0,1fr);gap:0 clamp(12px,2vw,28px);align-items:start;padding:clamp(22px,2.4vw,32px) 0;border-bottom:1px solid var(--line)}
.sv-step-n{font-family:var(--display);font-weight:800;font-size:clamp(40px,3.6vw,56px);letter-spacing:-.045em;line-height:.9;color:var(--blue)}
.sv-steps h3{font-family:var(--display);font-weight:800;font-size:clamp(21px,1.7vw,26px);letter-spacing:-.03em;line-height:1.14;margin-bottom:8px}
.sv-steps p{font-size:16px;line-height:1.58;color:var(--ink-3);max-width:58ch}

/* ---------- pricing and good to know ---------- */
.sv-money{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:20px;align-items:stretch}
.sv-price{display:flex;flex-direction:column;background:var(--ink);color:#fff;border-radius:var(--radius);padding:clamp(26px,3vw,44px)}
.sv-price-label,.sv-know-title{font-family:var(--sans);font-size:12.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;line-height:1.4}
.sv-price-label{color:var(--yellow);margin-bottom:8px}
.sv-price-rows{flex:1;display:flex;flex-direction:column}
.sv-price-rows li{flex:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 28px;align-items:center;padding:clamp(18px,2vw,26px) 0;border-bottom:1px solid var(--line-light)}
.sv-price-what h3{font-family:var(--display);font-weight:800;font-size:clamp(21px,1.75vw,26px);letter-spacing:-.03em;line-height:1.14}
.sv-price-what p{margin-top:8px;font-size:15.5px;line-height:1.52;color:rgba(255,255,255,.74);max-width:44ch}
.sv-price-amount{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.sv-price-amount strong{font-family:var(--display);font-weight:800;font-size:clamp(40px,3.9vw,60px);letter-spacing:-.045em;line-height:.95;color:var(--yellow)}
.sv-price-from,.sv-price-unit{font-size:15px;font-weight:600;color:rgba(255,255,255,.72)}
.sv-price .actions{margin-top:auto;padding-top:clamp(24px,2.6vw,34px)}
/* quoted panel: when the paragraph is short the buttons sit on a ruled footer, so the gap reads as intended */
.sv-price--quoted .sv-price-text{margin-bottom:clamp(24px,2.6vw,34px)}
.sv-price--quoted .actions{border-top:1px solid var(--line-light)}
.sv-price-big{font-family:var(--display);font-weight:800;font-size:clamp(2rem,1.2rem + 2.6vw,3.3rem);letter-spacing:-.04em;line-height:1;text-wrap:balance;margin-top:6px}
.sv-price-big em{font-style:normal;color:var(--yellow)}
.sv-price-text{margin-top:20px;font-size:clamp(16px,1.2vw,17.5px);line-height:1.62;color:rgba(255,255,255,.8);max-width:56ch}

.sv-know{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(26px,3vw,44px) clamp(24px,2.8vw,40px) clamp(14px,1.6vw,24px)}
.sv-know-title{color:var(--blue);margin-bottom:8px}
.sv-know li{position:relative;padding:15px 0 15px 26px;font-size:15.5px;line-height:1.55;color:var(--ink-3)}
.sv-know li+li{border-top:1px solid var(--line)}
.sv-know li::before{content:"";position:absolute;left:1px;top:calc(15px + .46em);width:9px;height:9px;border-radius:3px;background:var(--ink)}
.sv-know strong{color:var(--ink);font-weight:700}
.sv-note{margin-top:22px;line-height:1.6}
@media (max-width:999px){.sv-money{grid-template-columns:minmax(0,1fr)}}
@media (max-width:519px){
  .sv-price-rows li{grid-template-columns:minmax(0,1fr)}
  .sv-price .actions .btn{flex:1 1 100%}
}

/* ---------- why it matters: the home page benefit cards ---------- */
.sv-why{--p-surface:#10131C;--p-surface-2:#161A26;--p-line:rgba(255,255,255,.1);--p-line-hi:rgba(255,255,255,.26);--p-blue:#5E8FFF;--p-muted:rgba(255,255,255,.68)}
.sv-why-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(14px,1.8vw,24px)}
.sv-why-grid>li{display:grid;min-width:0}
.js .sv-why-grid>li[data-reveal]{transition-delay:calc(var(--i,0)*60ms)}
.sv-why-card{display:flex;flex-direction:column;justify-content:flex-start;gap:clamp(28px,4vw,64px);padding:clamp(24px,2.3vw,32px);background:var(--p-surface);border:1px solid var(--p-line);border-radius:var(--radius);transition:transform .4s var(--ease),border-color .25s,background-color .25s}
.sv-why-card:hover{transform:translateY(-4px);border-color:var(--p-line-hi);background:var(--p-surface-2)}
.sv-why-icon{width:36px;height:36px;fill:none;stroke:var(--p-blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sv-why-title{font-family:var(--display);font-weight:800;font-size:clamp(1.25rem,1.1rem + .35vw,1.42rem);letter-spacing:-.03em;line-height:1.15;margin-bottom:9px;text-wrap:balance}
.sv-why-text{font-size:15.5px;line-height:1.55;color:var(--p-muted)}
@media (min-width:640px){
  .sv-why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sv-why-card{min-height:230px}
}
@media (min-width:1240px){
  .sv-why-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sv-why-card{min-height:280px}
}

/* ---------- related services ---------- */
.sv-related .card-title{font-size:clamp(22px,1.8vw,27px)}
.sv-related .cards--2{max-width:920px}

@media (prefers-reduced-motion:reduce){.sv-why-card:hover{transform:none}}
.sv-visual--type :focus-visible{outline-color:var(--yellow)}
