/* ============================================================
   She Creates Academy — site layer (built ON TOP of colors_and_type.css)
   Goal: take the exact brand system out of "generic template" into
   editorial, textured, woman-centered craft. No new palette.
   ============================================================ */

/* Accessibility overrides (IS 5568 / WCAG AA) — warm brown and gold website palette. */
:root{
  --sca-muted:#6E6157;   /* was #8A7D72 (3.68:1) -> 5.5:1 */
  --mauve-ink:#6B3F31;   /* accessible warm brown for SMALL text/labels */
  --sca-gold:#D6AC3F;    /* brighter, more luminous "sparkly" gold (was #BF9A4D) */
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip;font-size:109%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{overflow-x:clip}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--sca-mauve);outline-offset:3px;border-radius:6px}

/* ---------- Skip link / a11y ---------- */
.skip-link{position:fixed;top:-100px;inset-inline-start:16px;z-index:1000;background:var(--sca-dark);color:#fff;padding:10px 18px;border-radius:var(--radius-pill);transition:top .2s}
.skip-link:focus{top:16px}
.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}

/* ---------- Layout helpers ---------- */
.wrap{width:min(100% - 40px,var(--container-max));margin-inline:auto}
.wrap-narrow{width:min(100% - 48px,720px);margin-inline:auto}
.sect{padding-block:clamp(76px,5rem + 5vw,150px);position:relative}
.stack>*+*{margin-block-start:1.5rem}
main p{line-height:1.8}

/* Paper/grain texture — STATIC (no blend-mode, cheap on every device) */
.grain{position:relative}
.grain::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E")}
.grain>*{position:relative;z-index:2}

/* ---------- Kicker / overline (used deliberately, not on every section) ---------- */
.kick{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:3px;color:var(--mauve-ink)}
.kick::before{content:"✦";color:var(--sca-gold);letter-spacing:0}
.accent-word{font-family:var(--font-accent);font-weight:400;color:var(--sca-mauve);font-size:1.12em;line-height:1}
/* Handwriting (אגם) is a single weight — stop the browser faking bold so it stays thin/delicate */
.accent-word,.hand,.hand-note,.signature,.hero__accent,.about .pull,.timeline__goal,.subhead-accent,.pullquote{
  font-weight:400;font-synthesis:none;-webkit-font-synthesis:none}

/* ---------- Handwritten personal notes (Hilla's real handwriting) ---------- */
.hand{font-family:var(--font-accent);color:var(--mauve-ink);line-height:1.3}
.hand-note{display:inline-block;font-family:var(--font-accent);font-size:clamp(1.25rem,1rem + .9vw,1.7rem);
  color:var(--mauve-ink);transform:rotate(-1.6deg);line-height:1.35}
.hand-note--onDark{color:#F0E8D6}
.hand-aside{position:relative;display:inline-flex;align-items:flex-start;gap:8px}
.hand-aside::before{content:"";flex:none;width:22px;height:22px;margin-top:6px;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23985982' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M20 6 C12 6 6 10 6 16'/%3E%3Cpath d='M6 16 l-3 -4 M6 16 l4 -2'/%3E%3C/svg%3E")}
.signature{font-family:var(--font-accent);font-size:clamp(2.2rem,1.6rem + 2vw,3.2rem);color:var(--sca-mauve);line-height:.9;display:inline-block}
.signature-row{display:flex;align-items:center;gap:14px;margin-top:24px}
.signature-row .line{height:1px;flex:1;background:var(--sca-border)}
.signature-row small{font-size:13px;color:var(--sca-muted)}

/* ---------- Buttons: bigger tap targets, refined ---------- */
.btn{min-height:52px;font-size:16px;font-weight:700}
.btn .arrow{transition:transform var(--dur-base) var(--ease-out)}
.btn:hover .arrow{transform:translateX(-5px)}
.btn:active{transform:scale(.98)}

/* ============================================================
   NAV
   ============================================================ */
.nav{position:sticky;top:0;z-index:200;transition:background .3s,box-shadow .3s,backdrop-filter .3s}
.nav.is-scrolled{background:rgba(249,245,238,.85);backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 1px 0 var(--sca-border)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:14px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:46px;height:46px;border-radius:12px}
.brand__txt{display:flex;flex-direction:column;line-height:1.15}
.brand__name{font-family:var(--font-display);font-size:17px;color:var(--sca-dark)}
.brand__sub{font-size:12px;letter-spacing:.02em;color:var(--sca-muted)}
.nav__links{display:flex;align-items:center;gap:17px}
.nav__link{font-weight:500;font-size:15px;color:var(--sca-dark);position:relative;padding:6px 0}
.nav__link::after{content:"";position:absolute;inset-inline:0;bottom:-2px;height:2px;background:var(--sca-mauve);transform:scaleX(0);transform-origin:inline-end;transition:transform .28s var(--ease-out)}
.nav__link:hover::after,.nav__link[aria-current=page]::after{transform:scaleX(1);transform-origin:inline-start}
.nav__link:hover,.nav__link[aria-current=page]{color:var(--sca-mauve)}
/* Personal-area link — subtly set apart from the content nav (a client/login pill) */
.nav__portal{border:1.5px solid rgba(107,63,49,.32);border-radius:var(--radius-pill);padding:6px 15px;color:var(--mauve-ink);transition:background .2s,border-color .2s,color .2s}
.nav__portal::after{content:none}
.nav__portal:hover{background:var(--sca-mauve-light);border-color:var(--sca-mauve);color:var(--mauve-ink)}
.nav__toggle{display:none;width:46px;height:46px;border:1px solid var(--sca-border);background:#fff;border-radius:var(--radius-pill);cursor:pointer;align-items:center;justify-content:center}
.nav__toggle span,.nav__toggle span::before,.nav__toggle span::after{content:"";display:block;width:20px;height:2px;background:var(--sca-dark);transition:.3s;position:relative}
.nav__toggle span::before{position:absolute;top:-6px}.nav__toggle span::after{position:absolute;top:6px}
.nav.is-open .nav__toggle span{background:transparent}
.nav.is-open .nav__toggle span::before{top:0;transform:rotate(45deg)}
.nav.is-open .nav__toggle span::after{top:0;transform:rotate(-45deg)}
@media(max-width:860px){
  .nav__toggle{display:inline-flex;position:relative;z-index:220}
  .nav.is-open{backdrop-filter:none!important;background:transparent!important;box-shadow:none!important}
  .nav__links{position:fixed;inset:0;flex-direction:column;justify-content:center;gap:30px;
    background:#3D3430;transform:translateY(-100%);visibility:hidden;z-index:210;
    will-change:transform;backface-visibility:hidden;
    transition:transform .45s var(--ease-out),visibility 0s linear .45s}
  .nav.is-open .nav__links{transform:translateY(0);visibility:visible;
    transition:transform .45s var(--ease-out),visibility 0s}
  .nav__link{color:#F0E8D6;font-family:var(--font-display);font-size:26px}
  .nav__link:hover,.nav__link[aria-current=page]{color:var(--sca-gold)}
  .nav__link::after{background:var(--sca-gold)}
  .nav__cta{display:none}
}

/* ============================================================
   HERO — editorial cream, offset portrait, celestial signature
   (departs from the full-bleed-overlay template)
   ============================================================ */
.hero{background:
   radial-gradient(90% 60% at 88% 0%, var(--sca-mauve-light) 0%, transparent 55%),
   radial-gradient(80% 70% at 0% 100%, var(--sca-gold-light) 0%, transparent 50%),
   var(--sca-cream);
  overflow:hidden}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2.5rem,5vw,6.5rem);align-items:center;
  padding-block:clamp(4.5rem,4rem + 5vw,8rem)}
.hero__copy{position:relative;z-index:3}
.hero h1{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,1.5rem + 2.6vw,3.3rem);
  line-height:1.12;letter-spacing:-0.01em;color:var(--sca-dark);margin-block:18px}
.hero h1 .soft{color:var(--sca-mauve)}
/* RULE: rotating handwriting word stays INLINE and OPTICALLY the same size as the sentence.
   The script font sits ~72% of Rubik's height, so 1.38em makes the ink match the headline. */
.hero__accent{font-family:var(--font-accent);font-size:1.38em;color:var(--sca-mauve);line-height:.85;vertical-align:-0.06em}
.hero__rotator{display:inline-block;white-space:nowrap;vertical-align:baseline}
.rot-word{display:inline-block}
.rot-caret{display:inline-block;width:3px;height:.9em;background:var(--sca-mauve);margin-inline-start:5px;vertical-align:-0.05em;border-radius:2px;animation:rotBlink 1.05s step-end infinite}
@keyframes rotBlink{0%,49%{opacity:1}50%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.rot-caret{display:none}}
.hero__lede-cta{display:inline-block;margin-top:10px;color:var(--sca-mauve);font-weight:700;font-size:1.32em;line-height:1.2}
.hero__lede{font-size:clamp(1.55rem,1.2rem + 1vw,2rem);line-height:1.5;color:var(--sca-dark);max-width:34ch;margin-top:24px}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.hero__path{display:inline-flex;align-items:center;gap:12px;margin-top:34px;padding:12px 22px;
  background:#fff;border:1px solid var(--sca-border);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);
  font-family:var(--font-accent);font-size:20px;color:var(--sca-dark)}
.hero__path b{color:var(--sca-mauve);font-weight:400}
.hero__path .sp{color:var(--sca-gold)}

/* Portrait with gold blur-halo (per DS) + framing */
.hero__figure{position:relative;z-index:2;align-self:start}
@media(max-width:900px){.hero__figure{align-self:auto}}
/* Path pill: the journey builds left-to-right on reveal (purposeful motion) */
.js .hero__path b,.js .hero__path .sp{opacity:0;transform:translateY(6px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}
.js .hero__path.in b,.js .hero__path.in .sp{opacity:1;transform:none}
.js .hero__path.in>*:nth-child(1){transition-delay:.05s}
.js .hero__path.in>*:nth-child(2){transition-delay:.18s}
.js .hero__path.in>*:nth-child(3){transition-delay:.31s}
.js .hero__path.in>*:nth-child(4){transition-delay:.44s}
.js .hero__path.in>*:nth-child(5){transition-delay:.57s}
@media(prefers-reduced-motion:reduce){.js .hero__path b,.js .hero__path .sp{opacity:1;transform:none;transition:none}}
.hero__halo{position:absolute;inset:-8% -6% -6% -8%;border-radius:50%;
  background:radial-gradient(circle,rgba(191,154,77,.4),transparent 62%);filter:blur(46px);z-index:0}
.hero__photo{position:relative;z-index:1;width:100%;height:auto;border-radius:180px 180px 22px 22px;
  aspect-ratio:4/5;object-fit:cover;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.6)}
.hero__badge{position:absolute;z-index:3;bottom:5%;inset-inline-start:-11%;background:#fff;border:1px solid var(--sca-border);
  border-radius:18px;padding:14px 18px;box-shadow:var(--shadow-md);max-width:234px}
.hero__badge b{font-family:var(--font-display);font-weight:700;font-size:17.5px;color:var(--sca-mauve);display:block;margin-bottom:5px}
.hero__badge span{font-size:12.5px;color:var(--sca-muted);display:block;line-height:1.55}
@media(max-width:900px){.hero__badge{max-width:218px;inset-inline-start:-4%}}
/* celestial line motif floating in the cream */
.hero__orb{position:absolute;z-index:2;top:-6%;inset-inline-end:4%;width:clamp(78px,10vw,128px);color:var(--sca-gold);opacity:.85;filter:drop-shadow(0 6px 16px rgba(191,154,77,.35))}
.trust-inline{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:34px;font-size:14px;font-weight:500;color:var(--sca-muted);align-items:center}
.trust-inline .sp{color:var(--sca-gold)}
@media(max-width:900px){
  .hero__grid{grid-template-columns:1fr;gap:1.6rem;padding-block:clamp(2rem,1.4rem + 3vw,3.4rem)}
  .hero__figure{order:-1;max-width:360px;margin-inline:auto}
  .hero__copy{text-align:center}
  .hero__lede{margin-inline:auto}
  .hero__actions{justify-content:center}
  .hero__badge{inset-inline-start:0}
  .hero__orb{display:none}
}
@media(max-width:560px){
  /* Show mainly HER: tighter square crop focused on her face, not the whole room */
  .hero__figure{max-width:290px}
  .hero__photo{aspect-ratio:1/1;object-position:37% 54%;border-radius:150px 150px 22px 22px}
  .hero__badge{display:none} /* the name card is removed on phones — it took too much room */
  .hero__grid{gap:1.1rem;padding-block:1.6rem}
}

/* ============================================================
   FREEDOM / FAMILY — the emotional heart of the site
   ============================================================ */
.freedom{background:var(--gradient-brand-soft);overflow:hidden}
.freedom__head{max-width:46rem;margin-inline:auto;text-align:center}
.freedom h2{font-family:var(--font-display);font-weight:700;font-size:clamp(1.9rem,1.5rem + 2vw,3rem);
  color:var(--sca-dark);line-height:1.16;letter-spacing:-.5px;margin-top:16px;text-wrap:balance}
.freedom h2 .soft{color:var(--sca-mauve)}
.freedom__lede{margin:22px auto 0;max-width:56ch;font-size:1.15rem;line-height:1.9;color:var(--sca-dark);text-wrap:pretty}
.freedom__points{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.8rem,3.5vw,3.4rem);margin-top:clamp(3rem,5vw,4.8rem)}
@media(max-width:820px){.freedom__points{grid-template-columns:1fr;gap:2.6rem;max-width:34rem;margin-inline:auto}}
.fpoint{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.fpoint__ico{flex:none;width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.6);
  display:grid;place-items:center;color:var(--sca-mauve);box-shadow:var(--shadow-sm)}
.fpoint__ico svg{width:26px;height:26px}
.fpoint h3{font-family:var(--font-display);font-weight:700;font-size:1.28rem;color:var(--sca-dark);margin:0}
.fpoint p{font-size:1.02rem;color:var(--sca-dark);line-height:1.72;max-width:34ch;margin-inline:auto}

/* ============================================================
   METHOD — the 3 pillars, reimagined as an editorial band
   (not 3 identical centered icon-cards)
   ============================================================ */
.method{background:var(--sca-white)}
.method__head{max-width:44rem}
.method__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:64px;
  border:1px solid var(--sca-border);border-radius:var(--radius-xl);overflow:hidden;background:var(--sca-cream)}
.pillar{padding:clamp(34px,3.2vw,54px);position:relative}
.pillar+.pillar{border-inline-start:1px solid var(--sca-border)}
.pillar__n{font-family:var(--font-display);font-size:15px;color:var(--sca-gold);letter-spacing:2px}
.pillar__ico{width:44px;height:44px;margin:16px 0 18px;color:var(--sca-mauve)}
.pillar h3{font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem,1.2rem + 1vw,2rem);color:var(--sca-dark);margin-bottom:10px}
.pillar p{font-size:15px;line-height:1.7;color:var(--sca-muted)}
.pillar:hover{background:#fff}
.pillar{transition:background .3s var(--ease-out)}
@media(max-width:820px){.method__grid{grid-template-columns:1fr}.pillar+.pillar{border-inline-start:none;border-top:1px solid var(--sca-border)}}

/* ============================================================
   PROGRAMS — asymmetric editorial index (flagship + list),
   not 3 identical numbered cards
   ============================================================ */
.programs{background:var(--sca-cream)}
.prog-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;margin-top:64px}
@media(max-width:860px){.prog-grid{grid-template-columns:1fr}}
.prog-flag{position:relative;border-radius:var(--radius-xl);overflow:hidden;min-height:420px;display:flex;align-items:flex-end;
  color:#fff;padding:clamp(28px,3vw,44px);isolation:isolate}
.prog-flag img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.prog-flag::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(61,52,48,.88) 0%,rgba(61,52,48,.35) 55%,rgba(122,78,60,.25) 100%)}
.prog-flag .tag{background:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.4)}
.prog-flag h3{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,1.5rem + 2vw,3rem);color:#fff;margin:14px 0 10px;line-height:1.05}
.prog-flag p{color:rgba(255,255,255,.9);font-size:16px;max-width:42ch;margin-bottom:20px}
/* mockup variant: transparent product mockup floating on a soft brand bg, dark text below (no dark overlay) */
.prog-flag--mockup{background:var(--gradient-brand-soft);color:var(--sca-dark);flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}
.prog-flag--mockup::after{display:none}
.prog-flag--mockup img{position:relative;inset:auto;width:100%;height:auto;object-fit:contain;z-index:1;margin-bottom:12px}
.prog-flag--mockup .tag{background:#fff;color:var(--mauve-ink);border:1px solid var(--sca-border);backdrop-filter:none}
.prog-flag--mockup h3,.prog-flag--mockup p{color:var(--sca-dark)}
.prog-list{display:flex;flex-direction:column;gap:18px}
.prog-item{background:#fff;border:1px solid var(--sca-border);border-radius:var(--radius-lg);padding:26px 28px;
  display:flex;flex-direction:column;flex:1;justify-content:center;transition:transform .3s var(--ease-out),box-shadow .3s,border-color .3s}
.prog-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(122,78,60,.4)}
.prog-item__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.prog-item h3{font-family:var(--font-display);font-weight:700;font-size:1.6rem;color:var(--sca-dark)}
.prog-item p{font-size:15px;color:var(--sca-muted);line-height:1.6}
.prog-item .more{margin-top:14px;font-weight:700;color:var(--mauve-ink);display:inline-flex;gap:8px;align-items:center}

/* ============================================================
   STRATEGY CTA band (gradient, but with texture + no floating circles)
   ============================================================ */
.cta-band{background:var(--gradient-brand);color:#fff;text-align:center;overflow:hidden}
.cta-band h2{font-family:var(--font-display);font-weight:700;color:#fff;font-size:clamp(2rem,1.5rem + 2vw,3rem)}
.cta-band p{color:rgba(255,255,255,.92);font-size:18px;max-width:52ch;margin:16px auto 0}
.cta-band .accent-word{color:#F0E8D6}
/* Section background video (behind text, with an overlay for readability) */
.has-video{position:relative;overflow:hidden}
/* Fixed-bg videos: sized to the viewport so the section reveals different parts as it scrolls over (JS pins them). Desktop only — mobile keeps a normal cover. */
@media(min-width:769px){
  .sect-video[data-fixed-bg]{height:100vh;top:0;will-change:transform}
}
.has-video>.wrap,.has-video>.wrap-narrow{position:relative;z-index:2}
.sect-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.55}
.has-video::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(61,52,48,.5),rgba(120,72,104,.55))}
/* Light variant: for cream sections with dark text — faint video under a cream wash */
.has-video--light .sect-video{opacity:.28}
.has-video--light::before{background:linear-gradient(180deg,rgba(249,245,238,.74),rgba(249,245,238,.82))}
@media(prefers-reduced-motion:reduce){.sect-video{opacity:.3}.has-video--light .sect-video{opacity:.18}}
/* Strategy CTA band over video — stronger overlay + text pop so the copy reads clearly */
.cta-band.has-video .sect-video{opacity:.4}
.cta-band.has-video::before{background:linear-gradient(180deg,rgba(45,36,32,.66),rgba(84,50,74,.72))}
/* (text-shadow removed per preference — the darker overlay carries the contrast) */
.cta-band.has-video::before{background:linear-gradient(180deg,rgba(40,32,28,.72),rgba(74,44,66,.78))}
/* Signature moved below the banner, onto the cream */
.sig-below{background:var(--sca-cream);text-align:center;padding:clamp(24px,3vw,40px) 20px 4px}
.sig-below .hand-note{font-size:clamp(1.4rem,1.1rem + 1vw,1.95rem)}
/* Narrow full-brightness video strip (e.g. blog banner) — shows the footage as-is */
.video-strip{width:100%;height:clamp(140px,16vw,190px);overflow:hidden;position:relative;background:var(--sca-dark)}
.video-strip__v{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}

/* ============================================================
   PILL ACCORDION (learned from adsbypapaya.com) — in brand
   ============================================================ */
.acc{max-width:840px;margin:56px auto 0;display:flex;flex-direction:column;gap:18px}
.acc details{border:1px solid var(--sca-border);border-radius:var(--radius-pill);background:#fff;
  transition:border-radius .25s var(--ease-out),box-shadow .3s,border-color .3s}
.acc details[open]{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border-color:rgba(122,78,60,.35)}
.acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:18px;padding:20px 26px;
  font-family:var(--font-display);font-weight:700;font-size:clamp(1.2rem,1rem + .7vw,1.55rem);color:var(--sca-dark)}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover{color:var(--sca-mauve)}
.acc__ico{flex:none;width:46px;height:46px;border-radius:50%;background:var(--sca-mauve-light);display:grid;place-items:center;color:var(--sca-mauve)}
.acc__chev{margin-inline-start:auto;flex:none;color:var(--mauve-ink);transition:transform .3s var(--ease-out)}
.acc details[open] .acc__chev{transform:rotate(180deg)}
.acc__body{padding:2px 26px 26px calc(26px + 64px);color:var(--sca-dark);font-size:16px;line-height:1.85;max-width:62ch}
.acc__body b{font-weight:700}
.acc__body .accent-word{font-size:1.15em}
@media(max-width:560px){.acc__body{padding-inline:26px}.acc summary{font-size:1.15rem;gap:14px}}

/* ============================================================
   STORY / ABOUT — editorial portrait with halo
   ============================================================ */
.about{background:var(--sca-white)}
.about__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2.5rem,5vw,6rem);align-items:center}
@media(max-width:820px){.about__grid{grid-template-columns:1fr}.about__fig{max-width:380px;margin-inline:auto}}
.about__fig{position:relative}
.about__halo{position:absolute;inset:-10%;border-radius:50%;background:radial-gradient(circle,rgba(122,78,60,.22),transparent 60%);filter:blur(40px);z-index:0}
.about__photo{position:relative;z-index:1;width:100%;height:auto;border-radius:22px;aspect-ratio:4/4.7;object-fit:cover;box-shadow:var(--shadow-lg);border:2px solid #fff}
.about h2{font-family:var(--font-display);font-weight:700;font-size:clamp(2.2rem,1.7rem + 2vw,3rem);color:var(--sca-dark);letter-spacing:-.5px}
.about .pull{font-family:var(--font-accent);font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem);color:var(--sca-mauve);line-height:1.3;margin:14px 0 22px}
.about p{font-size:17px;line-height:1.8;color:var(--sca-dark)}

/* ============================================================
   TESTIMONIALS — editorial pull-quotes (real names), not star cards
   ============================================================ */
.voices{background:var(--sca-cream)}
.voices__grid{columns:2 340px;column-gap:34px;margin-top:60px}
.voice{break-inside:avoid;margin-bottom:34px;background:#fff;border:1px solid var(--sca-border);border-radius:var(--radius-lg);padding:36px}
.voice:first-child{background:var(--sca-dark);color:#fff}
.voice__q{font-family:var(--font-body);font-weight:500;font-size:19px;line-height:1.6;color:var(--sca-dark);position:relative;padding-top:22px}
.voice__q::before{content:"\201D";position:absolute;top:-6px;inset-inline-start:0;font-family:var(--font-accent);font-size:52px;line-height:1;color:var(--sca-mauve);opacity:.5}
.voice:first-child .voice__q{color:#fff}
.voice:first-child .voice__q::before{color:var(--sca-gold);opacity:.8}
.voice__by{display:flex;align-items:center;gap:12px;margin-top:20px}
.voice__mono{width:44px;height:44px;border-radius:50%;flex:none;display:grid;place-items:center;
  font-family:var(--font-display);color:#fff;background:var(--sca-mauve)}
.voice__name{font-weight:700;color:inherit}
.voice__role{font-size:13px;color:var(--sca-muted)}
.voice:first-child .voice__role{color:#C9BDB0}

/* ============================================================
   GIFT + NEWSLETTER forms
   ============================================================ */
.gift{background:var(--sca-cream)}
.gift__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,3.5rem);align-items:center}
@media(max-width:820px){.gift__grid{grid-template-columns:1fr}}
.gift__card{background:#fff;border-radius:var(--radius-xl);padding:clamp(28px,3vw,40px);box-shadow:var(--shadow-lg);border:1px solid var(--sca-border)}
.field{display:grid;gap:8px;margin-bottom:16px}
.field label{font-size:14px;font-weight:600;color:var(--sca-dark)}
.field input{width:100%;padding:14px 16px;border:1px solid var(--sca-border);border-radius:var(--radius-md);
  background:var(--sca-cream);font-family:var(--font-body);font-size:15px;min-height:52px;color:var(--sca-dark)}
.field input:focus{outline:none;border-color:var(--sca-mauve);box-shadow:0 0 0 4px rgba(122,78,60,.14)}
.field.is-invalid input{border-color:#b3475b}
.field__err{font-size:13px;color:#b3475b;font-weight:600;display:none}
.field.is-invalid .field__err{display:block}
.form-status{display:none;padding:14px 16px;border-radius:var(--radius-md);font-weight:600;background:var(--sca-mauve-light);color:var(--sca-dark);margin-top:6px}
.form-status.on{display:block}
/* Gift-page forms: two-up on desktop, single column on small screens */
@media(max-width:560px){.gift__card form{grid-template-columns:1fr!important}}

/* ============================================================
   FOOTER — adapted from Hilla's previous footer
   ============================================================ */
.footer{padding-block:clamp(58px,7vw,88px) 28px;color:#F0E8D6;background:#352C28}
.footer__grid{display:grid;gap:42px}
.footer__about{max-width:430px}
.footer__brand{margin:0 0 18px;color:#FFFDF9;font-family:"Rubik","Assistant",sans-serif;font-size:clamp(1.35rem,2vw,1.75rem);font-weight:800;letter-spacing:-.035em;line-height:1.1}
.footer__intro{max-width:40ch;margin:0;color:#CFC2B8;font-size:15.5px;line-height:1.75}
.footer__spark{color:#D6AC3F}
.footer__contact{display:grid;gap:4px;margin:18px 0 0;color:#AFA197;font-size:13.5px;line-height:1.65}
.footer__contact a{width:max-content;max-width:100%}
.footer a{color:#E8DED2;text-decoration:none;transition:color .2s ease,transform .2s ease,background-color .2s ease,border-color .2s ease}
.footer a:hover{color:#D6AC3F}
.footer .over{display:block;margin-bottom:18px;color:#AA9B90;font-size:12px;font-weight:700;letter-spacing:.18em}
.footer__links{display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-size:15.5px}
.footer__links a{display:inline-block;padding:4px 0}
.footer__bottom a{display:inline-block;padding:4px 0}
.footer__social{display:flex;gap:12px;margin-bottom:20px}
.footer__social a{display:flex;width:46px;height:46px;align-items:center;justify-content:center;border:1px solid rgba(240,232,214,.22);border-radius:50%;color:#E8DED2;background:rgba(255,255,255,.015)}
.footer__social a:hover{border-color:#D6AC3F;color:#FFFDF9;background:rgba(255,255,255,.07);transform:translateY(-2px)}
.footer-instagram{display:inline-flex;align-items:center;justify-content:center;line-height:0}
.footer-instagram img{display:block;width:28px;height:28px;object-fit:contain;transition:transform .2s ease}
.footer-instagram:hover img{transform:scale(1.04)}
.footer__whatsapp{display:inline-flex;min-height:52px;align-items:center;gap:10px;padding:13px 22px;border-radius:100px!important;color:#352C28!important;background:#D6AC3F;font-weight:800;line-height:1}
.footer__whatsapp:hover{color:#241D1A!important;background:#E1B94E;transform:translateY(-1px)}
.footer__whatsapp svg,.footer__whatsapp img{width:23px;height:23px;flex:0 0 auto;filter:drop-shadow(0 1px 0 rgba(255,255,255,.45))}
.footer__whatsapp svg{color:#25D366}
.footer__availability{margin:10px 0 0;color:#AA9B90;font-size:12.5px;line-height:1.5}
.footer__bottom{max-width:var(--container-max);margin:clamp(42px,6vw,66px) auto 0;padding:24px clamp(20px,4vw,0px) 0;border-top:1px solid rgba(240,232,214,.14)}
.footer__legal{max-width:780px;margin:0 0 18px;color:#95877D;font-size:12px;line-height:1.75}
.footer__policy{margin:0 0 16px;font-size:13px}
.footer__policy a{color:#E8DED2;text-decoration:underline;text-underline-offset:3px}
.footer__copyright{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:#A99A8F;font-size:13px}
.footer__memorial{max-width:var(--container-max);margin:22px auto 0;padding:22px 20px 4px;border-top:1px solid rgba(255,255,255,.08);text-align:center}
.footer__memorial-title{margin:0;color:#9E9082;font-size:12px;line-height:1.7}
.footer__memorial-hand{margin:6px 0 0;color:#C9BDB0;font-family:var(--font-accent);font-size:clamp(1.05rem,2vw,1.3rem);font-weight:400;font-synthesis:none;line-height:1.4}
@media(min-width:42rem){.footer__grid{grid-template-columns:1fr 1fr}.footer__about{grid-column:1/-1}}
@media(min-width:64rem){.footer__grid{grid-template-columns:minmax(0,1.45fr) minmax(10rem,.72fr) minmax(13rem,.9fr);gap:clamp(44px,7vw,96px)}.footer__about{grid-column:auto}}

/* ============================================================
   CIRCULAR TESTIMONIALS — ported from a React/shadcn component
   to vanilla JS, restyled in the brand. 3D stack + blur-in quote.
   ============================================================ */
.ct{max-width:920px;margin:60px auto 0}
.ct__grid{display:grid;gap:2.5rem;align-items:start}
@media(min-width:768px){.ct__grid{grid-template-columns:1fr 1fr;gap:4rem}}
.ct__stage{position:relative;width:100%;height:clamp(17rem,14rem + 12vw,22rem)}
.ct__persp{position:absolute;inset:0;perspective:1000px}
.ct__tile{position:absolute;inset:0;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-lg);
  display:grid;place-items:center;background:var(--tileg,linear-gradient(150deg,var(--sca-mauve),var(--sca-peach)));
  transition:transform .8s cubic-bezier(.4,2,.3,1),opacity .8s cubic-bezier(.4,2,.3,1);
  transform-style:preserve-3d;will-change:transform,opacity;backface-visibility:hidden}
.ct__tile img{width:100%;height:100%;object-fit:cover}
.ct__mono{font-family:var(--font-display);font-size:clamp(3.5rem,3rem + 4vw,6rem);color:rgba(255,255,255,.92);line-height:1}
.ct__cap{position:absolute;bottom:0;inset-inline:0;padding:14px 18px;font-weight:700;color:#fff;font-size:15px;
  background:linear-gradient(to top,rgba(61,52,48,.6),transparent)}
.ct__content{display:flex;flex-direction:column}
.ct__name{font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem,1.2rem + 1vw,2rem);color:var(--sca-dark)}
.ct__role{color:var(--sca-muted);margin:.3rem 0 1.6rem;font-size:15px}
.ct__quote{font-size:clamp(1.05rem,1rem + .3vw,1.2rem);line-height:1.8;color:var(--sca-dark);margin-top:1.5rem;min-height:9em}
.ct__quote .w{display:inline-block}
/* critical phrases (marked **…** in the quote) — bold warm brown, no underline */
.ct__quote .w--hl{font-weight:700;color:var(--mauve-ink)}
.ct__arrows{display:flex;gap:1.25rem;justify-content:center;margin-top:1.6rem}
.ct__arrow{width:52px;height:52px;border-radius:50%;border:none;cursor:pointer;background:var(--sca-mauve);color:#fff;
  display:grid;place-items:center;transition:background .3s,transform .15s,box-shadow .3s}
.ct__arrow:hover{background:var(--sca-gold);color:var(--sca-dark);box-shadow:var(--shadow-gold)}
.ct__arrow:active{transform:scale(.94)}
@media (prefers-reduced-motion:reduce){.ct__tile{transition:opacity .35s}}

/* ============================================================
   EVENTS — "when can I join" cards + date chips
   ============================================================ */
.events__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px;margin-top:56px}
.event{display:flex;flex-direction:column;background:#fff;border:1px solid var(--sca-border);border-radius:var(--radius-lg);
  padding:30px 30px 32px;transition:transform .3s var(--ease-out),box-shadow .3s,border-color .3s}
.event:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:rgba(122,78,60,.4)}
.event__top{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px}
.event h3{margin-bottom:12px}
.event p{margin-bottom:4px}
.event__date{flex:none;width:66px;text-align:center;background:var(--sca-mauve-light);border-radius:14px;padding:10px 6px;line-height:1.1}
.event__day{font-family:var(--font-display);font-size:26px;color:var(--sca-mauve);display:block}
.event__mon{font-size:12px;font-weight:700;color:var(--mauve-ink);letter-spacing:.5px}
.event__badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.event__badge{font-size:12px;font-weight:700;padding:5px 12px;border-radius:var(--radius-pill)}
.event__badge--soon{background:var(--sca-gold-light);color:#7a5a12}
.event__badge--free{background:oklch(0.9 0.09 150 / .5);color:oklch(0.4 0.12 150)}
.event__badge--last{background:oklch(0.9 0.08 30 / .5);color:oklch(0.45 0.16 30)}
.event h3{font-family:var(--font-display);font-weight:700;font-size:clamp(1.4rem,1.2rem + .6vw,1.75rem);color:var(--sca-dark);margin-bottom:8px}
.event p{font-size:15px;color:var(--sca-muted);line-height:1.6;flex:1}
.event__meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin:16px 0 20px;font-size:13px;font-weight:600;color:var(--mauve-ink)}
.event__meta span{display:inline-flex;align-items:center;gap:6px}
.event .btn{margin-top:auto}
.events__foot{text-align:center;margin-top:44px}
/* events page hero note */
.event-note{background:var(--sca-mauve-light);border-radius:var(--radius-lg);padding:28px 32px;text-align:center;max-width:640px;margin:56px auto 0}
.event-note .accent-word{font-size:1.3em}

/* ============================================================
   STATS RIBBON — credibility bar (count-up)
   ============================================================ */
/* Stats = a heritage/"old-university" band: deep warm ground + real gold with depth (jewel, not flat) */
.stats-ribbon{position:relative;overflow:hidden;color:#EFE5D8;padding-block:clamp(46px,2.4rem + 3vw,72px);
  background:radial-gradient(130% 130% at 50% -15%,rgba(214,172,63,.09),transparent 55%),linear-gradient(165deg,#3D3430,#2B231F)}
/* Hilla's video behind the band + a deep plum veil so the gold numbers stay readable */
/* Fixed background: the photo stays anchored to the viewport while the band scrolls over it,
   so different parts of the image reveal through the band as you scroll. */
.stats-ribbon__bg{position:absolute;inset:0;z-index:0;
  background-image:url("../stats-bg.jpg");background-size:cover;background-position:center;
  background-attachment:fixed;background-repeat:no-repeat}
/* iOS/Safari handle fixed backgrounds poorly on touch -> fall back to a normal cover crop */
@media(max-width:768px){.stats-ribbon__bg{background-attachment:scroll}}
.stats-ribbon__veil{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(130% 130% at 50% -15%,rgba(214,172,63,.14),transparent 55%),linear-gradient(165deg,rgba(59,41,55,.84),rgba(41,30,46,.9))}
.stats-ribbon__grid{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;align-items:center}
@media(max-width:720px){.stats-ribbon__grid{grid-template-columns:repeat(2,1fr);gap:30px 20px;align-items:start}}
.stat{position:relative}
.stat__num{font-family:var(--font-accent);font-weight:400;font-synthesis:none;-webkit-font-synthesis:none;
  font-size:clamp(3.4rem,2.5rem + 3.4vw,5.2rem);line-height:1;
  background:linear-gradient(168deg,#FBEFC2 0%,#E8C566 24%,#C89A34 50%,#E8C566 74%,#FBEFC2 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
/* premium blur-clear entrance on the numbers (ease-out-expo), on top of the reveal fade-rise */
.js .stat__num{filter:blur(7px);transition:filter .85s cubic-bezier(.16,1,.3,1)}
.js .stat.in .stat__num{filter:blur(0)}
@media(prefers-reduced-motion:reduce){.js .stat__num{filter:none;transition:none}}
.stat__label{font-size:12.5px;letter-spacing:.09em;color:#D3C4B4;margin-top:13px;line-height:1.55}

/* ============================================================
   TIMELINE — "where are you?" stage selector (homepage + store filter)
   ============================================================ */
.timeline{max-width:840px;margin-inline:auto}
.timeline__track{position:relative;display:flex;justify-content:space-between;gap:10px;margin:54px 0 36px;padding:0}
.timeline__rail{position:absolute;top:34px;inset-inline:42px;height:4px;background:var(--sca-border);border-radius:4px;overflow:hidden}
.timeline__fill{position:absolute;inset-inline-start:0;top:0;height:100%;width:0;border-radius:4px;
  background:linear-gradient(90deg,var(--sca-mauve),var(--sca-peach) 55%,var(--sca-gold));transition:width .6s var(--ease-out)}
[dir=rtl] .timeline__fill{background:linear-gradient(270deg,var(--sca-mauve),var(--sca-peach) 55%,var(--sca-gold))}

.timeline__node{position:relative;z-index:1;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:15px;padding:0;flex:1;min-width:0;font-family:inherit}
.tl-medallion{position:relative;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;
  background:var(--sca-white);border:2px solid var(--sca-border);color:var(--sca-muted);
  transition:transform .38s var(--ease-out),border-color .38s,color .38s,background .38s,box-shadow .38s}
.tl-medallion svg{width:28px;height:28px}
.tl-num{position:absolute;top:-7px;inset-inline-end:-5px;width:23px;height:23px;border-radius:50%;
  background:var(--sca-cream);border:1.5px solid var(--sca-border);color:var(--sca-muted);
  font-family:var(--font-display);font-weight:700;font-size:11px;display:grid;place-items:center;transition:background .38s,border-color .38s,color .38s}
.timeline__node .cap{font-weight:600;font-size:14px;color:var(--sca-muted);text-align:center;max-width:15ch;line-height:1.4;transition:color .3s}

.timeline__node:hover .tl-medallion{border-color:var(--sca-peach);color:var(--mauve-ink);transform:translateY(-2px)}
/* passed steps (before the selected one) — soft filled */
.timeline__node.is-passed .tl-medallion{background:var(--sca-mauve-light);border-color:var(--sca-peach);color:var(--mauve-ink)}
.timeline__node.is-passed .tl-num{background:var(--sca-peach);border-color:#fff;color:#fff}
/* the selected step — full gradient medallion + glow */
.timeline__node[aria-pressed=true] .tl-medallion{background:linear-gradient(145deg,var(--sca-mauve),var(--sca-peach));border-color:transparent;color:#fff;
  transform:translateY(-3px) scale(1.06);box-shadow:0 14px 28px -8px rgba(122,78,60,.5),0 0 0 6px rgba(122,78,60,.14)}
.timeline__node[aria-pressed=true] .tl-num{background:var(--sca-gold);border-color:#fff;color:#fff}
.timeline__node[aria-pressed=true] .cap{color:var(--mauve-ink);font-weight:700}

.timeline__result{position:relative;text-align:center;background:linear-gradient(160deg,var(--sca-white),var(--sca-cream));
  border:1px solid var(--sca-border);border-radius:var(--radius-xl);padding:clamp(28px,3.4vw,46px) clamp(20px,3vw,40px);margin-top:10px;overflow:hidden;box-shadow:var(--shadow-md)}
.timeline__result::before{content:"✦";position:absolute;top:15px;inset-inline-start:22px;color:var(--sca-gold);font-size:19px;opacity:.55}
.timeline__goal{font-family:var(--font-accent);font-weight:400;font-size:clamp(1.5rem,1.2rem + 1.3vw,2.2rem);color:var(--mauve-ink);line-height:1.32;margin-bottom:22px;transition:opacity .35s var(--ease-out),transform .35s var(--ease-out)}
.timeline__goal.tl-swap{opacity:0;transform:translateY(6px)}
@media(max-width:560px){
  .timeline__track{gap:6px}
  .tl-medallion{width:54px;height:54px}
  .tl-medallion svg{width:23px;height:23px}
  .tl-num{width:20px;height:20px;font-size:10px}
  .timeline__rail{inset-inline:32px;top:27px}
  .timeline__node .cap{font-size:12.5px;max-width:12ch}
}
@media(prefers-reduced-motion:reduce){.timeline__fill,.tl-medallion,.timeline__goal{transition:none}}

/* ============================================================
   CART — client-side cart + slide-in drawer
   ============================================================ */
.cart-btn{position:fixed;bottom:22px;inset-inline-start:22px;z-index:300;width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;
  background:var(--sca-mauve);color:#fff;display:grid;place-items:center;box-shadow:var(--shadow-mauve);transition:transform .2s}
.cart-btn:hover{transform:scale(1.06)}
.cart-btn__count{position:absolute;top:-4px;inset-inline-end:-4px;min-width:22px;height:22px;padding:0 5px;border-radius:11px;background:var(--sca-gold);color:var(--sca-dark);font-size:12px;font-weight:800;display:grid;place-items:center;border:2px solid #fff}
.cart-backdrop{position:fixed;inset:0;z-index:900;background:rgba(61,52,48,.5);opacity:0;pointer-events:none;transition:opacity .3s}
.cart-backdrop.open{opacity:1;pointer-events:auto}
.cart-drawer{position:fixed;top:0;right:0;left:auto;z-index:901;height:100dvh;width:min(380px,88vw);background:var(--sca-cream);
  transform:translateX(105%);transition:transform .42s var(--ease-out);display:flex;flex-direction:column;box-shadow:-18px 0 50px -20px rgba(61,52,48,.35)}
.cart-drawer.open{transform:none}
.cart-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--sca-border)}
.cart-drawer__head h2{font-family:var(--font-display);font-weight:700;font-size:1.4rem;color:var(--sca-dark)}
.cart-close{width:40px;height:40px;border-radius:50%;border:1px solid var(--sca-border);background:#fff;cursor:pointer;font-size:20px;color:var(--sca-dark);line-height:1}
.cart-items{flex:1;overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:14px}
.cart-empty{text-align:center;color:var(--sca-muted);padding:48px 12px;margin:auto}
.cart-item{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--sca-border);border-radius:14px;padding:12px 14px}
.cart-item__info{flex:1;min-width:0}
.cart-item__name{font-weight:700;color:var(--sca-dark);font-size:15px}
.cart-item__price{font-size:13px;color:var(--mauve-ink);font-weight:700}
.cart-qty{display:flex;align-items:center;gap:8px}
.cart-qty button{width:28px;height:28px;border-radius:8px;border:1px solid var(--sca-border);background:var(--sca-cream);cursor:pointer;font-size:16px;line-height:1;color:var(--sca-dark)}
.cart-qty span{min-width:20px;text-align:center;font-weight:700}
.cart-item__rm{background:none;border:none;color:var(--sca-muted);cursor:pointer;font-size:13px;text-decoration:underline}
.cart-drawer__foot{border-top:1px solid var(--sca-border);padding:20px 24px;background:#fff}
.cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-family:var(--font-display);font-weight:700;font-size:1.3rem;color:var(--sca-dark)}
.cart-note{font-size:12px;color:var(--sca-muted);text-align:center;margin-top:12px}
@media(prefers-reduced-motion:reduce){.cart-drawer,.cart-backdrop{transition:none}}

/* ---------- Reveal motion (visible by default; JS gates) ---------- */
.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.js [data-reveal].in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .js [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
  [style*="scaHeroZoom"],[style*="scaFloat"]{animation:none!important}
}

/* AA contrast (WCAG 1.4.3): deepen the primary CTA so the white label
   reaches ≥4.5:1. Brand mauve #B07598 gave only 3.59:1 on 14–16px text.
   #9E6386 = 4.58:1 — nearly identical hue, just a touch deeper. */
.btn--primary{background:#7A4E3C}
.btn--primary:hover{background:#684132}
/* No shadows on buttons (per preference) — keep the subtle lift, drop the drop-shadow */
.btn--primary:hover,.btn--secondary:hover,.btn--outline:hover,.btn--dark:hover{box-shadow:none}

/* 5.9.2026 הילה: הסמן המותאם הוסר - סמן רגיל של הדפדפן, pointer מעל לחיץ */

/* ============================================================
   ACCESSIBILITY WIDGET (Israeli Regulation 35 / IS 5568)
   A user-preference comfort tool — toggles classes on <html>.
   ============================================================ */
.a11y-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.a11y-fab{position:fixed;bottom:0;inset-inline-start:22px;z-index:940;width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;
  background:#7A4E3C;color:#FFF8F2;display:grid;place-items:center;opacity:.78;box-shadow:0 10px 26px -8px rgba(61,52,48,.55);transition:transform .25s var(--ease-out),opacity .2s linear}
.a11y-fab svg{width:31px;height:31px}
.a11y-fab:hover{transform:scale(1.04)}
.a11y-fab:hover,.a11y-fab:focus-visible{opacity:1}
.a11y-fab:focus-visible{outline:3px solid #6B3F31;outline-offset:3px}
/* WhatsApp float button (bottom-right, opposite the accessibility button) */
.wa-fab{position:fixed;bottom:0;inset-inline-end:22px;z-index:940;width:56px;height:56px;border-radius:50%;
  background:#25D366;color:#fff;display:grid;place-items:center;opacity:.78;box-shadow:0 10px 26px -8px rgba(37,178,90,.55);transition:transform .25s var(--ease-out),opacity .2s linear}
.wa-fab svg{width:30px;height:30px}
.wa-fab:hover{animation:waBuzz .4s ease-in-out infinite}
.wa-fab:focus-visible{outline:3px solid var(--sca-mauve);outline-offset:3px}
.wa-fab:hover,.wa-fab:focus-visible{opacity:1}
@keyframes waBuzz{0%,100%{transform:scale(1.32) rotate(-7deg)}25%{transform:scale(1.32) rotate(7deg)}50%{transform:scale(1.32) rotate(-5deg)}75%{transform:scale(1.32) rotate(5deg)}}
@media (prefers-reduced-motion:reduce){.wa-fab{transition:none}.wa-fab:hover{animation:none;transform:scale(1.1)}}
/* WhatsApp "available now" — pulsing green halo + label during office hours */
.wa-fab.is-online::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:3px solid #25D366;pointer-events:none;animation:waPulse 1.9s ease-out infinite}
@keyframes waPulse{0%{transform:scale(1);opacity:.75}70%{opacity:0}100%{transform:scale(1.5);opacity:0}}
.wa-online{position:fixed;bottom:34px;left:88px;z-index:939;background:#fff;color:#2b5f43;border:1px solid #cfe9d5;
  box-shadow:0 8px 22px -10px rgba(37,178,90,.5);padding:8px 13px;border-radius:12px;font-size:12.5px;font-weight:700;white-space:nowrap;display:flex;align-items:center;gap:8px;animation:waLblIn .45s var(--ease-out) both}
.wa-online::before{content:"";width:9px;height:9px;border-radius:50%;background:#25D366;animation:waDot 1.6s ease-out infinite}
.wa-online::after{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:#fff}
@keyframes waLblIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
@keyframes waDot{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}100%{box-shadow:0 0 0 7px rgba(37,211,102,0)}}
@media (max-width:560px){.wa-online{display:none}}
@media (prefers-reduced-motion:reduce){.wa-fab.is-online::after,.wa-online,.wa-online::before{animation:none}}
/* footer availability hours */
.footer-hours{display:inline-block;margin-top:3px;font-size:12.5px;color:#B0A395;letter-spacing:.02em}

.a11y-panel{position:fixed;bottom:68px;inset-inline-start:22px;z-index:941;width:min(360px,92vw);max-height:min(78vh,640px);overflow:auto;
  background:#fff;color:var(--sca-dark);border:1px solid var(--sca-border);border-radius:20px;box-shadow:0 22px 64px -22px rgba(61,52,48,.55);padding:18px 18px 16px;display:none}
.a11y-panel.open{display:block;animation:a11yPop .28s var(--ease-out)}
@keyframes a11yPop{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.a11y-panel h2{font-family:var(--font-display);font-size:1.18rem;font-weight:700;margin:0 0 3px;color:var(--sca-dark)}
.a11y-panel__sub{font-size:12.5px;color:var(--sca-muted);margin:0 0 15px;line-height:1.45}
.a11y-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}
.a11y-toggle{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;text-align:center;min-height:78px;
  padding:11px 6px;border-radius:14px;border:1.5px solid var(--sca-border);background:var(--sca-cream);color:var(--sca-dark);
  cursor:pointer;font:inherit;font-size:11.5px;font-weight:600;line-height:1.2;transition:border-color .2s,background .2s,color .2s}
.a11y-toggle svg{width:22px;height:22px;flex:none}
.a11y-toggle .a11y-val{font-size:10.5px;font-weight:800;opacity:.85}
.a11y-toggle:hover{border-color:var(--sca-mauve)}
.a11y-toggle:focus-visible{outline:3px solid var(--sca-gold);outline-offset:2px}
.a11y-toggle[aria-pressed="true"],.a11y-toggle.is-active{background:var(--mauve-ink);border-color:var(--mauve-ink);color:#fff}
.a11y-reset{margin-top:12px;width:100%;padding:11px;border-radius:12px;border:1.5px solid var(--sca-border);background:#fff;color:var(--sca-dark);cursor:pointer;font:inherit;font-weight:700;font-size:13px;transition:border-color .2s}
.a11y-reset:hover{border-color:var(--sca-mauve)}
.a11y-panel__foot{margin:12px 0 0;font-size:12px;text-align:center}
.a11y-panel__foot a{color:var(--mauve-ink);font-weight:600}
@media (max-width:400px){.a11y-grid{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.a11y-fab,.a11y-panel.open{transition:none;animation:none}.a11y-fab:hover{transform:none}}

/* ---- Preference effects (classes set on <html>) ---- */
@media (max-width:560px){.a11y-fab,.wa-fab{inset-inline-start:12px;width:52px;height:52px}.wa-fab{inset-inline-start:auto;inset-inline-end:12px}}
html.a11y-links a:not(.btn):not(.brand){text-decoration:underline!important;text-underline-offset:2px}
html.a11y-headings h1,html.a11y-headings h2,html.a11y-headings h3,html.a11y-headings h4{outline:2px dashed var(--sca-mauve);outline-offset:4px;border-radius:2px}
html.a11y-readable-font,html.a11y-readable-font body,html.a11y-readable-font input,html.a11y-readable-font button,html.a11y-readable-font textarea{font-family:Arial,"Helvetica Neue",Helvetica,"Segoe UI",sans-serif!important}
html.a11y-text-115 body{font-size:115%!important}
html.a11y-text-130 body{font-size:130%!important}
html.a11y-text-150 body{font-size:150%!important}
html.a11y-lines-16 body,html.a11y-lines-16 p,html.a11y-lines-16 li,html.a11y-lines-16 a{line-height:1.6!important}
html.a11y-lines-20 body,html.a11y-lines-20 p,html.a11y-lines-20 li,html.a11y-lines-20 a{line-height:2!important}
html.a11y-contrast-high{filter:contrast(1.35)}
html.a11y-contrast-invert{filter:invert(1) hue-rotate(180deg)}
html.a11y-contrast-mono{filter:grayscale(1)}
/* Keep the widget itself usable under invert so the user can switch it back off */
html.a11y-contrast-invert #a11y-fab,html.a11y-contrast-invert #a11y-panel{filter:invert(1) hue-rotate(180deg)}
html.a11y-cursor-black,html.a11y-cursor-black *{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M7 3 L7 25 L12.5 20 L15.5 28 L19 26.5 L16 19 L23 19 Z" fill="black" stroke="white" stroke-width="1.5"/></svg>') 7 3,auto}
html.a11y-cursor-large,html.a11y-cursor-large *{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="52" height="52" viewBox="0 0 32 32"><path d="M7 3 L7 25 L12.5 20 L15.5 28 L19 26.5 L16 19 L23 19 Z" fill="black" stroke="white" stroke-width="1.5"/></svg>') 11 5,auto}
html.a11y-reduce-motion *,html.a11y-reduce-motion *::before,html.a11y-reduce-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}

/* Never carry a11y filters/sizes onto printed pages */
@media print{
  html[class*="a11y-"]{filter:none!important}
  html[class*="a11y-text-"] body{font-size:100%!important}
  html[class*="a11y-lines-"] body{line-height:normal!important}
  .a11y-fab,.a11y-panel{display:none!important}
}

/* ============================================================
   METHOD ORBIT — "איך תבני עסק דיגיטלי מהבית?" trinity circle
   ============================================================ */
.method.sect{padding-block:clamp(38px,2.4rem + 2vw,74px)}
.method__head{text-align:center}
.method__head .kick{justify-content:center}
.method__q{font-family:var(--font-display);font-weight:700;font-size:clamp(1.9rem,1.5rem + 2vw,2.9rem);
  letter-spacing:-0.01em;color:var(--sca-dark);margin-top:14px;text-wrap:balance}
.orbit{position:relative;width:min(92vw,650px);aspect-ratio:1;margin:clamp(12px,1.6vw,24px) auto 0}
/* soft cream halo so the circle reads calmly over the busy video */
.orbit::before{content:"";position:absolute;inset:-14%;border-radius:50%;z-index:0;pointer-events:none;
  background:radial-gradient(circle,rgba(249,245,238,.9) 0%,rgba(249,245,238,.5) 52%,transparent 72%)}
.orbit__rings{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:0}
.orbit__ring-soft{fill:none;stroke:rgba(107,63,49,.16);stroke-width:1}
.orbit__ring-dash{fill:none;stroke:rgba(214,172,63,.6);stroke-width:1.4;stroke-dasharray:1.5 11;stroke-linecap:round;
  transform-box:fill-box;transform-origin:center;animation:orbitSpin 70s linear infinite}
@keyframes orbitSpin{to{transform:rotate(360deg)}}
.orbit__spoke{stroke:rgba(214,172,63,.38);stroke-width:1}

/* central hub */
.orbit__hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;
  width:clamp(158px,31%,208px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 50% 34%,#fff,#FBF6EE);
  border:1px solid rgba(214,172,63,.5);
  box-shadow:0 14px 40px rgba(61,52,48,.16),0 0 30px rgba(214,172,63,.16),inset 0 0 0 6px rgba(255,255,255,.55);
  display:grid;place-items:center;text-align:center;padding:16px}
.orbit__hub-default,.hub-desc{grid-area:1/1;transition:opacity .35s var(--ease-out)}
.orbit__hub-mark{display:block;font-size:24px;color:var(--sca-gold);line-height:1}
.orbit__hub-txt{display:block;margin-top:7px;font-family:var(--font-display);font-weight:700;
  font-size:clamp(13px,1.5vw,16px);color:var(--mauve-ink);line-height:1.3}
.hub-desc{margin:0;opacity:0;font-size:clamp(11.5px,1.4vw,13.5px);line-height:1.5;color:var(--sca-dark);max-width:20ch}
.orbit[data-active="tech"] .orbit__hub-default,
.orbit[data-active="psych"] .orbit__hub-default,
.orbit[data-active="guide"] .orbit__hub-default{opacity:0}
.orbit[data-active="tech"] .hub-desc--tech,
.orbit[data-active="psych"] .hub-desc--psych,
.orbit[data-active="guide"] .hub-desc--guide{opacity:1}

/* pillar nodes */
.orbit__node{position:absolute;transform:translate(-50%,-50%);z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:12px;width:164px;
  background:none;border:0;padding:0;cursor:pointer;font:inherit}
.orbit__node--tech{left:50%;top:18.3%}
.orbit__node--psych{left:77.5%;top:65.8%}
.orbit__node--guide{left:22.5%;top:65.8%}
.orbit__badge{display:grid;place-items:center;width:clamp(82px,15vw,108px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 50% 32%,#fff,#F7F0EA);border:1px solid rgba(107,63,49,.26);color:var(--sca-mauve);
  box-shadow:0 8px 22px rgba(61,52,48,.13),inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .35s var(--ease-out),box-shadow .35s,background .35s,color .35s,border-color .35s}
.orbit__badge svg{width:44%;height:44%}
.orbit__node b{font-family:var(--font-display);font-weight:700;font-size:clamp(15px,1.7vw,18px);color:var(--sca-dark);transition:color .3s}
.orbit__node:hover .orbit__badge,.orbit__node:focus-visible .orbit__badge,.orbit__node.is-active .orbit__badge{
  transform:scale(1.08);background:linear-gradient(150deg,var(--sca-mauve),var(--mauve-ink));color:#fff;border-color:transparent;
  box-shadow:0 14px 32px rgba(107,63,49,.28)}
.orbit__node.is-active b{color:var(--mauve-ink)}
.orbit__node:focus-visible{outline:none}
.orbit__node:focus-visible .orbit__badge{outline:3px solid var(--sca-gold);outline-offset:3px}

/* entrance choreography (gated on the reveal .in class) */
.js .orbit__hub{opacity:0;transform:translate(-50%,-50%) scale(.86)}
.js .orbit.in .orbit__hub{opacity:1;transform:translate(-50%,-50%) scale(1);
  transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.js .orbit__node{opacity:0;transform:translate(-50%,calc(-50% + 16px))}
.js .orbit.in .orbit__node{opacity:1;transform:translate(-50%,-50%);
  transition:opacity .55s var(--ease-out),transform .55s var(--ease-out)}
.js .orbit.in .orbit__node--tech{transition-delay:.16s}
.js .orbit.in .orbit__node--psych{transition-delay:.32s}
.js .orbit.in .orbit__node--guide{transition-delay:.48s}
.js .orbit__spoke{stroke-dasharray:210;stroke-dashoffset:210}
.js .orbit.in .orbit__spoke{stroke-dashoffset:0;transition:stroke-dashoffset .9s var(--ease-out) .3s}

@media (prefers-reduced-motion:reduce){
  .orbit__ring-dash{animation:none}
  .js .orbit__hub{opacity:1;transform:translate(-50%,-50%)}
  .js .orbit__node{opacity:1;transform:translate(-50%,-50%)}
  .js .orbit__spoke{stroke-dashoffset:0}
  .orbit__hub-default,.hub-desc,.orbit__badge,.orbit__node b{transition:none}
}

@media (max-width:560px){
  .orbit{width:min(94vw,460px)}
  .orbit__node{width:112px;gap:7px}
  .orbit__badge{width:clamp(70px,19vw,92px)}
  .orbit__hub{width:clamp(112px,30%,150px);padding:12px}
  .orbit__node--tech{top:15.5%}
  .orbit__node--psych{left:80%;top:67.5%}
  .orbit__node--guide{left:20%;top:67.5%}
}

/* ============================================================
   READABILITY UPLIFT — larger, airier type across the whole page.
   Root bump (109%) grows every rem/clamp heading together; the rules
   below lift the px-based text so body/labels keep pace with headings.
   ============================================================ */
body{font-size:1.06rem;line-height:1.8}
main p{line-height:1.85}

/* section kickers — bigger & clearer */
.kick{font-size:14.5px;letter-spacing:2.5px}

/* nav + interactive */
.btn{font-size:17px}
.nav__link{font-size:16px}
.brand__name{font-size:18px}
.nav__cta{font-size:15px !important}

/* content paragraphs & supporting text */
.fpoint h3{font-size:1.28rem}
.fpoint p{font-size:1.02rem;line-height:1.72}
.pillar p{font-size:16.5px}
.about p{font-size:18.5px;line-height:1.85}
.acc__body{font-size:17.5px;line-height:1.9}
.voice__q{font-size:21px;line-height:1.65}
.event p{font-size:16.5px;line-height:1.65}
.event__meta{font-size:14px}
.cta-band p{font-size:19.5px}
.prog-item p{font-size:16px}
.prog-flag p{font-size:17.5px}
.footer__links{font-size:16px}
.field label{font-size:15px}

/* ============================================================
   PROFESSIONS "word cloud" — real client professions, varied size/colour
   ============================================================ */
.professions.sect{background:var(--sca-cream)}
.prof-cloud{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:clamp(10px,1.4vw,18px) clamp(16px,2.4vw,32px);
  max-width:58rem;margin:clamp(30px,4vw,52px) auto 0;
  font-family:var(--font-display);line-height:1.05;text-align:center}
.prof-word{white-space:nowrap;transition:color .25s var(--ease-out),transform .25s var(--ease-out)}
.prof-word:hover{color:var(--sca-mauve);transform:translateY(-3px)}
.pw-xl{font-size:clamp(1.65rem,1.2rem + 1.5vw,2.45rem);font-weight:800;color:var(--mauve-ink)}
.pw-lg{font-size:clamp(1.3rem,1rem + 1vw,1.85rem);font-weight:700;color:var(--sca-mauve)}
.pw-md{font-size:clamp(1.08rem,.9rem + .55vw,1.4rem);font-weight:600;color:var(--sca-dark)}
.pw-sm{font-size:clamp(.98rem,.88rem + .3vw,1.12rem);font-weight:600;color:var(--sca-muted)}
/* staggered, organic entrance */
.js .prof-cloud>*{opacity:0;transform:translateY(12px)}
.js .prof-cloud.in>*{opacity:1;transform:none;
  transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);transition-delay:calc(var(--i,0) * 45ms)}
@media (prefers-reduced-motion:reduce){.js .prof-cloud>*{opacity:1;transform:none;transition:none}}

/* ============================================================
   FIT FORM — qualifying wizard in the "first step" (#strategy) band
   ============================================================ */
.fit-form{max-width:600px;margin:26px auto 0;background:#fff;border-radius:22px;padding:clamp(22px,3vw,34px);
  box-shadow:0 22px 60px rgba(61,52,48,.3);text-align:center;position:relative}
.fit-steps{display:flex;gap:8px;justify-content:center;margin-bottom:22px}
.fit-steps span{width:28px;height:4px;border-radius:2px;background:var(--sca-border);transition:background .35s}
.fit-steps span.on{background:var(--sca-mauve)}
.fit-step h3{font-family:var(--font-display);font-weight:700;font-size:clamp(1.2rem,1rem + .8vw,1.55rem);color:var(--sca-dark);margin-bottom:18px;line-height:1.3}
.fit-opts{display:flex;flex-direction:column;gap:10px}
.fit-opts button{font:inherit;font-weight:600;font-size:15px;color:var(--sca-dark);background:var(--sca-cream);
  border:1.5px solid var(--sca-border);border-radius:14px;padding:14px 18px;min-height:52px;cursor:pointer;
  transition:border-color .2s var(--ease-out),background .2s,transform .15s,box-shadow .2s}
.fit-opts button:hover{border-color:var(--sca-mauve);background:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(107,63,49,.14)}
.fit-opts button:active{transform:translateY(0)}
.fit-back{margin-top:16px;background:none;border:none;color:var(--sca-muted);font-size:13px;font-weight:600;cursor:pointer}
.fit-back:hover{color:var(--sca-mauve)}
.fit-fields{display:flex;flex-direction:column;gap:14px}
.fit-field{display:flex;flex-direction:column;gap:6px;text-align:right}
.fit-field span{font-weight:600;font-size:14px;color:var(--sca-dark)}
.fit-field input{font:inherit;font-size:16px;color:var(--sca-dark);background:var(--sca-cream);
  border:1.5px solid var(--sca-border);border-radius:14px;padding:14px 16px;min-height:52px;width:100%;
  transition:border-color .2s var(--ease-out),background .2s,box-shadow .2s}
.fit-field input::placeholder{color:var(--sca-muted);opacity:.75}
.fit-field input:focus{outline:none;border-color:var(--sca-mauve);background:#fff;box-shadow:0 0 0 3px rgba(107,63,49,.14)}
.fit-form [data-fit-next]{width:100%;margin-top:18px}
.fit-err{color:#B4436B;font-size:14px;font-weight:600;margin-top:12px;text-align:right}
.fit-result__ico{display:inline-block;font-size:34px;color:var(--sca-gold);line-height:1;margin-bottom:8px}
.fit-result h3{font-size:clamp(1.35rem,1.1rem + 1vw,1.85rem)}
.fit-result p{color:var(--sca-dark);line-height:1.7;margin-bottom:22px;font-size:16px;max-width:44ch;margin-inline:auto}
.fit-result .btn{background:var(--sca-mauve);color:#fff}
.fit-result .btn:hover{background:var(--mauve-ink)}
.fit-restart{display:block;margin:16px auto 0;background:none;border:none;color:var(--sca-muted);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.fit-restart:hover{color:var(--sca-mauve)}
/* gentle step transition */
.js .fit-step{animation:fitIn .4s var(--ease-out)}
@keyframes fitIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.js .fit-step{animation:none}}

/* method orbit text keeps pace (enlarged diagram) */
.orbit__node b{font-size:clamp(17px,1.9vw,22px)}
.hub-desc{font-size:clamp(13px,1.5vw,16px)}
.orbit__hub-txt{font-size:clamp(15px,1.7vw,19px)}
.orbit__hub-mark{font-size:30px}
