/* Figtree (SIL Open Font License — assets/fonts/Figtree-OFL.txt), served from
   this site: one variable file per script range, the weight axis capped at
   600 by the descriptor, so nothing is ever drawn heavier than Semibold. A
   Turkish page needs both files at once (ç ö ü are Latin-1; ğ ı ş İ are
   Latin Extended-A), and layouts/main.php preloads both. */
@font-face{font-family:Figtree;src:url("../fonts/figtree-latin-ext.woff2") format("woff2");
  font-weight:400 600;font-style:normal;font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Figtree;src:url("../fonts/figtree-latin.woff2") format("woff2");
  font-weight:400 600;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Kocaeli Nokta Servisi — site stylesheet (10 October 2026).

   A white page, the way a marketplace reads: photo heroes under a dark veil
   with the copy in white, plain white sections with centred headings, light
   grey and pale green panels with large rounded corners, cards held by a
   hairline instead of a shadow, and a light footer. One green family does
   every job — buttons, links, icons, the call line.

   Two greens, on purpose:
     --leaf  #2cb34f  the bright fill: icons, pins, rules, discs in the art.
                      White text on it is 2.7:1, so it never carries text.
     --brand #20853b  everything that carries or is text: buttons (white on it
                      4.7:1), links and green headings on white. On tinted
                      grounds green text steps down to --brand-d (5.5:1).
   build/kontrast-kontrol.py checks every pairing against WCAG AA. */
:root{
  --leaf:#2cb34f; --leaf-rgb:44 179 79;
  /* Green text on the dark header and hero (5.7:1 on the slate bar). */
  --leaf-hi:#6fdc8c;
  --brand:#20853b; --brand-d:#1b7034; --brand-dd:#145224; --brand-l:#e2f8e8; --brand-ll:#f2fbf4;
  --brand-rgb:32 133 59;
  --accent:#20853b; --accent-d:#1b7034; --accent-l:#e2f8e8;
  --call:#20853b; --call-d:#1b7034; --call-l:#e2f8e8; --call-rgb:32 133 59;
  /* Slate, for the few dark surfaces (the veil over photos, the vs head). */
  --dark:#404259; --dark-2:#2f3144;
  --ink:#0e0f11; --ink-2:#3d434c; --ink-3:#5f6875; --ink-4:#5f6875;
  --head:#0e0f11;
  --line:#e3e5e8; --line-2:#d3d7dc;
  --bg:#fff; --box:#fff; --band:#f1f2f4; --well:#f7f8f9;
  --foot:#f9fafa; --foot-2:#f1f2f4; --foot-tx:#3d434c;
  --wrap:1200px; --r:8px; --r-sm:4px; --r-lg:12px;
  /* A card that floats over a photo; everything else sits on a hairline. */
  --shadow:0 0 12px rgba(14,15,17,.16);
  --shadow-hi:0 6px 24px -6px rgba(14,15,17,.22);
  --lift:0 1px 2px rgba(14,15,17,.05);
  --pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  --tick:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
/* Backstop only — root causes are fixed (overflow-wrap, min-width:0). `clip`
   not `hidden`, so position:sticky keeps working; it also trims the scrollbar's
   width off the full-bleed home hero. */
html{overflow-x:clip}
body{overflow-x:clip}
body{margin:0;padding:0 0 76px;background:var(--bg);color:var(--ink-2);
  font:15.5px/1.65 Figtree,"Segoe UI",Tahoma,Verdana,Arial,sans-serif;
  font-synthesis-weight:none;overflow-wrap:anywhere}
/* min-width:auto lets a long word widen the whole track. Reset it. */
.box,.split,.side,.cols li,.grid-lnk a,.feat,.tile,.step,.wblnc-top>div,.wblnc-corp-in>div{min-width:0}
@media(min-width:900px){body{padding-bottom:0}}
img{max-width:100%;height:auto}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
b,strong{font-weight:600}
h1,h2,h3{margin:0;color:var(--head);font-weight:600;line-height:1.22;letter-spacing:-.015em}
h1{font-size:25px}
@media(min-width:700px){h1{font-size:32px}}
h2{font-size:19px;margin:30px 0 12px}
h3{font-size:16px;margin:20px 0 6px}
p{margin:0 0 12px}
ul,ol{margin:0 0 12px;padding-left:18px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
@media(min-width:700px){.wrap{padding:0 24px}}
.ic{width:18px;height:18px}.ic-sm{width:15px;height:15px}.ic-xs{width:12px;height:12px}
svg{flex:none;vertical-align:-.15em}
.mt{margin-top:26px}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* ---------- header ---------- */
/* On a page hero the header lies on the photograph — transparent, white logo
   and links (partials/header.php) — and scrolls away with the page; it is not
   pinned (owner, 10 October 2026). A page without a hero (body.no-hero) has
   a slate bar instead. */
.hdr{position:absolute;top:0;left:0;right:0;z-index:40;color:#fff}
.no-hero .hdr{position:relative;background:var(--dark)}
/* Phone: the logo on the left, the menu button on the right (owner,
   10 October 2026); the drawer opens from the same side. */
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:64px}
.logo{display:inline-flex;align-items:center;flex:none}
.logo:hover{text-decoration:none}
/* One image; height drives it and the width follows the file's own ratio. */
.logo-img{display:block;width:auto;height:40px}
@media(min-width:600px){.logo-img{height:44px}}
/* The owner's lockup is two lines (3.2:1): it needs the height to read. */
@media(min-width:1040px){.hdr .logo-img{height:50px}}
@media(max-width:359px){.hdr .logo-img{height:36px}}
.hdr-menu{order:2;margin-left:auto;display:inline-flex;flex-direction:row-reverse;align-items:center;gap:8px;background:none;border:0;padding:8px 2px;
  color:#fff;font:inherit;font-size:16px;font-weight:500;cursor:pointer}
.hdr-menu .ic{width:24px;height:24px}
@media(max-width:379px){.hdr-menu span{display:none}}
.nav{display:none}
.hdr-end{display:none;align-items:center;gap:10px}
.hdr-line{display:none}
/* No call button in the phone header (owner, 10 October 2026): the call
   bar at the foot of the screen carries the line. */
.hdr-call{display:none}
.hdr-call-tx{display:none}
.hdr-call-tx small{font-size:12px;font-weight:500;color:inherit;opacity:.85}
.hdr-call-tx b{font-size:16px;font-weight:600;color:inherit;font-variant-numeric:tabular-nums}

@media(min-width:1040px){
  .hdr-in{display:flex;gap:18px;min-height:78px}
  .hdr-menu{display:none}
  /* The menu sits right beside the logo, the buttons at the far end. */
  .nav{display:flex;align-items:center;gap:2px;margin-left:12px;min-width:0}
  .hdr-end{display:flex;margin-left:auto}
  .hdr-line,.hdr-call{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:var(--r-sm);
    font-size:15px;font-weight:600;transition:background .15s,color .15s,border-color .15s}
  .hdr-line{border:1.5px solid rgba(255,255,255,.8);color:#fff}
  .hdr-line:hover,.hdr-line[aria-current]{background:#fff;color:var(--ink);text-decoration:none}
  .hdr-call{border:1.5px solid var(--leaf-hi);background:transparent;color:var(--leaf-hi)}
  .hdr-call:hover{background:var(--brand);border-color:var(--brand);color:#fff}
  .hdr-call-ic{display:grid;place-items:center}
  .hdr-call-ic .ic{width:15px;height:15px;stroke-width:2}
  .hdr-call-tx{display:flex;align-items:baseline;gap:7px}
}
@media(min-width:1040px) and (max-width:1199px){.hdr-call-tx small{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}

.nav-i{position:relative}
.nav-l{position:relative;display:inline-flex;align-items:center;gap:5px;padding:9px 13px;border-radius:var(--r-sm);
  font-size:15px;font-weight:500;color:#fff;white-space:nowrap}
.nav-l svg{opacity:.85;transition:transform .18s ease}
.nav-l:hover{background:rgba(255,255,255,.12);text-decoration:none}
.nav-l[aria-current]::after{content:"";position:absolute;left:13px;right:13px;bottom:2px;height:2px;border-radius:2px;background:var(--leaf-hi)}
.nav-i:hover .nav-l svg,.nav-i:focus-within .nav-l svg{transform:rotate(180deg)}
/* Hover and focus-within, no JS: focusing the parent link opens the panel,
   and Tab then walks into it. The ::before bridges the gap to the panel. */
.nav-sub{position:absolute;top:100%;left:0;z-index:41;display:none;min-width:250px;padding:10px;margin-top:10px;
  background:#fff;border-radius:var(--r-lg);box-shadow:0 18px 40px -12px rgba(14,15,17,.35);color:var(--ink)}
.nav-sub::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.nav-i:hover .nav-sub,.nav-i:focus-within .nav-sub{display:block}
/* Services: four cards, each with its icon and one line, then the index. */
.nav-mega{width:600px}
.nav-i:hover .nav-mega,.nav-i:focus-within .nav-mega{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.nav-card{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:var(--r);color:var(--ink)}
.nav-card:hover{background:var(--brand-ll);text-decoration:none}
.nav-card-ic{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--brand-l);color:var(--brand-d)}
.nav-card-tx{display:flex;flex-direction:column;gap:3px;min-width:0}
.nav-card-tx b{font-size:15px;font-weight:600;color:var(--ink)}
.nav-card-tx small{font-size:13px;line-height:1.45;color:var(--ink-3)}
.nav-card[aria-current] b{color:var(--brand)}
.nav-sub-l{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:var(--r-sm);
  font-size:14.5px;font-weight:500;color:var(--ink-2);white-space:nowrap}
.nav-sub-l:hover{background:var(--brand-ll);color:var(--brand-d);text-decoration:none}
.nav-sub-l svg{color:var(--ink-3)}
.nav-sub-l[aria-current]{color:var(--brand-d);font-weight:600}
.nav-mega .nav-sub-l{grid-column:1/-1;margin-top:4px;border-top:1px solid var(--line);border-radius:0 0 var(--r) var(--r);color:var(--brand);font-weight:600}

/* ---------- mobile drawer ---------- */
/* Slides in from the right over a veil: the two buttons first, then the
   menu in large rows. */
.drawer-veil{position:fixed;inset:0;z-index:60;background:rgba(14,15,17,.55)}
.drawer{position:fixed;top:0;bottom:0;right:0;z-index:61;display:flex;flex-direction:column;gap:20px;
  width:min(86vw,360px);padding:16px 20px calc(18px + env(safe-area-inset-bottom,0px));background:#fff;color:var(--ink);
  overflow-y:auto;overscroll-behavior:contain;box-shadow:-12px 0 40px -20px rgba(0,0,0,.6);
  transform:translateX(100%);transition:transform .24s ease}
.drawer.is-open{transform:none}
.drawer[hidden],.drawer-veil[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.drawer{transition:none}}
.drawer-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.drawer .logo-img{height:38px}
.drawer-x{display:grid;place-items:center;width:42px;height:42px;flex:none;border:1px solid var(--line-2);border-radius:50%;
  background:#fff;color:var(--ink);cursor:pointer}
.drawer-x:hover{border-color:var(--ink)}
.drawer-btns{display:grid;gap:10px}
.drawer-btns .btn{width:100%}
.drawer-nav{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.drawer-l,.drawer-grp>summary{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);
  font-size:17px;font-weight:600;color:var(--ink);list-style:none;cursor:pointer}
.drawer-grp>summary::-webkit-details-marker{display:none}
.drawer-l:hover,.drawer-grp>summary:hover{color:var(--brand);text-decoration:none}
.drawer-l[aria-current]{color:var(--brand)}
.drawer-l>svg,.drawer-grp>summary>svg{margin-left:auto;color:var(--ink-3);transition:transform .18s ease}
.drawer-grp[open]>summary>svg{transform:rotate(180deg)}
.drawer-ic{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--brand-l);color:var(--brand-d)}
.drawer-sub{display:grid;padding:4px 0 10px 50px;border-bottom:1px solid var(--line)}
.drawer-sub a{padding:9px 0;font-size:15.5px;color:var(--ink-2)}
.drawer-sub a:hover,.drawer-sub a[aria-current]{color:var(--brand-d)}
@media(min-width:1040px){.drawer,.drawer-veil{display:none!important}}
body.menu-open{overflow:hidden}

/* ---------- page frame ---------- */
.page{padding:16px 0 40px}
@media(min-width:700px){.page{padding:20px 0 56px}}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:0 0 14px;font-size:13px;color:var(--ink-3);line-height:1.6}
.crumbs a{display:inline-flex;align-items:center;gap:5px;color:var(--ink-3)}
.crumbs a:hover{color:var(--brand)}
.crumbs a svg{color:var(--leaf)}
.crumbs-sep{display:inline-flex;color:var(--line-2)}
.crumbs-here{color:var(--brand);font-weight:500}

/* ---------- page hero ---------- */
/* Every page opens on one (partials/hero.php): a full-width photograph under
   a dark veil, the header lying on top of it, the H1 in white and the call
   bar under it. Centred on a wide screen; on a phone the copy keeps to the
   left, the way it reads there. The top padding clears the header. */
.hero{position:relative;isolation:isolate;display:flex;overflow:hidden;background:var(--dark);color:#fff}
.hero-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:76% center}
/* On a wide screen the person moves to the right edge, clear of the copy. */
@media(min-width:1000px){.hero-bg{object-position:14% center;transform:scale(1.2);transform-origin:0 50%}}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(14,15,17,.78) 0%,rgba(14,15,17,.68) 52%,rgba(14,15,17,.56) 100%)}
.hero-in{position:relative;display:flex;align-items:center;width:100%;padding-top:96px;padding-bottom:44px}
.hero-lg{min-height:600px}
.hero-md{min-height:470px}
.hero-sm{min-height:250px}
.hero-sm .hero-in{padding-bottom:32px}
.hero-copy{position:relative;display:flex;flex-direction:column;align-items:flex-start;width:100%;max-width:820px;text-align:left}
.hero h1{margin:0;font-size:34px;font-weight:600;line-height:1.12;color:#fff;letter-spacing:-.025em;text-wrap:balance}
.hero h1 span{display:block}
.hero-sm h1{font-size:28px}
/* Brand pages: "Kocaeli Nokta Servisi:" rides above the heading as its eyebrow;
   the colon stays in the text, out of sight. */
.hero .h1-brand{display:block;margin-bottom:12px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--leaf-hi)}
.hero .page-h1{max-width:30ch}
.h1-sep{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero-lead{margin:14px 0 0;max-width:46ch;color:#fff;font-size:17px;line-height:1.5;font-weight:500}
.hero-bar{display:flex;align-items:stretch;width:100%;max-width:580px;min-height:58px;margin-top:26px;
  background:#fff;border-radius:var(--r);overflow:hidden;color:var(--ink);text-align:left;box-shadow:0 14px 34px -14px rgba(0,0,0,.6)}
.hero-bar:hover{text-decoration:none}
.hero-bar-tx{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:8px 18px}
.hero-bar-tx svg{flex:none;width:20px;height:20px;color:var(--leaf)}
.hero-bar-tx small{font-size:14px;color:var(--ink-3);white-space:nowrap}
.hero-bar-tx b{font-size:20px;font-weight:600;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.hero-bar-go{flex:none;display:grid;place-items:center;min-width:112px;padding:0 22px;background:var(--brand);color:#fff;font-size:17px;font-weight:600}
.hero-bar:hover .hero-bar-go{background:var(--brand-d)}
.hero-chips{display:flex;flex-wrap:wrap;gap:8px 18px;margin:20px 0 0;padding:0;list-style:none}
.hero-chips li{display:inline-flex;align-items:center;gap:7px;font-size:14px;color:#fff}
.hero-chips svg{color:var(--leaf-hi)}
.hero-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin:18px 0 0}
.hero-links a{display:inline-flex;align-items:center;gap:6px;color:#fff;font-weight:600;font-size:15px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.5)}
.hero-links a:hover{text-decoration-color:#fff}
@media(max-width:479px){
  .hero-bar-tx small{display:none}
  .hero-bar-tx b{font-size:18px}
  .hero-bar-go{min-width:78px;padding:0 16px}
}
@media(min-width:700px){
  .hero-in{padding-top:110px;padding-bottom:56px}
  .hero h1{font-size:46px}
  .hero-sm h1{font-size:36px}
  .hero-lead{font-size:19px}
  .hero .h1-brand{font-size:14px}
}
@media(min-width:1000px){
  .hero-copy{margin:0 auto;align-items:center;text-align:center}
  .hero-chips,.hero-links{justify-content:center}
  .hero h1{font-size:54px}
  .hero-lg h1{font-size:60px}
  .hero-lg .hero-copy{max-width:940px}
  .hero-lg h1 span{margin-top:4px;font-size:.74em}
  .hero-sm h1{font-size:40px}
}

/* ---------- surfaces ---------- */
.box{background:var(--box);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 18px;margin-bottom:18px}
@media(min-width:700px){.box{padding:32px 34px;margin-bottom:24px}}
/* A section whose content is itself a grid of cards gets no card of its own. */
.band{margin-bottom:26px;padding:6px 0}
@media(min-width:700px){.band{margin-bottom:40px;padding:14px 0 6px}}
.box .faq{margin-top:10px}
.box>.feats:last-child,.box>.tiles:last-child{margin-bottom:0}
/* Justification needs a wide measure — on phones it opens rivers. */
.box-lead{text-align:left}
.faq p{text-align:left}
@media(min-width:700px){.box-lead{text-align:justify}}
.box-lead p{color:var(--ink-2)}
.side-txt{font-size:13.5px;line-height:1.85;margin:0}

/* ---------- headings inside content ---------- */
/* Section headings on the home page are centred, marketplace style. */
.sechead{text-align:center;font-size:23px;margin:0 0 22px;letter-spacing:-.02em}
@media(min-width:560px){.sechead{font-size:28px}}
@media(min-width:900px){.sechead{font-size:32px;margin-bottom:28px}}
.subhead{color:var(--ink-3);margin:0 auto 22px;max-width:70ch;font-size:15px;text-align:center}
.subhead-more{margin:20px auto 0}
.box .subhead-more,.sect-split .subhead-more{margin-left:0}
.subhead-more a,.morelinks a{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--brand)}
.morelinks{display:flex;flex-wrap:wrap;gap:10px 22px;margin:20px 0 0}
.rule{border:0;border-top:1px solid var(--line);margin:24px 0}

/* ---------- scope notice (policy) ---------- */
/* Like a guarantee note: a hairline above and below, a shield in green. */
.scope-foot{margin-top:20px}
.scope{display:flex;gap:14px;align-items:flex-start;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:16px 2px;margin:0;font-size:13.5px;line-height:1.7;color:var(--ink-3)}
.scope-ic{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--brand-l);color:var(--brand-d)}
.scope-ic svg{width:17px;height:17px}
.scope p{margin:0}
.scope strong{color:var(--ink);font-weight:600}

/* ---------- feature list ---------- */
/* Icon in a pale green disc, a title, a grey line — no card around it. */
.feats{display:grid;grid-template-columns:1fr;gap:22px 26px;margin:24px 0}
@media(min-width:520px){.feats{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.feats{grid-template-columns:repeat(3,1fr);gap:30px 34px;margin:28px 0}}
.feat{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:14px;align-items:start}
.feat-ic{grid-row:span 2;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;
  background:var(--brand-l);color:var(--brand-d)}
.feat-ic svg{width:24px;height:24px;stroke-width:1.7}
.feat b{display:block;font-size:16px;font-weight:600;color:var(--ink);line-height:1.35;margin-top:3px}
.feat small{display:block;font-size:14px;color:var(--ink-3);line-height:1.55;margin-top:4px}
@media(min-width:900px){
  .band .feat,.sect .feat{grid-template-columns:1fr;row-gap:12px}
  .band .feat-ic,.sect .feat-ic{grid-row:auto;width:58px;height:58px}
  .band .feat b,.sect .feat b{font-size:18px;margin-top:2px}
}

/* ---------- phone band ---------- */
.phoneband{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 18px;
  background:var(--brand-l);border-radius:var(--r);
  padding:16px;text-align:center;font-size:15.5px;font-weight:600;color:var(--brand-dd);margin:26px 0;line-height:1.5}
.phoneband a{display:inline-flex;align-items:center;gap:9px;padding:10px 22px;border-radius:var(--r-sm);
  background:var(--brand);color:#fff;font-weight:600;font-size:19px;font-variant-numeric:tabular-nums}
.phoneband a[href^="tel:"]{white-space:nowrap}
.phoneband a:hover{text-decoration:none;background:var(--brand-d)}
@media(min-width:560px){.phoneband{padding:18px 22px;font-size:16.5px}.phoneband a{font-size:22px}}

/* Call panel: a grey block with a large deep-green line and the button. */
.ctaband{position:relative;overflow:hidden;background:var(--band);
  color:var(--brand-dd);border-radius:var(--r-lg);padding:24px 20px;margin:24px 0;
  display:flex;flex-wrap:wrap;gap:16px 20px;align-items:center;justify-content:center;text-align:center}
.ctaband-img{flex:none;width:84px;height:84px;border-radius:50%;background:#fff;box-shadow:var(--lift)}
.ctaband p{position:relative;display:inline-flex;align-items:center;gap:10px;margin:0;font-size:19px;font-weight:600;line-height:1.35}
/* The assistant's picture stands for the call; the headset icon would sit
   oddly beside a centred, wrapped line. */
.ctaband p svg{display:none}
.ctaband .btn{position:relative}
@media(min-width:700px){.ctaband{padding:30px 40px;justify-content:flex-start;text-align:left}
  .ctaband p{font-size:23px;max-width:34ch}
  .ctaband .btn{margin-left:auto}
  .ctaband-img{width:104px;height:104px}}

/* Outbound or one-level-up reference link. */
.linkband{background:var(--well);border-radius:var(--r);
  padding:14px 16px;margin:24px 0}
.linkband a{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14.5px;color:var(--brand-d)}

/* ---------- section titles inside cards ---------- */
.listhead{font-size:19px;font-weight:600;letter-spacing:-.01em;color:var(--head);
  margin:34px 0 14px;line-height:1.3}
.box>.listhead:first-child,.box-lead>.listhead:first-child{margin-top:2px}
@media(min-width:700px){.listhead{font-size:22px}}
/* Sub-heading inside a link block; lighter than .listhead. */
.sublisthead{font-size:15px;font-weight:600;color:var(--head);margin:18px 0 8px}
.sublisthead a{color:inherit;text-decoration:none}
.sublisthead a:hover,.sublisthead a:focus-visible{color:var(--brand);text-decoration:underline}
@media(min-width:700px){.sublisthead{font-size:16px}}
/* Place names as a plain comma-run, no links. */
.hoodlist{font-size:14px;line-height:1.85;color:var(--ink-3);margin:0;padding:14px 16px;background:var(--well);
  border-radius:var(--r)}

/* Emphasised key phrases inside body copy. */
.box-lead strong,.prose strong,.box p strong{color:var(--ink);font-weight:600}
/* A clock range ("08.00–01.00") is one unit; see e_times(). */
.nw{white-space:nowrap}
/* Plain lists in columns, a green tick before each item; a list of places
   (.yer: districts, the province) takes a pin instead. */
/* One column on a phone (owner, 10 October 2026), two from 560px. */
.cols{columns:1;column-gap:26px;font-size:14.5px;list-style:none;padding:0;margin:0}
@media(min-width:560px){.cols{columns:2}}
@media(min-width:700px){.cols{columns:3}}
@media(min-width:900px){.cols{columns:4}}
.cols.wide{columns:1}
@media(min-width:560px){.cols.wide{columns:2}}
@media(min-width:900px){.cols.wide{columns:3}}
.cols li{position:relative;break-inside:avoid;margin-bottom:8px;padding-left:20px;color:var(--ink-2)}
.cols li::before{content:"";position:absolute;left:0;top:.38em;width:13px;height:13px;background:var(--leaf);
  -webkit-mask:var(--tick) center/contain no-repeat;mask:var(--tick) center/contain no-repeat}
.cols.yer li::before{-webkit-mask-image:var(--pin);mask-image:var(--pin);top:.3em;width:14px;height:14px}
.cols a{color:var(--ink);font-weight:500}
.cols a:hover{color:var(--brand)}
/* Grows the tap target without moving anything visually. */
@media(hover:none){
  .cols li{margin-bottom:3px}
  .cols a,.side a{display:inline-block;padding:5px 0}
  .wblnc li{line-height:1.5}
  .wblnc li a{display:inline-block;padding:5px 0}
  .crumbs a{padding:3px 0}
}

/* ---------- tiles (devices / categories) ---------- */
/* Cards: the device drawn large on a pale green field, its name in green
   underneath. Fixed column counts so an 8-tile row never orphans one. */
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0}
@media(min-width:700px){.tiles{grid-template-columns:repeat(4,1fr);gap:16px}}
.tile{display:flex;flex-direction:column;align-items:stretch;overflow:hidden;background:#fff;
  border:1px solid var(--line);border-radius:var(--r);color:var(--brand);text-align:left;
  transition:box-shadow .15s,border-color .15s}
.tile:hover{box-shadow:var(--shadow-hi);border-color:transparent;text-decoration:none;color:var(--brand-d)}
.tile svg{display:block;width:100%;height:88px;padding:20px;background:var(--brand-ll);
  stroke-width:1.4;color:var(--brand);transition:background .15s,color .15s}
.tile:hover svg{background:var(--brand-l);color:var(--brand-d)}
.tile b{padding:12px 14px 14px;font-size:14.5px;font-weight:600;line-height:1.35}
@media(min-width:700px){.tile svg{height:112px;padding:26px}.tile b{font-size:15px}}

/* ---------- folded link lists (brand hub) ---------- */
.folds{margin:12px 0 0}
.fold{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-bottom:8px}
.fold:last-child{margin-bottom:0}
.fold>summary{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;
  font-weight:600;color:var(--head);font-size:15px;list-style:none}
.fold>summary::-webkit-details-marker{display:none}
.fold>summary svg{margin-left:auto;transition:.2s;color:var(--ink-3)}
.fold[open]>summary{color:var(--brand-d)}
.fold[open]>summary svg{transform:rotate(180deg);color:var(--brand-d)}
.fold-n{font-weight:600;font-size:12px;color:var(--brand-d);background:var(--brand-l);border-radius:999px;padding:1px 9px}
.fold>.cols,.fold>.grid-lnk{padding:2px 16px 16px}
/* A fold holding several titled lists (the brand page's semts by district). */
.fold-b{padding:0 16px 16px}
.fold-b>.sublisthead:first-child{margin-top:2px}
.fold-b>.cols{padding:0}
@media(max-width:479px){.fold>.cols,.fold-b>.cols{columns:1}}

/* ---------- brand & place link grids ---------- */
/* Plain underlined links in even columns; in a list of places (.yer) each
   link carries a green pin. */
.grid-lnk{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}
@media(min-width:560px){.grid-lnk{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px){.grid-lnk{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 24px}}
@media(max-width:339px){.grid-lnk{grid-template-columns:1fr}}
/* flex-wrap: where a name does not fit beside its pin or plate it drops under
   it whole — a name is never split mid-word. */
.grid-lnk a{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;padding:7px 0;
  font-size:14.5px;font-weight:600;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-2);
  text-decoration-thickness:1px;text-underline-offset:4px;transition:color .15s,text-decoration-color .15s}
.grid-lnk a:hover{color:var(--brand);text-decoration-color:currentColor}
.grid-lnk.yer a::before{content:"";flex:none;width:16px;height:16px;background:var(--leaf);
  -webkit-mask:var(--pin) center/contain no-repeat;mask:var(--pin) center/contain no-repeat}
@media(max-width:559px){.grid-lnk a{font-size:14px}}
.plate{flex:none;min-width:26px;text-align:center;background:var(--brand-l);border-radius:3px;padding:1px 5px;
  font-size:11.5px;font-weight:600;color:var(--brand-d);font-variant-numeric:tabular-nums;text-decoration:none}
.grid-il a::before{display:none}
.grid-lnk small{display:block;color:var(--ink-3);font-size:12px;font-weight:500}
.alpha-nav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}
.alpha-nav a{display:grid;place-items:center;min-width:34px;height:34px;padding:0 9px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-sm);font-size:14px;color:var(--ink);font-weight:600}
.alpha-nav a:hover{background:var(--brand);border-color:var(--brand);color:#fff;text-decoration:none}
.alpha-h{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:600;color:var(--ink);
  margin:28px 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line);scroll-margin-top:90px}
.alpha-n{order:1;font-size:12.5px;font-weight:600;color:var(--brand-d);background:var(--brand-l);
  border-radius:999px;padding:1px 10px}

/* ---------- faq ---------- */
/* Rows on a hairline; the round toggle turns solid green when open. */
.faq{margin:14px 0 0;display:grid;gap:0;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:16px 2px;
  cursor:pointer;font-weight:600;color:var(--ink);font-size:15.5px;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--brand)}
.faq summary svg{flex:none;width:28px;height:28px;padding:7px;border-radius:50%;background:var(--brand-l);
  color:var(--brand-d);transition:transform .2s,background .2s}
.faq details[open] summary svg{transform:rotate(180deg);background:var(--brand);color:#fff}
.faq p{padding:0 44px 18px 2px;margin:0;color:var(--ink-2)}
@media(max-width:559px){.faq p{padding-right:2px}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:var(--r-sm);
  border:2px solid transparent;font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:.15s;white-space:nowrap}
.btn:hover{text-decoration:none}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-d);color:#fff}
.btn-call{background:var(--brand);color:#fff;font-variant-numeric:tabular-nums}
.btn-call:hover{background:var(--brand-d);color:#fff}
.btn-ghost{background:#fff;border-color:var(--brand);color:var(--brand)}
.btn-ghost:hover{background:var(--brand);color:#fff}
.btn-lg{padding:14px 26px;font-size:16px}

/* Search: white field with the green button flush on its right edge. */
.searchbig{display:flex;align-items:stretch;background:#fff;border:1px solid var(--line-2);border-radius:var(--r);
  overflow:hidden;color:var(--ink-3);max-width:620px;margin-bottom:6px}
.searchbig>svg{align-self:center;margin-left:16px}
.searchbig input{flex:1;min-width:0;border:0;outline:none;font:inherit;font-size:16px;background:none;padding:14px 12px;color:var(--ink)}
.searchbig .btn{border-radius:0;padding:0 28px;min-height:52px}
.searchbig:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb) / .15)}

/* ---------- two column ---------- */
.split{display:grid;gap:22px}
@media(min-width:860px){.split{grid-template-columns:minmax(0,1fr) 300px;align-items:start}}
.side{display:flex;flex-direction:column;gap:16px}
.side .box{padding:20px 22px;margin:0;background:var(--well);border-color:transparent}
.side-h{font-size:12.5px;font-weight:600;color:var(--brand-d);letter-spacing:.08em;text-transform:uppercase;
  margin:0 0 10px}
.side ul{list-style:none;padding:0;margin:0;font-size:14px}
.side li{margin-bottom:7px}
.side a{color:var(--ink-2)}
.side a:hover,.side a[aria-current]{color:var(--brand-d)}
.side a[aria-current]{font-weight:600}

/* ---------- contact map ---------- */
.mapbox{padding:0;overflow:hidden}
.mapbox-in{position:relative;height:300px;background:var(--band)}
@media(min-width:700px){.mapbox-in{height:400px}}
.mapbox-in iframe{display:block;width:100%;height:100%;border:0}
.mapbox-info{display:grid;gap:14px;padding:20px}
@media(min-width:820px){
  .mapbox-info{grid-template-columns:1fr auto;align-items:center;padding:24px 30px;gap:24px}
}
.mapbox-title{margin:0 0 10px;font-size:16px;font-weight:600;color:var(--ink);line-height:1.5}
.mapbox-facts{display:grid;gap:8px;margin:0}
@media(min-width:560px){.mapbox-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px}}
.mapbox-facts p{display:flex;align-items:flex-start;gap:9px;margin:0;font-size:14px;line-height:1.6;color:var(--ink-2)}
.mapbox-facts svg{flex:none;margin-top:4px;color:var(--leaf)}
.mapbox-info .btn{justify-self:start;white-space:nowrap}

/* ---------- registry card ---------- */
/* Registry facts on the contact page: a grid of labelled values in wells. */
.reg{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:0;font-size:14px}
.reg>div{display:flex;flex-direction:column;gap:3px;padding:13px 15px;border-radius:var(--r);background:var(--well)}
.reg>div.reg-wide{grid-column:1/-1}
.reg dt{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.reg dd{margin:0;color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.reg-note{margin:12px 0 0;font-size:13px;line-height:1.6;color:var(--ink-3)}

/* ---------- stats / result ---------- */
.stats{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin:0 0 24px}
.stats div{background:var(--well);border-radius:var(--r);padding:16px;text-align:center}
.stats b{display:block;font-size:26px;color:var(--ink)}
.stats small{color:var(--ink-3);font-size:13px}
.result{text-align:center;padding:44px 20px}
.result .actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}

/* ---------- footer ---------- */
/* Light, on a hairline: dark links on near-white, green only on hover. */
.wblnc{position:relative;background:var(--foot);color:var(--foot-tx);font-size:14px;line-height:1.85;border-top:1px solid var(--line)}
.wblnc a{color:var(--ink)}
.wblnc a:hover{color:var(--brand);text-decoration:underline}
/* Buttons keep their own colours. */
.wblnc .btn-primary,.wblnc .btn-primary:hover,.wblnc .btn-call,.wblnc .btn-call:hover{color:#fff;text-decoration:none}
.wblnc-brand{display:grid;gap:16px;padding-top:34px;padding-bottom:24px}
@media(min-width:760px){.wblnc-brand{grid-template-columns:auto auto;justify-content:space-between;align-items:center;gap:26px}}
.wblnc-brand .btn{justify-self:start}
.wblnc-id{display:flex;flex-direction:column;gap:12px}
.wblnc-tag{margin:0;max-width:56ch;color:var(--ink-3);font-size:14px}
.wblnc ul{list-style:none;padding:0;margin:0}
.wblnc-top li{line-height:1.6;margin-bottom:7px}
.wblnc-contact li{display:flex;gap:9px;align-items:flex-start}
.wblnc-contact svg{margin-top:5px;color:var(--leaf)}
.wblnc-corp{border-top:1px solid var(--line);font-size:13.5px;line-height:1.8}
.wblnc-corp p{margin:0}

/* Footer groups are <details> (partials/footer.php). On a phone they are a
   stack of folded rows on hairlines; from 700px up they are plain open
   columns and the summary is just the column heading. */
.wblnc-col>summary{list-style:none;cursor:pointer}
.wblnc-col>summary::-webkit-details-marker{display:none}
.wblnc-h{display:flex;align-items:center;justify-content:space-between;gap:10px;
  font-size:15px;font-weight:600;color:var(--ink);margin:0}
.wblnc-h svg{flex:none;color:var(--ink-3);transition:transform .2s ease}
.wblnc-col[open]>.wblnc-h svg{transform:rotate(180deg);color:var(--brand-d)}
.wblnc-corp .wblnc-h{font-size:14px}

@media(max-width:699px){
  .wblnc-top{display:grid;gap:0;padding-top:4px;padding-bottom:18px}
  .wblnc-corp-in{display:grid;gap:0;padding-top:8px;padding-bottom:16px}
  .wblnc-col{border-bottom:1px solid var(--line)}
  .wblnc-col>summary{padding:14px 2px}
  .wblnc-col>summary:hover{color:var(--brand)}
  .wblnc-col>ul,.wblnc-col>.wblnc-col-b{padding:0 2px 14px}
  .wblnc-top li{margin-bottom:4px}
}
@media(min-width:700px){
  .wblnc-top{display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:30px;padding-bottom:28px;border-top:1px solid var(--line)}
  .wblnc-corp-in{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding-top:26px;padding-bottom:26px}
  /* Open columns: the summary is a heading, not a control. */
  .wblnc-col>summary{cursor:default;pointer-events:none;margin:0 0 12px}
  .wblnc-corp .wblnc-col>summary{margin-bottom:6px}
  .wblnc-h svg{display:none}
}
/* Four link groups: two by two on a tablet, one row from 900px. */
@media(min-width:900px){.wblnc-top{grid-template-columns:repeat(4,minmax(0,1fr))}}

.wblnc-disc{border-top:1px solid var(--line)}
.wblnc-disc p{margin:0;padding-top:18px;padding-bottom:18px;font-size:12.5px;line-height:1.8;color:var(--ink-3)}
.wblnc-disc svg{color:var(--leaf);margin-right:4px}
.wblnc-legal{background:var(--foot-2);font-size:13px;color:var(--ink-3)}
.wblnc-legal-in{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between;padding-top:14px;padding-bottom:14px}
.wblnc-legal p{margin:0}

/* ---------- brand page intro ----------
   Under the hero, at the head of a brand page: the intro paragraphs and the
   strip of six service badges (partials/phero.php). */
.phero{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-bottom:20px}
@media(min-width:700px){.phero{margin-bottom:26px}}
.phero-detail{padding:22px 20px 20px}
@media(min-width:700px){.phero-detail{padding:26px 32px 22px}}
.phero-leads{display:flex;flex-direction:column;gap:8px;max-width:94ch}
.phero-lead{margin:0;font-size:15.5px;line-height:1.8;color:var(--ink-2)}
.phero-lead:first-child:not(:only-child){font-size:17px;line-height:1.7;font-weight:500;color:var(--ink)}
/* Badge strip: a row of icons with their labels, on a hairline. */
.phero-trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;margin:0;padding:12px 16px;
  list-style:none;border-top:1px solid var(--line)}
@media(min-width:700px){.phero-trust{grid-template-columns:repeat(3,minmax(0,1fr));padding:14px 24px}}
@media(min-width:1100px){.phero-trust{grid-template-columns:repeat(6,minmax(0,1fr))}}
/* Below 400px two cells leave "Ödeyebilirsiniz" no room on its line. */
@media(max-width:399px){.phero-trust{grid-template-columns:1fr}}
.phero-trust li{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 4px;
  font-size:14px;font-weight:500;line-height:1.3;color:var(--ink)}
.phero-trust .ic{flex:none;width:34px;height:34px;padding:8px;border-radius:50%;background:var(--brand-l);color:var(--brand-d)}

/* ---------- mobile call bar ----------
   The page's line on a green bar (Phones::page(), not always the main one):
   the assistant on the left, the number, and a white call disc. */
.callbar{position:fixed;inset:auto 0 0 0;z-index:50;display:flex;align-items:center;
  gap:12px;min-height:66px;isolation:isolate;
  padding:9px 14px calc(9px + env(safe-area-inset-bottom,0px));
  background:var(--brand);color:#fff;box-shadow:0 -8px 22px rgba(14,15,17,.16)}
.callbar:hover,.callbar:active{text-decoration:none;color:#fff;background:var(--brand-d)}
.callbar:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.callbar-fx{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.callbar-fx i{position:absolute;border-radius:50%;background:rgba(255,255,255,.07)}
.callbar-fx i:nth-child(1){width:150px;height:150px;right:-40px;top:-74px}
.callbar-fx i:nth-child(2){width:90px;height:90px;right:34px;bottom:-58px}
.callbar-fx i:nth-child(3){width:26px;height:26px;left:40%;top:8px}
.callbar-ic{position:relative;flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%}
.callbar-avatar{position:relative;z-index:1;display:block;width:46px;height:46px;object-fit:cover;
  border:2px solid #fff;border-radius:50%;background:#fff}
.callbar-ic::after{content:"";position:absolute;z-index:2;right:0;bottom:1px;width:12px;height:12px;border-radius:50%;
  background:#9df0b4;border:2px solid var(--brand)}
.callbar-tx{display:flex;flex-direction:column;line-height:1.2;margin-right:auto;min-width:0}
.callbar-tx small{font-size:12px;font-weight:500;color:#fff}
.callbar-tx b{font-size:20px;font-weight:600;letter-spacing:.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
.callbar-go{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--brand);
  animation:callbar-ring 2.4s ease-out infinite}
/* The call disc rings: a white halo spreading out, and the receiver gives a
   short shake once per cycle. Off for anyone who asks for less motion. */
.callbar-go svg{transform-origin:50% 50%;animation:callbar-shake 2.4s ease-in-out infinite}
@keyframes callbar-ring{0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}70%{box-shadow:0 0 0 15px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
@keyframes callbar-shake{0%,58%,100%{transform:rotate(0)}62%{transform:rotate(-15deg)}66%{transform:rotate(13deg)}70%{transform:rotate(-10deg)}74%{transform:rotate(7deg)}78%{transform:rotate(0)}}
@media(prefers-reduced-motion:reduce){.callbar-go,.callbar-go svg{animation:none}}
@media(min-width:900px){.callbar{display:none}}
/* The open drawer carries its own call button — see .drawer-btns. */
body.menu-open .callbar{display:none}

/* ---------- home sections ---------- */
.sect{margin:0 0 44px}
@media(min-width:700px){.sect{margin-bottom:64px}}
.sect-panel{background:var(--band);border-radius:var(--r-lg);padding:28px 18px}
@media(min-width:700px){.sect-panel{padding:44px 40px}}

/* Districts beside the schematic of the province (sayfa/bolgeler.webp). */
.sect-split{display:grid;gap:22px;align-items:center}
.sect-split .sechead{text-align:left;margin-bottom:16px}
.sect-split .subhead{text-align:left;margin-left:0}
.sect-split-tx{min-width:0}
.sect-split-art{margin:0}
/* Below 560px the district names in the drawing are too small to read; the
   list above already carries them. */
@media(max-width:559px){.sect-split-art{display:none}}
.sect-split-art img{display:block;width:100%;height:auto}
@media(min-width:900px){.sect-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
  .sect-split .grid-lnk{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* "Nasıl çalışır": three numbered steps on a line with a dot over each. */
.steps{display:grid;gap:26px;margin:0;padding:0;list-style:none;counter-reset:step}
@media(min-width:760px){.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;padding-top:26px;
  background:linear-gradient(var(--line),var(--line)) 0 7px/100% 2px no-repeat}}
.step{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;align-items:start}
@media(min-width:760px){.step::before{content:"";position:absolute;left:calc(50% - 8px);top:-26px;width:16px;height:16px;
  border-radius:50%;background:#fff;border:3px solid var(--leaf)}}
.step-n{grid-row:span 2;font-size:38px;font-weight:600;line-height:1;color:#8a95a3;font-variant-numeric:tabular-nums}
.step-t{margin:3px 0 0;font-size:18px;font-weight:600;color:var(--ink);line-height:1.3}
.step-d{margin:6px 0 0;font-size:14.5px;color:var(--ink-3);line-height:1.6}

/* ---------- legal documents ---------- */
.legal-intro{font-size:15.5px;color:var(--ink);background:var(--brand-ll);
  border-left:3px solid var(--leaf);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:13px 16px;margin-bottom:8px}
.legal-list{margin:0 0 14px;padding-left:20px}
.legal-updated{margin:24px 0 0;font-size:13px;color:var(--ink-3)}
.legal-list li{margin-bottom:6px}
.legal-list li::marker{color:var(--leaf)}
/* Tables scroll in their own box; the page never scrolls sideways. */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 16px;
  border:1px solid var(--line);border-radius:var(--r)}
.legal-table{border-collapse:collapse;width:100%;min-width:420px;font-size:14px}
.legal-table th,.legal-table td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.legal-table th{background:var(--brand-l);font-weight:600;color:var(--brand-dd);white-space:nowrap}
.legal-table tbody tr:last-child td{border-bottom:0}
.legal-table td:first-child{font-weight:600;color:var(--ink)}

/* ---------- customer reviews ---------- */
.revs{display:grid;gap:14px;grid-template-columns:1fr;margin-top:18px}
@media(min-width:640px){.revs{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.revs{grid-template-columns:repeat(3,1fr)}}
.rev{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px}
.rev-stars{color:#f2a516;font-size:15px;letter-spacing:2px;margin-bottom:9px}
.rev-stars .off{color:var(--line-2)}
.rev blockquote{margin:0 0 12px;font-size:14px;line-height:1.75;color:var(--ink-2)}
.rev figcaption b{display:block;font-size:14px;color:var(--ink)}
.rev figcaption small{color:var(--ink-3);font-size:12.5px}

/* ---------- sector contrast ---------- */
/* Mobile stacks each pair into one card so the answer stays attached to the
   claim; CSS `order` would group all left cells then all right cells. */
.vs{display:block;margin:20px 0 0}
.vs-head{display:none}
.vs-row{border-radius:var(--r);overflow:hidden;margin-bottom:8px;border:1px solid var(--line)}
.vs-bad,.vs-good{position:relative;padding:13px 15px 13px 44px;font-size:14px;line-height:1.65}
.vs-bad{background:var(--well);color:var(--ink-3)}
.vs-bad::before,.vs-good::before{position:absolute;left:14px;top:13px;display:grid;place-items:center;width:20px;height:20px;
  border-radius:50%;font-size:11px;font-weight:600;line-height:1}
.vs-bad::before{content:"✕";background:var(--line);color:var(--ink-3)}
.vs-good{background:var(--brand-ll);color:var(--ink);font-weight:500}
.vs-good::before{content:"✓";background:var(--brand);color:#fff}
@media(min-width:820px){
  .vs{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
  .vs-row{display:contents}
  .vs-bad,.vs-good{border-top:1px solid var(--line)}
  .vs-head{display:flex;align-items:center;gap:8px;padding:13px 16px;font-size:15px;font-weight:600}
  .vs-head-bad{background:var(--band);color:var(--ink-2)}
  .vs-head-good{background:var(--brand);color:#fff}
}
