/* ===== STEEL & SPACE - Sygon-Halevi ===== */
:root{
  --paper:#F4F4F1; --surface:#FBFAF7; --ink:#0D0F11; --ink-soft:#2B2F33; --muted:#666D74; --line:#DEE2E6;
  --steel:#8C949C; --steel-deep:#565D64; --steel-light:#C4CACF; --steel-num:#878E96; --ice:#E7EDF1;
  --chrome:linear-gradient(135deg,#EEF1F3 0%,#C4CACF 28%,#9097A0 52%,#D7DBDE 74%,#A9B0B6 100%);
  --r-sm:2px; --r-md:6px; --r-lg:12px;
  --shadow-1:0 1px 2px rgba(13,15,17,.04),0 8px 24px rgba(13,15,17,.06);
  --shadow-edge:inset 0 0 0 1px var(--line);
  --section-y:clamp(96px,12vw,192px);
  --ease-out:cubic-bezier(.16,1,.3,1); --ease-inout:cubic-bezier(.65,0,.35,1); --ease-soft:cubic-bezier(.33,1,.68,1);
  --maxw:1280px;
  --f-lat-head:"Space Grotesk",system-ui,sans-serif;
  --f-lat-body:"Inter",system-ui,sans-serif;
  --f-he-head:"Heebo",system-ui,sans-serif;
  --f-he-body:"Assistant",system-ui,sans-serif;
  --f-head:var(--f-he-head); --f-body:var(--f-he-body);
}
html[lang="en"]{ --f-head:var(--f-lat-head); --f-body:var(--f-lat-body); }

*{ box-sizing:border-box; margin:0; padding:0; }
html{ background:var(--paper); color:var(--ink); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; scroll-behavior:smooth; }
body{ background:var(--paper); color:var(--ink); font-family:var(--f-body); font-size:clamp(16px,1.1vw,18px); line-height:1.7; overflow-x:hidden; }
h1,h2,h3,h4{ font-family:var(--f-head); font-weight:700; letter-spacing:-.02em; line-height:1.05; }
html[lang="he"] h1,html[lang="he"] h2,html[lang="he"] h3,html[lang="he"] h4{ font-weight:800; }
a{ color:inherit; text-decoration:none; }
img,video{ display:block; max-width:100%; }
::selection{ background:var(--ink); color:var(--paper); }
:focus-visible{ outline:2px solid var(--steel); outline-offset:3px; border-radius:2px; }
.tnum{ font-variant-numeric:tabular-nums; }
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:clamp(20px,5vw,48px); }
.eyebrow{ font-family:var(--f-body); font-size:clamp(12px,.85vw,13px); text-transform:uppercase; letter-spacing:.18em; font-weight:500; color:var(--muted); }
html[lang="he"] .eyebrow{ letter-spacing:.12em; }
.chrome-text{ background:var(--chrome); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.hair{ height:1px; background:var(--line); border:0; }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* ---------- reveal ---------- */
html.js .reveal{ opacity:0; transform:translateY(28px); filter:blur(6px); transition:opacity .9s var(--ease-out),transform .9s var(--ease-out),filter .9s var(--ease-out); }
.reveal.in{ opacity:1; transform:none; filter:none; }

/* ---------- NAV ---------- */
.nav{ position:fixed; inset-inline:0; top:0; z-index:50; border-bottom:1px solid transparent;
  background:rgba(244,246,247,.30); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  transition:background-color .6s var(--ease-out),border-color .6s var(--ease-out),backdrop-filter .6s var(--ease-out); }
.nav.scrolled{ background:rgba(244,246,247,.8); border-bottom-color:var(--line); backdrop-filter:blur(14px) saturate(140%); -webkit-backdrop-filter:blur(14px) saturate(140%); }
.nav-in{ display:flex; align-items:center; justify-content:space-between; height:76px; transition:height .6s var(--ease-out); }
.nav.scrolled .nav-in{ height:60px; }
.nav-logo{ height:46px; width:auto; transform:none; filter:none; }
html.js .nav-logo{ opacity:0; transform:translateY(-6px); filter:blur(4px); transition:all .6s var(--ease-out); pointer-events:none; }
.nav.scrolled .nav-logo{ opacity:1; transform:none; filter:none; }
.nav-links{ display:flex; align-items:center; gap:40px; }
.nav-links a{ font-size:13px; color:var(--ink-soft); letter-spacing:.04em; transition:color .25s; }
html[lang="en"] .nav-links a{ letter-spacing:.06em; }
.nav-links a:hover{ color:var(--ink); }
.lang-btn{ font-family:var(--f-body); font-size:12px; letter-spacing:.18em; font-weight:500; color:var(--ink-soft); background:transparent;
  border:1px solid var(--line); border-radius:2px; height:36px; min-width:52px; padding:0 12px; cursor:pointer; transition:color .25s,border-color .25s; }
.lang-btn:hover{ color:var(--ink); border-color:var(--steel); }
.nav-actions{ display:flex; align-items:center; gap:12px; }
.nav-call{ display:none; align-items:center; justify-content:center; width:44px; height:44px;
  border:1px solid var(--line); border-radius:2px; color:var(--ink-soft); transition:color .25s,border-color .25s; }
.nav-call:hover{ color:var(--ink); border-color:var(--steel); }
@media(max-width:720px){ .nav-call{ display:flex; } }

/* scroll-progress hairline: a thin chrome thread that fills as you travel the page */
.nav-progress{ position:absolute; inset-inline:0; bottom:-1px; height:2px; pointer-events:none; }
.nav-progress span{ display:block; height:100%; width:100%;
  background:linear-gradient(90deg,#9097A0 0%,#D7DBDE 45%,#EEF1F3 50%,#D7DBDE 55%,#9097A0 100%);
  transform:scaleX(0); transform-origin:0 50%; will-change:transform; opacity:0; transition:opacity .4s var(--ease-out); }
html[dir="rtl"] .nav-progress span{ transform-origin:100% 50%; }
.nav.scrolled .nav-progress span{ opacity:1; }

/* burger (hidden on desktop) */
.nav-burger{ display:none; position:relative; width:44px; height:44px; background:transparent; border:1px solid var(--line); border-radius:2px; cursor:pointer; transition:border-color .25s; }
.nav-burger:hover{ border-color:var(--steel); }
.nav-burger span{ position:absolute; left:12px; right:12px; height:1.5px; background:var(--ink); transition:transform .35s var(--ease-out),top .35s var(--ease-out); }
.nav-burger span:nth-child(1){ top:17px; }
.nav-burger span:nth-child(2){ top:25px; }
.nav-burger.open span:nth-child(1){ top:21px; transform:rotate(45deg); }
.nav-burger.open span:nth-child(2){ top:21px; transform:rotate(-45deg); }
@media(max-width:720px){ .nav-links{ display:none; } .nav-burger{ display:block; } }

/* mobile menu overlay */
.mmenu{ position:fixed; inset:0; z-index:45; background:var(--paper); display:flex; flex-direction:column; justify-content:space-between;
  padding:120px clamp(24px,7vw,48px) 48px; opacity:0; pointer-events:none; transition:opacity .35s var(--ease-out); }
.mmenu.open{ opacity:1; pointer-events:auto; }
.mmenu[hidden]{ display:none; }
.mmenu-links{ display:flex; flex-direction:column; }
.mmenu-links a{ font-family:var(--f-head); font-weight:800; font-size:clamp(30px,9vw,42px); letter-spacing:-.02em; color:var(--ink);
  padding-block:18px; border-bottom:1px solid var(--line); opacity:0; transform:translateY(14px); transition:opacity .5s var(--ease-out),transform .5s var(--ease-out); }
.mmenu.open .mmenu-links a{ opacity:1; transform:none; }
.mmenu.open .mmenu-links a:nth-child(1){ transition-delay:.05s; } .mmenu.open .mmenu-links a:nth-child(2){ transition-delay:.12s; }
.mmenu.open .mmenu-links a:nth-child(3){ transition-delay:.19s; } .mmenu.open .mmenu-links a:nth-child(4){ transition-delay:.26s; }
.mmenu.open .mmenu-links a:nth-child(5){ transition-delay:.33s; }
.mmenu-foot{ display:flex; flex-direction:column; gap:10px; color:var(--muted); font-size:15px; }
.mmenu-foot a{ color:var(--ink-soft); width:max-content; }
body.menu-open{ overflow:hidden; }

/* ---------- HERO ---------- */
.hero{ position:relative; min-height:100vh; min-height:100svh; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; text-align:center; background:var(--paper); }
.hero-grad{ position:absolute; inset:0; background-image:url("assets/tex/06_cold_gradient.webp"); background-size:cover; background-position:center; opacity:.5; mix-blend-mode:multiply; pointer-events:none; }
.hero-ghost{ position:absolute; inset:0; pointer-events:none; will-change:transform; }
.hero-ghost img{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:min(96vw,1320px); opacity:.10; mix-blend-mode:multiply; filter:saturate(.85) contrast(1.05); }
.hero-guide{ position:absolute; top:0; bottom:0; width:1px; background:var(--line); pointer-events:none; }
.hero-guide.l{ left:11%; } .hero-guide.r{ right:11%; }
.hero-vig{ position:absolute; inset:0; pointer-events:none; background:radial-gradient(120% 80% at 50% 50%,rgba(244,246,247,0) 45%,rgba(13,15,17,.06) 100%); }
.hero-in{ position:relative; z-index:10; display:flex; flex-direction:column; align-items:center; }
.hero-eyebrow{ display:flex; align-items:center; gap:16px; margin-bottom:48px; }
.hero-eyebrow .ln{ width:40px; height:1px; background:var(--steel); }
.logo-shell{ width:min(520px,70vw); width:min(520px,70vw,48svh); will-change:transform; }
.logo-stage{ position:relative; isolation:isolate; }
.logo-stage img{ width:100%; height:auto; user-select:none; -webkit-user-drag:none; }
.hero-rule{ margin-top:56px; width:112px; height:1px; background:var(--steel); }
html.js .hero-rule{ transform:scaleX(0); transition:transform 1.2s var(--ease-out) .9s; }
.hero.ready .hero-rule{ transform:scaleX(1); }
.hero-sub{ margin-top:40px; max-width:640px; font-family:var(--f-head); font-weight:500; letter-spacing:-.01em; line-height:1.45; color:var(--ink-soft); font-size:clamp(18px,1.5vw,24px); }
.scroll-cue{ position:absolute; bottom:40px; left:50%; transform:translateX(-50%); z-index:10; display:flex; flex-direction:column; align-items:center; gap:12px; }
.scroll-cue .bar{ width:1px; height:40px; background:var(--steel-deep); transform-origin:top; animation:scrollpulse 2.6s var(--ease-inout) infinite; }
@keyframes scrollpulse{ 0%,100%{ transform:scaleY(.15);} 50%{ transform:scaleY(1);} }
/* entrance */
html.js .hero [data-enter]{ opacity:0; }
.hero.ready [data-enter]{ animation:enterUp 1s var(--ease-out) forwards; }
.hero.ready .logo-shell{ animation:enterLogo 1.4s var(--ease-out) forwards; }
@keyframes enterUp{ from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:none;} }
@keyframes enterLogo{ from{opacity:0; transform:scale(.96); filter:blur(8px);} to{opacity:1; transform:none; filter:none;} }
.hero.ready [data-enter="1"]{ animation-delay:.45s; }
.hero.ready [data-enter="2"]{ animation-delay:1.25s; }
.hero.ready [data-enter="3"]{ animation-delay:1.6s; }
.hero.ready [data-enter="4"]{ animation-delay:1.95s; }

/* ---------- TRUST BAND ---------- */
.clients{ background:var(--paper); padding-block:clamp(48px,6vw,84px); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.clients-in{ text-align:center; }
.clients-eyebrow{ color:var(--muted); margin-bottom:26px; }
.clients-row{ position:relative; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:clamp(20px,4vw,52px); isolation:isolate; }
.clients-row{ gap:clamp(28px,5vw,64px); }
.client-logo{ height:clamp(38px,4.6vw,62px); width:auto; opacity:.68; filter:saturate(0); flex:0 0 auto;
  transition:opacity .35s var(--ease-out), transform .35s var(--ease-out); }
.client-logo:hover{ opacity:.95; transform:translateY(-2px); }
.clients-note{ margin-top:24px; color:var(--muted); letter-spacing:.12em; }
.clients-cred{ margin-top:clamp(30px,4vw,44px); display:flex; flex-direction:column; align-items:center; }
.clients-sep{ width:44px; height:1px; background:var(--line); margin-bottom:clamp(22px,3vw,30px); }
.clients-cred-label{ margin-bottom:16px; font-size:12px; }
.clients-badge{ display:block; height:clamp(62px,7vw,84px); width:auto; margin:0 auto; opacity:.96; }
@media(max-width:520px){ .csep{ display:none; } .clients-row{ gap:14px; } }

/* ---------- NUMBERS BAND ---------- */
.stats{ background:var(--paper); padding-block:clamp(44px,5.5vw,76px); border-bottom:1px solid var(--line); }
.stats-in{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; text-align:center; }
.stat-n{ font-family:var(--f-head); font-weight:800; letter-spacing:-.02em; line-height:1; color:var(--ink);
  font-size:clamp(30px,4.4vw,58px); }
.stat .eyebrow{ margin-top:12px; }
.stat + .stat{ border-inline-start:1px solid var(--line); }
@media(max-width:640px){
  .stats-in{ grid-template-columns:1fr; gap:28px; }
  .stat + .stat{ border-inline-start:0; border-top:1px solid var(--line); padding-top:28px; }
}

/* ---------- corridor-language warm accents (abstract) ---------- */
.practices{ position:relative; overflow:hidden; }
.contact{ position:relative; overflow:hidden; }
.practices > .wrap, .contact > .wrap{ position:relative; z-index:1; }
.prac-ghost{ position:absolute; top:8%; inset-inline-start:-12%; width:min(56vw,760px); aspect-ratio:16/9; z-index:0; pointer-events:none;
  background:url("assets/abstract/bronze_liquid.webp") center/contain no-repeat; opacity:.09; mix-blend-mode:multiply; filter:saturate(.85);
  /* soft-fade the edges so the texture never reads as a cut rectangle */
  -webkit-mask-image:radial-gradient(72% 72% at 50% 50%,#000 38%,transparent 74%);
  mask-image:radial-gradient(72% 72% at 50% 50%,#000 38%,transparent 74%); }
.sec-warmwash{ position:absolute; inset:0; z-index:0; pointer-events:none;
  background:url("assets/abstract/light_field.webp") center/cover no-repeat; opacity:.45; mix-blend-mode:multiply; }
@media(max-width:640px){ .prac-ghost{ display:none; } }

/* ---------- PRACTICES ---------- */
.practices{ padding-block:var(--section-y); background:var(--paper); }
.sec-head{ max-width:46rem; margin-bottom:clamp(56px,8vw,128px); }
.sec-head h2{ margin-top:24px; font-size:clamp(34px,5vw,64px); font-weight:800; }
.station{ border-top:1px solid var(--line); }
.station-in{ display:grid; grid-template-columns:auto 1fr auto; align-items:start; gap:clamp(20px,4vw,56px); padding-block:clamp(48px,7vw,96px); }

/* per-station Art Deco object, floating free on the paper */
.station-thumb{ width:clamp(200px,20vw,280px); aspect-ratio:1/1; align-self:center;
  filter:drop-shadow(0 18px 28px rgba(13,15,17,.14)); }
.station-thumb img{ width:100%; height:100%; object-fit:contain; opacity:.94;
  transition:opacity .6s var(--ease-out),transform .9s var(--ease-out); }
.station:hover .station-thumb img{ opacity:1; transform:translateY(-4px) scale(1.02); }
@media(max-width:900px){
  .station-in{ grid-template-columns:auto 1fr; }
  .station-thumb{ grid-column:1 / -1; justify-self:center; width:clamp(150px,40vw,190px); margin-top:10px;
    filter:drop-shadow(0 12px 18px rgba(13,15,17,.12)); }
}
/* alternating indent removed; strict aligned column reads more authoritative */
.station-num{ font-family:var(--f-head); font-weight:700; letter-spacing:-.04em; line-height:.9; color:var(--steel-num); font-size:clamp(44px,6.5vw,104px);
  transition:transform .5s var(--ease-out); }
/* hover payoff: the number turns chrome and a specular sweep crosses it */
.station:hover .station-num{ transform:translateY(-3px);
  background:var(--chrome); background-size:220% 100%; background-position:180% 0;
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
  animation:numSheen 1.1s var(--ease-inout) forwards; }
@keyframes numSheen{ from{ background-position:180% 0; } to{ background-position:-80% 0; } }
.station-body h3{ transition:transform .5s var(--ease-out); }
.station:hover .station-body h3{ transform:translateX(-6px); }
html[dir="ltr"] .station:hover .station-body h3{ transform:translateX(6px); }
.station-essence{ transition:color .4s; }
@media(prefers-reduced-motion:reduce){
  .station:hover .station-num{ animation:none; transform:none; background-position:50% 0; }
  .station:hover .station-body h3{ transform:none; }
}
.station-ico{ margin-top:10px; color:var(--steel-deep); position:relative; transition:transform .5s var(--ease-out); }
.station-ico svg{ width:48px; height:48px; }
.station:hover .station-ico{ transform:translateY(-2px); }
.station-ico::after{ content:""; position:absolute; inset:0; pointer-events:none; mix-blend-mode:screen; opacity:0;
  background:linear-gradient(115deg,transparent 0 40%,rgba(255,255,255,.85) 50%,transparent 60% 100%); background-size:250% 100%; background-position:200% 0; }
.station:hover .station-ico::after{ opacity:1; animation:shimmer2 1.1s var(--ease-inout) forwards; }
@keyframes shimmer2{ from{background-position:200% 0;} to{background-position:-100% 0;} }
.station-body h3{ font-size:clamp(26px,3.4vw,40px); font-weight:700; }
.station-essence{ margin-top:20px; font-family:var(--f-head); font-weight:500; letter-spacing:-.01em; line-height:1.25; color:var(--ink); font-size:clamp(20px,2.2vw,30px); }
.station-text{ margin-top:20px; max-width:38ch; color:var(--ink-soft); font-size:clamp(15px,1.05vw,17px); line-height:1.7; }
.cta{ display:inline-flex; align-items:center; gap:12px; margin-top:36px; font-family:var(--f-head); font-size:13px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink); padding-bottom:6px; border-bottom:1px solid var(--line); transition:border-color .3s; }
.cta:hover{ border-color:var(--ink); }
.cta .arr{ display:inline-block; transition:transform .4s var(--ease-out); }
.cta:hover .arr{ transform:translateX(.35em); }
html[dir="rtl"] .cta:hover .arr{ transform:translateX(-.35em); }
.prac-foot{ margin-top:clamp(40px,6vw,80px); display:flex; justify-content:center; }
.prac-foot .cta{ margin-top:0; }
@media(max-width:640px){ .station-in{ grid-template-columns:1fr; } .station-ico{ display:none; } }

/* ---------- CHROME DIVIDER ---------- */
.divider{ position:relative; height:70vh; height:70svh; min-height:380px; overflow:hidden; background:#1a1c1f; display:flex; align-items:center; justify-content:center; }
.divider img,.divider video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.divider img{ opacity:.95; }
.divider video{ opacity:.5; mix-blend-mode:screen; }
.divider .ov{ position:absolute; inset:0; background:radial-gradient(ellipse at center,rgba(13,15,17,.25) 0%,rgba(13,15,17,.66) 100%); }
.divider blockquote{ position:relative; color:#EEF1F3; text-align:center; font-family:var(--f-head); font-weight:500; letter-spacing:-.02em; line-height:1.15; max-width:20ch; padding-inline:24px; font-size:clamp(28px,4.5vw,60px); text-shadow:0 1px 30px rgba(0,0,0,.4); }

/* ---------- ABOUT ---------- */
.about{ position:relative; padding-block:var(--section-y); overflow:hidden; background:var(--paper); }
.about-tex{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.22; mix-blend-mode:multiply; pointer-events:none; }
.about-grid{ position:relative; display:grid; grid-template-columns:1fr; gap:40px; margin-top:48px; }
.about h2{ font-size:clamp(34px,5vw,64px); font-weight:800; max-width:14ch; }
.about-body{ color:var(--ink-soft); max-width:62ch; font-size:clamp(16px,1.1vw,18px); line-height:1.75; }
.recog{ margin-top:40px; padding-top:24px; border-top:1px solid var(--line); display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.badge{ font-family:var(--f-body); font-size:12px; letter-spacing:.18em; font-weight:600; color:var(--steel-deep); border:1px solid var(--line); border-radius:var(--r-sm); padding:6px 10px; }
@media(min-width:900px){ .about-grid{ grid-template-columns:1fr 1fr; gap:64px; } }

/* ---------- TEAM ---------- */
.team{ padding-bottom:var(--section-y); background:var(--paper); }
.team-intro{ font-family:var(--f-head); color:var(--ink); font-size:clamp(22px,2.2vw,30px); line-height:1.25; max-width:32ch; margin-bottom:clamp(48px,6vw,96px); }
.team-grid{ display:grid; grid-template-columns:1fr; gap:56px 32px; }
@media(min-width:600px){ .team-grid{ grid-template-columns:1fr 1fr; } }
@media(min-width:960px){ .team-grid{ grid-template-columns:1fr 1fr 1fr; gap:80px 48px; } }
.card-img{ aspect-ratio:4/5; border-radius:var(--r-md); overflow:hidden; box-shadow:var(--shadow-edge); background:var(--ice);
  transition:transform .6s var(--ease-out),box-shadow .6s var(--ease-out); }
.card-img img{ width:100%; height:100%; object-fit:cover; filter:saturate(.78) contrast(1.02); transition:filter .7s var(--ease-out),transform .9s var(--ease-out); }
.card:hover .card-img{ transform:translateY(-4px); box-shadow:inset 0 0 0 1px var(--steel-light),0 1px 0 rgba(255,255,255,.6),0 18px 40px -20px rgba(13,15,17,.25); }
.card:hover .card-img img{ filter:saturate(1) contrast(1.03); transform:scale(1.02); }
.card h3{ margin-top:24px; font-size:clamp(18px,1.4vw,22px); font-weight:700; }
.card .rule{ margin:12px 0; width:32px; height:1px; background:var(--steel); }
.card .role{ margin-bottom:8px; }
.card-cred{ margin:2px 0 8px; font-size:12.5px; line-height:1.6; color:var(--muted); max-width:36ch; }
.card .mail{ color:var(--muted); font-size:14px; transition:color .24s; }
.card .mail:hover{ color:var(--ink); }

/* second tier: the wider team, denser grid, smaller cards */
.team-sub{ margin-top:clamp(64px,8vw,110px); margin-bottom:clamp(32px,4vw,52px); padding-top:clamp(24px,3vw,36px); border-top:1px solid var(--line); }
.team-grid.sm{ grid-template-columns:repeat(2,1fr); gap:40px 20px; }
@media(min-width:700px){ .team-grid.sm{ grid-template-columns:repeat(3,1fr); } }
@media(min-width:960px){ .team-grid.sm{ grid-template-columns:repeat(4,1fr); gap:48px 32px; } }
.card.sm h3{ margin-top:16px; font-size:clamp(15px,1.15vw,18px); }
.card.sm .rule{ margin:10px 0; width:26px; }
.card.sm .role{ font-size:12px; margin-bottom:6px; }
.card.sm .mail{ font-size:12px; }

/* ---------- PRESS ---------- */
.press{ padding-bottom:var(--section-y); background:var(--paper); }
.press .sec-head{ margin-top:clamp(56px,8vw,120px); margin-bottom:clamp(40px,6vw,80px); }
.press-grid{ display:grid; grid-template-columns:1fr; gap:24px; }
@media(min-width:900px){ .press-grid{ grid-template-columns:repeat(3,1fr); gap:32px; } }
.press-card a{ display:flex; flex-direction:column; height:100%; background:var(--surface); box-shadow:var(--shadow-edge); border-radius:var(--r-md);
  padding:clamp(24px,2.5vw,34px); transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out); }
.press-card a:hover{ transform:translateY(-4px);
  box-shadow:inset 0 0 0 1px var(--steel-light),0 1px 0 rgba(255,255,255,.6),0 18px 40px -20px rgba(13,15,17,.25); }
.press-meta{ display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.press-meta .eyebrow{ font-size:12px; }
.press-outlet{ height:17px; width:auto; filter:saturate(0); opacity:.72; transition:filter .4s var(--ease-out),opacity .4s var(--ease-out); }
.press-card a:hover .press-outlet{ filter:none; opacity:1; }
.press-card h3{ font-size:clamp(18px,1.5vw,21px); line-height:1.45; font-weight:700; letter-spacing:-.01em; }
.press-by{ margin-top:12px; color:var(--muted); font-size:13px; }
.press-foot{ margin-top:auto; }
.press-role{ margin-top:24px; padding-top:16px; border-top:1px solid var(--line); color:var(--ink-soft); font-size:14px; line-height:1.65; }
.press-role b{ font-weight:600; color:var(--ink); }
.press-link{ display:inline-flex; align-items:center; gap:10px; margin-top:18px; font-family:var(--f-head); font-size:13px; letter-spacing:.06em; color:var(--ink); }
.press-link .arr{ display:inline-block; transition:transform .4s var(--ease-out); }
.press-card a:hover .press-link .arr{ transform:translateX(-.35em); }
html[dir="ltr"] .press-card a:hover .press-link .arr{ transform:translateX(.35em); }

/* ---------- CONTACT ---------- */
.contact{ padding-block:var(--section-y); background:var(--paper); }
.contact h2{ font-size:clamp(34px,5vw,64px); font-weight:800; max-width:16ch; }
.contact-lead{ margin-top:20px; color:var(--ink-soft); font-size:clamp(17px,1.4vw,20px); }
.contact-grid{ display:grid; grid-template-columns:1fr; gap:56px; margin-top:clamp(48px,6vw,80px); }
@media(min-width:900px){ .contact-grid{ grid-template-columns:1.2fr .8fr; gap:72px; } }
.field{ margin-bottom:22px; }
.field label{ display:block; font-size:12px; text-transform:uppercase; letter-spacing:.16em; color:var(--muted); margin-bottom:8px; font-weight:500; }
.field input,.field select,.field textarea{ width:100%; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-sm);
  padding:13px 14px; font-family:var(--f-body); font-size:16px; color:var(--ink); transition:border-color .25s,box-shadow .25s; }
.field textarea{ min-height:128px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus{ outline:2px solid var(--steel-deep); outline-offset:2px; border-color:var(--steel-deep); box-shadow:none; }
.field input[dir="ltr"]{ text-align:start; }
.submit{ display:inline-flex; align-items:center; gap:12px; background:var(--ink); color:var(--paper); border:0; border-radius:var(--r-sm);
  font-family:var(--f-head); font-weight:600; letter-spacing:.04em; font-size:15px; padding:15px 32px; cursor:pointer; transition:transform .3s var(--ease-out),opacity .3s; }
.submit:hover{ transform:translateY(-2px); }
.submit:disabled{ opacity:.6; cursor:default; transform:none; }
.form-note{ margin-top:16px; font-size:14px; min-height:20px; }
.form-note.ok{ color:var(--steel-deep); } .form-note.err{ color:#b4232a; }
.cdetails .row{ padding-block:18px; border-top:1px solid var(--line); }
.cdetails .row:first-child{ border-top:0; }
.cdetails .k{ font-size:12px; text-transform:uppercase; letter-spacing:.16em; color:var(--muted); margin-bottom:6px; }
.cdetails .v{ color:var(--ink); }
.cdetails a:hover{ color:var(--steel-deep); }

/* ---------- FOOTER ---------- */
.footer{ background:var(--ink); color:#cfd4d8; padding-block:clamp(56px,8vw,96px); }
.footer-top{ display:flex; flex-wrap:wrap; gap:40px; justify-content:space-between; align-items:flex-start; }
.footer-word{ font-family:var(--f-head); font-weight:700; letter-spacing:.06em; font-size:22px; color:#fff; }
html[lang="he"] .footer-word{ letter-spacing:.02em; }
.footer-logo{ height:74px; width:auto; display:block; }
.footer-brand{ display:flex; flex-direction:column; align-items:center; width:max-content; }
.footer-brand .footer-cap{ text-align:center; }
.footer-cap{ margin-top:8px; font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--steel); }
.footer-nav{ display:flex; gap:28px; flex-wrap:wrap; }
.footer-nav a{ color:#aeb4b9; font-size:14px; transition:color .25s; }
.footer-nav a:hover{ color:#fff; }
.footer-bottom{ margin-top:48px; padding-top:24px; border-top:1px solid rgba(255,255,255,.1); font-size:13px; color:#8a9095; }

/* ---------- PRACTICE SUBPAGES ---------- */
.nav.solid .nav-logo{ opacity:1; transform:none; filter:none; }
.p-hero{ position:relative; padding-top:clamp(150px,22vh,220px); padding-bottom:clamp(48px,7vw,96px); background:var(--paper); overflow:hidden; }
.p-hero-num{ position:absolute; top:30px; inset-inline-end:-2%; font-family:var(--f-head); font-weight:700; letter-spacing:-.05em; line-height:1;
  color:var(--steel-light); opacity:.45; font-size:clamp(170px,30vw,420px); pointer-events:none; }
.p-hero .wrap{ position:relative; }
.p-hero h1{ margin-top:22px; font-size:clamp(38px,6vw,76px); font-weight:800; max-width:15ch; }
.p-essence{ margin-top:22px; font-family:var(--f-head); font-weight:500; letter-spacing:-.01em; font-size:clamp(20px,2.4vw,30px); color:var(--ink-soft); }
.p-hero .hero-rule.p-rule{ margin-top:36px; transform:scaleX(1); }
.p-body{ padding-block:clamp(40px,6vw,100px); background:var(--paper); }
.p-grid{ display:grid; grid-template-columns:1fr; gap:56px; }
@media(min-width:900px){ .p-grid{ grid-template-columns:1.15fr .85fr; gap:88px; } }
.p-lead{ font-family:var(--f-head); font-weight:600; font-size:clamp(20px,1.9vw,26px); line-height:1.5; letter-spacing:-.01em; max-width:30ch; }
.p-text p + p{ margin-top:24px; color:var(--ink-soft); max-width:58ch; }
.p-highlight{ margin-top:32px; padding:22px 26px; background:var(--surface); box-shadow:var(--shadow-edge); border-radius:var(--r-md);
  color:var(--ink-soft); font-size:15px; line-height:1.7; max-width:58ch; }
.p-highlight a{ display:inline-block; margin-top:8px; font-family:var(--f-head); font-size:13px; color:var(--ink); border-bottom:1px solid var(--line); transition:border-color .3s; }
.p-highlight a:hover{ border-color:var(--ink); }
.p-services .eyebrow{ margin-bottom:10px; }
.p-services ul{ list-style:none; }
.p-services li{ padding-block:16px; border-bottom:1px solid var(--line); font-size:clamp(15px,1.05vw,17px); color:var(--ink-soft); }
.p-cta{ padding-bottom:clamp(80px,10vw,150px); background:var(--paper); text-align:center; }
.p-cta .hair{ margin-bottom:clamp(56px,8vw,100px); }
.p-cta h2{ font-size:clamp(30px,4.2vw,52px); font-weight:800; }
.p-cta .cta{ margin-top:32px; }
.p-back{ margin-top:40px; }
.p-back a{ font-size:13px; color:var(--muted); transition:color .25s; }
.p-back a:hover{ color:var(--ink); }

/* "learn more" link on the homepage stations */
.station-more{ display:inline-flex; align-items:center; gap:10px; margin-top:24px; font-family:var(--f-head); font-size:13px; letter-spacing:.08em;
  color:var(--ink); padding-bottom:4px; border-bottom:1px solid var(--line); transition:border-color .3s; }
.station-more:hover{ border-color:var(--ink); }
.station-more .arr{ display:inline-block; transition:transform .4s var(--ease-out); }
.station-more:hover .arr{ transform:translateX(-.35em); }
html[dir="ltr"] .station-more:hover .arr{ transform:translateX(.35em); }

/* ---------- CINEMATIC DOOR INTRO (fixed overlay → fades into hero) ---------- */
#introOverlay{ display:none; position:fixed; inset:0; z-index:60; background:#0b0b0c; overflow:hidden; will-change:opacity; }
#introSpacer{ display:none; height:300vh; background:var(--paper); }
#introCanvas{ position:absolute; inset:0; width:100%; height:100%; display:block; }
#introVideo{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
body.intro-lock{ overflow:hidden; height:100vh; height:100dvh; }
.intro-scrim{ position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(120% 90% at 50% 45%, rgba(0,0,0,0) 55%, rgba(0,0,0,.45) 100%); }
/* soft handoff: the corridor blooms to light, then lifts to reveal the logo on paper */
.intro-bloom{ position:absolute; inset:0; z-index:4; pointer-events:none; opacity:0; will-change:opacity;
  background:radial-gradient(130% 100% at 50% 46%, #FBFBF8 0%, #F5F5F1 60%, #F4F4F1 100%); }
.intro-hint{ position:absolute; bottom:38px; left:50%; transform:translateX(-50%); z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; }
.intro-hint .eyebrow{ color:rgba(255,255,255,.72); }
.intro-hint .intro-bar{ width:1px; height:42px; background:rgba(255,255,255,.5); transform-origin:top; animation:scrollpulse 2.6s var(--ease-inout) infinite; }
html.js #introOverlay{ display:block; }
html.js #introSpacer{ display:block; }
html.js #introOverlay.done{ display:none; }
html.js #introOverlay.hidden, html.js #introSpacer.hidden{ display:none; }
body.intro-on{ background:#0b0b0c; }
#introSkip{ position:absolute; top:24px; inset-inline-end:26px; z-index:5; background:transparent; cursor:pointer;
  border:1px solid rgba(255,255,255,.26); color:rgba(255,255,255,.72); border-radius:2px; padding:7px 15px;
  font-family:var(--f-body); font-size:12px; letter-spacing:.18em; text-transform:uppercase; transition:color .25s,border-color .25s; }
#introSkip:hover{ color:#fff; border-color:rgba(255,255,255,.6); }

/* logo payoff: one specular sweep the moment the wordmark arrives */
.logo-arrive{ position:absolute; inset:0; pointer-events:none; mix-blend-mode:screen; opacity:0;
  background:linear-gradient(115deg,transparent 0 42%,rgba(255,255,255,.92) 50%,transparent 58% 100%);
  background-size:250% 100%; background-position:210% 0;
  -webkit-mask-image:url("assets/logo/logo_dark.webp"); mask-image:url("assets/logo/logo_dark.webp");
  -webkit-mask-size:100% 100%; mask-size:100% 100%; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center; }
.hero.ready .logo-arrive{ animation:arriveSweep 1.1s var(--ease-inout) .5s 1 both; }
@keyframes arriveSweep{ 0%{ background-position:210% 0; opacity:0; } 15%{ opacity:1; } 82%{ opacity:1; } 100%{ background-position:-110% 0; opacity:0; } }
@media(prefers-reduced-motion:reduce){ .logo-arrive{ display:none; } }

@media(prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:200ms!important; scroll-behavior:auto!important; }
  .divider video{ display:none!important; }
  .reveal{ opacity:1; transform:none; filter:none; }
  #introOverlay, #introSpacer{ display:none!important; }
}

/* דילוג לתוכן: גלוי רק בפוקוס מקלדת */
.skip-link{ position:absolute; inset-inline-start:-9999px; top:0; z-index:9999; background:var(--ink); color:#fff; padding:10px 18px; border-radius:0 0 var(--r-md) var(--r-md); font-family:var(--f-body); font-size:15px; line-height:1; text-decoration:none; }
.skip-link:focus{ inset-inline-start:12px; top:12px; }

/* footer: contact + address columns */
.footer-contact,.footer-addr{ display:flex; flex-direction:column; gap:6px; font-style:normal; }
.footer-contact a,.footer-addr span,.footer-addr a,.footer-fax{ color:#aeb4b9; font-size:14px; line-height:1.7; transition:color .25s; }
.footer-contact a:hover,.footer-addr a:hover{ color:#fff; }
.footer-nav .footer-cap,.footer-contact .footer-cap,.footer-addr .footer-cap{ margin:0 0 10px; }
.footer-nav{ flex-direction:column; gap:8px; align-items:flex-start; }
.footer-map{ margin-top:4px; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:760px){ .footer-top{ gap:32px; } }

/* hero CTA: restrained, same language as the station links */
.hero-cta{ margin-top:34px; }
@media(max-width:640px){ .hero-cta{ margin-top:26px; } }
/* keep the CTA clear of the scroll cue on short viewports */
@media(max-height:780px){ .hero-in{ padding-bottom:64px; } }
@media(max-height:640px){ .scroll-cue{ display:none; } }

/* touch target sizing: keep tappable links at a comfortable height on touch devices */
@media(pointer:coarse){
  .card .mail{ display:inline-block; padding-block:11px; }
  .contact .row .v a{ display:inline-block; padding-block:9px; }
  .station-more{ padding-block:8px; }
  .cta{ padding-block:8px 10px; }
  .footer-nav a,.footer-contact a,.footer-addr a{ display:inline-block; padding-block:6px; }
}
