/* Hero slider — loaded after fx.css / footer.css */
.hero{display:block;min-height:0;padding:0;overflow:hidden;position:relative;
  background:radial-gradient(900px 600px at 12% 20%,rgba(30,148,214,.10),transparent 70%),radial-gradient(700px 500px at 40% 100%,rgba(245,138,75,.12),transparent 70%),linear-gradient(120deg,#fbf8f4 0%,#f6efe5 60%,#efe5d6 100%);perspective:none}
.hero::before{display:none}
.sl-track{display:grid;min-height:100vh;min-height:100svh}
.sl{grid-area:1/1;position:relative;display:flex;align-items:center;min-height:100vh;min-height:100svh;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 0s 1s}
.sl.on{opacity:1;visibility:visible;z-index:2;transition:opacity .8s ease,visibility 0s}
.sl.out{z-index:1}

/* ----- media (right, slanted edge) ----- */
.sl-media{position:absolute;top:0;right:0;bottom:0;width:58%;overflow:hidden;clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);transition:clip-path 1.4s cubic-bezier(.77,0,.18,1)}
.sl.on .sl-media,.sl.out .sl-media{clip-path:polygon(15% 0,100% 0,100% 100%,0 100%)}
.sl-media img{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;transform:scale(1.2);transition:transform 9s cubic-bezier(.2,.6,.2,1);
  translate:calc(var(--cx,0) * -26px) calc(var(--cy,0) * -16px + var(--sy,0) * .2px)}
.sl.on .sl-media img{transform:scale(1.04)}
.sl-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,35,58,.18),transparent 35%);pointer-events:none}
.sl-cap{position:absolute;left:calc(15% + 18px);bottom:16px;z-index:2;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.6)}

/* ----- copy ----- */
.sl-copy{position:relative;z-index:3;padding-top:120px;padding-bottom:150px}
.sl-in{position:relative;max-width:520px}
.sl-no{position:absolute;right:-30px;top:-96px;z-index:-1;font-family:var(--serif);font-weight:700;font-size:9.5rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(20,35,58,.12);opacity:0;transform:translateY(30px);transition:.9s .2s}
.sl.on .sl-no{opacity:1;transform:none}
.hero .sl-h{font-size:clamp(2.3rem,4.3vw,3.9rem);margin:16px 0 20px;line-height:1.12;perspective:none}
.sl-p{max-width:470px;margin-bottom:30px}
.sl-in .eyebrow,.sl-in .sl-p,.sl-in .sl-cta,.sl-in .sl-chips{opacity:0;transform:translateY(26px);transition:opacity .8s,transform .9s cubic-bezier(.2,.8,.2,1)}
.sl.on .eyebrow{opacity:1;transform:none;transition-delay:.35s}
.sl.on .sl-p{opacity:1;transform:none;transition-delay:.85s}
.sl.on .sl-chips{opacity:1;transform:none;transition-delay:.95s}
.sl.on .sl-cta{opacity:1;transform:none;transition-delay:1.05s}
.sl-h .wi{transition-delay:calc(.45s + var(--i) * 70ms)}
.sl.on .sl-h .wi{transform:none}
.sl-cta{display:flex;gap:14px;flex-wrap:wrap}
.sl-chips{display:none;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.sl-chips span{padding:7px 14px;border-radius:99px;background:rgba(163,31,36,.08);color:var(--crimson);font-size:.78rem;font-weight:600}
html:not(.js) .sl:first-child{opacity:1;visibility:visible}
html:not(.js) .sl-in>*{opacity:1;transform:none}
html:not(.js) .sl-h .wi{transform:none}

/* ----- controls ----- */
.sl-ui{position:absolute;z-index:6;left:max(20px,calc((100vw - 1200px) / 2));bottom:46px;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.sl-row{display:flex;align-items:center;gap:22px}
.sl-arrows{display:flex;gap:10px}
.sl-arr{width:50px;height:50px;border-radius:50%;border:1.5px solid var(--ink);background:rgba(255,255,255,.55);backdrop-filter:blur(8px);display:grid;place-content:center;cursor:pointer;transition:.35s}
.sl-arr svg{width:20px;height:20px;stroke:var(--ink);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:.35s}
.sl-arr:hover{background:var(--crimson);border-color:var(--crimson);transform:scale(1.08)}
.sl-arr:hover svg{stroke:#fff}
.sl-bars{display:flex;gap:6px;align-items:center}
.sl-bar{position:relative;width:44px;height:22px;border:0;background:none;padding:0;cursor:pointer}
.sl-bar::before{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;border-radius:2px;background:rgba(20,35,58,.18)}
.sl-bar i{position:absolute;left:0;top:50%;width:100%;height:3px;margin-top:-1.5px;border-radius:2px;background:var(--crimson);transform:scaleX(0);transform-origin:left}
.sl-meta{display:flex;align-items:baseline;gap:16px}
.sl-cnt{font-family:var(--serif);font-size:1.15rem;color:var(--muted)}
.sl-cnt b{color:var(--ink);font-size:1.5rem}
.sl-lbl{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

/* ----- offer card sits over media ----- */
.hero .offer-card{z-index:7;bottom:46px;right:max(20px,calc((100vw - 1200px) / 2))}

/* ================= tablet / mobile: image slider on top, card below ================= */
@media (max-width:1000px){
  .sl-track{min-height:0}
  .sl{flex-direction:column;align-items:stretch;min-height:0}
  .sl-media{position:relative;inset:auto;width:100%;height:clamp(400px,66svh,600px);clip-path:inset(0 0 100% 0);border-radius:0 0 34px 34px}
  .sl.on .sl-media,.sl.out .sl-media{clip-path:inset(0 0 0 0)}
  .sl-media::after{background:linear-gradient(180deg,rgba(20,35,58,.35),transparent 28%,transparent 60%,rgba(20,35,58,.4))}
  .sl-media img{inset:-3%;width:106%;height:106%}
  .sl-cap{left:20px;top:96px;bottom:auto}
  .sl-copy{padding:0 16px 34px;margin-top:-64px}
  .sl-in{max-width:none;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.8);border-radius:24px;padding:24px 22px 24px;box-shadow:0 26px 54px -26px rgba(20,35,58,.5)}
  .sl-no{display:none}
  .hero .sl-h{font-size:clamp(1.75rem,7.4vw,2.3rem);margin:12px 0 12px}
  .sl-p{font-size:.95rem;margin-bottom:18px}
  .sl-chips{display:flex}
  .hero .offer-card{display:none}
  .sl-ui{left:16px;right:16px;bottom:auto;top:calc(clamp(400px,66svh,600px) - 136px)}
  .sl-row{width:100%;gap:14px}
  .sl-bars{flex:1}
  .sl-bar{flex:1;width:auto}
  .sl-bar::before{background:rgba(255,255,255,.4)}
  .sl-bar i{background:#fff}
  .sl-meta{display:none}
  .sl-arr{width:44px;height:44px;border-color:rgba(255,255,255,.7);background:rgba(20,35,58,.35)}
  .sl-arr svg{stroke:#fff}
}
@media (max-width:560px){
  .sl-cta .btn{padding:13px 22px;font-size:.9rem}
}
/* reduced-motion override removed: animations run on every device */

@media (max-width:1000px){.dock{right:12px;bottom:14px;gap:10px}.dock a{width:44px;height:44px}.dock svg{width:21px;height:21px}}

/* WhatsApp brand glyph (filled, unlike the stroke icons) */
.wa-ic{fill:currentColor!important;stroke:none!important}
.dock .wa-ic{width:30px;height:30px;fill:#fff!important}
.cbox .wa-ic{width:26px;height:26px;fill:#25a244!important}
.cbox a:hover .wa-ic{fill:#fff!important}
.ft-ghost .wa-ic{width:20px;height:20px;fill:#25d366!important}
.ft-ghost:hover .wa-ic{fill:#128c3e!important}
.ft-ghost:hover svg{transform:none}
@media (max-width:1000px){.dock .wa-ic{width:26px;height:26px}}