/* KRIVA · /services/seo-digital-marketing · page-scoped
   Rhythm, cards, FAQ, and contact match trucking / API pages. */

body.page-seo{
  background:#fff;
  color:var(--ink);
  overflow-x:clip
}
body.page-seo main{
  color:var(--steel);
  font-size:16px;
  line-height:1.62
}

body.page-seo .d1{
  font-size:clamp(2rem,4.8vw,4.05rem);
  line-height:.92;
  letter-spacing:-.03em;
  color:var(--ink)
}
body.page-seo .d2{
  font-size:clamp(2rem,3.8vw,3.4rem);
  line-height:1.08;
  letter-spacing:-.025em;
  font-weight:700;
  color:var(--ink);
  max-width:16ch
}
body.page-seo .d3{
  font-size:clamp(1.28rem,2vw,1.7rem);
  line-height:1.16;
  letter-spacing:-.022em;
  color:var(--ink)
}
body.page-seo .lede{
  margin-top:18px;
  max-width:42ch;
  font-size:clamp(1.05rem,1.3vw,1.22rem);
  line-height:1.6;
  letter-spacing:-.01em;
  color:var(--steel)
}
body.page-seo .body-sm{
  font-size:15px;
  line-height:1.62;
  color:var(--steel);
  max-width:48ch
}

body.page-seo #probH{max-width:20em}
body.page-seo #catH{max-width:18ch}
body.page-seo #methodH{max-width:16ch}
body.page-seo #measureH{max-width:20em}
body.page-seo #relH{max-width:18ch}
body.page-seo #faqH{max-width:13ch}
body.page-seo #inqH{max-width:16ch}

body.page-seo main > section{
  background:#fff;
  padding:96px 0;
  scroll-margin-top:88px
}
body.page-seo .hero{
  background:#fff;
  color:var(--ink);
  overflow:hidden;
  padding:calc(72px + 48px) 0 48px;
  scroll-margin-top:88px;
  min-height:0
}
body.page-seo .seo-band{
  background:#f7f8f9;
  border-top:1px solid #e6e7ea
}

body.page-seo main .btn{border-radius:8px}
body.page-seo main .btn.ghost{
  --btn-fg:var(--ink);
  border-color:#e6e7ea
}

body.page-seo .seo-card{
  background:#fff;
  border:1px solid #e6e7ea;
  border-radius:12px;
  padding:32px 28px;
  min-width:0
}
body.page-seo .seo-card h3{
  font-family:var(--f-display);
  font-weight:700;
  font-size:clamp(1.05rem,1.5vw,1.2rem);
  letter-spacing:-.02em;
  line-height:1.2;
  color:var(--ink);
  margin-bottom:10px
}
body.page-seo .seo-card p,
body.page-seo .seo-card li{
  font-size:14.5px;
  line-height:1.55;
  color:var(--steel)
}
.seo-k{
  display:block;
  font-family:var(--f-mono);
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--cta);
  margin-bottom:12px
}

/* ── Fit cards ── */
.seo-fit{padding-top:0 !important}
.seo-fit-rail{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px
}
.seo-fit-foot{
  margin-top:24px;
  font-size:15px;
  line-height:1.62;
  color:var(--steel);
  max-width:62ch
}

/* ── Problems · dark band ── */
body.page-seo .seo-problems{
  background:var(--ink);
  color:#DDE2E7;
  border-top:0
}
body.page-seo .seo-problems :focus-visible{outline-color:var(--amber)}
body.page-seo .seo-problems .eyebrow{color:var(--ink-dim)}
body.page-seo .seo-problems h2{color:#fff}
body.page-seo .seo-problems h3{color:#fff}
body.page-seo .seo-problems .seo-frac{border-top-color:var(--ink-line)}
body.page-seo .seo-problems .seo-frac article{border-bottom-color:var(--ink-line)}
body.page-seo .seo-problems .seo-frac .n{color:#3A444E;transition:color .45s var(--e)}
body.page-seo .seo-problems .seo-frac article:hover .n{color:var(--cta)}
body.page-seo .seo-problems .seo-frac p{color:#8C98A4}
body.page-seo .seo-problems .seo-frac .cons{color:var(--amber)}

.seo-frac{margin-top:40px;border-top:1px solid var(--ink-line)}
.seo-frac article{
  display:grid;
  grid-template-columns:56px minmax(0,1fr) minmax(148px,196px);
  gap:20px 28px;
  align-items:center;
  padding:28px 0;
  border-bottom:1px solid var(--ink-line)
}
.seo-frac .n{
  font-family:var(--f-display);
  font-weight:800;
  font-size:clamp(1.35rem,2vw,1.7rem);
  letter-spacing:-.04em;
  color:var(--cta);
  line-height:1;
  padding-top:4px
}
.seo-frac h3{margin-bottom:8px;max-width:22ch}
.seo-frac p{font-size:15px;line-height:1.62;color:#8C98A4;max-width:48ch;margin:0}
.seo-frac .cons{
  display:block;
  margin-top:8px;
  font-family:var(--f-mono);
  font-size:10.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--amber)
}

/* ── Services catalogue ── */
.seo-integ-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  flex-wrap:wrap
}
.seo-text-link{
  font-family:var(--f-mono);
  font-size:11.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--steel);
  border-bottom:1px solid currentColor;
  padding-bottom:2px
}
.seo-text-link:hover{color:var(--ink);border-color:var(--ink)}
.seo-plats-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:40px
}
.seo-plats-grid ul{
  list-style:none;
  display:grid;
  gap:8px;
  margin-top:12px
}
.seo-plats-grid li{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  font-size:14.5px;
  color:var(--steel);
  line-height:1.45
}
.seo-plats-grid li:before{
  content:"";
  width:6px;
  height:6px;
  margin-top:7px;
  background:var(--cta);
  flex:none
}
.seo-plats-grid .seo-text-link{display:inline-flex;margin-top:16px}

/* ── Service pillars · visual lanes (grid in inner.css) ── */
.seo-pillar-viz--wide{max-width:none;width:100%}
.seo-pillar .seo-k{
  display:block;
  font-family:var(--f-mono);
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--steel);
  margin-bottom:10px
}
/* ── Method process ── */
.seo-process{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:40px
}
.seo-process li{
  position:relative;
  min-width:0;
  padding-top:8px
}
.seo-process li:not(:last-child):after{
  content:"";
  position:absolute;
  top:21px;
  left:36px;
  right:-12px;
  height:1px;
  background:var(--cta);
  opacity:.35
}
.seo-process .wk{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  margin-bottom:16px;
  border:1px solid var(--cta);
  background:#fff;
  font-family:var(--f-mono);
  font-size:10px;
  letter-spacing:.08em;
  color:var(--cta)
}
.seo-process h3{margin-bottom:8px}
.seo-process p{font-size:14.5px;line-height:1.55;color:var(--steel)}

/* ── Proof / measure ── */
.seo-deliv{
  display:grid;
  gap:0;
  margin-top:28px;
  border-top:1px solid #e6e7ea
}
.seo-deliv div{
  display:grid;
  grid-template-columns:clamp(88px,10vw,112px) minmax(0,1fr);
  gap:12px 16px;
  padding:14px 0;
  border-bottom:1px solid #e6e7ea
}
.seo-deliv dt{
  font-family:var(--f-mono);
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--steel);
  padding-top:3px
}
.seo-deliv dd{
  font-size:14.5px;
  line-height:1.55;
  color:var(--steel);
  max-width:48ch
}
.seo-deliv a{border-bottom:1px solid #e6e7ea}
.seo-deliv a:hover{border-bottom-color:var(--ink);color:var(--ink)}
.proof-note{margin-top:22px;font-size:13.5px;line-height:1.6;color:var(--steel-2);max-width:52ch}

.seo-frame{
  background:var(--ink);
  color:#DDE2E7;
  border:1px solid var(--ink-line);
  border-radius:12px;
  box-shadow:var(--shadow-product);
  overflow:hidden
}
.seo-chrome{
  display:flex;
  align-items:center;
  gap:6px;
  padding:10px 14px;
  background:#12181E;
  border-bottom:1px solid var(--ink-line);
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#717F8C
}
.seo-chrome i{width:8px;height:8px;border-radius:50%;background:#2A333C;flex:none}
.seo-chrome i:first-child{background:#5C6670}
.seo-chrome span{margin-left:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.seo-live{margin-left:auto;display:inline-flex;align-items:center;gap:7px;color:var(--amber);white-space:nowrap}
.seo-live b{width:5px;height:5px;border-radius:50%;background:currentColor}
.seo-rank{
  padding:16px;
  background:linear-gradient(180deg,#12181E 0%,#0E1216 100%);
  list-style:none;
  margin:0
}
.seo-rank .rh{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:10px;
  font-family:var(--f-mono);
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#717F8C;
  padding-bottom:10px;
  border-bottom:1px solid var(--ink-line)
}
.seo-rank li{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:10px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid var(--ink-line);
  font-size:13.5px;
  list-style:none;
  color:#B9C3CC
}
.seo-rank li:last-child{border-bottom:0}
.seo-rank b{color:#fff;font-weight:600}
.seo-rank .up{
  color:var(--lime);
  font-family:var(--f-mono);
  font-size:11px
}
.seo-cap{
  margin-top:14px;
  font-family:var(--f-mono);
  font-size:10.5px;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--steel-2)
}

/* ── FAQ ── */
body.page-seo .faq-sec{background:#fff}
body.page-seo .faq-grid{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:clamp(32px,5vw,80px);
  align-items:start
}
body.page-seo .faq-grid > div:first-child{position:sticky;top:112px}
body.page-seo .faq-list{border-top:1px solid #e6e7ea}
body.page-seo .faq-item{border-bottom:1px solid #e6e7ea}
body.page-seo .faq-q{
  width:100%;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 22px;
  gap:clamp(12px,2vw,24px);
  align-items:start;
  text-align:left;
  padding:22px 0
}
body.page-seo .faq-q .qn{
  font-family:var(--f-mono);
  font-size:10.5px;
  letter-spacing:.12em;
  color:var(--steel);
  padding-top:5px
}
body.page-seo .faq-item.open .qn{color:var(--cta)}
body.page-seo .faq-q .qt{
  font-family:var(--f-display);
  font-weight:700;
  font-size:clamp(1.05rem,1.65vw,1.32rem);
  letter-spacing:-.02em;
  line-height:1.28;
  color:var(--ink)
}
body.page-seo .faq-q .qi{justify-self:end;position:relative;width:22px;height:22px;margin-top:2px}
body.page-seo .faq-q .qi:before,
body.page-seo .faq-q .qi:after{
  content:"";
  position:absolute;
  inset:50% 2px;
  height:1px;
  background:var(--ink)
}
body.page-seo .faq-q .qi:after{transform:rotate(90deg)}
body.page-seo .faq-item.open .qi:after{transform:rotate(0)}
body.page-seo .faq-a{
  display:grid;
  grid-template-rows:0fr;
  visibility:hidden;
  transition:grid-template-rows .5s var(--e),visibility 0s linear .5s
}
body.page-seo .faq-item.open .faq-a{
  grid-template-rows:1fr;
  visibility:visible;
  transition:grid-template-rows .5s var(--e),visibility 0s linear 0s
}
body.page-seo .faq-a>div{overflow:hidden}
body.page-seo .faq-a-in{padding:0 0 24px calc(46px + clamp(12px,2vw,24px))}
body.page-seo .faq-a-in p{font-size:15px;line-height:1.65;color:var(--steel);max-width:58ch}

body.page-seo .sib{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px
}
body.page-seo .sib a{
  font-family:var(--f-mono);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:8px 12px;
  border:1px solid #e6e7ea;
  transition:border-color var(--t-fast),color var(--t-fast)
}
body.page-seo .sib a:hover{border-color:var(--cta);color:var(--cta)}

/* ── CTA band ── */
body.page-seo .cta-band{
  background:var(--ink);
  color:#DDE2E7;
  overflow:hidden;
  padding:0;
  scroll-margin-top:88px
}
body.page-seo .cta-band .wrap{padding-block:clamp(88px,11vw,160px)}
body.page-seo .cta-band .eyebrow{color:var(--ink-dim)}
body.page-seo .cta-band h2{
  color:#fff;
  margin-top:26px;
  max-width:14ch;
  font-size:clamp(2.4rem,6vw,4.6rem);
  line-height:.93;
  letter-spacing:-.032em
}
body.page-seo .cta-band .lede{color:#8C98A4;margin-top:18px;max-width:40ch}
body.page-seo .cta-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:36px;
  flex-wrap:wrap;
  margin-top:clamp(36px,4vw,58px)
}
body.page-seo .cta-actions{display:flex;gap:12px;flex-wrap:wrap}
body.page-seo .assur{
  display:flex;
  gap:22px;
  flex-wrap:wrap;
  font-family:var(--f-mono);
  font-size:10.5px;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:var(--ink-dim)
}
body.page-seo .assur i{font-style:normal;color:var(--amber);margin-right:7px}
body.page-seo .cta-band :focus-visible{outline-color:var(--amber)}

body.page-seo .fmark img{width:min(100%,390px);opacity:.22}
body.page-seo .fbase,body.page-seo .fbase a{color:#9AA5B0}
body.page-seo .chapters a{color:#6f7078}
body.page-seo .chapters a[aria-current="true"]{color:var(--ink)}

body.page-seo .mob-chips{
  display:none;
  position:sticky;
  top:58px;
  z-index:60;
  gap:8px;
  overflow-x:auto;
  padding:10px var(--gutter) 12px;
  width:100%;
  max-width:100%;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid #e6e7ea;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch
}
body.page-seo .mob-chips::-webkit-scrollbar{display:none}
body.page-seo .mob-chips a{
  flex:none;
  font-family:var(--f-mono);
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:8px 12px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  border:1px solid #e6e7ea;
  color:#6f7078;
  background:#fff;
  white-space:nowrap
}
body.page-seo .mob-chips a[aria-current="true"]{border-color:#111114;color:#111114}
@media(max-width:1280px){
  body.page-seo .mob-chips{display:flex !important}
  body.page-seo .hero,
  body.page-seo main > section{scroll-margin-top:calc(88px + 48px)}
}

@media(max-width:1024px){
  .seo-pillar,
  .seo-pillar--flip .seo-pillar-viz,
  .seo-pillar--flip > div,
  .seo-case-split,
  .seo-case-split--flip .seo-pillar-viz,
  .seo-case-split--flip > div,
  .seo-proof-split,
  .seo-fit-rail,
  body.page-seo .faq-grid{grid-template-columns:1fr}
  .seo-plats-grid{grid-template-columns:1fr 1fr}
  .seo-process{grid-template-columns:1fr}
  .seo-process li:not(:last-child):after{display:none}
  body.page-seo .faq-grid > div:first-child{position:static}
  .seo-exc{max-width:none}
  .seo-frac article{
    grid-template-columns:40px minmax(0,1fr);
    align-items:start
  }
  .seo-frac .frac-viz{
    grid-column:2;
    max-width:min(240px,100%);
    margin-top:8px
  }
}
@media(max-width:768px){
  body.page-seo main > section{padding:64px 0}
  body.page-seo .hero{padding:calc(58px + 32px) 0 32px}
  .seo-fit{padding-top:0 !important;padding-bottom:64px !important}
  .seo-plats-grid{grid-template-columns:1fr}
  .seo-deliv div{grid-template-columns:1fr;gap:6px}
  body.page-seo .faq-q{grid-template-columns:32px minmax(0,1fr) 20px;gap:12px}
  body.page-seo .faq-a-in{padding-left:44px}
  body.page-seo .cta-actions .btn{width:100%;justify-content:center}
  .seo-frac article{grid-template-columns:40px minmax(0,1fr);gap:14px}
}
@media(max-width:560px){
  .seo-frac article{grid-template-columns:1fr;gap:8px}
  .seo-frac .frac-viz{grid-column:1;max-width:100%}
  .seo-card{padding:28px 22px}
}
@media(max-width:390px){
  .seo-chrome span:not(.seo-live){display:none}
}

.seo-trust{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  margin-top:22px;
  font-family:var(--f-mono);
  font-size:10.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--steel)
}
.seo-trust span{display:inline-flex;align-items:center;gap:8px}
.seo-trust span:before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--cta);
  flex:none
}

@media(prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;transition-delay:0ms!important}
  [data-r],[data-s]>*{opacity:1!important;transform:none!important}
  .mask span i{transform:none!important}
}
