/* ===========================================================
   OVERTONE - "Stage Lights"  |  RTL Hebrew  |  static, no build
   =========================================================== */

:root{
  --bg:#0B0B0F; --bg-2:#101018; --surface:#15151F; --surface-2:#1C1C28;
  --gold:#F4C95D; --gold-dim:#C9A24B;
  --magenta:#E8467C; --violet:#8B5CF6;
  --text:#F6F4EF; --text-2:#DAD6E0; --muted:#A7A3B2; --line:#2A2A38;
  --cookie-h:0px;
  --error:#FF6B6B; --ok:#4ADE80;
  --maxw:1240px; --gutter:clamp(18px,4vw,48px);
  --radius:18px; --radius-lg:28px;
  --shadow:0 24px 60px -20px rgba(0,0,0,.7);
  --glow-gold:0 0 0 1px rgba(244,201,93,.25), 0 18px 50px -12px rgba(244,201,93,.35);
  --ease:cubic-bezier(.22,.61,.36,1);
  --header-h:74px;
  --ff:"Heebo",system-ui,"Segoe UI",Arial,sans-serif;
  --ff-display:"Anton",Impact,sans-serif;
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  font-family:var(--ff);background:var(--bg);color:var(--text);
  line-height:1.6;font-weight:400;font-size:17px;
  overflow-x:hidden;text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
@media (min-width:1024px){body{font-size:18px}}
img,picture,video,iframe,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}
ul{list-style:none}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
::selection{background:var(--magenta);color:#fff}

/* ---------- layout ---------- */
.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
section{position:relative}
.sec{padding-block:clamp(56px,9vw,128px)}
.sec-tight{padding-block:clamp(40px,6vw,80px)}
.eyebrow{
  font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  font-size:.78rem;color:var(--gold);display:inline-flex;align-items:center;gap:.6em;
}
.eyebrow::before{content:"";inline-size:26px;block-size:2px;background:var(--gold)}

/* ---------- typography ---------- */
h1,h2,h3,h4{line-height:1.12;font-weight:800;letter-spacing:-.01em}
.h-hero{
  font-weight:900;line-height:1.02;letter-spacing:-.02em;
  font-size:clamp(46px,9vw,104px);
}
.h2{font-size:clamp(30px,4.4vw,56px);font-weight:800;line-height:1.1}
.h3{font-size:clamp(21px,2.4vw,30px);font-weight:700}
.lead{font-size:clamp(18px,2vw,23px);color:var(--text);font-weight:300;line-height:1.5}
.muted{color:var(--muted)}
.display{font-family:var(--ff-display);font-weight:400;letter-spacing:.02em}
.gold{color:var(--gold)}
.mag{color:var(--magenta)}
p{max-width:72ch}

/* gradient stage glow utility */
.stage-glow::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(60% 50% at 78% 12%,rgba(232,70,124,.18),transparent 60%),
    radial-gradient(55% 50% at 12% 22%,rgba(139,92,246,.16),transparent 60%),
    radial-gradient(50% 60% at 50% 100%,rgba(244,201,93,.12),transparent 65%);
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-weight:700;font-size:1.02rem;padding:.92em 1.6em;border-radius:999px;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s;
  will-change:transform;line-height:1;text-align:center;
}
.btn svg{inline-size:1.15em;block-size:1.15em;flex:none}
.btn-primary{background:linear-gradient(135deg,var(--gold),#ffd97a);color:#1a1408;box-shadow:var(--glow-gold)}
.btn-primary:hover,.btn-primary:focus-visible{transform:translateY(-3px)}
.btn-ghost{border:1.5px solid rgba(246,244,239,.28);color:var(--text);background:rgba(255,255,255,.02)}
.btn-ghost:hover,.btn-ghost:focus-visible{border-color:var(--gold);color:var(--gold);transform:translateY(-3px)}
.btn-mag{background:linear-gradient(135deg,var(--magenta),#ff6fa0);color:#fff}
.btn-mag:hover,.btn-mag:focus-visible{transform:translateY(-3px);box-shadow:0 18px 50px -12px rgba(232,70,124,.5)}
.btn-lg{font-size:1.12rem;padding:1.05em 2em}

/* ---------- skip link ---------- */
.skip-link{
  position:fixed;inset-block-start:-200px;inset-inline-start:16px;z-index:1000;
  background:var(--gold);color:#1a1408;padding:.8em 1.2em;border-radius:10px;font-weight:700;
  transition:inset-block-start .2s;
}
.skip-link:focus{inset-block-start:16px}

/* ===========================================================
   HEADER / NAV
   =========================================================== */
.site-header{
  position:fixed;inset-block-start:0;inset-inline:0;z-index:200;
  block-size:var(--header-h);display:flex;align-items:center;
  transition:background .3s,box-shadow .3s,backdrop-filter .3s;
}
.site-header.scrolled{
  background:rgba(11,11,15,.86);backdrop-filter:blur(14px);
  box-shadow:0 1px 0 var(--line);
}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;flex:none}
.brand img{block-size:42px;width:auto}
.nav-main{display:flex;align-items:center;gap:.2rem}
.nav-main a{
  padding:.55em .85em;border-radius:10px;font-weight:500;font-size:.97rem;color:var(--text);
  transition:color .2s,background .2s;position:relative;white-space:nowrap;
}
.nav-main a:hover,.nav-main a:focus-visible,.nav-main a[aria-current="page"]{color:var(--gold)}
.has-sub{position:relative}
.has-sub>button{display:flex;align-items:center;gap:.35em;padding:.55em .85em;border-radius:10px;font-weight:500;font-size:.97rem;color:var(--text)}
.has-sub>button:hover,.has-sub:focus-within>button{color:var(--gold)}
.has-sub>button svg{inline-size:.7em;block-size:.7em;transition:transform .25s}
.has-sub:hover>button svg,.has-sub:focus-within>button svg{transform:rotate(180deg)}
.submenu{
  position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;min-inline-size:230px;
  background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:.5rem;
  box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .2s,transform .2s,visibility .2s;
}
.has-sub:hover .submenu,.has-sub:focus-within .submenu,.has-sub.open .submenu{opacity:1;visibility:visible;transform:translateY(0)}
.submenu a{display:block;padding:.6em .8em;border-radius:9px}
.submenu a:hover,.submenu a:focus-visible{background:var(--surface-2)}
.header-cta{display:flex;align-items:center;gap:.6rem;flex:none}
.nav-toggle{display:none;flex-direction:column;gap:5px;padding:10px;border-radius:10px}
.nav-toggle span{inline-size:24px;block-size:2px;background:var(--text);border-radius:2px;transition:.3s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* mobile drawer */
@media (max-width:1024px){
  .nav-toggle{display:flex}
  .nav-wrap{
    position:fixed;inset-block-start:var(--header-h);inset-inline:0;inset-block-end:0;
    background:rgba(11,11,15,.97);backdrop-filter:blur(16px);
    flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.2rem;
    padding:1.2rem var(--gutter) 2rem;overflow-y:auto;
    transform:translateX(100%);transition:transform .35s var(--ease);
    visibility:hidden;
  }
  .nav-wrap.open{transform:translateX(0);visibility:visible}
  .nav-main{flex-direction:column;align-items:stretch;gap:.1rem}
  .nav-main a,.has-sub>button{font-size:1.15rem;padding:.85em .5em;border-block-end:1px solid var(--line);border-radius:0;width:100%;justify-content:space-between}
  .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;padding:0 0 .4rem 0;max-block-size:0;overflow:hidden;transition:max-block-size .3s}
  .has-sub.open .submenu{max-block-size:400px}
  .submenu a{font-size:1rem;color:var(--muted);padding-inline-start:1.2em}
  .header-cta .btn{display:none}
}

/* ===========================================================
   HERO
   =========================================================== */
.hero{
  min-block-size:100svh;display:flex;align-items:flex-end;
  padding-block:calc(var(--header-h) + 40px) clamp(48px,8vh,96px);
  position:relative;overflow:hidden;isolation:isolate;
}
.hero-media{position:absolute;inset:0;z-index:-2}
.hero-media img{inline-size:100%;block-size:100%;object-fit:cover;object-position:center 30%}
/* rotating hero slideshow */
.hero-slider .hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}
.hero-slider .hero-slide.is-active{opacity:1}
@media (prefers-reduced-motion:reduce){.hero-slider .hero-slide{transition:none}}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(to top,var(--bg) 4%,rgba(11,11,15,.35) 48%,rgba(11,11,15,.72) 100%),
    radial-gradient(70% 55% at 80% 8%,rgba(232,70,124,.30),transparent 60%),
    radial-gradient(60% 50% at 8% 18%,rgba(139,92,246,.26),transparent 60%);
}
.hero-inner{position:relative;z-index:1;width:100%}
.hero h1{margin-block:.2em .35em;max-width:14ch}
.hero .lead{max-width:34ch;margin-block-end:1.8em}
.hero-cta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.hero-proof{
  display:flex;flex-wrap:wrap;gap:clamp(1.2rem,4vw,3rem);margin-block-start:clamp(2.4rem,5vh,3.6rem);
  padding-block-start:1.8rem;border-block-start:1px solid var(--line);
}
.hero-proof .pf{display:flex;flex-direction:column;gap:.1em}
.hero-proof .pf b{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:900;color:var(--gold);line-height:1}
.hero-proof .pf span{font-size:.92rem;color:var(--muted);font-weight:500}

/* ===========================================================
   MARQUEE
   =========================================================== */
.marquee{
  border-block:1px solid var(--line);background:var(--bg-2);
  padding-block:clamp(14px,2vw,22px);overflow:hidden;white-space:nowrap;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marquee-track{display:inline-flex;gap:0;animation:marquee 28s linear infinite}
.marquee-track span{
  font-family:var(--ff-display);font-size:clamp(22px,3.4vw,42px);
  letter-spacing:.03em;padding-inline:1.1em;color:transparent;
  -webkit-text-stroke:1px rgba(246,244,239,.5);text-stroke:1px rgba(246,244,239,.5);
  display:inline-flex;align-items:center;gap:1.1em;
}
.marquee-track span::after{content:"●";-webkit-text-stroke:0;color:var(--gold);font-size:.4em}
.marquee-track span:nth-child(odd){color:var(--gold);-webkit-text-stroke:0}
@keyframes marquee{to{transform:translateX(50%)}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* ===========================================================
   BENTO - services
   =========================================================== */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(14px,1.6vw,22px);margin-block-start:clamp(2rem,4vw,3.4rem)}
.bento-card{
  position:relative;overflow:hidden;border-radius:var(--radius-lg);
  background:var(--surface);border:1px solid var(--line);
  min-block-size:240px;display:flex;flex-direction:column;justify-content:flex-end;
  padding:clamp(20px,2.4vw,34px);isolation:isolate;
  transition:transform .4s var(--ease),border-color .3s;
}
.bento-card:hover{transform:translateY(-6px);border-color:rgba(244,201,93,.4)}
.bento-card .bg{position:absolute;inset:0;z-index:-2}
.bento-card .bg img{inline-size:100%;block-size:100%;object-fit:cover;transition:transform .6s var(--ease)}
.bento-card:hover .bg img{transform:scale(1.06)}
.bento-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(8,8,12,.94) 12%,rgba(8,8,12,.45) 55%,rgba(8,8,12,.2))}
.bento-card h3{margin-block-end:.3em}
.bento-card p{color:var(--text-2);font-size:1rem;margin-block-end:.9em}
.bento-card .more{color:var(--gold);font-weight:700;font-size:.94rem;display:inline-flex;align-items:center;gap:.4em}
.bento-card .more svg{inline-size:.85em;block-size:.85em;transition:transform .25s}
.bento-card:hover .more svg{transform:translateX(-4px)}
.bento-card.lg{grid-column:span 4;min-block-size:380px}
.bento-card.md{grid-column:span 2;min-block-size:300px}
.bento-card.sm{grid-column:span 2}
.bento-card.tall{grid-column:span 2;grid-row:span 2}
/* client logo wall (faithful full list, on light chips) */
.logo-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:clamp(10px,1.2vw,16px);margin-block-start:clamp(1.4rem,3vw,2.2rem)}
.logo-wall .chip{background:#fff;border-radius:14px;aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;padding:12px;border:1px solid rgba(255,255,255,.08);transition:transform .25s,box-shadow .25s}
.logo-wall .chip:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.4)}
.logo-wall .chip img{max-inline-size:100%;max-block-size:100%;width:auto;height:auto;object-fit:contain}
/* uniform services grid (linked cards) */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(14px,1.8vw,22px);margin-block-start:clamp(1.4rem,3vw,2.2rem)}
.services-grid .bento-card{min-block-size:280px}
/* a stat-only card (variation) */
.bento-card.stat{justify-content:center;align-items:flex-start;background:linear-gradient(150deg,var(--surface-2),var(--surface));border-color:rgba(244,201,93,.22)}
.bento-card.stat::after{display:none}
.bento-card.stat .num{font-size:clamp(3rem,6vw,5rem);font-weight:900;color:var(--gold);line-height:1}
.bento-card.stat .lbl{color:var(--text);font-weight:600;margin-block-start:.3em}

/* ===========================================================
   STATS row
   =========================================================== */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,28px);text-align:center}
.stats .st{padding:clamp(20px,2.5vw,34px) 1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.stats .st b{display:block;font-size:clamp(2.2rem,5vw,3.6rem);font-weight:900;color:var(--gold);line-height:1}
.stats .st span{color:var(--muted);font-weight:500;font-size:.98rem;margin-block-start:.4em;display:block}

/* ===========================================================
   EDITORIAL about
   =========================================================== */
.editorial{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,64px);align-items:center}
.editorial .media{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line)}
.editorial .media img{inline-size:100%;aspect-ratio:5/4;object-fit:cover}
.editorial .media .badge{
  position:absolute;inset-block-end:18px;inset-inline-start:18px;
  background:rgba(11,11,15,.78);backdrop-filter:blur(8px);border:1px solid var(--line);
  padding:.7em 1.1em;border-radius:14px;font-family:var(--ff-display);color:var(--gold);font-size:1.1rem;letter-spacing:.03em;
}
.editorial .txt h2{margin-block:.2em .6em}
.editorial .txt p{color:var(--muted);margin-block-end:1em}
.brand-line{font-family:var(--ff-display);color:var(--gold);font-size:clamp(1.3rem,2.6vw,2rem);letter-spacing:.04em;margin-block-start:.4em}

/* ===========================================================
   VIDEO facade
   =========================================================== */
.videos{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(16px,2vw,26px);margin-block-start:clamp(1.6rem,3vw,2.6rem)}
.vid{
  position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
  aspect-ratio:16/9;background:var(--surface);cursor:pointer;
}
.vid img{inline-size:100%;block-size:100%;object-fit:cover;opacity:.7;transition:opacity .3s,transform .5s var(--ease)}
.vid:hover img{opacity:.55;transform:scale(1.05)}
.vid .play{
  position:absolute;inset:0;margin:auto;inline-size:64px;block-size:64px;border-radius:50%;
  background:rgba(244,201,93,.95);display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px rgba(0,0,0,.5);transition:transform .25s var(--ease);
}
.vid:hover .play{transform:scale(1.12)}
.vid .play svg{inline-size:24px;block-size:24px;fill:#1a1408;margin-inline-start:3px}
.vid .cap{position:absolute;inset-block-end:0;inset-inline:0;padding:1.6em .9em .8em;background:linear-gradient(to top,rgba(8,8,12,.92),transparent);font-weight:600;font-size:.95rem}
.vid iframe{position:absolute;inset:0;inline-size:100%;block-size:100%;border:0}

/* ===========================================================
   TESTIMONIALS - horizontal scroll
   =========================================================== */
.tst-scroll{display:flex;gap:clamp(16px,2vw,24px);overflow-x:auto;scroll-snap-type:x mandatory;padding-block:.6rem 1.4rem;margin-block-start:clamp(1.6rem,3vw,2.6rem);scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.tst-scroll::-webkit-scrollbar{block-size:8px}
.tst-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}
.tst{
  flex:0 0 min(86vw,420px);scroll-snap-align:start;
  background:linear-gradient(155deg,var(--surface-2),var(--surface));border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:clamp(24px,2.6vw,36px);display:flex;flex-direction:column;gap:1rem;
}
.tst .quote{font-size:2.4rem;font-family:var(--ff-display);color:var(--gold);line-height:.5;height:.5em}
.tst p{color:var(--text);font-weight:300;font-size:1.04rem;line-height:1.55;flex:1}
.tst .who{font-weight:700;color:var(--gold)}

/* ===========================================================
   CLIENTS strip
   =========================================================== */
.clients{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(28px,4vw,60px);margin-block-start:clamp(1.6rem,3vw,2.4rem)}
.clients img{block-size:clamp(34px,4vw,52px);width:auto;object-fit:contain;filter:grayscale(1) brightness(0) invert(.82);opacity:.6;transition:opacity .3s,filter .3s}
.clients img:hover{opacity:1;filter:grayscale(0) brightness(1) invert(0)}

/* ===========================================================
   CTA band
   =========================================================== */
.cta-band{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:linear-gradient(140deg,var(--surface-2),var(--surface));border:1px solid var(--line);padding:clamp(34px,5vw,72px);text-align:center;isolation:isolate}
.cta-band h2{margin-block-end:.4em}
.cta-band .brand-line{margin-block:.6em 1.4em}
.cta-band .row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}

/* ===========================================================
   SEO accordion (home long text)
   =========================================================== */
.seo-acc{margin-block-start:clamp(1.4rem,3vw,2.2rem);display:flex;flex-direction:column;gap:.8rem}
.seo-acc details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.seo-acc summary{padding:1.1em 1.3em;font-weight:700;font-size:1.08rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none}
.seo-acc summary::-webkit-details-marker{display:none}
.seo-acc summary::after{content:"+";color:var(--gold);font-size:1.5rem;font-weight:400;transition:transform .25s}
.seo-acc details[open] summary::after{transform:rotate(45deg)}
.seo-acc .body{padding:0 1.3em 1.3em;color:var(--muted)}
.seo-acc .body h3{color:var(--text);font-size:1.1rem;margin-block:1em .4em}
.seo-acc .body p{margin-block-end:.8em;max-width:none;color:var(--text-2);line-height:1.75}
.seo-acc .body img{border-radius:14px;margin-block:1em;border:1px solid var(--line)}
.seo-acc .body ul{list-style:disc;padding-inline-start:1.4em;margin-block-end:.8em}
.seo-acc .body li{margin-block-end:.3em}

/* ===========================================================
   FOOTER
   =========================================================== */
.site-footer{background:var(--bg-2);border-block-start:1px solid var(--line);padding-block:clamp(48px,6vw,80px) 2rem;margin-block-start:clamp(40px,6vw,90px)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(28px,4vw,56px)}
.footer-grid h4{color:var(--gold);font-size:1.05rem;margin-block-end:1em}
.site-footer .brand img{block-size:48px;margin-block-end:1rem}
.site-footer p{color:var(--muted);font-size:1rem;max-width:42ch;line-height:1.7}
.footer-nav a,.footer-contact a{display:flex;align-items:center;gap:.5em;color:var(--muted);padding-block:.42em;transition:color .2s}
.footer-nav a:hover,.footer-nav a:focus-visible,.footer-contact a:hover,.footer-contact a:focus-visible{color:var(--gold)}
.footer-contact a svg{inline-size:1.1em;block-size:1.1em;color:var(--gold);flex:none}
.social{display:flex;gap:.7rem;margin-block-start:1.2rem}
.social a{inline-size:42px;block-size:42px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--text);transition:.25s}
.social a:hover,.social a:focus-visible{background:var(--gold);color:#1a1408;border-color:var(--gold);transform:translateY(-3px)}
.social a svg{inline-size:20px;block-size:20px}
.footer-bottom{margin-block-start:clamp(32px,4vw,52px);padding-block-start:1.6rem;border-block-start:1px solid var(--line);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;color:var(--muted);font-size:.88rem}
.footer-bottom .links{display:flex;gap:1.2rem;flex-wrap:wrap}
.footer-bottom button,.footer-bottom a{color:var(--muted);transition:color .2s}
.footer-bottom button:hover,.footer-bottom a:hover,.footer-bottom button:focus-visible,.footer-bottom a:focus-visible{color:var(--gold)}

/* ===========================================================
   FLOATING - whatsapp
   =========================================================== */
.wa-float{
  position:fixed;inset-block-end:22px;inset-inline-start:22px;z-index:160;
  inline-size:58px;block-size:58px;border-radius:50%;background:#25D366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 30px rgba(0,0,0,.45);transition:transform .25s var(--ease),inset-block-end .35s var(--ease);
}
.wa-float:hover,.wa-float:focus-visible{transform:scale(1.08)}
.wa-float svg{inline-size:32px;block-size:32px;fill:#fff}

/* ===========================================================
   ACCESSIBILITY menu
   =========================================================== */
.a11y-btn{
  position:fixed;inset-block-end:22px;inset-inline-end:22px;z-index:160;
  inline-size:58px;block-size:58px;border-radius:50%;background:var(--violet);
  display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(0,0,0,.45);
  transition:transform .25s var(--ease),inset-block-end .35s var(--ease);
}
.a11y-btn:hover,.a11y-btn:focus-visible{transform:scale(1.08)}
/* lift floating buttons above the cookie banner while it is open */
html.cookie-open .wa-float,html.cookie-open .a11y-btn{inset-block-end:calc(var(--cookie-h) + 30px)}
html.cookie-open .a11y-panel{inset-block-end:calc(var(--cookie-h) + 100px)}
.a11y-btn svg{inline-size:30px;block-size:30px;fill:#fff}
.a11y-panel{
  position:fixed;inset-block-end:92px;inset-inline-end:22px;z-index:165;
  inline-size:min(330px,calc(100vw - 44px));background:var(--surface);border:1px solid var(--line);
  border-radius:18px;box-shadow:var(--shadow);padding:1.2rem;
  opacity:0;visibility:hidden;transform:translateY(14px) scale(.97);transform-origin:bottom left;
  transition:opacity .25s,transform .25s,visibility .25s;max-block-size:min(70vh,560px);overflow-y:auto;
}
.a11y-panel.open{opacity:1;visibility:visible;transform:none}
.a11y-panel h2{font-size:1.1rem;color:var(--gold);margin-block-end:.9rem;display:flex;align-items:center;justify-content:space-between}
.a11y-panel h2 button{font-size:1.5rem;line-height:1;color:var(--muted);min-inline-size:36px;min-block-size:36px;border-radius:8px}
.a11y-panel h2 button:hover,.a11y-panel h2 button:focus-visible{color:var(--gold);background:var(--surface-2)}
.a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.a11y-grid button{
  display:flex;flex-direction:column;align-items:center;gap:.4em;text-align:center;
  padding:.85em .5em;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);
  font-size:.82rem;font-weight:600;color:var(--text);transition:.2s;line-height:1.2;
}
.a11y-grid button svg{inline-size:22px;block-size:22px;color:var(--gold)}
.a11y-grid button:hover,.a11y-grid button:focus-visible{border-color:var(--gold)}
.a11y-grid button[aria-pressed="true"]{background:var(--gold);color:#1a1408;border-color:var(--gold)}
.a11y-grid button[aria-pressed="true"] svg{color:#1a1408}
.a11y-reset{grid-column:span 2;background:transparent !important;color:var(--muted) !important;border-style:dashed !important}

/* a11y modes (applied on <html>) */
html.a11y-contrast{--bg:#000;--bg-2:#000;--surface:#0a0a0a;--surface-2:#111;--text:#fff;--muted:#eee;--line:#fff;--gold:#ffe600;--magenta:#ff7ab0}
html.a11y-contrast img{filter:contrast(1.15)}
html.a11y-gray{filter:grayscale(1)}
html.a11y-links a,html.a11y-links button.linklike{text-decoration:underline !important;text-underline-offset:3px}
html.a11y-readable,html.a11y-readable *{font-family:Arial,"Heebo",sans-serif !important;letter-spacing:.01em}
html.a11y-nomotion *{animation:none !important;transition:none !important;scroll-behavior:auto !important}
html.a11y-nomotion [data-reveal]{opacity:1 !important;transform:none !important}
html.a11y-focus :focus,html.a11y-focus a:focus,html.a11y-focus button:focus{outline:4px solid var(--gold) !important;outline-offset:3px}

/* ===========================================================
   COOKIE banner
   =========================================================== */
.cookie{
  position:fixed;inset-block-end:0;inset-inline:0;z-index:150;
  background:rgba(16,16,24,.97);backdrop-filter:blur(12px);border-block-start:1px solid var(--line);
  padding:1rem var(--gutter);display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;justify-content:center;
  transform:translateY(110%);transition:transform .4s var(--ease);
}
.cookie.show{transform:translateY(0)}
.cookie p{color:var(--muted);font-size:.92rem;max-width:70ch;margin:0}
.cookie p a{color:var(--gold);text-decoration:underline}
.cookie .btn{padding:.7em 1.6em;flex:none}

/* ===========================================================
   MODALS (dialog)
   =========================================================== */
dialog{
  margin:auto;border:1px solid var(--line);background:var(--surface);color:var(--text);
  border-radius:var(--radius-lg);padding:0;max-inline-size:min(560px,92vw);inline-size:100%;
  box-shadow:var(--shadow);overflow:visible;
}
dialog::backdrop{background:rgba(5,5,8,.78);backdrop-filter:blur(4px)}
dialog[open]{animation:dlg .3s var(--ease)}
@keyframes dlg{from{opacity:0;transform:translateY(16px) scale(.98)}}
@media (prefers-reduced-motion:reduce){dialog[open]{animation:none}}
.modal-in{padding:clamp(24px,3vw,40px)}
.modal-in h2{color:var(--gold);font-size:clamp(1.4rem,2.4vw,1.9rem);margin-block-end:.3em}
.modal-in .sub{color:var(--muted);margin-block-end:1.4rem}
.dlg-close{position:absolute;inset-block-start:14px;inset-inline-end:14px;inline-size:38px;block-size:38px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--muted);z-index:2;transition:.2s}
.dlg-close:hover,.dlg-close:focus-visible{background:var(--magenta);color:#fff}
.modal-doc{max-inline-size:min(720px,94vw);max-block-size:88vh;overflow-y:auto}
.modal-doc h3{color:var(--gold);margin-block:1.2em .4em;font-size:1.12rem}
.modal-doc p,.modal-doc li{color:var(--muted);font-size:.96rem;margin-block-end:.7em;max-width:none}
.modal-doc ul{list-style:disc;padding-inline-start:1.4em}

/* discount popup */
#discountModal{max-inline-size:min(440px,92vw);text-align:center;overflow:hidden}
.discount-in{padding:clamp(28px,4vw,44px);position:relative;background:linear-gradient(160deg,var(--surface-2),var(--surface))}
.discount-in .tag{font-family:var(--ff-display);color:var(--gold);font-size:clamp(2.4rem,7vw,3.6rem);line-height:1;letter-spacing:.02em}
.discount-in h2{color:var(--text);font-size:clamp(1.3rem,3vw,1.7rem);margin-block:.4em}
.discount-in p{color:var(--muted);margin-block-end:1.4rem}

/* ===========================================================
   FORMS
   =========================================================== */
.field{margin-block-end:1.1rem;text-align:start}
.field label{display:block;font-weight:600;margin-block-end:.45em;font-size:.96rem}
.field label .req{color:var(--magenta)}
.field input,.field select{
  inline-size:100%;padding:.85em 1em;border-radius:12px;background:var(--surface-2);
  border:1.5px solid var(--line);color:var(--text);font-family:inherit;font-size:1rem;transition:border-color .2s;
}
.field input:focus,.field select:focus{outline:none;border-color:var(--gold)}
.field input[aria-invalid="true"],.field select[aria-invalid="true"]{border-color:var(--error)}
.field input::placeholder{color:#6f6b7a}
.field .err{color:var(--error);font-size:.86rem;margin-block-start:.35em;min-block-size:1.1em;display:block}
.field-phone input{direction:ltr;text-align:start}
.consent{display:flex;gap:.6em;align-items:flex-start;font-size:.9rem;color:var(--muted);margin-block:.4rem 1rem;cursor:pointer}
.consent input{inline-size:18px;block-size:18px;margin-block-start:.15em;flex:none;accent-color:var(--gold)}
.form-note{font-size:.82rem;color:var(--muted);margin-block-start:.6rem}
.form-note a{color:var(--gold);text-decoration:underline}
.hpot{position:absolute;left:-9999px;opacity:0;pointer-events:none;height:0;overflow:hidden}
.form-status{padding:.9em 1.1em;border-radius:12px;font-weight:600;margin-block-end:1rem;display:none}
.form-status.ok{display:block;background:rgba(74,222,128,.12);border:1px solid var(--ok);color:var(--ok)}
.form-status.bad{display:block;background:rgba(255,107,107,.12);border:1px solid var(--error);color:var(--error)}
button.submitting{opacity:.7;pointer-events:none}
.spinner{inline-size:1.1em;block-size:1.1em;border:2px solid rgba(26,20,8,.35);border-top-color:#1a1408;border-radius:50%;animation:spin .7s linear infinite;display:none}
button.submitting .spinner{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===========================================================
   CONTENT PAGE template
   =========================================================== */
.page-hero{
  position:relative;padding-block:calc(var(--header-h) + clamp(40px,7vw,80px)) clamp(36px,6vw,70px);
  overflow:hidden;isolation:isolate;border-block-end:1px solid var(--line);
}
.page-hero .breadcrumb{font-size:.86rem;color:var(--muted);margin-block-end:1rem;display:flex;gap:.5em;flex-wrap:wrap}
.page-hero .breadcrumb a:hover{color:var(--gold)}
.page-hero h1{font-size:clamp(34px,6vw,68px);font-weight:900;letter-spacing:-.015em;max-width:18ch}
.page-hero .sub{color:var(--gold);font-weight:600;font-size:clamp(1.05rem,2vw,1.4rem);margin-block-start:.7em;max-width:46ch;font-family:var(--ff)}
.prose{max-width:74ch;margin-inline:auto}
.prose>*+*{margin-block-start:1.1em}
.prose p{color:var(--text-2);max-width:none;line-height:1.75}
.prose h2{font-size:clamp(1.5rem,3vw,2.1rem);color:var(--text);margin-block-start:1.6em}
.prose h3{font-size:clamp(1.2rem,2.2vw,1.5rem);color:var(--gold);margin-block-start:1.3em}
.prose img{border-radius:var(--radius);border:1px solid var(--line);margin-block:1.4em;inline-size:100%}
.prose ul{list-style:disc;padding-inline-start:1.5em;color:var(--muted)}
.prose li{margin-block-end:.4em}
.prose .brand-line{margin-block:1em}
.prose a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.inline-cta{background:linear-gradient(150deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(24px,3vw,40px);margin-block:clamp(2rem,4vw,3rem);text-align:center}
.inline-cta h2{color:var(--text);margin-block-end:.5em}
.inline-cta .row{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;margin-block-start:1.2rem}
.related{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-block-start:1.6rem}
.related a{display:block;padding:1.1em 1.2em;background:var(--surface);border:1px solid var(--line);border-radius:14px;font-weight:600;transition:.25s;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.related a:hover,.related a:focus-visible{border-color:var(--gold);color:var(--gold);transform:translateY(-3px)}
.related a svg{inline-size:1em;block-size:1em;color:var(--gold)}

/* gallery lightbox cards */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-block-start:1.6rem}
.gallery .gitem{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);cursor:zoom-in;aspect-ratio:3/2}
.gallery .gitem img{inline-size:100%;block-size:100%;object-fit:cover;transition:transform .5s var(--ease)}
.gallery .gitem:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.gallery .gitem:hover img{transform:scale(1.05)}
#lightbox{max-inline-size:min(1000px,96vw);background:transparent;border:0;box-shadow:none}
#lightbox img{inline-size:100%;block-size:auto;border-radius:14px}
#lightbox .dlg-close{inset-block-start:-46px;inset-inline-end:0}

/* ===========================================================
   404
   =========================================================== */
.err-page{min-block-size:100svh;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--header-h) var(--gutter) 2rem;position:relative;overflow:hidden;isolation:isolate}
.err-page .code{font-family:var(--ff-display);font-size:clamp(96px,22vw,260px);line-height:.9;color:transparent;-webkit-text-stroke:2px var(--gold);text-stroke:2px var(--gold)}
.err-page h1{font-size:clamp(1.6rem,4vw,2.6rem);margin-block:.3em .5em}
.err-page p{color:var(--muted);margin-inline:auto;margin-block-end:1.6rem}
.err-page .row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ===========================================================
   reveal animations (varied)
   =========================================================== */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
[data-reveal="side"]{transform:translateX(40px)}
[data-reveal="scale"]{transform:scale(.94)}
[data-reveal="pop"]{transform:scale(.78);transition:opacity .55s var(--ease),transform .55s cubic-bezier(.34,1.56,.64,1)}
[data-reveal="rise"]{transform:translateY(56px)}
[data-reveal].in{opacity:1;transform:none}
[data-reveal][data-delay="1"]{transition-delay:.07s}
[data-reveal][data-delay="2"]{transition-delay:.14s}
[data-reveal][data-delay="3"]{transition-delay:.21s}
[data-reveal][data-delay="4"]{transition-delay:.28s}
[data-reveal][data-delay="5"]{transition-delay:.35s}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1 !important;transform:none !important;transition:none}}

/* ===========================================================
   RESPONSIVE
   =========================================================== */
@media (max-width:1024px){
  .editorial{grid-template-columns:1fr}
  .editorial .media{order:-1}
  .footer-grid{grid-template-columns:1fr 1fr}
  .bento-card.lg{grid-column:span 6}
  .bento-card.md,.bento-card.sm,.bento-card.tall{grid-column:span 3;grid-row:span 1}
}
@media (max-width:680px){
  :root{--header-h:64px}
  .bento{grid-template-columns:1fr}
  .bento-card.lg,.bento-card.md,.bento-card.sm,.bento-card.tall{grid-column:span 1;min-block-size:230px}
  .stats{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .hero{min-block-size:92svh}
  .hero-cta{flex-direction:column;align-items:stretch}
  .hero-cta .btn{width:100%}
  .cookie{flex-direction:column;text-align:center;gap:.8rem}
  .a11y-grid{grid-template-columns:1fr 1fr}
  .footer-bottom{flex-direction:column;text-align:center}
}
@media (max-width:380px){
  .stats{grid-template-columns:1fr}
}
