/* Yoel Geva × apple-design: shared core (fonts, tokens, type, marker, controls, materials). */
@font-face{font-family:Aduma;src:url(../fonts/Aduma-Regular.otf) format("opentype");font-weight:400;font-display:swap}
@font-face{font-family:Aduma;src:url(../fonts/Aduma-Light.otf) format("opentype");font-weight:300;font-display:swap}
@font-face{font-family:OSH;src:url(../fonts/OpenSansHebrew-Light.ttf) format("truetype");font-weight:300;font-display:swap}
@font-face{font-family:OSH;src:url(../fonts/OpenSansHebrew-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:OSH;src:url(../fonts/OpenSansHebrew-Bold.ttf) format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:Hand;src:url(../fonts/PlaypenHebrew-400.woff2) format("woff2");font-display:swap}

:root{
  color-scheme:light;
  --ink:#1D1D1B;--ink2:#4A4F5C;--ink3:#7A8090;
  --navy:#004566;--navy2:#003550;--app:#1E5BE0;
  --y:#FFE040;--y2:#FFC763;
  /* brand palette, light / dark */
  --lav:#BCAAD3;--lavd:#9460A4;--lime:#C3D55D;--limed:#76B843;--mint:#89CBC0;--mintd:#00AB9C;
  --sky:#7DCDEA;--skyd:#00A1D6;--pink:#F4AECE;--pinkd:#EC66A2;--sal:#F39A8B;--sald:#EA5160;
  --or:#F7AB41;--ord:#ED6D05;--yel:#FFDE00;--yeld:#FCB315;
  /* campus pastel tiles */
  --t-lav:#E9D8FF;--t-lav2:#CDACF8;--t-blue:#DDE9FC;--t-sky:#B7E0F1;--t-mint:#BAE3DD;--t-lime:#F1FAC9;--t-pink:#FBE1EE;--t-peach:#FDE6CF;
  --bg:#F4F6FA;--card:#fff;--line:rgba(16,30,54,.08);
  --r-s:14px;--r:20px;--r-l:28px;
  --sh-1:0 1px 2px rgba(16,30,54,.06),0 6px 18px -8px rgba(16,30,54,.14);
  --sh-2:0 2px 6px rgba(16,30,54,.06),0 24px 48px -24px rgba(16,30,54,.30);
  --sh-3:0 4px 10px rgba(16,30,54,.08),0 40px 80px -30px rgba(16,30,54,.40);
  --wrap:1180px;--gut:clamp(16px,4vw,48px);
  --ease-out:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{direction:rtl;font-family:OSH,system-ui,sans-serif;font-weight:400;font-size:1rem;line-height:1.6;color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}
img,video,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
::selection{background:var(--y);color:var(--ink)}
:focus-visible{outline:3px solid var(--app);outline-offset:3px;border-radius:10px}
bdi{unicode-bidi:isolate}
.wrap{width:min(var(--wrap),100% - 2*var(--gut));margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* type: size-specific tracking + leading (tight on display, open on body) */
.d1,.d2,.d3,.d4{font-family:Aduma,OSH,sans-serif;font-weight:400;text-wrap:balance;color:var(--ink)}
.d1{font-size:clamp(2.6rem,7.2vw,5.6rem);line-height:.98;letter-spacing:-.02em}
.d2{font-size:clamp(2.1rem,4.8vw,3.6rem);line-height:1.02;letter-spacing:-.015em}
.d3{font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.1;letter-spacing:-.01em}
.d4{font-size:1.3rem;line-height:1.15}
.lt{font-family:Aduma,OSH,sans-serif;font-weight:300;letter-spacing:0}
.lead{font-size:clamp(1.06rem,1.5vw,1.25rem);line-height:1.6;color:var(--ink2);font-weight:300;text-wrap:pretty}
.small{font-size:.88rem;line-height:1.5;color:var(--ink3);letter-spacing:.01em}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font:700 .82rem/1 OSH;letter-spacing:.02em;color:var(--navy);
  background:rgba(255,255,255,.7);border:1px solid var(--line);padding:8px 14px;border-radius:999px}
.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--limed);box-shadow:0 0 0 4px rgba(118,184,67,.2)}
.num{font-family:Aduma,OSH,sans-serif;font-variant-numeric:tabular-nums}
.hand{font-family:Hand,OSH,sans-serif}

/* brand highlight marker: lower ~58% of the words, darker left segment, one per line */
.mk{background:url(../brand/mk_yellow.svg) no-repeat 0 92%/100% 58%;padding:0 .12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.mk-lav{background-image:url(../brand/mk_lav.svg)}.mk-turq{background-image:url(../brand/mk_turq.svg)}
.mk-blue{background-image:url(../brand/mk_blue.svg)}.mk-pink{background-image:url(../brand/mk_pink.svg)}
.mk-green{background-image:url(../brand/mk_green.svg)}.mk-orange{background-image:url(../brand/mk_orange.svg)}
.mk-w{background-image:url(../brand/mk_white.svg)}

/* buttons: feedback on press (pointer-down), never on release */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;
  font:700 1.02rem/1 OSH;white-space:nowrap;transition:transform .32s var(--ease-out),background-color .2s,box-shadow .3s;touch-action:manipulation;user-select:none}
.btn:active{transform:scale(.96);transition-duration:.08s}
.btn svg{width:18px;height:18px;flex:none}
.btn-navy{background:var(--navy);color:#fff;box-shadow:0 12px 26px -14px rgba(0,69,102,.8)}
.btn-navy:hover{background:var(--navy2)}
.btn-y{background:var(--yel);color:var(--ink);box-shadow:0 12px 26px -14px rgba(160,120,0,.7)}
.btn-y:hover{background:#FFE52E}
.btn-glass{background:rgba(255,255,255,.62);color:var(--ink);-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 8px 20px -12px rgba(16,30,54,.35)}
.btn-ghost{color:var(--navy);box-shadow:inset 0 0 0 1.5px rgba(0,69,102,.25)}
.btn-lg{min-height:58px;padding:0 32px;font-size:1.1rem}
.btn-block{width:100%}

/* materials: translucent layers, light-catching top edge */
.glass{background:rgba(255,255,255,.66);-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 0 0 1px rgba(255,255,255,.45),0 10px 30px -18px rgba(16,30,54,.35)}
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1)}

/* segmented control with a sliding thumb */
.seg{position:relative;display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:4px;border-radius:999px;background:rgba(16,30,54,.07)}
.seg button{position:relative;z-index:1;min-height:38px;padding:0 16px;border-radius:999px;font:700 .9rem/1 OSH;color:var(--ink2);white-space:nowrap;transition:color .25s}
.seg button[aria-pressed=true]{color:var(--ink)}
.seg .thumb{position:absolute;z-index:0;left:0;top:4px;bottom:4px;border-radius:999px;background:#fff;box-shadow:0 3px 8px rgba(16,30,54,.14),0 1px 1px rgba(16,30,54,.06);will-change:transform,width}

/* icon chip */
.chip{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;flex:none}
.chip img{width:62%;height:62%;object-fit:contain}

/* form fields with inline validation */
.field{display:grid;gap:6px}
.field label{font:700 .88rem/1.2 OSH;color:var(--ink2)}
.field input,.field select,.field textarea{width:100%;min-height:52px;border-radius:14px;border:1.5px solid rgba(16,30,54,.12);background:#fff;padding:12px 16px;font-size:1rem;
  transition:border-color .2s,box-shadow .2s;outline:none}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--app);box-shadow:0 0 0 4px rgba(30,91,224,.14)}
.field .err{font-size:.82rem;line-height:1.3;color:#C2263A;max-height:0;overflow:hidden;opacity:0;transform:translateY(-4px);transition:opacity .2s,transform .25s var(--ease-out),max-height .25s var(--ease-out)}
.field.bad input,.field.bad select{border-color:#E0485B}
.field.bad .err{opacity:1;transform:none;max-height:2.6em}
.field.ok input{border-color:rgba(0,171,156,.6)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;color:var(--ink2);cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--navy);flex:none;margin-top:2px}

/* grid paper (brand background element; the only place transparency is allowed) */
.grid-paper{background-color:#fff;background-image:linear-gradient(rgba(16,30,54,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(16,30,54,.055) 1px,transparent 1px);background-size:36px 36px}

/* entrances: visible by default, html.motion enables them */
.motion .rv{opacity:0;translate:0 18px;transition:opacity .7s var(--ease-out),translate .9s var(--ease-out);transition-delay:var(--d,0s)}
.motion .rv.in{opacity:1;translate:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
  .btn:active{transform:none}
}
@media (prefers-reduced-transparency:reduce){
  .glass,.btn-glass{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media (prefers-contrast:more){
  .glass,.btn-glass,.card{background:#fff;box-shadow:inset 0 0 0 1.5px var(--ink)}
  .small,.lead{color:var(--ink)}
}
