/* ============================================================
   TEL AVIV TAXI — Navy & Gold
   Deep navy canvas (header / hero / footer), clean white content.
   One bright-gold accent: the CTA fill, the headline accent on
   navy, and the decorative mark. Bold unified sans (Figtree).

   Drop-in replacement — same class vocabulary, every page
   restyles with no markup edits. Mirrors jerusalemtaxi.com.

   Colour architecture (APCA-verified, see DESIGN.md):
     --mark    #F59E0B  bright gold — button fill (navy text on
                        top), hero accent on navy, decorative marks.
                        NEVER small text on white.
     --accent  #B45309  deep gold — text-safe on light surfaces.
   #F59E0B cannot carry text on white, so it is banned from text
   roles and demoted to fills + marks (same discipline the prior
   terracotta followed).
   ============================================================ */

/* ---------- Fonts: Figtree (Latin UI, variable 400-800) ---------- */
@font-face{
  font-family:'Figtree';font-style:normal;font-weight:400 800;font-display:swap;
  src:url(/assets/fonts/figtree-latin.woff2) format('woff2');
  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;
}
@font-face{
  font-family:'Figtree';font-style:normal;font-weight:400 800;font-display:swap;
  src:url(/assets/fonts/figtree-latin-ext.woff2) format('woff2');
  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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ---------- Fonts: Heebo (Hebrew UI + Latin fallback) ---------- */
@font-face{font-family:Heebo;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/heebo-400-hebrew.woff2) format(woff2);unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Heebo;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/heebo-500-hebrew.woff2) format(woff2);unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Heebo;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/heebo-700-hebrew.woff2) format(woff2);unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Heebo;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/heebo-800-hebrew.woff2) format(woff2);unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Heebo;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/heebo-400-latin.woff2) format(woff2);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}
@font-face{font-family:Heebo;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/heebo-500-latin.woff2) format(woff2);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}
@font-face{font-family:Heebo;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/heebo-700-latin.woff2) format(woff2);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}
@font-face{font-family:Heebo;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/heebo-800-latin.woff2) format(woff2);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}

/* ============================================================
   Tokens — the only place raw colour literals are allowed
   ============================================================ */
:root{
  color-scheme:light;

  /* navy canvas */
  --navy:#0F1D3D;
  --navy-2:#1E3050;

  /* surfaces */
  --bg:#FFFFFF;            /* content canvas */
  --bg-2:#F8FAFC;          /* band, hover fill, table head */
  --surface:#FFFFFF;       /* raised surface */

  /* text */
  --ink:#0F1D3D;           /* brand navy — headings + emphasis */
  --ink-2:#334155;
  --muted:#64748B;

  /* accent — text-safe deep gold on light surfaces */
  --accent:#B45309;
  --accent-strong:#92400E;
  --accent-tint:#FFFBEB;

  /* mark — bright gold: button fill (navy text), hero accent on navy, decorative */
  --mark:#F59E0B;
  --mark-strong:#D97706;
  --mark-tint:#FEF3C7;

  /* lines */
  --line:#E5E7EB;
  --line-strong:#CBD5E1;

  --focus:#D97706;
  --danger:#DC2626;

  /* WhatsApp green — white text passes on this */
  --green:#15803D;
  --green-strong:#166534;

  --on-solid:#FFFFFF;      /* text on navy / green fills */
  --on-solid-2:#CBD5E1;

  /* type — unified bold sans */
  --font:'Figtree',Heebo,system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-he:'Heebo','Figtree',system-ui,sans-serif;

  /* radius */
  --r-sm:6px; --r-md:10px; --r-lg:16px; --r-xl:20px; --r-full:999px;

  /* elevation — named levels only */
  --elev-0:none;
  --sh-1:0 1px 2px rgb(15 29 61 / .06);
  --sh-2:0 6px 16px -6px rgb(15 29 61 / .16);
  --sh-3:0 16px 32px -12px rgb(15 29 61 / .24);
  --sh-gold:0 8px 20px -8px rgb(245 158 11 / .5); /* the single loud moment */

  /* spacing — 8px grid */
  --s-1:.25rem; --s-2:.5rem; --s-3:.75rem; --s-4:1rem; --s-5:1.25rem; --s-6:1.5rem;
  --s-8:2rem; --s-10:2.5rem; --s-12:3rem; --s-16:4rem; --s-20:5rem; --s-24:8rem;

  /* motion */
  --dur-fast:140ms; --dur:200ms; --dur-slow:320ms;
  --ease:cubic-bezier(.2,0,0,1);
  --ease-out:cubic-bezier(.16,1,.3,1);

  --wrap:1120px; --header-h:76px;
}

/* ============================================================
   Base
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-block-start:calc(var(--header-h) + var(--s-4));
}
body{
  margin:0;
  font-family:var(--font);
  font-size:1.0625rem;
  line-height:1.7;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Hebrew / RTL switches to the Hebrew family */
:lang(he) body,[dir="rtl"] body{font-family:var(--font-he);line-height:1.75}

img,svg{display:block;max-width:100%}

h1,h2,h3,h4{
  margin:0;
  font-family:var(--font);
  font-weight:800;
  line-height:1.12;
  color:var(--ink);
  text-wrap:balance;
}
:lang(he) h1,:lang(he) h2,:lang(he) h3,:lang(he) h4,
[dir="rtl"] h1,[dir="rtl"] h2,[dir="rtl"] h3,[dir="rtl"] h4{
  font-family:var(--font-he);
  letter-spacing:0;
  font-weight:800;
}

h1{font-size:clamp(2.5rem,6vw,4rem);line-height:1.05;letter-spacing:-.03em}
h2{font-size:clamp(1.75rem,3.5vw,2.5rem);line-height:1.12;letter-spacing:-.02em}
h3{font-size:1.25rem;line-height:1.3;letter-spacing:-.01em}
h4{font-size:1.05rem;line-height:1.35}

p{margin:0;text-wrap:pretty}
ul,ol{margin:0 0 1em;padding-inline-start:1.25rem}
li{margin-block-end:.4rem}

a{
  color:var(--accent);
  text-underline-offset:3px;
  text-decoration-color:var(--line-strong);
  transition:color var(--dur-fast) var(--ease),text-decoration-color var(--dur-fast) var(--ease);
}
a:hover{color:var(--accent-strong);text-decoration-color:currentColor}

input,select,textarea,button{font:inherit}

:where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid var(--focus);
  outline-offset:2px;
  border-radius:var(--r-sm);
}
::selection{background:var(--mark);color:var(--navy)}

.container{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--s-5)}
@media(min-width:768px){.container{padding-inline:var(--s-8)}}

.muted{color:var(--muted)}
.mt-0{margin-block-start:0}

.sr-only,.skip-link{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.skip-link:focus{
  inset-block-start:var(--s-3);inset-inline-start:var(--s-3);width:auto;height:auto;margin:0;
  clip:auto;z-index:200;background:var(--mark);color:var(--navy);
  padding:var(--s-3) var(--s-5);border-radius:var(--r-sm);font-weight:700;text-decoration:none;
}

/* ============================================================
   Buttons — every variant declares all states
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);
  min-height:48px;padding:0 var(--s-6);
  border:1px solid transparent;border-radius:var(--r-md);
  font-weight:700;font-size:1rem;line-height:1;letter-spacing:.005em;
  text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),
    color var(--dur) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur) var(--ease);
}
.btn:hover{text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn:disabled,.btn[aria-disabled="true"]{
  background:var(--bg-2);color:var(--muted);border-color:var(--line);
  cursor:not-allowed;box-shadow:var(--elev-0);transform:none;
}
.btn:disabled:hover{background:var(--bg-2);color:var(--muted);border-color:var(--line)}
.btn svg{flex-shrink:0}

/* Primary = gold fill, navy text */
.btn-primary{background:var(--mark);color:var(--navy);box-shadow:var(--sh-gold)}
.btn-primary:hover{background:var(--mark-strong);color:var(--navy);box-shadow:var(--sh-2)}
.btn-primary:active{background:var(--mark-strong);color:var(--navy);box-shadow:var(--elev-0)}

/* WhatsApp = green fill, white text */
.btn-whatsapp{background:var(--green);color:var(--on-solid);box-shadow:var(--sh-1)}
.btn-whatsapp:hover{background:var(--green-strong);color:var(--on-solid);box-shadow:var(--sh-2)}
.btn-whatsapp:active{background:var(--green-strong);color:var(--on-solid);box-shadow:var(--elev-0)}

/* Light = gold fill on the navy CTA band (primary action there) */
.btn-light{background:var(--mark);color:var(--navy);box-shadow:var(--sh-gold)}
.btn-light:hover{background:var(--mark-strong);color:var(--navy)}
.btn-light:active{background:var(--mark-strong);color:var(--navy)}

/* Ghost = outline, on light */
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn-ghost:hover{background:var(--bg-2);color:var(--ink);border-color:var(--ink-2)}
.btn-ghost:active{background:var(--bg-2);color:var(--ink)}

/* Call = gold fill (header / section) */
.btn-call{background:var(--mark);color:var(--navy)}
.btn-call:hover{background:var(--mark-strong);color:var(--navy);text-decoration:none}

.btn-lg{min-height:56px;padding:0 var(--s-8);font-size:1.0625rem}

/* ============================================================
   Header — navy sticky bar
   ============================================================ */
.site-header{
  position:sticky;inset-block-start:0;z-index:100;
  background:var(--navy);
  border-block-end:1px solid rgb(255 255 255 / .1);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);
  min-height:var(--header-h);
}

.brand{
  display:inline-flex;align-items:center;gap:var(--s-3);
  font-weight:800;font-size:1.25rem;letter-spacing:-.015em;
  color:var(--on-solid);text-decoration:none;white-space:nowrap;
}
.brand:hover{color:var(--on-solid);text-decoration:none}
.brand img,.brand svg{width:34px;height:34px;flex-shrink:0}
.brand-accent{color:var(--mark)}

.main-nav{display:none}
@media(min-width:1000px){.main-nav{display:block}}
.nav-list{display:flex;align-items:center;gap:var(--s-1);list-style:none;margin:0;padding:0}
.nav-list li{margin:0}
.nav-link{
  position:relative;display:inline-flex;align-items:center;gap:var(--s-2);
  padding:var(--s-3) var(--s-3);border-radius:var(--r-sm);
  background:none;border:0;cursor:pointer;
  color:var(--on-solid-2);font-weight:500;font-size:.95rem;text-decoration:none;white-space:nowrap;
  transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);
}
.nav-link:hover{background:rgb(255 255 255 / .08);color:var(--mark);text-decoration:none}
.nav-link.is-active{color:var(--mark);font-weight:600}
.nav-link.is-active::after{
  content:"";position:absolute;inset-block-end:.15rem;inset-inline:var(--s-3);
  height:2px;border-radius:2px;background:var(--mark);
}

.nav-drop{position:relative}
.nav-drop-btn{font:inherit;font-weight:500;text-align:start}
.chev{transition:transform var(--dur) var(--ease)}
.nav-drop.open .chev{transform:rotate(180deg)}
.nav-drop-menu{
  position:absolute;inset-block-start:calc(100% + var(--s-2));inset-inline-start:0;
  min-width:260px;list-style:none;margin:0;padding:var(--s-2);
  background:var(--navy-2);border:1px solid rgb(255 255 255 / .12);border-radius:var(--r-lg);
  box-shadow:var(--sh-3);display:none;z-index:110;
}
.nav-drop.open .nav-drop-menu{display:block}
.nav-drop-menu li{margin:0}
.nav-drop-menu .nav-link{display:block;width:100%;border-radius:var(--r-md);padding:var(--s-3) var(--s-4);font-weight:500;color:var(--on-solid-2)}
.nav-drop-menu .nav-link:hover{background:rgb(255 255 255 / .1);color:var(--mark)}
.nav-drop-menu .nav-link.is-active{color:var(--mark)}
.nav-drop-menu .nav-link.is-active::after{display:none}

.header-actions{display:flex;align-items:center;gap:var(--s-3)}

/* Language switch */
.lang-toggle{
  display:inline-flex;align-items:center;gap:var(--s-2);
  padding:var(--s-2) var(--s-3);
  background:transparent;border:1px solid rgb(255 255 255 / .15);border-radius:var(--r-sm);
}
.lang-switch{display:inline-flex;align-items:center;gap:var(--s-2);font-size:.9rem;font-weight:600}
.lang-link{color:var(--on-solid-2);text-decoration:none;padding:var(--s-2) var(--s-1)}
.lang-link:hover{color:var(--mark)}
.lang-link.lang-cur{color:var(--mark)}
.lang-link[aria-current="true"]{color:var(--mark)}
.lang-sep{color:rgb(255 255 255 / .25)}

/* Mobile menu */
.mobile-menu{display:block}
@media(min-width:1000px){.mobile-menu{display:none}}
.mobile-menu-btn{
  display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;
  list-style:none;cursor:pointer;
  border:1px solid rgb(255 255 255 / .2);border-radius:var(--r-md);
  background:transparent;color:var(--on-solid);
  transition:background-color var(--dur-fast) var(--ease);
}
.mobile-menu-btn::-webkit-details-marker{display:none}
.mobile-menu-btn:hover{background:rgb(255 255 255 / .1)}
.burger,.burger::before,.burger::after{display:block;width:20px;height:2px;border-radius:2px;background:var(--on-solid)}
.burger{position:relative}
.burger::before,.burger::after{content:"";position:absolute;inset-inline-start:0}
.burger::before{inset-block-start:-6px}
.burger::after{inset-block-start:6px}
.mobile-menu-panel{
  position:absolute;inset-inline:0;inset-block-start:100%;z-index:110;
  background:var(--navy);border-block-end:1px solid rgb(255 255 255 / .1);
  box-shadow:var(--sh-3);
  padding:var(--s-4) var(--s-5) var(--s-6);
  max-height:calc(100dvh - var(--header-h));overflow-y:auto;
}
.mobile-menu-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-1)}
.mobile-menu-panel li{margin:0}
.mobile-link{
  display:block;padding:var(--s-4);border-radius:var(--r-md);
  color:var(--on-solid);font-weight:500;font-size:1.05rem;text-decoration:none;
}
.mobile-link:hover{background:rgb(255 255 255 / .08);color:var(--mark)}
.mobile-link.is-active{color:var(--mark);font-weight:600}
.mobile-sub{
  padding-inline-start:var(--s-4);margin-block:var(--s-3) var(--s-1);
  font-size:.8rem;font-weight:700;color:var(--on-solid-2);text-transform:uppercase;letter-spacing:.04em;
}
.mobile-actions{display:grid;gap:var(--s-3);margin-block-start:var(--s-5)}
.mobile-actions .lang-toggle{border-color:rgb(255 255 255 / .15)}

/* ============================================================
   Hero — navy full-bleed
   ============================================================ */
.hero{padding-block:var(--s-12) var(--s-16);background:var(--navy)}
@media(min-width:900px){.hero{padding-block:var(--s-16) var(--s-20)}}
.hero-inner{display:grid;gap:var(--s-10);align-items:center}
@media(min-width:900px){.hero-inner{grid-template-columns:1.05fr .95fr;gap:var(--s-12)}}
@media(max-width:899px){.hero-art,.hero-slider{order:-1}}

.hero-copy h1{color:var(--on-solid);max-width:18ch}
.lead{
  margin-block-start:var(--s-5);font-size:1.1875rem;line-height:1.6;
  color:var(--on-solid-2);max-width:46ch;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-block-start:var(--s-8)}

/* Points list — a short gold rule as the marker */
.hero-points{margin:var(--s-8) 0 0;padding:0;list-style:none;display:grid;gap:0}
.hero-points li{
  margin:0;position:relative;padding-inline-start:1.75rem;
  padding-block:var(--s-3);
  font-size:1rem;color:var(--on-solid-2);
  border-block-start:1px solid rgb(255 255 255 / .12);
}
.hero-points li::before{
  content:"";position:absolute;inset-inline-start:0;inset-block-start:1.15em;
  width:.75rem;height:2px;border-radius:2px;background:var(--mark);
}

/* Hero art / slider — framed card on navy */
.hero-art{
  background:var(--navy-2);border:1px solid rgb(255 255 255 / .12);border-radius:var(--r-lg);
  padding:var(--s-6);box-shadow:var(--sh-2);
}

/* ============================================================
   Content sections — white canvas, whitespace carries rhythm
   ============================================================ */
.content-sec{padding-block:var(--s-12)}
@media(min-width:768px){.content-sec{padding-block:var(--s-16)}}
.content-sec:nth-child(even of .content-sec){background:var(--bg-2)}
.sec-body{max-width:68ch}
.sec-body h2{margin-block-end:var(--s-5)}
.sec-body p + p{margin-block-start:var(--s-4)}
.section-title{margin-block-end:var(--s-4)}
.section-subtitle{color:var(--ink-2);font-size:1.1rem;margin-block-end:var(--s-8);max-width:60ch}
.sec-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-block-start:var(--s-8)}

/* Check list */
.check-list{list-style:none;padding:0;display:grid;gap:var(--s-3);margin-block:var(--s-5) 0}
.check-list li{position:relative;padding-inline-start:1.75rem;margin:0;color:var(--ink-2)}
.check-list li::before{
  content:"";position:absolute;inset-inline-start:0;inset-block-start:.7em;
  width:.7rem;height:2px;border-radius:2px;background:var(--mark);
}

/* Feature / accessibility list */
.access-list{list-style:none;padding:0;display:grid;gap:var(--s-4);margin-block:var(--s-5) 0}
.access-list li{position:relative;padding-inline-start:1.75rem;margin:0;color:var(--ink-2)}
.access-list li::before{
  content:"";position:absolute;inset-inline-start:0;inset-block-start:.75em;
  width:.7rem;height:2px;border-radius:2px;background:var(--mark);
}
.access-list strong{color:var(--ink)}

/* ============================================================
   Price table — navy header, gold amounts
   ============================================================ */
.price-table-wrap{
  overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);
  background:var(--surface);
}
.price-table{width:100%;border-collapse:collapse;font-size:1rem}
.price-table th,.price-table td{
  text-align:start;padding:var(--s-4) var(--s-5);
  border-block-end:1px solid var(--line);
}
.price-table thead th{
  font-family:var(--font);font-size:.8rem;font-weight:700;letter-spacing:.02em;
  color:var(--on-solid);background:var(--navy);
  border-block-end:1px solid var(--navy);white-space:nowrap;
}
.price-table tbody tr:last-child td,.price-table tbody tr:last-child th{border-block-end:0}
.price-table tbody tr{transition:background-color var(--dur-fast) var(--ease)}
.price-table tbody tr:hover{background:var(--bg-2)}
.price-table tbody th{font-weight:600;color:var(--ink)}
.price-amount{
  text-align:end;
  font-weight:800;font-size:1.125rem;color:var(--accent);
  font-variant-numeric:tabular-nums;white-space:nowrap;
}

/* ============================================================
   Related links
   ============================================================ */
.rel-grid{display:grid;gap:var(--s-3);grid-template-columns:1fr;margin-block-start:var(--s-5)}
@media(min-width:640px){.rel-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}
.rel-card{
  display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);
  padding:var(--s-5);text-decoration:none;color:var(--ink);
  transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.rel-card:hover{
  border-color:var(--mark);box-shadow:var(--sh-2);transform:translateY(-2px);
  color:var(--ink);text-decoration:none;
}
.rel-name{font-weight:700}
.rel-go{color:var(--mark);flex-shrink:0}

/* ============================================================
   FAQ
   ============================================================ */
.faq-sec{padding-block:var(--s-12)}
@media(min-width:768px){.faq-sec{padding-block:var(--s-16)}}
.faq-group-title{font-size:1.2rem;margin-block-end:var(--s-5)}
.faq-item{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);
  padding:var(--s-5);margin:0 0 var(--s-3);
}
.faq-item > summary{
  cursor:pointer;font-weight:700;font-size:1.0625rem;list-style:none;
  display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-4);
  color:var(--ink);
  transition:color var(--dur-fast) var(--ease);
}
.faq-item > summary::-webkit-details-marker{display:none}
.faq-item > summary:hover{color:var(--accent)}
.faq-chev{flex-shrink:0;color:var(--mark);transition:transform var(--dur) var(--ease)}
.faq-item[open] .faq-chev{transform:rotate(180deg)}
.faq-item[open]{border-color:var(--line-strong);background:var(--bg-2)}
.faq-item > p,.faq-item > div{
  margin-block-start:var(--s-4);color:var(--ink-2);max-width:64ch;
}

/* ============================================================
   CTA band — navy, gold call-to-action
   ============================================================ */
.cta-band{background:var(--navy);color:var(--on-solid);border-block-start:0}
.cta-band .section-title,.cta-band h2{color:var(--on-solid)}
.cta-band p{color:var(--on-solid-2);max-width:52ch}
.cta-inner{
  display:flex;flex-wrap:wrap;gap:var(--s-6);
  align-items:center;justify-content:space-between;
  padding-block:var(--s-12);
}
.cta-actions{display:flex;flex-wrap:wrap;gap:var(--s-3)}

/* ============================================================
   Footer — navy
   ============================================================ */
.site-footer{
  background:var(--navy);border-block-start:1px solid rgb(255 255 255 / .1);
  padding-block:var(--s-12) var(--s-6);font-size:.95rem;color:var(--on-solid-2);
}
.foot-grid{display:grid;gap:var(--s-8);grid-template-columns:1fr;margin-block-end:var(--s-8)}
@media(min-width:640px){.foot-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.foot-grid{grid-template-columns:2fr 1fr 1fr 1.2fr}}
.foot-brand .brand{margin-block-end:var(--s-4)}
.foot-brand p{color:var(--on-solid-2);max-width:42ch;margin-block-end:var(--s-4)}
.foot-sister a{color:var(--on-solid-2);font-size:.9rem}
.foot-sister a:hover{color:var(--mark)}
.foot-h{
  font-family:var(--font);font-size:.8rem;font-weight:700;letter-spacing:.04em;
  color:var(--on-solid);text-transform:uppercase;margin-block-end:var(--s-4);
}
:lang(he) .foot-h,[dir="rtl"] .foot-h{font-family:var(--font-he);text-transform:none;letter-spacing:0}
.foot-col ul{list-style:none;padding:0;margin:0;display:grid;gap:var(--s-3)}
.foot-col li{margin:0}
.foot-col a{color:var(--on-solid-2);text-decoration:none}
.foot-col a:hover{color:var(--mark);text-decoration:none}
.foot-contact a{font-variant-numeric:tabular-nums}
.foot-legal{
  border-block-start:1px solid rgb(255 255 255 / .12);padding-block-start:var(--s-5);
  display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-6);
  align-items:center;justify-content:space-between;
}
.foot-legal p{margin:0;color:var(--on-solid-2)}
.foot-legal ul{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-5);margin:0;padding:0}
.foot-legal li{margin:0}
.foot-legal a{color:var(--on-solid-2);text-decoration:none}
.foot-legal a:hover{color:var(--mark)}

/* ============================================================
   Mobile CTA bar — persistent call / WhatsApp / contact
   ============================================================ */
.mobile-cta{display:none}
@media(max-width:640px){
  .mobile-cta{
    display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-1);
    position:fixed;inset-inline:0;inset-block-end:0;z-index:90;
    padding:var(--s-2);
    background:var(--surface);border-block-start:1px solid var(--line-strong);
    box-shadow:var(--sh-2);
    padding-block-end:calc(var(--s-2) + env(safe-area-inset-bottom,0px));
  }
  .mobile-cta .mcta{min-height:52px;padding:0 var(--s-2);font-size:.85rem}
  body{padding-block-end:72px}
}
.mcta{
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-1);
  min-height:52px;border-radius:var(--r-md);
  color:var(--ink-2);font-weight:700;font-size:.85rem;text-decoration:none;
  transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);
}
.mcta:hover{background:var(--bg-2);color:var(--ink);text-decoration:none}
.mcta:active{background:var(--bg-2)}
.mcta svg{color:var(--accent)}

/* ============================================================
   Breadcrumbs
   ============================================================ */
.crumbs{font-size:.9rem;margin-block-end:var(--s-5)}
.crumbs ol{
  list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-2);
  margin:0;padding:0;color:var(--muted);
}
.crumbs li{margin:0}
.crumbs a{color:var(--ink-2);text-decoration:none}
.crumbs a:hover{color:var(--accent);text-decoration:underline}
.crumb[aria-current="page"],.crumb.cur{color:var(--ink);font-weight:700}
.crumb-sep{color:var(--line-strong)}

/* ============================================================
   Contact / misc
   ============================================================ */
.contact-line{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);align-items:baseline;color:var(--ink-2)}
.ga-track{cursor:pointer}

/* Error pages */
.err-card{max-width:560px;margin-inline:auto;text-align:center;padding-block:var(--s-20)}
.err-code{
  font-weight:800;
  font-size:clamp(3.5rem,11vw,7rem);letter-spacing:-.03em;
  color:var(--mark);line-height:1;
}
:lang(he) .err-code,[dir="rtl"] .err-code{font-family:var(--font-he)}
.err-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:center;margin-block-start:var(--s-8)}

/* ============================================================
   Hero image slider
   Accessible carousel: slides toggled via [hidden] so assistive
   tech only ever sees the active one. Autoplay is disabled
   entirely under prefers-reduced-motion, and is always pausable.
   ============================================================ */
.hero-slider{
  position:relative;background:var(--navy-2);
  border:1px solid rgb(255 255 255 / .12);border-radius:var(--r-lg);
  padding:var(--s-6);box-shadow:var(--sh-2);
}
.slider-track{border-radius:var(--r-md);overflow:hidden;background:var(--navy)}
.slide{margin:0}
.slide[hidden]{display:none}
.slide img{display:block;width:100%;height:auto}

.slider-controls{
  display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);
  margin-block-start:var(--s-5);padding-block-start:var(--s-5);
  border-block-start:1px solid rgb(255 255 255 / .12);
}
.slider-dots{display:flex;align-items:center;gap:var(--s-1)}
.slider-dot{
  width:28px;height:28px;padding:0;border:0;background:none;cursor:pointer;
  display:grid;place-items:center;border-radius:var(--r-full);
}
.slider-dot::before{
  content:"";display:block;width:10px;height:10px;border-radius:var(--r-full);
  border:2px solid rgb(255 255 255 / .4);
  transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.slider-dot:hover::before{border-color:var(--on-solid)}
.slider-dot[aria-current="true"]::before{background:var(--mark);border-color:var(--mark)}

.slider-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;padding:0;cursor:pointer;
  background:transparent;color:var(--on-solid);
  border:1px solid rgb(255 255 255 / .2);border-radius:var(--r-md);
  transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.slider-btn:hover{background:rgb(255 255 255 / .1);border-color:rgb(255 255 255 / .4)}
.slider-btn:disabled{background:transparent;color:rgb(255 255 255 / .3);border-color:rgb(255 255 255 / .1);cursor:not-allowed}
.slider-btn svg{width:18px;height:18px}
.slider-btn--toggle{width:auto;padding:0 var(--s-4);gap:var(--s-2);font-size:.9rem;font-weight:600}
.slider-nav{display:flex;align-items:center;gap:var(--s-2)}

/* RTL: mirror the arrow glyphs */
[dir="rtl"] .slider-btn svg{transform:scaleX(-1)}

/* ============================================================
   Reduced motion
   ============================================================ */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important;
  }
  .slider-dot::before{transition:none}
  .slider-btn{transition:none}
  .rel-card:hover{transform:none}
  .btn:active{transform:none}
}
