/* ==========================================================================
   AbiKuller — SEO landing design system (city / recruit / service pages)
   Light, premium, Nordic. Prefixed .seo-* so it never collides with the app.
   Loaded standalone on server-rendered SEO pages (no app CSS needed).
   ========================================================================== */
:root{
  --ak-green:#00B85C;        --ak-green-600:#00A152;   --ak-green-700:#008C47;
  --ak-green-soft:#E6F8EF;   --ak-green-ring:rgba(0,184,92,.32);
  --ak-ink:#0B1220;          --ak-ink-2:#1F2A3A;
  --ak-body:#475569;         --ak-muted:#6B7A90;       --ak-faint:#94A3B8;
  --ak-bg:#FFFFFF;           --ak-bg-soft:#F6F8FC;     --ak-bg-soft2:#EFF3F9;
  --ak-line:#E6EBF2;         --ak-line-2:#D8E0EC;
  --ak-card:#FFFFFF;
  --ak-shadow-sm:0 1px 2px rgba(16,24,40,.05);
  --ak-shadow:0 6px 24px -12px rgba(16,24,40,.18);
  --ak-shadow-lg:0 24px 60px -28px rgba(16,24,40,.32);
  --ak-r-sm:10px; --ak-r:14px; --ak-r-lg:20px; --ak-r-xl:28px;
  --ak-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --ak-maxw:1120px;
}
*,*::before,*::after{box-sizing:border-box}
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-behavior:smooth }
body.seo{
  margin:0; font-family:var(--ak-font); color:var(--ak-body);
  background:var(--ak-bg); line-height:1.65; font-size:17px;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.seo img{max-width:100%;display:block}
.seo a{color:var(--ak-green-700);text-decoration:none}
.seo h1,.seo h2,.seo h3{color:var(--ak-ink);line-height:1.15;letter-spacing:-.02em;margin:0}
.seo-wrap{overflow-clip-margin:1px;overflow-x:clip}
.seo-container{max-width:var(--ak-maxw);margin:0 auto;padding:0 22px}

/* ---- Header -------------------------------------------------------------- */
.seo-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--ak-line);
}
.seo-header-in{display:flex;align-items:center;justify-content:space-between;height:64px;gap:14px}
.seo-brand{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:19px;color:var(--ak-ink);letter-spacing:-.02em}
.seo-brand .seo-logo{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--ak-ink);color:#fff}
.seo-brand b{color:var(--ak-green-700)}
.seo-nav{display:flex;align-items:center;gap:10px}
.seo-lang{display:inline-flex;border:1px solid var(--ak-line-2);border-radius:999px;padding:3px;background:#fff}
.seo-lang a{padding:5px 11px;border-radius:999px;font-size:13px;font-weight:700;color:var(--ak-muted);line-height:1}
.seo-lang a.is-active{background:var(--ak-ink);color:#fff}
.seo-lang a:focus-visible{outline:3px solid var(--ak-green-ring);outline-offset:2px}

/* ---- Buttons ------------------------------------------------------------- */
.seo-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:inherit;font-weight:700;font-size:15px;line-height:1;
  padding:13px 22px;border-radius:12px;border:1px solid transparent;cursor:pointer;
  transition:transform .14s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;
  white-space:nowrap;
}
.seo-btn svg{width:18px;height:18px}
.seo-btn--primary{background:var(--ak-green);color:#fff;box-shadow:0 8px 20px -8px var(--ak-green-ring)}
.seo-btn--primary:hover{background:var(--ak-green-600);transform:translateY(-1px);box-shadow:0 12px 26px -8px var(--ak-green-ring)}
.seo-btn--ghost{background:#fff;color:var(--ak-ink);border-color:var(--ak-line-2)}
.seo-btn--ghost:hover{border-color:var(--ak-ink);background:var(--ak-bg-soft);transform:translateY(-1px)}
.seo-btn--lg{padding:16px 30px;font-size:16px;border-radius:14px}
.seo-btn:focus-visible{outline:3px solid var(--ak-green-ring);outline-offset:2px}

/* ---- Breadcrumb ---------------------------------------------------------- */
.seo-crumb{font-size:13px;color:var(--ak-faint);padding:18px 0 0}
.seo-crumb a{color:var(--ak-muted);font-weight:600}
.seo-crumb a:hover{color:var(--ak-green-700)}
.seo-crumb span{margin:0 7px;color:var(--ak-line-2)}

/* ---- Hero ---------------------------------------------------------------- */
.seo-hero{position:relative;margin-top:18px;border-radius:var(--ak-r-xl);overflow:hidden;box-shadow:var(--ak-shadow-lg)}
.seo-hero-media{position:absolute;inset:0;width:100%;height:100%}
.seo-hero-media img{width:100%;height:100%;object-fit:cover}
.seo-hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(8,14,26,.92) 0%,rgba(8,14,26,.78) 38%,rgba(8,14,26,.30) 72%,rgba(8,14,26,.12) 100%)}
.seo-hero-inner{position:relative;z-index:2;padding:54px 44px;max-width:640px}
.seo-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);color:#EAF6EF;font-size:12.5px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;padding:7px 14px;border-radius:999px;backdrop-filter:blur(4px)}
.seo-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--ak-green);box-shadow:0 0 0 4px var(--ak-green-ring)}
.seo-hero h1{color:#fff;font-size:clamp(30px,5.2vw,50px);font-weight:800;margin:18px 0 0}
.seo-hero h1 em{font-style:normal;color:#3CE78F}
.seo-hero-sub{color:#CDD8E6;font-size:clamp(16px,2.2vw,19px);margin:16px 0 0;max-width:540px}
.seo-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 0}
.seo-chips{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0}
.seo-chip{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);color:#E7EEF6;font-size:13px;font-weight:600;
  padding:7px 13px;border-radius:999px}
.seo-chip svg{width:15px;height:15px;color:#3CE78F}

/* ---- Sections ------------------------------------------------------------ */
.seo-section{padding:60px 0}
.seo-section--alt{background:var(--ak-bg-soft);border-top:1px solid var(--ak-line);border-bottom:1px solid var(--ak-line)}
.seo-lede{font-size:19px;color:var(--ak-ink-2);line-height:1.7;max-width:760px}
.seo-kicker{display:block;color:var(--ak-green-700);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px}
.seo-h2{font-size:clamp(24px,3.4vw,32px);font-weight:800;margin:0 0 14px}
.seo-h2+.seo-muted{color:var(--ak-muted);font-size:16px;margin:0 0 28px}

/* ---- Steps --------------------------------------------------------------- */
.seo-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.seo-step{background:var(--ak-card);border:1px solid var(--ak-line);border-radius:var(--ak-r-lg);
  padding:26px 24px;box-shadow:var(--ak-shadow-sm);position:relative;transition:box-shadow .2s,transform .2s}
.seo-step:hover{box-shadow:var(--ak-shadow);transform:translateY(-2px)}
.seo-step-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;
  background:var(--ak-green-soft);color:var(--ak-green-700);margin-bottom:16px}
.seo-step-ic svg{width:23px;height:23px}
.seo-step-n{position:absolute;top:22px;right:24px;font-weight:800;font-size:15px;color:var(--ak-line-2)}
.seo-step h3{font-size:18px;margin:0 0 7px}
.seo-step p{margin:0;font-size:15px;color:var(--ak-muted);line-height:1.6}

/* ---- Benefits ------------------------------------------------------------ */
.seo-benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 28px;margin-top:26px;padding:0}
.seo-benefit{display:flex;gap:13px;align-items:flex-start;list-style:none}
.seo-benefit .ck{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;
  background:var(--ak-green-soft);color:var(--ak-green-700);margin-top:2px}
.seo-benefit .ck svg{width:15px;height:15px}
.seo-benefit b{color:var(--ak-ink);font-weight:700}
.seo-benefit span{color:var(--ak-muted);font-size:15px}

/* ---- Stat row ------------------------------------------------------------ */
.seo-stats{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.seo-statcard{flex:1 1 150px;background:#fff;border:1px solid var(--ak-line);border-radius:var(--ak-r);padding:20px 22px;box-shadow:var(--ak-shadow-sm)}
.seo-statcard .v{font-size:26px;font-weight:800;color:var(--ak-ink);letter-spacing:-.02em}
.seo-statcard .l{font-size:13.5px;color:var(--ak-muted);margin-top:3px}

/* ---- Recruit (courier CTA) block ----------------------------------------- */
.seo-recruit{position:relative;overflow:hidden;border-radius:var(--ak-r-xl);
  background:linear-gradient(135deg,#0B1220 0%,#10261B 100%);color:#fff;padding:46px 42px;box-shadow:var(--ak-shadow-lg)}
.seo-recruit::before{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,184,92,.30),transparent 62%)}
.seo-recruit-tag{position:relative;display:inline-flex;align-items:center;gap:8px;background:rgba(0,184,92,.16);
  color:#56E59B;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:7px 14px;border-radius:999px}
.seo-recruit h2{position:relative;color:#fff;font-size:clamp(22px,3.2vw,30px);margin:16px 0 12px}
.seo-recruit p{position:relative;color:#C6D2E0;font-size:16.5px;line-height:1.7;max-width:620px;margin:0 0 24px}
.seo-recruit p b{color:#fff}
.seo-recruit-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 28px}
.seo-recruit-grid .it{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);border-radius:13px;padding:14px 16px}
.seo-recruit-grid .it .t{color:#56E59B;font-weight:800;font-size:15px}
.seo-recruit-grid .it .d{color:#9FB0C2;font-size:13px;margin-top:3px}
.seo-recruit .seo-btn--primary{position:relative}

/* ---- FAQ ----------------------------------------------------------------- */
.seo-faq{margin-top:26px;max-width:840px}
.seo-faq details{border:1px solid var(--ak-line);border-radius:var(--ak-r);background:#fff;margin-bottom:12px;
  box-shadow:var(--ak-shadow-sm);transition:box-shadow .2s}
.seo-faq details[open]{box-shadow:var(--ak-shadow)}
.seo-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:18px 22px;font-weight:700;color:var(--ak-ink);font-size:16.5px}
.seo-faq summary::-webkit-details-marker{display:none}
.seo-faq summary .pl{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;
  background:var(--ak-green-soft);color:var(--ak-green-700);transition:transform .2s}
.seo-faq details[open] summary .pl{transform:rotate(45deg)}
.seo-faq .a{padding:0 22px 20px;color:var(--ak-body);line-height:1.7;font-size:15.5px}

/* ---- City link chips ----------------------------------------------------- */
.seo-citylinks{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.seo-citylink{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--ak-line-2);
  border-radius:11px;padding:10px 15px;font-weight:600;color:var(--ak-ink);font-size:14.5px;
  box-shadow:var(--ak-shadow-sm);transition:border-color .18s,transform .18s,box-shadow .18s}
.seo-citylink:hover{border-color:var(--ak-green);transform:translateY(-1px);box-shadow:var(--ak-shadow)}
.seo-citylink .km{color:var(--ak-faint);font-size:12.5px;font-weight:600}
.seo-county{margin-top:18px;line-height:2.1;font-size:15px}
.seo-county a{color:var(--ak-green-700);font-weight:600}

/* ---- Footer -------------------------------------------------------------- */
.seo-footer{background:var(--ak-ink);color:#9FB0C2;padding:48px 0 36px;margin-top:10px}
.seo-footer-grid{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between}
.seo-footer .seo-brand{color:#fff}
.seo-footer .seo-brand .seo-logo{background:var(--ak-green);color:#08130C}
.seo-footer-col h4{color:#fff;font-size:14px;font-weight:700;margin:0 0 12px;letter-spacing:.01em}
.seo-footer-col a{display:block;color:#9FB0C2;font-size:14.5px;margin:0 0 9px}
.seo-footer-col a:hover{color:#fff}
.seo-footer-nap{font-size:13.5px;line-height:1.8;color:#8595A8;max-width:300px;margin-top:14px}
.seo-footer-nap a{color:#56E59B}
.seo-footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:34px;padding-top:22px;
  font-size:13px;color:#6B7A90;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}

/* ---- Responsive ---------------------------------------------------------- */
@media(max-width:860px){
  .seo-steps{grid-template-columns:1fr}
  .seo-benefits{grid-template-columns:1fr}
  .seo-recruit-grid{grid-template-columns:repeat(2,1fr)}
  .seo-hero-inner{padding:40px 26px}
  .seo-section{padding:48px 0}
  .seo-recruit{padding:38px 26px}
}
@media(max-width:560px){
  body.seo{font-size:16px}
  .seo-container{padding:0 16px}
  .seo-nav .seo-btn{display:none}
  .seo-hero{margin-top:12px;border-radius:22px}
  .seo-hero-inner{padding:32px 20px}
  .seo-hero-cta{gap:10px}
  .seo-hero-cta .seo-btn{flex:1 1 100%}
  .seo-recruit-grid{grid-template-columns:1fr}
  .seo-footer-grid{gap:24px}
}
@media(prefers-reduced-motion:reduce){.seo *{transition:none!important;scroll-behavior:auto!important}}
