/* ===== Fonts (self-hosted) ===== */
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-latin-ext-400.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-latin-ext-500.woff2) format('woff2');unicode-range:U+0100-02AF,U+20A0-20AB,U+20AD-20C0,U+2113}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-latin-ext-600.woff2) format('woff2');unicode-range:U+0100-02AF,U+20A0-20AB,U+20AD-20C0,U+2113}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-latin-ext-700.woff2) format('woff2');unicode-range:U+0100-02AF,U+20A0-20AB,U+20AD-20C0,U+2113}
@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/poppins-latin-800.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/poppins-latin-ext-800.woff2) format('woff2');unicode-range:U+0100-02AF,U+20A0-20AB,U+20AD-20C0,U+2113}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/sourceserif4-latin-600.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/sourceserif4-latin-700.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/sourceserif4-latin-800.woff2) format('woff2')}
@font-face{font-family:Kalam;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/kalam-latin-400.woff2) format('woff2')}
@font-face{font-family:Kalam;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/kalam-latin-700.woff2) format('woff2')}

/* ===== Tokens ===== */
:root{
  --maroon:#A03A38; --maroon-d:#7A1F2B; --maroon-dd:#5A1520; --maroon-l:#C9524F;
  --gold:#F5C518; --gold-d:#E0A800; --gold-l:#FFE68A;
  --cream:#FFF8F1; --cream-2:#FCF3EA; --paper:#FFFFFF;
  --ink:#1D2340; --text:#474B63; --muted:#7D8199; --line:#EFE5DB;
  --green:#22A06B; --blue:#2D8CFF; --purple:#9B51E0; --orange:#F2994A; --teal:#0EA5A4; --red:#E8505B;
  --shadow-sm:0 2px 8px rgba(90,21,32,.06);
  --shadow:0 10px 30px rgba(90,21,32,.08), 0 2px 6px rgba(90,21,32,.05);
  --shadow-lg:0 24px 60px rgba(90,21,32,.14), 0 6px 16px rgba(90,21,32,.06);
  --r:18px; --r-lg:26px;
  --font:Poppins, 'Segoe UI', system-ui, -apple-system, sans-serif;
  --serif:'Source Serif 4', Georgia, 'Times New Roman', serif;
  --hand:Kalam, 'Segoe Print', cursive;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--text);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
img.ic{display:inline-block;vertical-align:middle;object-fit:contain;max-width:none;flex:none}
.brand-logo{display:block;height:auto;max-width:none}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:#1D2340;color:#fff;padding:10px 16px;border-radius:10px;font-weight:600}
.skip:focus{top:12px}
a{color:var(--maroon);text-decoration:none}
h1,h2,h3,h4{color:var(--ink);line-height:1.15;margin:0}
button{font-family:inherit}
:focus-visible{outline:3px solid rgba(245,197,24,.9);outline-offset:3px;border-radius:10px}

/* ===== Buttons ===== */
.btn{--bg:linear-gradient(135deg,#B8423F 0%,#A03A38 40%,#7A1F2B 100%);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  padding:.95em 1.7em;border-radius:14px;border:0;cursor:pointer;font-weight:700;font-size:1rem;color:#fff;background:var(--bg);
  box-shadow:0 10px 24px rgba(160,58,56,.32), inset 0 1px 0 rgba(255,255,255,.18);overflow:hidden;transition:transform .2s ease, box-shadow .2s ease, filter .2s;isolation:isolate;text-align:center;line-height:1.2}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(160,58,56,.38), inset 0 1px 0 rgba(255,255,255,.2)}
.btn:active{transform:translateY(0) scale(.98)}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 48%,transparent 66%);transform:translateX(-120%);z-index:-1}
.btn.shine::after{animation:shine 3.4s ease-in-out infinite}
.btn-gold{--bg:linear-gradient(135deg,#FFD84A,#F5C518 55%,#E9B600);color:#3A1A10;box-shadow:0 10px 24px rgba(224,168,0,.35), inset 0 1px 0 rgba(255,255,255,.5)}
.btn-gold:hover{box-shadow:0 16px 32px rgba(224,168,0,.45)}
.btn-ghost{--bg:#fff;color:var(--ink);box-shadow:inset 0 0 0 2px var(--line)}
.btn-ghost:hover{box-shadow:inset 0 0 0 2px #E3D3C4, var(--shadow-sm)}
.btn-wa{--bg:linear-gradient(135deg,#2BD46A,#1EB257);box-shadow:0 10px 24px rgba(30,178,87,.3)}
.btn-lg{font-size:1.15rem;padding:1.05em 2em;border-radius:16px}
.btn-sm{font-size:.9rem;padding:.65em 1.1em;border-radius:12px}
.btn i{font-size:.95em}
@keyframes shine{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}

.container{width:min(1200px,100% - 32px);margin-inline:auto}
.pill{display:inline-flex;align-items:center;gap:.5em;padding:.4em .9em;border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.pill-rose{background:#FCE6E2;color:var(--maroon)}
.hand{font-family:var(--hand);color:var(--maroon)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ===== Brand logo ===== */
.logo{display:inline-flex;align-items:center;gap:.6rem;color:inherit}
.logo img{width:42px;height:auto}
.logo-text{display:flex;flex-direction:column;line-height:1}
.logo-name{font-weight:800;font-size:1.55rem;color:var(--maroon);letter-spacing:-.02em}
.logo-name b{color:var(--maroon)}
.logo-tag{font-size:.62rem;color:var(--muted);margin-top:.28rem;letter-spacing:.01em}

/* ===== Reveal on scroll ===== */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal[data-d="1"]{transition-delay:.08s}.js .reveal[data-d="2"]{transition-delay:.16s}.js .reveal[data-d="3"]{transition-delay:.24s}.js .reveal[data-d="4"]{transition-delay:.32s}.js .reveal[data-d="5"]{transition-delay:.4s}.js .reveal[data-d="6"]{transition-delay:.48s}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;transform:none}
}
