/*
Theme Name: Sprint 7 Group Consultancy
Theme URI: https://sprint7group.co.uk/
Author: Sprint 7 Group
Description: Bespoke WordPress theme for Sprint 7 Group automotive e-commerce consultancy.
Version: 1.5
Text Domain: sprint7
*/

:root{
  --s7-navy:#213f6b;
  --s7-orange:#ff861a;
  --s7-blue:#1739b5;
  --s7-ink:#09111f;
  --s7-slate:#566579;
  --s7-bg:#f5f7fa;
  --s7-white:#fff;
  --s7-border:#dfe5ec;
  --s7-radius:22px;
  --s7-max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--s7-ink);background:#fff;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.container{width:min(calc(100% - 40px),var(--s7-max));margin-inline:auto}
.eyebrow{display:inline-flex;gap:.5rem;align-items:center;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;color:var(--s7-orange)}
.eyebrow:before{content:"";width:28px;height:2px;background:currentColor}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(223,229,236,.8)}
.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:14px;font-weight:900;letter-spacing:-.02em}
.brand img{width:auto;max-height:52px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,var(--s7-navy),var(--s7-blue));color:white;font-weight:900}.brand-name{font-size:1.05rem}.brand-name span{color:var(--s7-orange)}
.nav{display:flex;gap:27px;align-items:center;font-size:.94rem;font-weight:700}.nav a:hover{color:var(--s7-orange)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 20px;border-radius:12px;font-weight:800;transition:.2s;border:1px solid transparent}.btn-primary{background:var(--s7-orange);color:#111}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(255,134,26,.25)}.btn-secondary{background:#fff;color:var(--s7-ink);border-color:var(--s7-border)}
.hero{position:relative;overflow:hidden;padding:104px 0 78px;background:radial-gradient(circle at 82% 20%,rgba(255,134,26,.16),transparent 23%),linear-gradient(135deg,#07101f 0%,#10203a 62%,#17345f 100%);color:white}.hero:after{content:"";position:absolute;right:-110px;bottom:-210px;width:560px;height:560px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 62px rgba(255,255,255,.03),0 0 0 124px rgba(255,255,255,.025)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.35fr .8fr;gap:70px;align-items:center}.hero h1{font-size:clamp(3rem,6vw,5.9rem);line-height:.94;letter-spacing:-.06em;margin:18px 0 24px;max-width:850px}.hero h1 em{font-style:normal;color:var(--s7-orange)}.hero p{font-size:1.17rem;color:#d4deec;max-width:720px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.hero .btn-secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:white}
.hero-panel{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.24)}.hero-panel strong{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#aebcd0}.flow{display:grid;gap:10px;margin-top:18px}.flow div{display:flex;justify-content:space-between;gap:16px;padding:13px 15px;border-radius:12px;background:rgba(255,255,255,.065);font-size:.92rem}.flow b{color:var(--s7-orange)}
.section{padding:92px 0}.section-alt{background:var(--s7-bg)}.section-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:end;margin-bottom:42px}.section h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1;letter-spacing:-.045em;margin:12px 0}.lead{font-size:1.08rem;color:var(--s7-slate)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:28px;border:1px solid var(--s7-border);border-radius:var(--s7-radius);background:white;transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(16,32,58,.08)}.card .num{font-size:.78rem;color:var(--s7-orange);font-weight:900;letter-spacing:.12em}.card h3{font-size:1.35rem;margin:26px 0 10px}.card p{margin:0;color:var(--s7-slate)}
.band{background:var(--s7-navy);color:white;padding:48px 0}.band-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;text-align:center}.band-grid div{padding:10px}.band-grid strong{display:block;font-size:1.06rem}.band-grid span{font-size:.82rem;color:#c8d4e4}
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.feature-box{background:var(--s7-ink);color:white;padding:38px;border-radius:30px}.feature-box ul{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:14px}.feature-box li{display:flex;gap:12px;align-items:flex-start;color:#d5dfeb}.feature-box li:before{content:"→";color:var(--s7-orange);font-weight:900}
.cta{padding:84px 0}.cta-box{padding:54px;border-radius:30px;background:linear-gradient(135deg,var(--s7-orange),#ff9f45);display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-box h2{margin:0;max-width:760px;color:#101010}.cta-box .btn{background:#101827;color:white}
.site-footer{background:#07101f;color:#c3cfdd;padding:52px 0 26px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.site-footer h4{color:white;margin-top:0}.site-footer a{display:block;margin:8px 0}.footer-bottom{margin-top:42px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:.82rem;color:#8999ac}
.menu-toggle{display:none;background:none;border:0;font-size:1.5rem}
@media(max-width:900px){.nav{display:none}.menu-toggle{display:block}.hero{padding-top:72px}.hero-grid,.section-head,.split{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.band-grid{grid-template-columns:1fr 1fr}.hero-panel{max-width:620px}.cta-box{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.container{width:min(calc(100% - 28px),var(--s7-max))}.cards{grid-template-columns:1fr}.band-grid{grid-template-columns:1fr}.hero h1{font-size:3.2rem}.section{padding:68px 0}.cta-box{padding:32px}.footer-grid{grid-template-columns:1fr}}

/* Sprint 7 v0.2 — desktop refinement */
@media (min-width: 901px){
  :root{--s7-max:1360px}
  .container{width:min(calc(100% - 72px),var(--s7-max))}
  .nav-wrap{height:112px}
  .brand .custom-logo-link{display:flex;align-items:center}.brand img,.custom-logo{width:300px;max-width:300px;max-height:none;height:auto;display:block}
  .nav{gap:24px}

  .hero{min-height:690px;padding:92px 0 84px;display:flex;align-items:center}
  .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(390px,.72fr);gap:64px}
  .hero h1{font-size:clamp(2.85rem,3.45vw,3.8rem);line-height:1.02;max-width:730px;margin-top:20px;margin-bottom:24px;letter-spacing:-.045em}
  .hero p{font-size:1.18rem;line-height:1.75;max-width:760px}
  .hero-panel{padding:34px;border-radius:32px;min-height:430px;display:flex;flex-direction:column;justify-content:center}
  .hero-panel strong{font-size:.84rem}
  .flow{gap:12px;margin-top:22px}
  .flow div{padding:15px 17px;font-size:.95rem}

  .band{padding:34px 0}
  .band-grid{gap:0}
  .band-grid div{padding:15px 24px;border-right:1px solid rgba(255,255,255,.12)}
  .band-grid div:last-child{border-right:0}

  .section{padding:112px 0}
  .section-head{grid-template-columns:minmax(0,1.15fr) minmax(320px,.72fr);gap:90px;margin-bottom:54px}
  .section h2{font-size:clamp(3rem,3.8vw,4.5rem);max-width:900px}
  .lead{font-size:1.12rem;line-height:1.8}
  .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
  .card{padding:34px;min-height:285px;display:flex;flex-direction:column}
  .card h3{font-size:1.5rem;margin:34px 0 13px}
  .card p{font-size:1rem;line-height:1.72}

  .split{grid-template-columns:minmax(0,1.03fr) minmax(420px,.77fr);gap:96px}
  .feature-box{padding:46px 48px;border-radius:34px;box-shadow:0 30px 70px rgba(9,17,31,.16)}
  .feature-box h3{font-size:1.65rem;margin-top:0}
  .feature-box li{padding:4px 0}

  .cta{padding:100px 0}
  .cta-box{padding:62px 68px;border-radius:34px}
  .cta-box h2{font-size:clamp(2.2rem,3vw,3.5rem);line-height:1.05;letter-spacing:-.04em;margin-top:12px}
  .cta-box .btn{padding:16px 24px;white-space:nowrap}

  .footer-grid{grid-template-columns:1.5fr .85fr .85fr;gap:70px}
}

@media (min-width: 1450px){
  .hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(420px,.74fr);gap:82px}
  .hero h1{font-size:3.9rem;max-width:760px}
  .brand img,.custom-logo{width:325px;max-width:325px;max-height:none;height:auto}
}

/* Sprint 7 v0.4 — force desktop logo/headline sizing */
@media (min-width: 901px){
  .brand > .custom-logo-link{display:flex;align-items:center;line-height:0}
  .brand > .custom-logo-link img.custom-logo{width:300px !important;max-width:300px !important;height:auto !important;max-height:none !important}
  .hero .hero-grid h1{font-size:clamp(2.85rem,3.45vw,3.8rem) !important;line-height:1.02 !important;max-width:730px !important}
}
@media (min-width:1450px){
  .brand > .custom-logo-link img.custom-logo{width:325px !important;max-width:325px !important}
  .hero .hero-grid h1{font-size:3.9rem !important;max-width:760px !important}
}


/* Sprint 7 v1.0 — full site */
.subhero{position:relative;overflow:hidden;padding:110px 0 96px;background:radial-gradient(circle at 84% 20%,rgba(255,134,26,.14),transparent 25%),linear-gradient(135deg,#07101f 0%,#10203a 62%,#17345f 100%);color:#fff}
.subhero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.7fr);gap:84px;align-items:center}
.subhero h1{font-size:clamp(3.1rem,5.6vw,5.7rem);line-height:.97;letter-spacing:-.055em;margin:18px 0 26px;max-width:950px}
.subhero p{font-size:1.15rem;line-height:1.75;color:#d4deec;max-width:760px}
.subhero-panel,.contact-note,.code-panel{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:28px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.18)}
.subhero-panel>span,.code-panel>span{font-size:.78rem;font-weight:900;letter-spacing:.13em;color:#aebcd0}
.subhero-panel h3{font-size:1.75rem;line-height:1.15;margin:18px 0 14px}
.subhero-panel p{font-size:1rem;margin:0}
.metric-stack{display:grid;gap:14px}.metric-stack>div{padding:24px 26px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:18px}.metric-stack strong{display:block;color:var(--s7-orange);letter-spacing:.1em;font-size:.82rem}.metric-stack span{display:block;margin-top:7px;color:#e2e8f1;font-size:1.02rem}
.wide-heading{font-size:clamp(2.7rem,4.8vw,5rem)!important;max-width:1020px!important;margin-bottom:52px!important}
.service-list{display:grid;border-top:1px solid var(--s7-border)}
.service-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:30px;padding:42px 0;border-bottom:1px solid var(--s7-border)}
.service-index{font-size:1rem;font-weight:900;color:var(--s7-orange);letter-spacing:.08em;padding-top:5px}.service-row h3{font-size:2rem;letter-spacing:-.035em;margin:0 0 10px}.service-row p{color:var(--s7-slate);font-size:1.05rem;max-width:900px}.checklist{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}.checklist li{color:#344255}.checklist li:before{content:'→';color:var(--s7-orange);font-weight:900;margin-right:9px}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.process-grid article{background:#fff;border:1px solid var(--s7-border);border-radius:20px;padding:28px}.process-grid b,.principles strong{color:var(--s7-orange);font-size:.8rem;letter-spacing:.12em}.process-grid h3{font-size:1.28rem;margin:22px 0 8px}.process-grid p{margin:0;color:var(--s7-slate)}
.logo-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.logo-list span{padding:20px;border:1px solid var(--s7-border);border-radius:14px;font-size:1.05rem;font-weight:800;background:#fff}
.code-panel pre{margin:22px 0 0;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#dce5f2;font-size:.95rem;line-height:1.75;background:rgba(0,0,0,.2);padding:24px;border-radius:16px;border:1px solid rgba(255,255,255,.08)}
.principles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.principles>div{padding:28px 0;border-top:2px solid var(--s7-border)}.principles h3{font-size:1.25rem;margin:18px 0 8px}.principles p{margin:0;color:var(--s7-slate)}
.contact-note strong{font-size:1.25rem}.contact-note ul{margin:20px 0 0;padding-left:20px;color:#d4deec}.contact-note li{margin:10px 0}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.contact-grid h2{font-size:clamp(2.6rem,4vw,4.4rem);line-height:1;letter-spacing:-.045em}.contact-details{margin-top:38px;display:grid;gap:16px}.contact-details div{padding-top:16px;border-top:1px solid var(--s7-border)}.contact-details span{display:block;color:var(--s7-slate);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.contact-details strong{display:block;margin-top:4px}.form-card{background:var(--s7-bg);border:1px solid var(--s7-border);padding:34px;border-radius:26px}.form-card form{display:grid;gap:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-card label{display:grid;gap:7px;font-size:.9rem;font-weight:800}.form-card input,.form-card select,.form-card textarea{width:100%;border:1px solid #ccd5e0;border-radius:11px;background:white;padding:13px 14px;font:inherit;color:var(--s7-ink);outline:none}.form-card textarea{resize:vertical}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:var(--s7-orange);box-shadow:0 0 0 3px rgba(255,134,26,.12)}.form-card .btn{justify-self:start}.form-message{padding:14px 16px;border-radius:11px;margin-bottom:18px;font-weight:700}.form-message.success{background:#e7f6ed;color:#176537}.form-message.error{background:#fff0ef;color:#9e2c23}
.insights-hero .container{max-width:1000px;margin-left:auto;margin-right:auto;text-align:center}.insights-hero .eyebrow:before{display:none}.insights-hero p{margin-left:auto;margin-right:auto}.insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.insight-card{border:1px solid var(--s7-border);border-radius:20px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.insight-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#eef2f6}.insight-image img{width:100%;height:100%;object-fit:cover}.insight-body{padding:26px}.insight-body h2{font-size:1.5rem;line-height:1.12;letter-spacing:-.025em;margin:18px 0 10px}.insight-body p{color:var(--s7-slate)}.text-link{font-weight:900;color:var(--s7-navy)}.text-link:hover{color:var(--s7-orange)}.empty-state{padding:60px;background:var(--s7-bg);border-radius:24px;text-align:center}.pagination{margin-top:42px}.nav-links{display:flex;gap:8px;flex-wrap:wrap}.page-numbers{padding:9px 12px;border:1px solid var(--s7-border);border-radius:9px}.page-numbers.current{background:var(--s7-ink);color:#fff}
.article-hero{padding:100px 0 44px;background:var(--s7-bg)}.article-wrap{max-width:860px}.article-hero h1{font-size:clamp(3rem,5vw,5rem);line-height:1;letter-spacing:-.05em;margin:16px 0}.article-meta{color:var(--s7-slate)}.article-featured{margin-top:38px;border-radius:24px;overflow:hidden}.article-body{padding:56px 0 96px}.article-body article{font-size:1.08rem;line-height:1.8}.article-body h2{font-size:2rem;margin-top:2.2em}.article-body h3{font-size:1.4rem;margin-top:1.8em}.article-body img{border-radius:18px}.article-back{margin-top:50px;padding-top:26px;border-top:1px solid var(--s7-border)}

@media(max-width:900px){
 .subhero{padding:76px 0 70px}.subhero-grid,.contact-grid{grid-template-columns:1fr;gap:44px}.subhero h1{font-size:clamp(2.8rem,10vw,4.5rem)}
 .service-row{grid-template-columns:58px minmax(0,1fr)}.process-grid{grid-template-columns:1fr 1fr}.principles{grid-template-columns:1fr 1fr}.insights-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 .subhero h1{font-size:2.9rem}.subhero-panel,.contact-note,.code-panel{padding:26px}.service-row{grid-template-columns:1fr;gap:8px;padding:32px 0}.service-row h3{font-size:1.55rem}.checklist{grid-template-columns:1fr}.process-grid,.principles,.insights-grid,.form-row,.logo-list{grid-template-columns:1fr}.contact-grid{gap:45px}.form-card{padding:24px}
}
.brand-fallback{display:flex;align-items:center;gap:14px}
@media(max-width:900px){
 .nav.nav-open{display:flex;position:absolute;top:82px;left:0;right:0;padding:22px;background:#fff;flex-direction:column;align-items:stretch;box-shadow:0 24px 35px rgba(9,17,31,.12)}
 .nav.nav-open .btn{width:100%}
}


/* Sprint 7 v1.2: calmer page headers + number-free visual language */
@media (min-width: 901px){
  .subhero h1{font-size:clamp(2.7rem,3.55vw,3.85rem)!important;line-height:1.03!important;letter-spacing:-.045em!important;max-width:820px!important}
  .article-hero h1{font-size:clamp(2.6rem,3.5vw,3.8rem)!important;line-height:1.04!important;letter-spacing:-.04em!important}
}
.service-row{grid-template-columns:1fr!important}
.service-index{display:none!important}
.hero-map div{justify-content:flex-start!important}
.hero-map b,.process-grid article>b,.principles>div>strong{display:none!important}
.process-grid article,.principles>div{padding-top:28px}


/* Sprint 7 v1.3 — standardise oversized interior section headings */
.wide-heading,
.section h2.wide-heading{
  font-size:clamp(2.2rem,4vw,4rem)!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
  max-width:900px!important;
  margin-top:12px!important;
  margin-bottom:42px!important;
}
@media (min-width:901px){
  .wide-heading,
  .section h2.wide-heading{
    font-size:clamp(2.75rem,3.3vw,3.8rem)!important;
    line-height:1.04!important;
    max-width:900px!important;
    margin-bottom:48px!important;
  }
}
@media (max-width:620px){
  .wide-heading,
  .section h2.wide-heading{
    font-size:2.25rem!important;
    line-height:1.08!important;
    margin-bottom:34px!important;
  }
}


/* Sprint 7 v1.4 — unified heading system across the site */
:root{
  --s7-display-size: clamp(2.7rem,3.45vw,3.8rem);
  --s7-section-size: clamp(2.25rem,2.85vw,3.15rem);
  --s7-heading-line: 1.04;
  --s7-heading-track: -.045em;
}

/* Primary page/display headings */
.hero .hero-grid h1,
.subhero h1,
.article-hero h1,
.content-page-title{
  font-size:var(--s7-display-size)!important;
  line-height:var(--s7-heading-line)!important;
  letter-spacing:var(--s7-heading-track)!important;
  font-weight:800!important;
}

/* All major section headings use one consistent scale and rhythm */
.section-head h2,
.section > .container > h2,
.section .split h2,
.contact-grid h2,
.wide-heading,
.section h2.wide-heading,
.cta-box h2{
  font-size:var(--s7-section-size)!important;
  line-height:var(--s7-heading-line)!important;
  letter-spacing:var(--s7-heading-track)!important;
  font-weight:800!important;
  max-width:900px!important;
  margin-top:12px!important;
}

.section-head h2,
.section > .container > h2,
.section .split h2,
.contact-grid h2,
.wide-heading,
.section h2.wide-heading{
  margin-bottom:28px!important;
}

.cta-box h2{
  margin-bottom:0!important;
}

/* Eyebrow labels are also standardised site-wide */
.eyebrow{
  font-size:.78rem!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.13em!important;
}

@media (max-width:900px){
  :root{
    --s7-display-size: clamp(2.55rem,7vw,3.45rem);
    --s7-section-size: clamp(2.1rem,5.5vw,2.8rem);
  }
}

@media (max-width:620px){
  :root{
    --s7-display-size: 2.65rem;
    --s7-section-size: 2.15rem;
  }
  .hero .hero-grid h1,
  .subhero h1,
  .article-hero h1,
  .content-page-title{
    line-height:1.05!important;
  }
  .section-head h2,
  .section > .container > h2,
  .section .split h2,
  .contact-grid h2,
  .wide-heading,
  .section h2.wide-heading,
  .cta-box h2{
    line-height:1.07!important;
  }
}


/* Sprint 7 v1.5 — premium blog article components */
.s7-blog-post{--s7-blog-gap:28px;color:var(--s7-ink)}
.s7-blog-post > :first-child{margin-top:0}
.s7-blog-post p{margin:0 0 1.35em}
.s7-blog-post .s7-intro{font-size:1.28rem;line-height:1.7;font-weight:650;color:#26384e;margin-bottom:2rem}
.s7-blog-post h2{font-size:clamp(1.9rem,2.4vw,2.45rem)!important;line-height:1.08!important;letter-spacing:-.035em!important;margin:2.25em 0 .72em!important;color:var(--s7-ink)}
.s7-blog-post h3{font-size:1.24rem!important;line-height:1.22!important;letter-spacing:-.018em!important;margin:0 0 .6rem!important}

.s7-callout{position:relative;margin:34px 0;padding:25px 28px 25px 31px;border:1px solid #ffd7b0;border-radius:18px;background:#fff8f1;box-shadow:0 12px 32px rgba(9,17,31,.045)}
.s7-callout:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:0 4px 4px 0;background:var(--s7-orange)}
.s7-callout strong{font-size:1.08rem;line-height:1.45}
.s7-callout p:last-child,.s7-callout span:last-child{margin-bottom:0}
.s7-callout--dark{background:linear-gradient(135deg,#07101f,#10203a);border-color:#1e3555;color:#eef4fb;box-shadow:0 18px 40px rgba(7,16,31,.12)}
.s7-callout--dark p{color:#cbd7e5}
.s7-callout--accent{background:linear-gradient(135deg,var(--s7-orange),#ff9f45);border-color:transparent;color:#101010}
.s7-callout--accent:before{background:#101827}

.s7-checklist{margin:32px 0;padding:28px;border:1px solid var(--s7-border);border-radius:20px;background:var(--s7-bg)}
.s7-checklist h3{margin-bottom:16px!important}
.s7-checklist ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px}
.s7-checklist li{position:relative;padding:9px 0 9px 29px;line-height:1.45;color:#33465d}
.s7-checklist li:before{content:"✓";position:absolute;left:0;top:9px;color:var(--s7-orange);font-weight:900}

.s7-grid{display:grid;gap:18px;margin:32px 0}
.s7-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.s7-card{padding:25px 26px;border:1px solid var(--s7-border);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(9,17,31,.035)}
.s7-card h3{color:var(--s7-navy)}
.s7-card p:last-child{margin-bottom:0}

.s7-stack{display:grid;gap:14px;margin:32px 0}
.s7-stack .s7-card{display:grid;grid-template-columns:minmax(180px,.55fr) 1.45fr;gap:8px 30px;align-items:start}
.s7-stack .s7-card h3{grid-row:1 / span 2;margin-top:2px!important}
.s7-stack .s7-card p{margin:0}
.s7-stack .s7-card p:first-of-type{font-weight:800;color:#1d2d43}
.s7-stack .s7-card p:last-child{color:var(--s7-slate)}

.s7-flow{display:flex;align-items:center;justify-content:center;gap:11px;flex-wrap:wrap;margin:32px 0;padding:22px 24px;border:1px solid #203c64;border-radius:18px;background:linear-gradient(135deg,#091421,#122746);color:#f4f7fb;font-weight:800;text-align:center}
.s7-flow span:nth-child(even){color:var(--s7-orange);font-size:1.22rem}

.s7-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:34px 0}
.s7-process-step{position:relative;padding:22px 20px;border-radius:16px;background:var(--s7-bg);border:1px solid var(--s7-border);font-weight:800;min-height:92px;display:flex;align-items:center}
.s7-process-step:before{content:"";position:absolute;top:0;left:20px;width:44px;height:3px;border-radius:0 0 3px 3px;background:var(--s7-orange)}
/* Keep the site's number-free visual language inside articles too. */
.s7-process-step > strong{display:none!important}
.s7-process-step span{display:block;line-height:1.3}

.s7-rule-box{margin:32px 0;padding:26px 28px;border-radius:18px;background:#0b1728;color:#e9f0f8;border:1px solid #203853}
.s7-rule-box p{margin:0;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.s7-rule-box p:last-child{border-bottom:0;padding-bottom:0}
.s7-rule-box p:first-child{padding-top:0}
.s7-rule-box strong{color:#fff}

.s7-tags{display:flex;flex-wrap:wrap;gap:9px;margin:25px 0 32px}
.s7-tags span{padding:9px 13px;border:1px solid #ffd1a4;border-radius:999px;background:#fff7ef;color:#733600;font-size:.84rem;font-weight:850;letter-spacing:.025em}

.s7-code-example{margin:30px 0;padding:22px 25px;border-radius:17px;background:#08111e;color:#e8eef7;border:1px solid #203651;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;box-shadow:0 15px 36px rgba(7,16,31,.12)}
.s7-code-example p{margin:0;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.09)}
.s7-code-example p:last-child{border-bottom:0}

.s7-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:32px 0}
.s7-compare .s7-card:first-child{background:#f5f7fa}
.s7-compare .s7-card:last-child{border-color:#ffc98f;background:#fff8f1}

.s7-cta{position:relative;overflow:hidden;margin:58px 0 20px;padding:36px 38px;border-radius:24px;background:linear-gradient(135deg,#ff861a,#ffa24d);color:#101010}
.s7-cta:after{content:"";position:absolute;right:-70px;bottom:-90px;width:210px;height:210px;border:1px solid rgba(16,16,16,.12);border-radius:50%;box-shadow:0 0 0 30px rgba(16,16,16,.045),0 0 0 60px rgba(16,16,16,.025)}
.s7-cta > *{position:relative;z-index:1}
.s7-cta h2{margin:0 0 13px!important;max-width:680px;font-size:clamp(1.9rem,2.8vw,2.7rem)!important;color:#101010}
.s7-cta p{max-width:700px;margin-bottom:22px}
.s7-button{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:11px;background:#101827;color:#fff!important;font-weight:850;transition:.2s}
.s7-button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(16,24,39,.2)}

/* Make normal article lists and links feel consistent with the custom blocks. */
.s7-blog-post > ul,.s7-blog-post > ol{padding-left:1.35rem;margin:1.4rem 0 2rem}
.s7-blog-post > ul li,.s7-blog-post > ol li{margin:.55rem 0}
.s7-blog-post a:not(.s7-button){color:var(--s7-navy);text-decoration:underline;text-decoration-color:rgba(33,63,107,.28);text-underline-offset:3px}
.s7-blog-post a:not(.s7-button):hover{color:var(--s7-orange);text-decoration-color:currentColor}
.s7-blog-post blockquote{margin:34px 0;padding:8px 0 8px 25px;border-left:4px solid var(--s7-orange);font-size:1.23rem;line-height:1.6;font-weight:700;color:#20334b}

@media(max-width:760px){
  .s7-blog-post .s7-intro{font-size:1.15rem}
  .s7-checklist ul,.s7-grid--2,.s7-compare{grid-template-columns:1fr}
  .s7-stack .s7-card{grid-template-columns:1fr;gap:7px}.s7-stack .s7-card h3{grid-row:auto}
  .s7-process{grid-template-columns:1fr 1fr}
  .s7-flow{justify-content:flex-start;text-align:left}
}
@media(max-width:520px){
  .s7-callout,.s7-checklist,.s7-card,.s7-rule-box,.s7-code-example{padding:21px}
  .s7-process{grid-template-columns:1fr}
  .s7-process-step{min-height:auto}
  .s7-cta{padding:29px 25px}
}
