/* ETV — shared design system (direction B "שיחה קודם") — home-b-v1
   Single source for all pages. Tokens mirror DESIGN-TOKENS.json. */
:root{
  /* brand (from logo) */
  --c-blue:#0068b3;        /* action, AI, links */
  --c-blue-strong:#00528d; /* hover */
  --c-blue-deep:#004272;   /* pressed */
  --c-blue-tint:#e6f0f8;   /* selected / soft fill */
  --c-navy:#22226b;        /* ink, dark surfaces */
  --c-navy-deep:#18184f;   /* footer, hover on navy */
  --c-lime:#b5c900;        /* WhatsApp + one accent; never text on light */
  --c-lime-strong:#c5d633; /* lime hover on navy */
  /* neutrals */
  --c-bg:#f4f6fa;
  --c-surface:#ffffff;
  --c-ink:#22226b;
  --c-ink-soft:#4a4e7a;
  --c-ink-on-dark:#ffffff;
  --c-ink-on-dark-soft:#c5c8e0;
  --c-line:#d5dae8;
  --c-line-strong:#8a8fb3; /* 3:1+ on white for control boundaries */
  --c-disabled-bg:#e4e7f0;
  --c-disabled-ink:#5e6390;
  /* feedback */
  --c-error:#b3261e; --c-error-bg:#fcebea;
  --c-success:#1e6b3a; --c-success-bg:#e8f4ec;
  --c-warn-ink:#7a4a00; --c-warn-bg:#fff1d6;
  /* type */
  --font:"Rubik","Assistant","Segoe UI","Arial Hebrew",Arial,"Liberation Sans",sans-serif;
  --fs-xs:.8125rem;  /* 13 */
  --fs-sm:.9375rem;  /* 15 */
  --fs-md:1.0625rem; /* 17 body */
  --fs-lg:1.3125rem; /* 21 lead */
  --fs-xl:1.625rem;  /* 26 h3 */
  --fs-2xl:clamp(1.75rem,1.2rem + 1.8vw,2.375rem); /* h2 28–38 */
  --fs-3xl:clamp(2.125rem,1.3rem + 3.2vw,3.5rem);  /* h1 34–56 */
  --lh-tight:1.15; --lh-snug:1.3; --lh-body:1.65;
  /* space (4px base) */
  --s-1:.25rem; --s-2:.5rem; --s-3:.75rem; --s-4:1rem; --s-5:1.5rem; --s-6:2rem; --s-7:3rem; --s-8:4rem; --s-9:6rem;
  --gutter:clamp(1rem,4vw,3rem);
  --maxw:74rem;
  /* radius */
  --r-sm:8px; --r-md:14px; --r-lg:22px; --r-pill:999px;
  /* shadow */
  --sh-1:0 1px 2px rgba(34,34,107,.08);
  --sh-2:0 1px 2px rgba(34,34,107,.06),0 10px 24px -14px rgba(34,34,107,.28);
  --sh-panel:0 34px 70px -34px rgba(34,34,107,.38);
  /* focus */
  --focus:3px solid var(--c-blue);
  --focus-on-dark:3px solid var(--c-lime);
  /* motion */
  --t-fast:120ms; --t-base:200ms; --ease:cubic-bezier(.2,.7,.2,1);
  --tap:44px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--c-bg);color:var(--c-ink);font-family:var(--font);font-size:var(--fs-md);line-height:var(--lh-body);overflow-x:clip}
img,svg,video{max-width:100%;display:block}
h1,h2,h3,h4{margin:0;font-weight:600;line-height:var(--lh-snug);text-wrap:balance}
h1{font-size:var(--fs-3xl);line-height:var(--lh-tight);letter-spacing:-.01em}
h2{font-size:var(--fs-2xl)}
h3{font-size:var(--fs-xl)}
p{margin:0}
p+p{margin-top:var(--s-4)}
:focus-visible{outline:var(--focus);outline-offset:3px;border-radius:4px}
.on-dark :focus-visible{outline:var(--focus-on-dark)}
[tabindex="-1"]:focus{outline:none}
[tabindex="-1"]:focus-visible{outline:var(--focus);outline-offset:6px}
.skip{position:absolute;inset-inline-start:1rem;top:-5rem;z-index:50;background:var(--c-navy);color:#fff;padding:.6rem 1rem;border-radius:8px;font-weight:600}
.skip:focus{top:1rem}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ltr{direction:ltr;unicode-bidi:isolate}
bdi{unicode-bidi:isolate}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
section[id],h2[id],h3[id]{scroll-margin-top:var(--s-5)}

/* ---------- review chrome (NOT part of the site) ---------- */
.review-bar{background:#fff7e0;border-block-end:1px solid #e8d49a;color:#3d2e00;font-size:var(--fs-sm)}
.review-bar .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-5);padding-block:var(--s-2)}
.review-bar strong{font-weight:600}
.review-bar fieldset{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2)}
.review-bar legend{float:inline-start;margin-inline-end:var(--s-2);font-weight:600;padding:0}
.seg{display:inline-flex;flex-wrap:wrap;border:1px solid #b89a3e;border-radius:var(--r-pill);overflow:hidden;background:#fff}
.seg button{font:inherit;font-size:var(--fs-sm);border:0;background:none;color:#3d2e00;padding:.35rem .85rem;min-height:36px;cursor:pointer}
.seg button[aria-pressed="true"]{background:#3d2e00;color:#fff}
.seg button+button{border-inline-start:1px solid #b89a3e}
.review-bar label{display:inline-flex;gap:.4rem;align-items:center;cursor:pointer;min-height:36px}
.review-bar a{color:#3d2e00}

/* copy status markers (toggle via body.marks-off) */
[data-status]::after{display:inline-block;margin-inline-start:.4em;font-size:.72rem;font-weight:600;line-height:1.5;padding:0 .45em;border-radius:4px;vertical-align:middle;letter-spacing:0;white-space:nowrap;font-style:normal}
[data-status="temp"]::after{content:"טקסט זמני";color:var(--c-warn-ink);background:var(--c-warn-bg)}
[data-status="review"]::after{content:"לסקירה";color:#5a1d6e;background:#f3e3f8}
[data-status="demo"]::after{content:"דמה";color:#5a1d6e;background:#f3e3f8}
[data-status="missing"]::after{content:"חסר — לאיתן";color:var(--c-error);background:var(--c-error-bg)}
[data-status="approved"]::after{content:none}
:lang(en) [data-status="temp"]::after,[lang="en"][data-status="temp"]::after{content:"Draft"}
:lang(en) [data-status="pending"]::after{content:"Pending";color:var(--c-warn-ink);background:var(--c-warn-bg)}
.marks-off [data-status]::after{content:none!important}
.on-dark [data-status]::after{filter:none}

/* ---------- buttons ---------- */
.btn{--bg:var(--c-blue);--fg:#fff;--bd:transparent;
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:.6rem 1.35rem;border-radius:var(--r-pill);
  background:var(--bg);color:var(--fg);border:2px solid var(--bd);font:inherit;font-weight:600;font-size:var(--fs-md);line-height:1.2;text-decoration:none;cursor:pointer;
  transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}
.btn svg{width:20px;height:20px;flex:none;fill:currentColor}
.btn:hover,.btn.is-hover{--bg:var(--c-blue-strong)}
.btn:active,.btn.is-active{--bg:var(--c-blue-deep)}
.btn.is-focus{outline:var(--focus);outline-offset:3px}
.btn[disabled],.btn[aria-disabled="true"]{--bg:var(--c-disabled-bg);--fg:var(--c-disabled-ink);--bd:transparent;cursor:not-allowed}
.btn[aria-busy="true"]{cursor:progress}
.btn .spin{width:18px;height:18px;border-radius:50%;border:2.5px solid currentColor;border-inline-end-color:transparent;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.btn .spin{animation-duration:2.4s}}

.btn--secondary{--bg:transparent;--fg:var(--c-blue);--bd:var(--c-blue)}
.btn--secondary:hover,.btn--secondary.is-hover{--bg:var(--c-blue-tint);--fg:var(--c-blue-strong);--bd:var(--c-blue-strong)}
.btn--secondary:active,.btn--secondary.is-active{--bg:#d3e4f2;--fg:var(--c-blue-deep);--bd:var(--c-blue-deep)}
.btn--secondary[disabled]{--bg:transparent;--bd:var(--c-line)}

.btn--wa{--bg:var(--c-navy);--fg:var(--c-lime)}
.btn--wa:hover,.btn--wa.is-hover{--bg:var(--c-navy-deep);--fg:var(--c-lime-strong)}
.btn--wa:active,.btn--wa.is-active{--bg:#10103a}
.on-dark .btn--wa{--bg:var(--c-lime);--fg:var(--c-navy)}
.on-dark .btn--wa:hover,.on-dark .btn--wa.is-hover{--bg:var(--c-lime-strong)}
.on-dark .btn--wa:active,.on-dark .btn--wa.is-active{--bg:#a3b500}
.on-dark .btn--secondary{--fg:#fff;--bd:#fff}
.on-dark .btn--secondary:hover{--bg:rgba(255,255,255,.12);--fg:#fff;--bd:#fff}

.btn--sm{min-height:var(--tap);padding:.45rem 1rem;font-size:var(--fs-sm)}
.btn--icon{min-width:var(--tap);min-height:var(--tap);padding:0;border-radius:var(--r-md)}
.btn--quiet{--bg:transparent;--fg:var(--c-ink);--bd:transparent}
.btn--quiet:hover,.btn--quiet.is-hover{--bg:var(--c-blue-tint);--fg:var(--c-ink)}

/* text link */
.link{color:var(--c-blue);font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.28em}
.link:hover,.link.is-hover{color:var(--c-blue-strong);text-decoration-thickness:2px}
.link:active{color:var(--c-blue-deep)}
.link.is-focus{outline:var(--focus);outline-offset:3px}
.link--nav{display:inline-flex;align-items:center;gap:.35rem;min-height:var(--tap);font-weight:600;text-decoration:none}
.link--nav .arr{transition:transform var(--t-fast) var(--ease)}
.link--nav:hover .arr{transform:translateX(-3px)}
[dir="ltr"] .link--nav .arr{transform:scaleX(-1)}
[dir="ltr"] .link--nav:hover .arr{transform:scaleX(-1) translateX(-3px)}
.on-dark .link{color:#fff}
.on-dark .link:hover{color:var(--c-lime)}

/* ---------- header / nav ---------- */
.site-header{background:var(--c-surface);border-block-end:1px solid var(--c-line);position:relative;z-index:20}
.site-header .wrap{display:flex;align-items:center;gap:var(--s-5);min-height:76px}
.brand{display:inline-flex;align-items:center;flex:none;border-radius:6px}
.brand img{height:52px;width:auto}
.nav{margin-inline-start:auto;display:flex;align-items:center;gap:var(--s-2)}
.nav-list{display:flex;align-items:center;gap:var(--s-1);list-style:none;margin:0;padding:0}
.nav-list>li{position:relative}
.nav-link,.nav-trigger{display:inline-flex;align-items:center;gap:.3rem;min-height:var(--tap);padding:.4rem .8rem;border-radius:var(--r-sm);font:inherit;font-weight:500;color:var(--c-ink);text-decoration:none;background:none;border:0;cursor:pointer}
.nav-link:hover,.nav-trigger:hover,.nav-link.is-hover{background:var(--c-blue-tint)}
.nav-link[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--c-blue);border-radius:var(--r-sm) var(--r-sm) 0 0}
.nav-trigger svg{width:14px;height:14px;fill:currentColor;transition:transform var(--t-fast)}
.nav-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}
.submenu{position:absolute;inset-inline-start:0;top:calc(100% + 6px);min-width:16rem;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);box-shadow:var(--sh-2);padding:var(--s-2);list-style:none;margin:0}
.submenu[hidden]{display:none}
.submenu a{display:flex;flex-direction:column;padding:.55rem .8rem;border-radius:var(--r-sm);text-decoration:none;color:var(--c-ink);font-weight:500;min-height:var(--tap);justify-content:center}
.submenu a small{font-weight:400;color:var(--c-ink-soft);font-size:var(--fs-xs)}
.submenu a:hover{background:var(--c-blue-tint)}
.lang{font-weight:600}
.menu-btn{display:none}
.header-wa .t{white-space:nowrap}

@media (max-width:960px){
  .site-header .wrap{min-height:64px;gap:var(--s-2)}
  .brand img{height:42px}
  .nav{gap:var(--s-1)}
  .nav-list{display:none}
  .menu-btn{display:inline-flex}
  .nav .lang-desktop{display:inline-flex}
  .header-wa .t{display:none}
  .header-wa{padding:0;min-width:var(--tap);min-height:var(--tap)}
  .site-header.menu-open .nav-list{display:flex;flex-direction:column;align-items:stretch;position:absolute;inset-inline:0;top:100%;background:var(--c-surface);border-block-end:1px solid var(--c-line);box-shadow:var(--sh-2);padding:var(--s-3) var(--gutter) var(--s-5);gap:0}
  .site-header.menu-open .nav-list>li>.nav-link,.site-header.menu-open .nav-trigger{width:100%;justify-content:space-between;min-height:48px;font-size:var(--fs-lg)}
  .site-header.menu-open .submenu{position:static;box-shadow:none;border:0;padding:0 var(--s-4) var(--s-2);min-width:0}
}
@media (max-width:360px){ .brand img{height:36px} }

/* ---------- copy & sections ---------- */
.section{padding-block:clamp(3rem,7vw,5.5rem)}
.section-head{max-width:46rem;margin-block-end:var(--s-6)}
.section-head p{color:var(--c-ink-soft);margin-top:var(--s-3);font-size:var(--fs-lg);line-height:1.5}
.lead{font-size:var(--fs-lg);line-height:1.55;color:var(--c-ink-soft)}
.on-dark{background:var(--c-navy);color:var(--c-ink-on-dark)}
.on-dark .lead,.on-dark p{color:var(--c-ink-on-dark-soft)}
.on-dark h2,.on-dark h3{color:#fff}

/* ---------- hero ---------- */
.hero{position:relative;overflow:clip;padding-block:clamp(2.5rem,6vw,5rem) clamp(3rem,6vw,5rem)}
.hero-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;position:relative}
.hero h1{max-width:13ch}
.hero .lead{margin-top:var(--s-5);max-width:36rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-6);align-items:center}
.hero-panel{position:relative}
.ring{position:absolute;pointer-events:none;inset-block-start:-14%;inset-inline-end:-18%;width:min(40rem,120%);aspect-ratio:1;z-index:0}
.ring svg{width:100%;height:100%}
.hero-panel .assistant{position:relative;z-index:1}
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr}
  .hero h1{max-width:16ch}
  .ring{inset-block-start:-6%;inset-inline-end:-30%;width:120%}
}

/* ---------- assistant panel ---------- */
.assistant{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-panel);display:flex;flex-direction:column;overflow:hidden}
.as-top{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-block-end:1px solid var(--c-line)}
.as-avatar{width:40px;height:40px;border-radius:50%;background:var(--c-bg);border:1px solid var(--c-line);display:grid;place-items:center;flex:none}
.as-avatar img{width:26px;height:auto}
.as-title{font-weight:600;line-height:1.25}
.as-title small{display:block;font-weight:400;font-size:var(--fs-xs);color:var(--c-ink-soft)}
.badge{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--fs-xs);font-weight:600;padding:.2rem .7rem;border-radius:var(--r-pill);white-space:nowrap}
.badge--soon{color:var(--c-navy);background:var(--c-blue-tint)}
.badge--ai{color:var(--c-navy);background:#eef3c4}
.badge .dot{width:8px;height:8px;border-radius:50%;background:currentColor}
.as-top .badge{margin-inline-start:auto}
.as-log{padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3);min-height:16rem;max-height:30rem;overflow-y:auto;overscroll-behavior:contain}
.as-ident{font-size:var(--fs-sm);color:var(--c-ink-soft);background:var(--c-bg);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);border-inline-start:3px solid var(--c-lime)}
.as-ident strong{color:var(--c-ink);font-weight:600}
.msg{max-width:88%;padding:.7rem 1rem;border-radius:16px;font-size:var(--fs-md);line-height:1.55}
.msg--user{align-self:flex-start;background:var(--c-blue);color:#fff;border-end-start-radius:4px}
.msg--ai{align-self:flex-end;background:var(--c-bg);border:1px solid var(--c-line);border-end-end-radius:4px}
.msg--ai .src{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px dashed var(--c-line);font-size:var(--fs-sm)}
.msg--ai .src span{color:var(--c-ink-soft)}
.msg--error{align-self:stretch;max-width:none;background:var(--c-error-bg);border:1px solid #e6b3b0;color:#5c130e}
.msg--error strong,.msg--limit strong{display:block;color:var(--c-error);margin-bottom:.15rem}
.msg--limit{align-self:stretch;max-width:none;background:var(--c-warn-bg);border:1px solid #e8cf98;color:#4a2d00}
.msg--limit strong{color:var(--c-warn-ink)}
.msg-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-3)}
.caret{display:inline-block;width:.5em;height:1.1em;vertical-align:text-bottom;background:var(--c-blue);margin-inline-start:2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.caret{animation:none}}
.typing{display:inline-flex;gap:4px;align-items:center}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--c-ink-soft);animation:bob 1.2s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes bob{0%,60%,100%{opacity:.35}30%{opacity:1}}
@media (prefers-reduced-motion:reduce){.typing i{animation:none;opacity:.7}}

.as-chips-wrap{padding:0 var(--s-4) var(--s-3)}
.as-chips-label{font-size:var(--fs-sm);color:var(--c-ink-soft);margin-bottom:var(--s-2)}
.chips{display:flex;flex-wrap:wrap;gap:var(--s-2);list-style:none;margin:0;padding:0}
.chip{font:inherit;font-size:var(--fs-sm);min-height:var(--tap);padding:.45rem 1rem;border-radius:var(--r-pill);border:1.5px solid var(--c-line-strong);background:var(--c-surface);color:var(--c-ink);cursor:pointer;text-align:start;display:inline-flex;align-items:center;gap:.45rem;line-height:1.3;text-decoration:none}
.chip:hover,.chip.is-hover{border-color:var(--c-blue);background:var(--c-blue-tint)}
.chip:active,.chip.is-active{background:#d3e4f2}
.chip.is-focus{outline:var(--focus);outline-offset:3px}
.chip[aria-pressed="true"],.chip.is-selected{background:var(--c-navy);border-color:var(--c-navy);color:#fff}
.chip[disabled]{border-color:var(--c-line);color:var(--c-disabled-ink);background:var(--c-disabled-bg);cursor:not-allowed}
.chip .to{font-size:var(--fs-xs);color:var(--c-ink-soft);font-weight:400}
.chip:hover .to{color:var(--c-ink)}
.chip svg{width:14px;height:14px;fill:currentColor;flex:none}

.composer{margin:0 var(--s-4) var(--s-3);display:flex;align-items:flex-end;gap:var(--s-2);border:1.5px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);padding:.35rem;padding-inline-start:var(--s-4)}
.composer:focus-within{border-color:var(--c-blue);box-shadow:0 0 0 3px rgba(0,104,179,.18)}
.composer textarea{flex:1;min-width:0;border:0;resize:none;background:transparent;font:inherit;color:var(--c-ink);padding:.6rem 0;line-height:1.45;max-height:8rem}
.composer textarea:focus{outline:none}
.composer textarea::placeholder{color:#5e6390}
.composer.is-off{background:var(--c-disabled-bg);border-color:var(--c-line)}
.composer.is-off textarea{color:var(--c-disabled-ink)}
.composer.is-off textarea::placeholder{color:var(--c-disabled-ink)}
.as-foot{padding:0 var(--s-4) var(--s-4);font-size:var(--fs-sm);color:var(--c-ink-soft);display:flex;flex-direction:column;gap:var(--s-2)}
.as-foot .row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-4)}
.as-note{display:flex;gap:.5rem;align-items:flex-start}
.as-note svg{width:18px;height:18px;flex:none;margin-top:.15rem;fill:var(--c-blue)}

/* summary sheet inside assistant */
.as-summary{border-top:1px solid var(--c-line);background:var(--c-bg);padding:var(--s-4)}
.as-summary h3{font-size:var(--fs-lg)}
.as-summary p{font-size:var(--fs-sm);color:var(--c-ink-soft);margin-top:var(--s-2)}
.as-summary textarea{width:100%;margin-top:var(--s-3)}
.as-summary .msg-actions{margin-top:var(--s-4)}

/* state visibility: an element shows when its data-show tokens include the current state/sub-state */
[data-as-state="soon"] [data-show]:not([data-show~="soon"]){display:none}
[data-as-state="active"][data-as-sub="chat"] [data-show]:not([data-show~="active"]):not([data-show~="chat"]){display:none}
[data-as-state="active"][data-as-sub="streaming"] [data-show]:not([data-show~="active"]):not([data-show~="streaming"]){display:none}
[data-as-state="active"][data-as-sub="error"] [data-show]:not([data-show~="active"]):not([data-show~="error"]){display:none}
[data-as-state="active"][data-as-sub="limit"] [data-show]:not([data-show~="active"]):not([data-show~="limit"]){display:none}
[data-as-state="active"][data-as-sub="summary"] [data-show]:not([data-show~="active"]):not([data-show~="summary"]){display:none}

/* ---------- strategy strip ---------- */
.strategy{background:var(--c-surface);border-block:1px solid var(--c-line)}
.strategy-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.strategy h2{font-size:var(--fs-3xl);line-height:1.1;max-width:12ch}
.strategy .principle{font-size:var(--fs-lg);line-height:1.55;margin-top:var(--s-4);max-width:34rem;color:var(--c-ink)}
.stack{display:grid;gap:var(--s-2)}
.stack .top{background:var(--c-navy);color:#fff;border-radius:var(--r-md);padding:var(--s-5);font-weight:600;font-size:var(--fs-lg);display:flex;justify-content:space-between;align-items:center;gap:var(--s-3)}
.stack .top .mark{width:14px;height:14px;border-radius:50%;background:var(--c-lime);flex:none}
.stack .arrows{display:flex;justify-content:space-around;color:var(--c-line-strong)}
.stack .arrows svg{width:22px;height:22px;fill:currentColor}
.stack .row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}
.stack .row div{background:var(--c-blue-tint);color:var(--c-navy);border-radius:var(--r-md);padding:var(--s-4) var(--s-5);font-weight:500}
@media (max-width:860px){.strategy-grid{grid-template-columns:1fr}}

/* ---------- needs (approved H02) ---------- */
.needs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-6) clamp(1.5rem,3vw,3rem);list-style:none;margin:0;padding:0}
.needs-grid li{border-top:3px solid var(--c-blue);padding-top:var(--s-4)}
.needs-grid h3{font-size:var(--fs-lg)}
.needs-grid p{margin-top:var(--s-2);color:var(--c-ink-soft)}
.needs-close{margin-top:var(--s-7);display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-5);align-items:center;font-size:var(--fs-lg);font-weight:500}
@media (max-width:860px){.needs-grid{grid-template-columns:1fr}}

/* ---------- router (H06 entry) ---------- */
.router-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-3);list-style:none;margin:0;padding:0}
.route{display:flex;flex-direction:column;gap:var(--s-2);height:100%;padding:var(--s-5);border-radius:var(--r-md);background:var(--c-surface);border:1.5px solid var(--c-line);text-decoration:none;color:var(--c-ink);transition:border-color var(--t-fast)}
.route:hover,.route.is-hover{border-color:var(--c-blue)}
.route b{font-size:var(--fs-lg);font-weight:600;line-height:1.3}
.route span{color:var(--c-ink-soft);font-size:var(--fs-sm)}
.route em{margin-top:auto;padding-top:var(--s-3);font-style:normal;font-weight:600;color:var(--c-blue);display:inline-flex;gap:.35rem;align-items:center}
.route--alt{background:transparent;border-style:dashed;border-color:var(--c-line-strong)}
@media (max-width:1024px){.router-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.router-grid{grid-template-columns:1fr}}

/* ---------- services + video card ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5);align-items:stretch}
.svc{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sh-1)}
.svc-body{padding:var(--s-5) var(--s-5) var(--s-6);display:flex;flex-direction:column;gap:var(--s-3);flex:1}
.svc h3 .role{display:block;font-size:var(--fs-sm);font-weight:500;color:var(--c-ink-soft);margin-top:.15rem}
.svc .invite{font-weight:500;color:var(--c-ink)}
.svc .svc-actions{margin-top:auto;padding-top:var(--s-3);display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);align-items:center}
.svc-boundary{margin-top:var(--s-6);padding:var(--s-4) var(--s-5);border-inline-start:3px solid var(--c-lime);background:var(--c-surface);border-radius:0 var(--r-md) var(--r-md) 0;max-width:52rem;color:var(--c-ink)}
[dir="rtl"] .svc-boundary{border-radius:var(--r-md) 0 0 var(--r-md)}
@media (max-width:860px){.svc-grid{grid-template-columns:1fr}}

.video-card{position:relative;aspect-ratio:16/9;background:var(--c-navy);overflow:hidden}
.video-card img{width:100%;height:100%;object-fit:cover}
.video-card .play{position:absolute;inset:0;display:grid;place-items:center;border:0;background:linear-gradient(180deg,rgba(24,24,79,0) 45%,rgba(24,24,79,.72));cursor:pointer;color:#fff;font:inherit;padding:0;width:100%}
.video-card .play-ic{width:68px;height:68px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform var(--t-fast) var(--ease)}
.video-card .play-ic svg{width:26px;height:26px;fill:var(--c-navy);margin-inline-start:4px}
[dir="rtl"] .video-card .play-ic svg{margin-inline-start:0;margin-inline-end:4px}
.video-card .play:hover .play-ic,.video-card .play.is-hover .play-ic{transform:scale(1.06)}
.video-card .play:focus-visible{outline:var(--focus-on-dark);outline-offset:-6px;border-radius:0}
.video-card .play.is-focus{outline:var(--focus-on-dark);outline-offset:-6px}
.video-card .meta{position:absolute;inset-inline:var(--s-4);inset-block-end:var(--s-3);display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s-3);font-size:var(--fs-sm);font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.5);pointer-events:none}
.video-card .dur{background:rgba(24,24,79,.85);padding:.1rem .5rem;border-radius:6px;text-shadow:none}
.video-card.is-pending{display:grid;place-items:center;text-align:center;color:#fff;padding:var(--s-5)}
.video-card.is-pending p{color:var(--c-ink-on-dark-soft);font-size:var(--fs-sm);max-width:28rem;margin:0 auto}
.video-card.is-pending strong{display:block;color:#fff;font-size:var(--fs-md);margin-bottom:var(--s-2)}
.video-card.is-error{display:grid;place-items:center;text-align:center;color:#fff;padding:var(--s-5)}
.video-inline{background:#000;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-2)}
.video-inline video{width:100%;aspect-ratio:16/9;background:#000}
.video-tools{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);margin-top:var(--s-3);align-items:center}
.transcript{margin-top:var(--s-3)}
.transcript summary{cursor:pointer;color:var(--c-blue);font-weight:600;min-height:var(--tap);display:inline-flex;align-items:center;gap:.4rem}
.transcript summary::marker{content:""}
.transcript summary::before{content:"+";font-weight:700;width:1em}
.transcript[open] summary::before{content:"−"}
.transcript .body{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);padding:var(--s-5);max-width:46rem}
.transcript .body p+p{margin-top:var(--s-3)}

/* video dialog */
dialog.player{padding:0;border:0;border-radius:var(--r-lg);width:min(64rem,calc(100vw - 2rem));background:var(--c-navy-deep);color:#fff;box-shadow:0 40px 80px rgba(0,0,0,.45)}
dialog.player::backdrop{background:rgba(16,16,58,.78)}
.player-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) var(--s-4)}
.player-head h2{font-size:var(--fs-lg);color:#fff}
.player-close{--bg:transparent;--fg:#fff;--bd:rgba(255,255,255,.5)}
.player-close:hover{--bg:rgba(255,255,255,.12);--fg:#fff}
dialog.player video{width:100%;aspect-ratio:16/9;background:#000}
.player-foot{padding:var(--s-3) var(--s-4) var(--s-4);font-size:var(--fs-sm);color:var(--c-ink-on-dark-soft);display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);align-items:center}
.player-err{padding:var(--s-6) var(--s-4);text-align:center}
.player-err[hidden]{display:none}

/* ---------- projects strip ---------- */
.projects{background:var(--c-navy);color:#fff}
.projects-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.projects .kicker{font-weight:500;color:var(--c-lime);font-size:var(--fs-md);margin-bottom:var(--s-2)}
.projects h2{font-size:var(--fs-2xl)}
.projects p.body{margin-top:var(--s-4);max-width:38rem}
.projects .acts{margin-top:var(--s-6);display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-5);align-items:center}
.goal svg{width:100%;max-width:22rem;margin-inline:auto;height:auto}
@media (max-width:860px){.projects-grid{grid-template-columns:1fr}.goal svg{max-width:17rem}}

/* ---------- about strip ---------- */
.about-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,4rem)}
.about-grid .fact{font-size:var(--fs-lg);font-weight:500;margin-top:var(--s-4)}
.clients-slot{border:1.5px dashed var(--c-line-strong);border-radius:var(--r-md);padding:var(--s-5);color:var(--c-ink-soft);font-size:var(--fs-sm);margin-top:var(--s-6)}
@media (max-width:860px){.about-grid{grid-template-columns:1fr}}

/* ---------- contact band ---------- */
.contact-band .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-6);align-items:center}
.contact-band .acts{display:flex;flex-direction:column;gap:var(--s-3);align-items:stretch;min-width:18rem}
.contact-band .acts .row{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);justify-content:center}
@media (max-width:860px){.contact-band .wrap{grid-template-columns:1fr}.contact-band .acts{min-width:0;align-items:flex-start}.contact-band .acts .row{justify-content:flex-start}}

/* ---------- forms ---------- */
.form{display:grid;gap:var(--s-5);max-width:36rem}
.field{display:grid;gap:var(--s-2)}
.field label,.field .label{font-weight:600}
.field .opt{font-weight:400;color:var(--c-ink-soft);font-size:var(--fs-sm)}
.field .hint{font-size:var(--fs-sm);color:var(--c-ink-soft)}
.input{width:100%;font:inherit;color:var(--c-ink);background:var(--c-surface);border:1.5px solid var(--c-line-strong);border-radius:var(--r-sm);padding:.7rem .9rem;min-height:48px}
textarea.input{min-height:7rem;resize:vertical}
.input:hover,.input.is-hover{border-color:var(--c-ink-soft)}
.input:focus,.input.is-focus{outline:none;border-color:var(--c-blue);box-shadow:0 0 0 3px rgba(0,104,179,.25)}
.input[aria-invalid="true"],.input.is-error{border-color:var(--c-error);border-width:2px}
.input[aria-invalid="true"]:focus{box-shadow:0 0 0 3px rgba(179,38,30,.22)}
.input:disabled{background:var(--c-disabled-bg);color:var(--c-disabled-ink);border-color:var(--c-line)}
.input.is-valid{border-color:var(--c-success)}
.err{display:flex;gap:.4rem;align-items:flex-start;color:var(--c-error);font-size:var(--fs-sm);font-weight:500}
.err svg{width:16px;height:16px;flex:none;margin-top:.2rem;fill:currentColor}
.err[hidden]{display:none}
.group-note{font-size:var(--fs-sm);color:var(--c-ink-soft);background:var(--c-bg);padding:var(--s-3) var(--s-4);border-radius:var(--r-sm)}
.captcha{border:1.5px dashed var(--c-line-strong);border-radius:var(--r-md);padding:var(--s-4);display:flex;gap:var(--s-3);align-items:center;background:var(--c-bg);font-size:var(--fs-sm);color:var(--c-ink-soft);min-height:72px}
.captcha .box{width:28px;height:28px;border:2px solid var(--c-line-strong);border-radius:6px;background:#fff;flex:none}
.captcha.is-ok .box{background:var(--c-success);border-color:var(--c-success)}
.captcha.is-bad{border-color:var(--c-error);background:var(--c-error-bg)}

/* feedback / alerts */
.alert{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-4) var(--s-5);border-radius:var(--r-md);border:1px solid;font-size:var(--fs-md)}
.alert svg{width:22px;height:22px;flex:none;fill:currentColor;margin-top:.1rem}
.alert strong{display:block}
.alert .acts{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);margin-top:var(--s-3)}
.alert--info{background:var(--c-blue-tint);border-color:#b7d2ea;color:var(--c-navy)}
.alert--success{background:var(--c-success-bg);border-color:#a8d3b6;color:#103d20}
.alert--success svg,.alert--success strong{color:var(--c-success)}
.alert--error{background:var(--c-error-bg);border-color:#e6b3b0;color:#5c130e}
.alert--error svg,.alert--error strong{color:var(--c-error)}
.alert--warn{background:var(--c-warn-bg);border-color:#e8cf98;color:#4a2d00}
.alert[hidden]{display:none}

/* ---------- footer ---------- */
.site-footer{background:var(--c-navy-deep);color:var(--c-ink-on-dark-soft);font-size:var(--fs-sm);padding-block:var(--s-7) var(--s-6)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--s-6)}
.site-footer h2{font-size:var(--fs-md);color:#fff;margin-bottom:var(--s-3)}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-1)}
.site-footer a{color:#fff;text-underline-offset:.25em;display:inline-flex;min-height:36px;align-items:center}
.site-footer a:hover{color:var(--c-lime)}
.site-footer .legal{margin-top:var(--s-6);padding-top:var(--s-4);border-top:1px solid rgba(255,255,255,.15)}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr}}

/* page hero for templates */
.page-hero{padding-block:clamp(2.5rem,6vw,4.5rem);background:var(--c-surface);border-block-end:1px solid var(--c-line)}
.page-hero .crumbs{font-size:var(--fs-sm);color:var(--c-ink-soft);margin-bottom:var(--s-4)}
.page-hero .crumbs a{color:var(--c-ink-soft)}
.page-hero h1{max-width:18ch}
.page-hero .lead{margin-top:var(--s-4);max-width:42rem}
.page-hero .hero-actions{margin-top:var(--s-5)}
.two-col{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,4rem);align-items:start}
@media (max-width:960px){.two-col{grid-template-columns:1fr}}
.scope-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5) var(--s-6)}
.scope-list li{padding-inline-start:var(--s-5);position:relative}
.scope-list li::before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:10px;height:10px;border-radius:50%;border:2.5px solid var(--c-blue)}
.scope-list b{display:block;font-size:var(--fs-lg);font-weight:600}
.scope-list span{color:var(--c-ink-soft)}
@media (max-width:700px){.scope-list{grid-template-columns:1fr}}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5);counter-reset:st}
.steps li{counter-increment:st;padding-top:var(--s-4);border-top:3px solid var(--c-navy)}
.steps li::before{content:counter(st);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--c-navy);color:#fff;font-weight:600;margin-bottom:var(--s-3)}
.steps b{display:block;font-size:var(--fs-lg);font-weight:600}
.steps span{color:var(--c-ink-soft)}
@media (max-width:760px){.steps{grid-template-columns:1fr}}
.not-incl{margin-top:var(--s-6);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);padding:var(--s-5)}
.not-incl h3{font-size:var(--fs-lg);margin-bottom:var(--s-2)}

/* --- fixes after first render pass --- */
.review-bar fieldset[hidden]{display:none}
[data-as-state="soon"] .as-log{min-height:0}
.video-card .meta{color:#fff}
.strategy h2{font-size:clamp(2rem,1.3rem + 2.6vw,3rem)}
[data-as-sub="summary"] .as-chips-wrap,[data-as-sub="summary"] .composer{display:none}
.nav-trigger[data-current="true"]{box-shadow:inset 0 -3px 0 var(--c-blue);border-radius:var(--r-sm) var(--r-sm) 0 0}
.assistant--page .as-log{max-height:24rem}
/* LTR: draft banner */
.draft-flag{background:var(--c-navy);color:#fff;font-size:var(--fs-sm)}
.draft-flag .wrap{padding-block:var(--s-2)}
[dir="ltr"] .link--nav .arr{display:inline-block}
[dir="ltr"] .route em span[aria-hidden]{display:inline-block}
/* 320px: single-column tracks must be able to shrink below min-content */
@media (max-width:960px){.two-col,.hero-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){.strategy-grid,.projects-grid,.about-grid,.svc-grid,.needs-grid,.contact-band .wrap{grid-template-columns:minmax(0,1fr)}}
.two-col>*{min-width:0}
.btn--quiet:active,.btn--quiet.is-active{--bg:#d3e4f2;--fg:var(--c-navy)}

/* copy integration 24.10 */
.as-demo{display:flex;flex-direction:column;gap:var(--s-3)}
.as-demo-label{align-self:stretch;font-size:var(--fs-sm);color:var(--c-warn-ink);background:var(--c-warn-bg);border:1px dashed #d9b86a;border-radius:var(--r-sm);padding:.35rem .75rem}
.as-demo-label strong{font-weight:600}
.msg--handoff{background:transparent;border:0;padding:0}
.msg--handoff p{font-size:var(--fs-sm);color:var(--c-ink-soft)}
.msg-badge{margin-bottom:var(--s-2);font-size:.72rem}
.stream-wait{display:flex;align-items:center;gap:.5rem;color:var(--c-ink-soft);font-size:var(--fs-sm)}
.stream-wait[hidden]{display:none}
.as-summary .sum-label{display:block;font-weight:600;font-size:var(--fs-sm);margin-top:var(--s-3)}
.as-summary .sum-fail{font-size:var(--fs-xs)}
.as-privacy{display:block;margin-top:.25rem}
.svc .tags{display:flex;flex-wrap:wrap;gap:var(--s-2);list-style:none;margin:0;padding:0}
.svc .tags li{background:var(--c-blue-tint);color:var(--c-navy);border-radius:6px;padding:.15rem .6rem;font-size:var(--fs-sm)}
.svc .tags[data-status]::after{align-self:center}
.more-q{display:none;margin-top:var(--s-2)}
@media (max-width:600px){
  .chips--more .q-more{display:none}
  .assistant.q-open .chips--more .q-more{display:list-item}
  .more-q{display:inline-flex}
}
[data-as-sub="summary"] .more-q{display:none}
.hero-principle{margin-top:var(--s-4);font-weight:600;font-size:var(--fs-lg);line-height:1.45;color:var(--c-navy);padding-inline-start:var(--s-4);border-inline-start:3px solid var(--c-lime);max-width:36rem}
.narrow{max-width:52rem}
.prose{margin-top:var(--s-4);max-width:44rem}
.principle-line{margin-top:var(--s-4);font-weight:600;font-size:var(--fs-lg);line-height:1.45;padding-inline-start:var(--s-4);border-inline-start:3px solid var(--c-lime);max-width:44rem}
.needs-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:860px){.needs-grid--4{grid-template-columns:minmax(0,1fr)}}
.faq-list{margin-top:var(--s-5);display:grid;gap:var(--s-2)}
.faq{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md)}
.faq summary{cursor:pointer;padding:var(--s-3) var(--s-4);font-weight:600;min-height:var(--tap);display:flex;align-items:center;gap:.6rem;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+";font-weight:700;color:var(--c-blue);width:1em;flex:none}
.faq[open] summary::before{content:"−"}
.faq .body{padding:0 var(--s-4) var(--s-4);padding-inline-start:calc(var(--s-4) + 1.6em);color:var(--c-ink-soft)}
table.incl{min-width:0}
table.incl td{vertical-align:top}
table.incl th:last-child,table.incl td:last-child{color:var(--c-ink-soft)}
.tbl-mark[data-status]::after{margin-top:var(--s-2)}
.xlinks{list-style:none;margin:var(--s-4) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5)}
.missing-note[data-status]::after{margin-inline-start:0}
.missing-note{display:inline-flex;flex-wrap:wrap;gap:.3rem;align-items:center;font-size:var(--fs-sm);color:var(--c-ink-soft)}
.missing-note::before{content:"";}
.facts{list-style:none;margin:var(--s-4) 0 0;padding:0;display:grid;gap:var(--s-2)}
.side-card{border-radius:var(--r-lg);padding:var(--s-6)}
.side-card h2{font-size:var(--fs-xl)}
.side-card p{margin-top:var(--s-3)}
.side-card .missing-note{color:var(--c-ink-on-dark-soft)}
.h1-like{font-size:var(--fs-3xl);line-height:var(--lh-tight)}
.field-group{border:0;margin:0;padding:0;display:grid;gap:var(--s-4)}
.field-group legend{font-weight:600;margin-bottom:var(--s-3);padding:0}
.as-q-head{font-size:var(--fs-md)}
.tr-note{margin-top:var(--s-3)}
[data-as-state="soon"] .as-log{max-height:none;overflow:visible}
.composer textarea{min-height:2.9em}
@media (min-width:601px){.composer textarea{min-height:0}}
ul[data-status]::after,.tbl-mark[data-status]::after{grid-column:1/-1;justify-self:start;width:max-content;height:auto}

/* ---- home V2 (shortened, 24.10) ---- */
.section--tight{padding-block:clamp(2.25rem,4.5vw,3.5rem)}
.section-head--tight{margin-block-end:var(--s-5)}
.h-compact{font-size:clamp(1.375rem,1rem + 1.2vw,1.75rem);margin-block-end:var(--s-4)}
.needs-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5)}
.needs-row li{border-inline-start:3px solid var(--c-blue);padding-inline-start:var(--s-4)}
.needs-row h3{font-size:var(--fs-md);font-weight:600}
.needs-row p{margin-top:.2rem;color:var(--c-ink-soft);font-size:var(--fs-sm);line-height:1.5}
.needs-close--compact{margin-top:var(--s-4);font-size:var(--fs-md)}
@media (max-width:860px){.needs-row{grid-template-columns:minmax(0,1fr);gap:var(--s-3)}}
.svc-boundary--compact{margin-top:var(--s-4);font-size:var(--fs-sm);padding:var(--s-3) var(--s-4)}
.prj-row{margin-top:var(--s-4);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-2) var(--s-5);background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--r-md);padding:var(--s-4) var(--s-5)}
.prj-row h3{font-size:var(--fs-lg)}
.prj-row p{color:var(--c-ink-soft);font-size:var(--fs-sm)}
.prj-acts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-4)}
.pending-note{font-size:var(--fs-xs);color:var(--c-ink-soft)}
.svc-body{padding:var(--s-4) var(--s-5) var(--s-5);gap:var(--s-2)}
.contact-band--v2{padding-block:clamp(2.25rem,4.5vw,3.5rem)}
.contact-band--v2 .about-line{font-size:var(--fs-sm);color:var(--c-ink-on-dark-soft);margin-bottom:var(--s-4);max-width:46rem}
.contact-band--v2 .lead{margin-top:var(--s-2)}
.site-footer--compact{padding-block:var(--s-5)}
.site-footer--compact .f-id{color:#fff}
.f-links{list-style:none;margin:var(--s-2) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:0 var(--s-5)}
.site-footer--compact .legal{margin-top:var(--s-3);padding-top:var(--s-3)}
/* assistant: soon = questions only; 4 visible + "more" at every width */
[data-as-state="soon"] .as-chips-wrap{padding-top:var(--s-4)}
.chips--more .q-more{display:none}
.assistant.q-open .chips--more .q-more{display:list-item}
.more-q{display:inline-flex}
[data-as-state="soon"] .as-foot{padding-top:var(--s-1)}
.hero{padding-block:clamp(1.75rem,4vw,3.5rem)}
.hero .lead{margin-top:var(--s-4)}
.hero-actions{margin-top:var(--s-5)}
@media (max-width:960px){
  .hero-grid{gap:var(--s-5)}
  .hero .lead{font-size:var(--fs-md)}
  .hero-principle{font-size:var(--fs-md)}
  .ring{display:none}
  [data-as-state="soon"] .as-top{padding:var(--s-2) var(--s-3)}
  [data-as-state="soon"] .as-chips-wrap{padding:var(--s-3) var(--s-3) var(--s-2)}
  [data-as-state="soon"] .as-foot{padding:0 var(--s-3) var(--s-3)}
}

/* ---- home V2b: services first, AI secondary (Eitan 24.10 20:55) ---- */
.hero--v2{padding-block:var(--s-5) var(--s-6)}
.hero-v2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"head head" "cards cards" "acts ask" "principle principle";gap:var(--s-4) var(--s-6);align-items:start}
.hv-head{grid-area:head;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--s-6);align-items:end}
.hero--v2 h1{max-width:none;font-size:clamp(1.875rem,1.2rem + 2.4vw,3rem)}
.hero--v2 .lead{margin:0;font-size:var(--fs-lg);max-width:34rem}
.hv-cards{grid-area:cards;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4)}
.svc-hero{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-2)}
.svc-hero .video-card{aspect-ratio:auto;min-height:100%}
.svc-hero .video-card img{position:absolute;inset:0}
.svc-hero .video-card .play-ic{width:54px;height:54px}
.svc-hero .video-card .meta{font-size:var(--fs-xs)}
.svc-hero-body{padding:var(--s-4) var(--s-5);display:flex;flex-direction:column;gap:var(--s-2)}
.svc-hero h2{font-size:var(--fs-xl);line-height:1.2}
.svc-hero h2 .role{font-size:var(--fs-sm);font-weight:500;color:var(--c-ink-soft)}
.svc-hero p{color:var(--c-ink-soft);font-size:var(--fs-md);line-height:1.5}
.svc-hero .link--nav{margin-top:auto}
.hv-acts{grid-area:acts;margin-top:0;align-self:center}
.hv-principle{grid-area:principle;margin-top:0;font-size:var(--fs-md);max-width:none}
/* ask strip (option A) */
.ask-strip{grid-area:ask;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);display:grid;gap:var(--s-2)}
.ask-head{display:flex;align-items:center;gap:var(--s-2)}
.as-avatar--sm{width:28px;height:28px}
.as-avatar--sm img{width:18px}
.ask-name{font-weight:600}
.ask-strip .chips{gap:var(--s-1) var(--s-2)}
.chip--sm{min-height:36px;padding:.25rem .8rem;font-size:var(--fs-sm)}
.ask-note{font-size:var(--fs-xs);color:var(--c-ink-soft)}
.ask-inline{display:flex;gap:var(--s-2)}
.ask-inline .input{min-height:44px;padding:.5rem .8rem}
.ask-strip [data-show]{display:none}
.ask-strip[data-as-state="soon"] [data-show~="soon"]{display:revert}
.ask-strip[data-as-state="soon"] .chips[data-show~="soon"]{display:flex}
.ask-strip[data-as-state="active"] [data-show~="active"]{display:revert}
.ask-strip[data-as-state="active"] .chips[data-show~="active"],.ask-strip[data-as-state="active"] .ask-inline{display:flex}
/* placement toggle */
body[data-ai-place="fab"] .ask-strip{display:none}
body[data-ai-place="fab"] .hv-acts{grid-column:1/-1}
.ask-fab{display:none}
body[data-ai-place="fab"] .ask-fab{display:inline-flex;position:fixed;z-index:40;inset-inline-start:var(--s-4);inset-block-end:var(--s-4);align-items:center;gap:var(--s-2);min-height:48px;padding:.4rem 1rem .4rem .5rem;border-radius:var(--r-pill);border:1px solid var(--c-line);background:var(--c-surface);color:var(--c-ink);font:inherit;font-weight:600;box-shadow:var(--sh-panel);cursor:pointer}
.ask-fab:hover{border-color:var(--c-blue)}
.fab-soon{font-size:var(--fs-xs);font-weight:600;background:var(--c-blue-tint);border-radius:var(--r-pill);padding:.05rem .5rem}
.ask-fab.is-active .fab-soon{display:none}
/* panel (dialog-like, non-modal) */
.as-panel{position:fixed;z-index:45;inset-inline-start:var(--s-4);inset-block-end:calc(var(--s-4) + 56px);width:min(26rem,calc(100vw - 2rem));max-height:min(40rem,calc(100vh - 7rem));display:flex}
.as-panel[hidden]{display:none}
body[data-ai-place="strip"] .as-panel{inset-block-end:var(--s-4)}
.as-panel .as-log{max-height:none;flex:1 1 auto;min-height:0}
.as-panel .as-close{margin-inline-start:var(--s-1);min-width:40px;min-height:40px}
.as-panel .as-top .badge{margin-inline-start:auto}
@media (max-width:1100px){
  .svc-hero{grid-template-columns:minmax(0,1fr)}
  .svc-hero .video-card{aspect-ratio:16/9;min-height:0}
}
@media (max-width:960px){
  .hero-v2{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "acts" "cards" "ask" "principle";gap:var(--s-4)}
  .hv-head{grid-template-columns:minmax(0,1fr);gap:var(--s-3)}
  .hero--v2 .lead{font-size:var(--fs-md)}
  .hv-acts .btn{flex:1 1 auto}
}
@media (max-width:700px){
  .hv-cards{grid-template-columns:minmax(0,1fr);gap:var(--s-3)}
  .svc-hero{grid-template-columns:7.5rem minmax(0,1fr)}
  .svc-hero .video-card{aspect-ratio:auto;min-height:100%}
  .svc-hero .video-card .meta{display:none}
  .svc-hero .video-card .play-ic{width:44px;height:44px}
  .svc-hero .video-card .play-ic svg{width:18px;height:18px}
  .svc-hero-body{padding:var(--s-3) var(--s-4)}
  .svc-hero h2{font-size:var(--fs-lg)}
  .svc-hero p{font-size:var(--fs-sm)}
  .hero--v2 h1{font-size:1.75rem}
  .hv-acts{gap:var(--s-2)}
  .hv-acts .btn{min-height:44px;font-size:var(--fs-sm);padding-inline:var(--s-4)}
  .as-panel{inset-inline:var(--s-2);width:auto;inset-block-end:var(--s-2);max-height:calc(100vh - 5rem)}
}
.section--slim{padding-block:var(--s-5)}
.section--slim .prj-row{margin-top:0}
/* V2b refinement: CTAs beside lead; AI = one full-width row */
.hero-v2{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "cards" "ask" "principle"}
.hv-sub{display:grid;gap:var(--s-4)}
.hv-sub .hv-acts{margin:0}
.ask-strip{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"h c" "h n";align-items:center;column-gap:var(--s-5);row-gap:var(--s-1);padding:var(--s-3) var(--s-4)}
.ask-head{grid-area:h;align-self:center}
.ask-strip .chips,.ask-strip .ask-inline{grid-area:c}
.ask-strip .ask-note{grid-area:n}
.ask-strip[data-as-state="active"]{grid-template-areas:"h c" "h n" "h n2"}
.ask-strip[data-as-state="active"] .chips{grid-area:n}
.ask-strip[data-as-state="active"] .ask-note{grid-area:n2}
.svc-hero{grid-template-columns:minmax(0,13.5rem) minmax(0,1fr)}
.hero--v2 h1{font-size:clamp(1.875rem,1.2rem + 2.2vw,2.75rem)}
@media (max-width:960px){
  .ask-strip{grid-template-columns:minmax(0,1fr);grid-template-areas:"h" "c" "n"}
  .ask-strip[data-as-state="active"]{grid-template-areas:"h" "c" "n" "n2"}
}
@media (max-width:700px){.svc-hero{grid-template-columns:7.5rem minmax(0,1fr)}}
.hv-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}
.hv-sub{display:flex;flex-direction:column;gap:var(--s-3);align-items:flex-start}
.hv-sub .lead{font-size:var(--fs-md);line-height:1.55}
.hv-sub .hv-acts{display:flex;flex-wrap:wrap;gap:var(--s-2)}
@media (max-width:960px){.hv-head{grid-template-columns:minmax(0,1fr)}}

/* =====================================================================
   UNIFIED CONTROL (Eitan 24.10 21:44): every clickable control shares ONE frame.
   Same border width, radius, min-height, padding, hover, pressed and focus.
   Hierarchy only by fill:  primary = filled · secondary = outlined (brand) · tertiary = outlined (subtle).
   Pill shapes are reserved for NON-clickable status badges.
   Exempt by rule: text links inside running text (.link without --nav), the logo link, review chrome.
   ===================================================================== */
:root{
  --ctl-bw:2px;              /* border width, all controls */
  --ctl-r:10px;              /* radius, all controls */
  --ctl-h:44px;              /* min height, all controls */
  --ctl-py:.5rem; --ctl-px:1.1rem;
  --ctl-fs:1rem; --ctl-fw:600;
  --ctl-bd-subtle:#8a8fb3;   /* tertiary frame on light: 3.15:1 on white (Eitan 25.10 09:38; was #a9b0cb 2.15:1) */
  --ctl-bd-subtle-dark:rgba(255,255,255,.42); /* tertiary frame on dark */
  --ctl-hover-bd:var(--c-blue-strong);
  --ctl-hover-bd-dark:#ffffff;
  --ctl-press-shift:1px;
}
.btn,.chip,.link--nav,.nav-link,.nav-trigger,.route,.submenu a,.ask-fab,.transcript summary,.ctl,.play--ctl{
  box-sizing:border-box;min-height:var(--ctl-h);border:var(--ctl-bw) solid var(--bd,var(--ctl-bd-subtle));border-radius:var(--ctl-r);
  padding:var(--ctl-py) var(--ctl-px);font:inherit;font-size:var(--ctl-fs);font-weight:var(--ctl-fw);line-height:1.25;
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;cursor:pointer;
  background:var(--bg,transparent);color:var(--fg,var(--c-ink));
  transition:background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}
/* tertiary (default for chips, nav, in-page links, ghost) */
.btn--quiet,.chip,.link--nav,.nav-link,.nav-trigger,.route,.submenu a,.ask-fab,.transcript summary,.ctl{--bg:var(--c-surface);--fg:var(--c-ink);--bd:var(--ctl-bd-subtle)}
.link--nav,.transcript summary{--fg:var(--c-blue)}
/* primary */
.btn{--bg:var(--c-blue);--fg:#fff;--bd:var(--c-blue)}
.btn--wa{--bg:var(--c-navy);--fg:var(--c-lime);--bd:var(--c-navy)}
/* secondary */
.btn--secondary{--bg:transparent;--fg:var(--c-blue);--bd:var(--c-blue)}
.btn--quiet{--bg:var(--c-surface);--fg:var(--c-ink);--bd:var(--ctl-bd-subtle)}
/* hover: same rule for all — frame turns strong blue + one fill step */
.btn:hover,.btn.is-hover,.chip:hover,.chip.is-hover,.link--nav:hover,.link--nav.is-hover,.nav-link:hover,.nav-link.is-hover,.nav-trigger:hover,.route:hover,.route.is-hover,.submenu a:hover,.ask-fab:hover,.transcript summary:hover,.ctl:hover,.ctl.is-hover,.play--ctl:hover,.play--ctl.is-hover{--bd:var(--ctl-hover-bd)}
.btn--quiet:hover,.btn--quiet.is-hover,.chip:hover,.chip.is-hover,.link--nav:hover,.link--nav.is-hover,.nav-link:hover,.nav-link.is-hover,.nav-trigger:hover,.route:hover,.route.is-hover,.submenu a:hover,.ask-fab:hover,.transcript summary:hover,.ctl:hover,.ctl.is-hover,.btn--secondary:hover,.btn--secondary.is-hover{--bg:var(--c-blue-tint)}
.btn:not(.btn--secondary):not(.btn--quiet):not(.btn--wa):hover,.btn.is-hover:not(.btn--secondary):not(.btn--quiet):not(.btn--wa){--bg:var(--c-blue-strong)}
.btn--wa:hover,.btn--wa.is-hover{--bg:var(--c-navy-deep);--fg:var(--c-lime-strong)}
/* pressed: same rule for all — 1px push + deeper fill */
.btn:active,.btn.is-active,.chip:active,.chip.is-active,.link--nav:active,.nav-link:active,.nav-trigger:active,.route:active,.submenu a:active,.ask-fab:active,.ctl:active,.ctl.is-active,.play--ctl:active,.transcript summary:active{transform:translateY(var(--ctl-press-shift));--bd:var(--c-blue-deep)}
.btn--quiet:active,.btn--quiet.is-active,.chip:active,.chip.is-active,.link--nav:active,.nav-link:active,.nav-trigger:active,.route:active,.submenu a:active,.ask-fab:active,.ctl:active,.ctl.is-active,.btn--secondary:active,.btn--secondary.is-active,.transcript summary:active{--bg:#d3e4f2}
.btn:not(.btn--secondary):not(.btn--quiet):not(.btn--wa):active,.btn.is-active:not(.btn--secondary):not(.btn--quiet):not(.btn--wa){--bg:var(--c-blue-deep)}
.btn--wa:active,.btn--wa.is-active{--bg:#10103a}
/* selected / current */
.chip[aria-pressed="true"],.chip.is-selected{--bg:var(--c-navy);--bd:var(--c-navy);--fg:#fff}
.nav-link[aria-current="page"],.nav-trigger[data-current="true"]{--bd:var(--c-blue);--bg:var(--c-blue-tint);box-shadow:none;border-radius:var(--ctl-r)}
/* disabled: same for all */
.btn[disabled],.btn[aria-disabled="true"],.chip[disabled],.ctl[aria-disabled="true"]{--bg:var(--c-disabled-bg);--fg:var(--c-disabled-ink);--bd:var(--c-line);cursor:not-allowed;transform:none}
/* focus: same ring for all; keep the control's radius */
.btn:focus-visible,.chip:focus-visible,.link--nav:focus-visible,.nav-link:focus-visible,.nav-trigger:focus-visible,.route:focus-visible,.submenu a:focus-visible,.ask-fab:focus-visible,.transcript summary:focus-visible,.ctl:focus-visible,.play--ctl:focus-visible,
.btn.is-focus,.chip.is-focus,.link--nav.is-focus,.ctl.is-focus,.play--ctl.is-focus{outline:var(--focus);outline-offset:3px;border-radius:var(--ctl-r)}
/* on dark surfaces */
.on-dark .btn--wa{--bg:var(--c-lime);--fg:var(--c-navy);--bd:var(--c-lime)}
.on-dark .btn--wa:hover,.on-dark .btn--wa.is-hover{--bg:var(--c-lime-strong);--bd:var(--ctl-hover-bd-dark)}
.on-dark .btn--wa:active,.on-dark .btn--wa.is-active{--bg:#a3b500;--bd:#fff}
.on-dark .btn--secondary{--bg:transparent;--fg:#fff;--bd:#fff}
.on-dark .ctl,.on-dark .link--nav,.on-dark .chip,.on-dark .btn--quiet{--bg:transparent;--fg:#fff;--bd:var(--ctl-bd-subtle-dark)}
.on-dark .btn--secondary:hover,.on-dark .ctl:hover,.on-dark .link--nav:hover,.on-dark .chip:hover,.on-dark .btn--quiet:hover,.on-dark .ctl.is-hover{--bg:rgba(255,255,255,.12);--fg:#fff;--bd:var(--ctl-hover-bd-dark)}
.on-dark .btn--secondary:active,.on-dark .ctl:active,.on-dark .link--nav:active,.on-dark .chip:active,.on-dark .btn--quiet:active{--bg:rgba(255,255,255,.2);--bd:#fff}
.on-dark .btn:focus-visible,.on-dark .ctl:focus-visible,.on-dark .link--nav:focus-visible,.on-dark .chip:focus-visible{outline:var(--focus-on-dark)}
/* sizes: one size. --sm kept as alias so old markup stays valid */
.btn--sm,.chip--sm{min-height:var(--ctl-h);padding:var(--ctl-py) var(--ctl-px);font-size:var(--ctl-fs)}
.btn--icon{min-width:var(--ctl-h);min-height:var(--ctl-h);padding:0;border-radius:var(--ctl-r)}
.link--nav .arr{display:inline-block}
.submenu a{justify-content:center;align-items:flex-start;width:100%}
.submenu li+li{margin-top:var(--s-1)}
.transcript summary::before{width:auto}
.route{align-items:stretch;justify-content:flex-start;padding:var(--s-5)}
.faq{border:var(--ctl-bw) solid var(--ctl-bd-subtle);border-radius:var(--ctl-r)}
.faq summary{border-radius:calc(var(--ctl-r) - 2px)}
.faq summary:hover{background:var(--c-blue-tint)}
.ask-fab{border-radius:var(--ctl-r)}
.chip{text-align:start}
/* unified control: restore visibility rules that the shared display value would otherwise override */
.menu-btn{display:none}
@media (max-width:960px){.menu-btn{display:inline-flex}}
.ask-fab{display:none}
body[data-ai-place="fab"] .ask-fab{display:inline-flex}
.btn[hidden],.chip[hidden],.ctl[hidden],.link--nav[hidden]{display:none}
.chips{position:relative}
/* unified control: static state classes for the design-system table + aria-disabled for every control */
.link--nav.is-active,.nav-link.is-active,.route.is-active,.play--ctl.is-active{transform:translateY(var(--ctl-press-shift));--bd:var(--c-blue-deep);--bg:#d3e4f2}
.nav-link.is-focus,.route.is-focus,.btn.is-focus{outline:var(--focus);outline-offset:3px;border-radius:var(--ctl-r)}
.link--nav[aria-disabled="true"],.nav-link[aria-disabled="true"],.route[aria-disabled="true"],.chip[aria-disabled="true"]{--bg:var(--c-disabled-bg);--fg:var(--c-disabled-ink);--bd:var(--c-line);cursor:not-allowed;transform:none}
/* standalone video trigger (design-system sample; home uses the same look via .hero--v3) */
.play--ctl.ctl-sample{position:static;width:auto;background:#fff;color:var(--c-navy);display:inline-flex;align-items:center;gap:.5rem;min-height:var(--ctl-h);padding:var(--ctl-py) .9rem var(--ctl-py) .75rem;border:var(--ctl-bw) solid #fff;border-radius:var(--ctl-r);font-weight:600;font-size:var(--fs-sm);cursor:pointer}
.play--ctl.ctl-sample:hover,.play--ctl.ctl-sample.is-hover{background:var(--c-blue-tint);border-color:var(--ctl-hover-bd)}
.play--ctl.ctl-sample.is-active{background:#d3e4f2;border-color:var(--c-blue-deep)}
.play--ctl.ctl-sample.is-focus{outline:var(--focus-on-dark);outline-offset:3px}
.play--ctl.ctl-sample[disabled]{background:var(--c-disabled-bg);color:var(--c-disabled-ink);border-color:var(--c-line);cursor:not-allowed}
.play--ctl.ctl-sample .play-ic{width:26px;height:26px;border-radius:50%;background:var(--c-navy);display:grid;place-items:center}
.play--ctl.ctl-sample .play-ic svg{width:12px;height:12px;fill:#fff}
.play--ctl.ctl-sample[disabled] .play-ic{background:var(--c-disabled-ink)}
.on-dark .btn[disabled],.on-dark .btn[aria-disabled="true"],.on-dark .ctl[aria-disabled="true"]{--bg:rgba(255,255,255,.14);--fg:#b9bcd8;--bd:rgba(255,255,255,.2)}
.on-dark .btn.is-focus,.on-dark .ctl.is-focus,.on-dark .chip.is-focus,.on-dark .link--nav.is-focus{outline:var(--focus-on-dark)}
/* unified control, applied by context so every template follows it without markup changes */
.site-footer a,.acts .row a,.facts a,.src a,.xlinks a,.f-links a,.hero-actions a.link{
  box-sizing:border-box;min-height:var(--ctl-h);border:var(--ctl-bw) solid var(--bd,var(--ctl-bd-subtle));border-radius:var(--ctl-r);
  padding:var(--ctl-py) var(--ctl-px);font-size:var(--ctl-fs);font-weight:var(--ctl-fw);line-height:1.25;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  text-decoration:none;background:var(--bg,transparent);color:var(--fg,var(--c-blue));transition:background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}
.acts .row a,.facts a,.src a,.xlinks a,.hero-actions a.link{--bg:var(--c-surface);--fg:var(--c-blue);--bd:var(--ctl-bd-subtle)}
.acts .row a:hover,.facts a:hover,.src a:hover,.xlinks a:hover,.hero-actions a.link:hover{--bg:var(--c-blue-tint);--bd:var(--ctl-hover-bd)}
.acts .row a:active,.facts a:active,.src a:active,.xlinks a:active{--bg:#d3e4f2;--bd:var(--c-blue-deep);transform:translateY(var(--ctl-press-shift))}
.site-footer a,.on-dark .acts .row a{--bg:transparent;--fg:#fff;--bd:var(--ctl-bd-subtle-dark)}
.site-footer a:hover,.on-dark .acts .row a:hover{--bg:rgba(255,255,255,.12);--fg:#fff;--bd:#fff;color:#fff}
.site-footer a:active,.on-dark .acts .row a:active{--bg:rgba(255,255,255,.2);transform:translateY(var(--ctl-press-shift))}
.site-footer a:focus-visible,.acts .row a:focus-visible,.facts a:focus-visible,.src a:focus-visible,.xlinks a:focus-visible{outline:var(--focus);outline-offset:3px;border-radius:var(--ctl-r)}
.site-footer a:focus-visible,.on-dark .acts .row a:focus-visible{outline:var(--focus-on-dark)}
.site-footer ul{gap:var(--s-2)}
.site-footer ul li{display:flex}
.facts li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2)}
.xlinks{gap:var(--s-2) var(--s-3)}
/* FAQ: the summary is the control; the answer sits below it */
.faq{border:0;background:transparent}
.faq summary{min-height:var(--ctl-h);border:var(--ctl-bw) solid var(--ctl-bd-subtle);border-radius:var(--ctl-r);background:var(--c-surface);padding:var(--ctl-py) var(--ctl-px)}
.faq summary:hover{background:var(--c-blue-tint);border-color:var(--ctl-hover-bd)}
.faq summary:active{background:#d3e4f2;border-color:var(--c-blue-deep)}
.faq summary:focus-visible{outline:var(--focus);outline-offset:3px;border-radius:var(--ctl-r)}
.faq[open] summary{border-color:var(--c-blue)}
.faq .body{padding:var(--s-3) var(--s-4) var(--s-2)}
/* V3-links 25.10: readable e-mail next to "write to us" controls; non-clickable pending items */
.mail-plain{display:block;flex-basis:100%;grid-column:1/-1;text-align:center;font-size:var(--fs-sm);color:var(--c-ink-soft);margin-top:.15rem}
.on-dark .mail-plain{color:var(--c-ink-on-dark-soft)}
.f-pending,.f-pending-inline{font-size:var(--fs-sm);color:var(--c-ink-on-dark-soft);display:flex;align-items:center;min-height:var(--ctl-h)}
.f-pending-inline{display:inline;min-height:0;color:inherit}

/* ===== BRAND 25.10 (Eitan): original logo, original mark, full company name — same on every page ===== */
:root{--coin:136px;--logo-h:58px}
.site-header .brand img{height:var(--logo-h);width:auto;max-width:none;aspect-ratio:598/397}
@media (max-width:960px){:root{--logo-h:48px}}
@media (max-width:360px){:root{--logo-h:42px}}
/* hero coin: the original mark on a white disc, top corner (reading-end side) of the navy band, fixed size */
.hv-band>.wrap{position:relative}
.brand-coin{position:absolute;top:0;inset-inline-end:var(--gutter);width:var(--coin);height:var(--coin);border-radius:50%;background:#fff;display:grid;place-items:center;
  box-shadow:0 0 0 6px rgba(255,255,255,.12),0 18px 40px -18px rgba(0,0,0,.55);z-index:1;pointer-events:none}
.brand-coin img{width:70%;height:auto;aspect-ratio:324/308;display:block}
/* page-specific visuals on the coin side start below the coin, so nothing collides */
.hv-band>.wrap>:not(.hv-text):not(.brand-coin):not(.hero-copy){margin-top:calc(var(--coin) + 1.25rem)}
@media (max-width:960px){.brand-coin{display:none}.hv-band>.wrap>:not(.hv-text):not(.brand-coin):not(.hero-copy){margin-top:0}}
.co-name{white-space:nowrap}
.co-alt{color:var(--c-ink-on-dark-soft)}
/* same band top on every page so the coin sits at the identical spot */
.hero.hero--v3 .hv-band{padding-top:clamp(2rem,3.4vw,3rem)}

/* ===== ALIGN 25.10 (T-20261025-02): one footer, status marks, logo-mark treatments ===== */
/* status marks off: gaps for Eitan show only when marks are on */
.marks-off .missing-note,.marks-off [data-status="missing"],.marks-off .clients-slot{display:none!important}
.marks-off .facts li:has(> .missing-note:only-child){display:none}

/* footer: one compact component on every page; contact actions with icons */
.ft .ft-grid{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"id contact" "nav nav" "legal legal"}
.ft .f-id{grid-area:id}
.ft .f-contact{grid-area:contact}
.ft .f-nav{grid-area:nav}
.ft .f-links{justify-content:flex-start}
.ft .f-contact{justify-content:flex-end}
.f-ico{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.f-ico--fill{fill:currentColor;stroke:none}
.ft .legal .f-pending-inline{color:var(--c-ink-on-dark-soft)}
@media (max-width:760px){
  .ft .ft-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"id" "contact" "nav" "legal"}
  .ft .f-contact{justify-content:flex-start}
}

/* EN: service page not built yet — plain note, not a control (nothing clickable that leads nowhere) */
.svc-pending{margin:auto 0 0;font-size:var(--fs-sm);color:var(--c-ink-soft)}
/* "English video pending" card inside the hero service card: readable on navy */
.svc-hero .video-card.is-pending{display:grid;place-items:center;text-align:center;padding:var(--s-4)}
.svc-hero .video-card.is-pending strong{color:#fff;font-size:var(--fs-sm)}
.svc-hero .video-card.is-pending p{color:var(--c-ink-on-dark-soft);font-size:var(--fs-xs);margin-top:var(--s-2)}

/* logo mark in the hero: same box and place as before (the white coin is gone, Eitan 25.10 10:26).
   Every treatment is the ORIGINAL file etv-mark-hq — shape, proportion and crop untouched; only colour filters / opacity / glow. */
.brand-coin{background:none;box-shadow:none;border-radius:0}
.brand-coin img{width:100%;height:auto;aspect-ratio:324/308}
/* the one treatment (Eitan 25.10 11:13, "A"): original colours straight on navy, soft light glow that lifts the dark blade off the band */
.hv-band .brand-coin img{filter:drop-shadow(0 0 1px rgba(255,255,255,.55)) drop-shadow(0 0 16px rgba(127,192,236,.55))}
/* mobile: the same treatment, smaller, in the same corner of the band */
@media (max-width:960px){
  .brand-coin{display:block;width:var(--coin-m);height:auto;top:0}
  .hv-band>.wrap>.hv-text>:first-child,.hv-band>.wrap>.hv-text>h1{padding-inline-end:calc(var(--coin-m) + var(--s-3))}
}
:root{--coin-m:56px}
@media (max-width:360px){:root{--coin-m:44px}}
/* ===== T03+T04 25.10 ===== */
/* About "פרטי קשר": same contact list as the footer, on the navy card */
.ct-contact{display:flex;flex-wrap:wrap;gap:var(--s-2);list-style:none;margin:var(--s-3) 0 var(--s-4);padding:0}
.ct-contact a{--bg:transparent;--fg:#fff;--bd:rgba(255,255,255,.42);font-size:var(--fs-sm)}
.ct-contact a:hover{--bg:rgba(255,255,255,.12);--bd:#fff}
.ct-contact a:focus-visible{outline:var(--focus-on-dark)}
/* "מוכר לכם?" / "ההחלטות הקטנות" / home needs: one nd-list — bolder titles, larger topic icons in one line style */
.nd-list h3{font-size:1.125rem;font-weight:700;line-height:1.35;color:var(--c-navy);text-decoration:none}
.svc-know-list h3{font-size:1.125rem}
.nd-ic{width:52px;height:52px;border-radius:14px}
.nd-ic svg.ic-line{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
/* ===== /T03+T04 ===== */
