  :root{
    --charcoal:#0D0B09;
    --charcoal-2:#171310;
    --charcoal-3:#211C17;
    --gold:#C9A461;
    --gold-light:#E9D3A0;
    --gold-dim:#8C6F3F;
    --rose:#B33B62;
    --rose-dark:#8F2E4F;
    --cream:#FBF7F0;
    --cream-2:#F3EADC;
    --ink:#2A211B;
    --ink-soft:#6B6055;
    --line:rgba(201,164,97,0.22);
    --shadow:0 20px 50px -20px rgba(0,0,0,0.45);
    --radius:18px;
    --maxw:1200px;
    --cream:#FFFDF9;
    --cream-2:#FBF1EA;
    --cream-3:#F6E7DE;
    --blush:#F1CFC9;
    --blush-deep:#E3AFAE;
    --gold:#C9A461;
    --gold-light:#E4C98D;
    --gold-dim:#9C8352;
    --rose:#BD5C7C;
    --rose-dark:#9A4361;
    --espresso:#2B2018;
    --espresso-2:#1E1712;
    --ink:#2B2420;
    --ink-soft:#6E6259;
    --line:rgba(43,32,24,0.1);
    --shadow:0 24px 60px -30px rgba(43,32,24,0.28);
    --radius:20px;
    --maxw:1200px;
  }
  

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth; scroll-padding-top:88px;}
  body{
    margin:0;
    font-family:'Manrope',sans-serif;
    background:var(--cream);
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
  }

  img,svg{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none; margin:0; padding:0;}
  button{font-family:inherit; cursor:pointer;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 20px;}

  h1,h2,h3,h4{
    font-family:'Fraunces',serif;
    font-weight:500;
    line-height:1.12;
    margin:0;
    color:var(--charcoal);
  }
  p{margin:0; line-height:1.65; color:var(--ink-soft);}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
  }

  /* ---------- Reveal ---------- */
  .reveal{opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.is-visible{opacity:1; transform:translateY(0);}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    padding:16px 28px;
    border-radius:100px;
    font-weight:700;
    font-size:0.98rem;
    border:1px solid transparent;
    min-height:52px;
    transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
    white-space:nowrap;
  }
  .btn:active{transform:scale(0.97);}
  .btn-primary{
    background:linear-gradient(135deg,var(--rose),var(--rose-dark));
    color:#fff;
    box-shadow:0 14px 30px -10px rgba(179,59,98,0.55);
  }
  .btn-primary:hover{box-shadow:0 18px 36px -8px rgba(179,59,98,0.65); transform:translateY(-2px);}
  .btn-outline{
    background:transparent;
    color:var(--charcoal);
    border-color:rgba(42,33,27,0.25);
  }
  .btn-outline:hover{border-color:var(--charcoal);}
  .btn-outline-light{
    background:rgba(255,255,255,0.08);
    color:#fff;
    border-color:rgba(255,255,255,0.35);
    backdrop-filter:blur(6px);
  }
  .btn-gold{
    background:linear-gradient(135deg,var(--gold-light),var(--gold));
    color:var(--charcoal);
    box-shadow:0 14px 30px -12px rgba(201,164,97,0.6);
  }
  .btn-block{width:100%;}
  .btn svg{width:20px; height:20px; flex-shrink:0;}

  /* ---------- Header ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    padding-top:env(safe-area-inset-top,0px);
    background:rgba(13,11,9,0.0);
    transition:background .35s ease, box-shadow .35s ease, backdrop-filter .35s ease;
  }
  header.scrolled{
    background:rgba(13,11,9,0.82);
    backdrop-filter:blur(14px) saturate(1.2);
    box-shadow:0 8px 30px -12px rgba(0,0,0,0.5);
  }
  .nav-inner{
    display:flex; align-items:center; justify-content:space-between;
    height:72px;
  }
  .logo{
    display:flex; align-items:center; gap:10px;
    font-family:'Fraunces',serif;
    color:var(--gold-light);
    font-size:1.3rem;
    letter-spacing:0.04em;
  }
  .logo small{
    display:block;
    font-family:'Manrope',sans-serif;
    font-size:0.52rem;
    letter-spacing:0.22em;
    color:var(--gold-dim);
    font-weight:700;
    margin-top:2px;
  }
  .logo-mark{width:38px; height:38px; flex-shrink:0;}
  nav.main-nav{display:none;}
  .nav-links{display:flex; gap:34px; align-items:center;}
  .nav-links a{
    color:rgba(255,255,255,0.82);
    font-size:0.95rem;
    font-weight:600;
    position:relative;
    padding:6px 0;
    transition:color .2s ease;
  }
  .nav-links a:hover{color:var(--gold-light);}
  .nav-links a::after{
    content:''; position:absolute; left:0; right:0; bottom:0; height:2px;
    background:var(--gold); transform:scaleX(0); transform-origin:left;
    transition:transform .25s ease;
  }
  .nav-links a:hover::after{transform:scaleX(1);}
  .header-cta{display:none;}
  .header-right{display:flex; align-items:center; gap:12px;}
  .icon-btn{
    display:inline-flex; align-items:center; justify-content:center;
    width:46px; height:46px; border-radius:14px;
    background:rgba(255,255,255,0.08);
    color:var(--gold-light);
  }
  .hamburger{border:1px solid rgba(255,255,255,0.15);}
  .hamburger svg{width:22px; height:22px;}

  .mobile-cta{
    display:inline-flex; align-items:center; gap:8px;
    background:linear-gradient(135deg,#2CB56B,#1F9B58);
    color:#fff; font-weight:700; font-size:0.85rem;
    padding:10px 16px; border-radius:100px;
    box-shadow:0 10px 22px -8px rgba(31,155,88,0.6);
  }
  .mobile-cta svg{width:17px; height:17px;}

  /* Mobile drawer */
  .drawer{
    position:fixed; inset:0; z-index:99;
    background:rgba(13,11,9,0.98);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:28px;
    opacity:0; pointer-events:none;
    transition:opacity .3s ease;
  }
  .drawer.open{opacity:1; pointer-events:auto;}
  .drawer a{
    font-family:'Fraunces',serif;
    font-size:1.7rem;
    color:var(--cream);
  }
  .drawer .btn{margin-top:12px;}
  .drawer-close{
    position:absolute; top:calc(22px + env(safe-area-inset-top,0px)); right:22px;
    width:44px; height:44px; border-radius:50%;
    background:rgba(255,255,255,0.08); color:var(--gold-light);
    display:flex; align-items:center; justify-content:center; border:none;
  }
  .drawer-close svg{width:20px; height:20px;}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    background:radial-gradient(120% 100% at 15% 0%, #1c1712 0%, var(--charcoal) 55%, #08070600 100%), var(--charcoal);
    color:#fff;
    padding:118px 0 64px;
    overflow:hidden;
  }
  .hero::before{
    content:'';
    position:absolute; top:-30%; right:-20%; width:70%; height:140%;
    background:radial-gradient(circle, rgba(201,164,97,0.16), transparent 65%);
    pointer-events:none;
  }
  .hero-grid{
    position:relative; z-index:1;
    display:flex; flex-direction:column; gap:40px; align-items:center; text-align:center;
  }
  .badge{
    display:inline-flex; align-items:center; gap:8px;
    background:rgba(179,59,98,0.16);
    border:1px solid rgba(179,59,98,0.4);
    color:#F3B9CB;
    padding:8px 16px; border-radius:100px;
    font-size:0.8rem; font-weight:700;
    letter-spacing:0.02em;
  }
  .hero h1{
    font-size:clamp(2.6rem, 9vw, 4.6rem);
    color:#fff;
  }
  .hero h1 em{
    font-style:normal;
    color:var(--gold-light);
    background:linear-gradient(135deg,var(--gold-light),var(--gold));
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  }
  .hero .subhead{
    font-family:'Fraunces',serif; font-style:italic; font-weight:500;
    font-size:clamp(1.15rem,4vw,1.5rem);
    color:var(--cream-2);
    margin-top:14px;
  }
  .hero p.desc{
    max-width:520px;
    color:rgba(251,247,240,0.78);
    font-size:1.02rem;
    margin-top:18px;
  }
  .hero-features{
    display:grid; grid-template-columns:1fr 1fr; gap:12px;
    width:100%; max-width:460px;
    margin-top:8px;
  }
  .m1 img{
position: absolute;
margin: 0%;
top: 0%;
right: 0%;
width: 100%;
height: 100%;
border-radius: 500px;

}
  .hero-feature{
    display:flex; align-items:center; gap:10px;
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.1);
    padding:12px 14px; border-radius:14px;
    font-size:0.86rem; font-weight:600;
    color:var(--cream-2);
    text-align:left;
  }
  .hero-feature .dot{
    width:26px; height:26px; border-radius:50%; flex-shrink:0;
    background:rgba(201,164,97,0.18);
    display:flex; align-items:center; justify-content:center;
    color:var(--gold-light);
  }
  .hero-feature .dot svg{width:14px; height:14px;}
  .hero-ctas{display:flex; flex-direction:column; gap:12px; width:100%; max-width:340px; margin-top:6px;}

  .hero-visual{width:100%; max-width:360px; margin-top:8px;}
  .hero-visual svg{width:100%; height:auto;}

  /* ---------- Section shells ---------- */
  section{padding:76px 0;}
  .section-cream{background:var(--cream);}
  .section-cream-2{background:var(--cream-2);}
  .section-head{max-width:640px; margin:0 auto 44px; text-align:center;}
  .section-kicker{
    color:var(--rose-dark); font-weight:700; font-size:0.82rem;
    display:block; margin-bottom:10px;
  }
  .section-head h2{font-size:clamp(1.8rem,5vw,2.6rem);}
  .section-head p{margin-top:14px; font-size:1.02rem;}

  /* ---------- Why choose cards ---------- */
  .grid-2{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  .grid-3{display:grid; grid-template-columns:1fr; gap:18px;}
  .grid-5{display:grid; grid-template-columns:1fr 1fr; gap:14px;}

  .feature-card{
    background:#fff;
    border:1px solid rgba(42,33,27,0.07);
    border-radius:var(--radius);
    padding:24px 18px;
    box-shadow:0 12px 30px -18px rgba(42,33,27,0.25);
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .feature-card:hover{transform:translateY(-4px); box-shadow:0 20px 38px -16px rgba(42,33,27,0.3);}
  .feature-card .icon{
    width:48px; height:48px; border-radius:14px;
    display:flex; align-items:center; justify-content:center;
    margin-bottom:16px;
    background:linear-gradient(135deg,var(--gold-light),var(--gold));
    color:var(--charcoal);
  }
  .feature-card .icon svg{width:24px; height:24px;}
  .feature-card h3{font-size:1.08rem; margin-bottom:8px;}
  .feature-card p{font-size:0.92rem;}

  /* ---------- How it works ---------- */
  .steps{display:flex; flex-direction:column; gap:0; position:relative;}
  .step{
    display:flex; gap:18px; padding:22px 0;
    border-bottom:1px dashed rgba(42,33,27,0.15);
  }
  .step:last-child{border-bottom:none;}
  .step-num{
    flex-shrink:0;
    width:52px; height:52px; border-radius:50%;
    background:var(--charcoal); color:var(--gold-light);
    display:flex; align-items:center; justify-content:center;
    font-family:'Fraunces',serif; font-size:1.2rem;
  }
  .step h3{font-size:1.08rem; margin-bottom:4px;}
  .step p{font-size:0.92rem;}

  /* ---------- Who can apply ---------- */
  .apply-scroll{
    display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory;
    padding:4px 4px 18px;
    -webkit-overflow-scrolling:touch;
  }
  .apply-scroll::-webkit-scrollbar{height:6px;}
  .apply-scroll::-webkit-scrollbar-thumb{background:rgba(42,33,27,0.2); border-radius:10px;}
  .apply-card{
    scroll-snap-align:start;
    flex:0 0 74%;
    background:#fff;
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid rgba(42,33,27,0.07);
    box-shadow:0 12px 26px -18px rgba(42,33,27,0.3);
  }
  .apply-card .art{
    height:150px;
    background:linear-gradient(135deg,var(--cream-2),#fff);
    display:flex; align-items:center; justify-content:center;
  }
  .apply-card .art svg{width:64px; height:64px;}
  .apply-card .body{padding:16px;}
  .apply-card h3{font-size:1rem; margin-bottom:4px;}
  .apply-card p{font-size:0.86rem;}
  .apply-cta-wrap{text-align:center; margin-top:26px;}

  /* ---------- Empowering women ---------- */
  .empower{
    position:relative;
    background:linear-gradient(160deg,#0F0D0B 0%, #241A16 55%, #34241C 100%);
    color:#fff;
    overflow:hidden;
  }
  .empower::before{
    content:'';
    position:absolute; inset:0;
    background:radial-gradient(120% 90% at 90% 100%, rgba(201,164,97,0.18), transparent 60%);
  }
  .empower-inner{position:relative; z-index:1; text-align:center;}
  .empower h2{color:#fff; font-size:clamp(1.9rem,6vw,2.8rem);}
  .empower h2 span{
    color:var(--gold-light);
    background:linear-gradient(135deg,var(--gold-light),var(--gold));
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  }
  .empower p{color:rgba(251,247,240,0.78); max-width:520px; margin:16px auto 0; font-size:1rem;}
  .empower-art{margin:34px auto; max-width:420px;}
  .empower-stats{
    display:flex; flex-wrap:wrap; justify-content:center; gap:14px;
    margin:30px auto 0; max-width:560px;
  }
  .empower-stat{
    display:flex; align-items:center; gap:8px;
    background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.12);
    padding:10px 16px; border-radius:100px;
    font-size:0.84rem; font-weight:600; color:var(--cream-2);
  }
  .empower-stat svg{width:16px; height:16px; color:var(--gold-light);}
  .empower .btn{margin-top:30px;}

  /* ---------- Benefits ---------- */
  .benefit-row{
    display:flex; align-items:flex-start; gap:16px;
    padding:20px; background:#fff; border-radius:16px;
    border:1px solid rgba(42,33,27,0.07);
  }
  .benefit-row .icon{
    width:42px; height:42px; border-radius:12px; flex-shrink:0;
    background:rgba(179,59,98,0.1); color:var(--rose-dark);
    display:flex; align-items:center; justify-content:center;
  }
  .benefit-row .icon svg{width:22px; height:22px;}
  .benefit-row h3{font-size:0.98rem; margin-bottom:4px;}
  .benefit-row p{font-size:0.86rem;}
  .benefits-grid{display:grid; grid-template-columns:1fr; gap:14px;}

  /* ---------- FAQ ---------- */
  .faq-list{max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:12px;}
  .faq-item{
    background:#fff; border:1px solid rgba(42,33,27,0.1);
    border-radius:14px; overflow:hidden;
  }
  .faq-q{
    width:100%; display:flex; align-items:center; justify-content:space-between; gap:14px;
    background:none; border:none; text-align:left;
    padding:18px 20px;
    font-family:'Manrope',sans-serif; font-weight:700; font-size:0.98rem; color:var(--charcoal);
  }
  .faq-q .plus{
    flex-shrink:0; width:26px; height:26px; border-radius:50%;
    background:var(--cream-2); color:var(--rose-dark);
    display:flex; align-items:center; justify-content:center;
    transition:transform .3s ease, background .3s ease, color .3s ease;
  }
  .faq-item.open .faq-q .plus{transform:rotate(135deg); background:var(--rose); color:#fff;}
  .faq-a{
    max-height:0; overflow:hidden; transition:max-height .35s ease;
  }
  .faq-a-inner{padding:0 20px 20px; font-size:0.92rem; color:var(--ink-soft);}

  /* ---------- Final CTA ---------- */
  .final-cta{
    background:linear-gradient(135deg,var(--rose),var(--rose-dark));
    color:#fff; text-align:center; position:relative; overflow:hidden;
  }
  .final-cta::before{
    content:''; position:absolute; inset:0;
    background:radial-gradient(80% 120% at 10% 10%, rgba(255,255,255,0.14), transparent 60%);
  }
  .final-cta-inner{position:relative; z-index:1;}
  .final-cta h2{color:#fff; font-size:clamp(1.8rem,6vw,2.6rem);}
  .final-cta p{color:rgba(255,255,255,0.85); max-width:460px; margin:14px auto 26px; font-size:1rem;}
  .final-cta .btn-gold{font-size:1.05rem; padding:18px 34px;}

  /* ---------- Footer ---------- */
  footer{background:var(--charcoal); color:rgba(251,247,240,0.7); padding:56px 0 calc(110px + env(safe-area-inset-bottom,0px));}
  .footer-grid{display:grid; grid-template-columns:1fr; gap:34px;}
  .footer-brand .logo{color:var(--gold-light); margin-bottom:12px;}
  .footer-brand p{font-size:0.88rem; max-width:320px; color:rgba(251,247,240,0.6);}
  .footer-col h4{color:#fff; font-family:'Manrope',sans-serif; font-size:0.85rem; letter-spacing:0.04em; margin-bottom:14px;}
  .footer-col ul{display:flex; flex-direction:column; gap:10px;}
  .footer-col a{font-size:0.9rem; color:rgba(251,247,240,0.65); transition:color .2s ease;}
  .footer-col a:hover{color:var(--gold-light);}
  .footer-bottom{
    margin-top:40px; padding-top:24px; border-top:1px solid rgba(255,255,255,0.08);
    font-size:0.8rem; color:rgba(251,247,240,0.45);
    display:flex; flex-direction:column; gap:8px; text-align:center;
  }

  /* ---------- Mobile sticky WhatsApp bar ---------- */
  .sticky-wa{
    position:fixed; left:16px; right:16px; z-index:90;
    bottom:calc(16px + env(safe-area-inset-bottom,0px));
    display:flex;
  }
  .sticky-wa a{
    width:100%;
    display:flex; align-items:center; justify-content:center; gap:10px;
    background:linear-gradient(135deg,#2CB56B,#1F9B58);
    color:#fff; font-weight:800; font-size:1rem;
    padding:16px; border-radius:100px;
    box-shadow:0 14px 32px -8px rgba(15,60,35,0.55);
  }
  .sticky-wa svg{width:22px; height:22px;}

  /* ---------- Focus visibility ---------- */
  a:focus-visible, button:focus-visible{
    outline:2px solid var(--gold); outline-offset:3px; border-radius:6px;
  }

  /* =========================================================
     TABLET
  ========================================================= */
  @media (min-width:768px){
    .wrap{padding:0 32px;}
    .hero{padding:150px 0 90px;}
    .hero-grid{max-width:640px;}
    .hero-features{max-width:520px;}
    .grid-2{grid-template-columns:1fr 1fr; gap:20px;}
    .grid-3{grid-template-columns:1fr 1fr; gap:20px;}
    .grid-5{grid-template-columns:1fr 1fr 1fr; gap:16px;}
    .benefits-grid{grid-template-columns:1fr 1fr;}
    .apply-card{flex:0 0 42%;}
    section{padding:96px 0;}
    .footer-grid{grid-template-columns:1.3fr 1fr 1fr;}
  }

  /* ===================== DESKTOP / LAPTOP ============================== */
  @media (min-width:1024px){
    nav.main-nav{display:block;}
    .header-cta{display:inline-flex;}
    .hamburger, .mobile-cta{display:none;}
    .sticky-wa{display:none;}
    footer{padding-bottom:64px;}

    .hero-grid{
      max-width:none;
      flex-direction:row; align-items:center; text-align:left;
      gap:64px;
    }
    .hero-copy{flex:1 1 54%; display:flex; flex-direction:column; align-items:flex-start;}
    .hero-visual-col{flex:1 1 46%;}
    .hero-visual{max-width:460px; margin:0 auto;}
    .hero p.desc{margin-left:0;}
    .hero-features{margin-left:0;}
    .hero-ctas{flex-direction:row; max-width:none;}

    .grid-3{grid-template-columns:repeat(4,1fr);}
    .grid-5{grid-template-columns:repeat(5,1fr);}

    .steps{flex-direction:row; gap:0;}
    .step{
      flex-direction:column; text-align:left; flex:1;
      border-bottom:none; border-right:1px dashed rgba(42,33,27,0.15);
      padding:0 28px;
    }
    .step:last-child{border-right:none;}
    .step-num{margin-bottom:18px;}

    .apply-scroll{overflow:visible; flex-wrap:nowrap;}
    .apply-card{flex:1 1 0;}

    .benefits-grid{grid-template-columns:repeat(3,1fr);}

    .empower-inner{max-width:760px; margin:0 auto;}
  }

  @media (min-width:1280px){
    .wrap{padding:0 40px;}
}

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth; scroll-padding-top:92px;}
  body{
    margin:0;
    font-family:'Manrope',sans-serif;
    background:var(--cream);
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
 
  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    padding:16px 28px;
    border-radius:100px;
    font-weight:700;
    font-size:0.98rem;
    border:1px solid transparent;
    min-height:52px;
    transition:transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
    white-space:nowrap;
  }
  .btn:active{transform:scale(0.97);}
  .btn-primary{
    background:linear-gradient(135deg,var(--rose),var(--rose-dark));
    color:#fff;
    box-shadow:0 16px 30px -12px rgba(154,67,97,0.45);
  }
  .btn-primary:hover{box-shadow:0 20px 36px -10px rgba(154,67,97,0.55); transform:translateY(-2px);}
  .btn-outline{
    background:#fff;
    color:var(--espresso);
    border-color:rgba(43,32,24,0.18);
  }
  .btn-outline:hover{border-color:var(--espresso);}
  .btn-gold{
    background:linear-gradient(135deg,var(--gold-light),var(--gold));
    color:var(--espresso-2);
    box-shadow:0 16px 30px -14px rgba(201,164,97,0.55);
  }
  .btn-whatsapp{
    background:linear-gradient(135deg,#2CB56B,#1F9B58);
    color:#fff;
    box-shadow:0 14px 28px -10px rgba(31,155,88,0.45);
  }
  .btn-block{width:100%;}
  .btn svg{width:20px; height:20px; flex-shrink:0;}

  /* ---------- Header ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    padding-top:env(safe-area-inset-top,0px);
    background:rgba(255,253,249,0.0);
    transition:background .35s ease, box-shadow .35s ease, backdrop-filter .35s ease;
  }
  header.scrolled{
    background:rgba(31, 21, 9, 0.92);
    backdrop-filter:blur(14px) saturate(1.2);
    box-shadow:0 8px 26px -16px rgba(43,32,24,0.25);
  }
  .nav-inner{
    display:flex; align-items:center; justify-content:space-between;
    height:76px;
  }
  .logo{display:flex; align-items:center; gap:12px;}
  .logo-mark{
    width:46px; height:46px; flex-shrink:0;
    border-radius:12px; overflow:hidden;
    background:#0D0B09;
    box-shadow:0 6px 16px -6px rgba(43,32,24,0.4);
  }
  .logo-mark img{width:100%; height:100%; object-fit:cover;}
  .logo-text{font-family:'Fraunces',serif; font-size:1.28rem; color:var(--espresso); letter-spacing:0.01em;}
  .logo-text small{
    display:block; font-family:'Manrope',sans-serif; font-size:0.5rem;
    letter-spacing:0.2em; color:var(--gold-dim); font-weight:700; margin-top:3px;
  }
  nav.main-nav{display:none;}
  .nav-links{display:flex; gap:30px; align-items:center;}
  .nav-links a{
    color:var(--ink-soft); font-size:0.94rem; font-weight:600;
    position:relative; padding:6px 0; transition:color .2s ease;
  }
  .nav-links a:hover{color:var(--rose-dark);}
  .nav-links a::after{
    content:''; position:absolute; left:0; right:0; bottom:0; height:2px;
    background:var(--rose); transform:scaleX(0); transform-origin:left;
    transition:transform .25s ease;
  }
  .nav-links a:hover::after{transform:scaleX(1);}
  .header-cta{display:none;}
  .header-right{display:flex; align-items:center; gap:10px;}
  .icon-btn{
    display:inline-flex; align-items:center; justify-content:center;
    width:46px; height:46px; border-radius:14px;
    background:var(--cream-2); color:var(--espresso);
  }
  .hamburger{border:1px solid var(--line);}
  .hamburger svg{width:21px; height:21px;}

  .mobile-cta{
    display:inline-flex; align-items:center; gap:8px;
    background:linear-gradient(135deg,#2CB56B,#1F9B58);
    color:#fff; font-weight:700; font-size:0.82rem;
    padding:10px 15px; border-radius:100px;
    box-shadow:0 10px 20px -8px rgba(31,155,88,0.5);
  }
  .mobile-cta svg{width:16px; height:16px;}

  /* Mobile drawer */
  .drawer{
    position:fixed; inset:0; z-index:99;
    background:rgba(255,253,249,0.99);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:26px;
    opacity:0; pointer-events:none;
    transition:opacity .3s ease;
  }
  .drawer.open{opacity:1; pointer-events:auto;}
  .drawer a{font-family:'Fraunces',serif; font-size:1.6rem; color:var(--espresso);}
  .drawer .btn{margin-top:10px;}
  .drawer-close{
    position:absolute; top:calc(22px + env(safe-area-inset-top,0px)); right:22px;
    width:44px; height:44px; border-radius:50%;
    background:var(--cream-2); color:var(--espresso);
    display:flex; align-items:center; justify-content:center; border:none;
  }
  .drawer-close svg{width:20px; height:20px;}

  
  /* ---------- Section shells ---------- */
  section{padding:76px 0;}
  .section-cream{background:var(--cream);}
  .section-tint{background:var(--cream-2);}
  .section-head{max-width:640px; margin:0 auto 44px; text-align:center;}
  .section-kicker{color:var(--rose-dark); font-weight:700; font-size:0.82rem; display:block; margin-bottom:10px;}
  .section-head h2{font-size:clamp(1.8rem,5vw,2.5rem);}
  .section-head p{margin-top:14px; font-size:1.02rem;}

 
  /* ---------- Benefits ---------- */
  .benefit-row{
    display:flex; align-items:flex-start; gap:16px;
    padding:20px; background:#fff; border-radius:16px; border:1px solid var(--line);
  }
  .benefit-row .icon{
    width:42px; height:42px; border-radius:12px; flex-shrink:0;
    background:var(--cream-3); color:var(--rose-dark);
    display:flex; align-items:center; justify-content:center;
  }
  .benefit-row .icon svg{width:22px; height:22px;}
  .benefit-row h3{font-size:0.98rem; margin-bottom:4px;}
  .benefit-row p{font-size:0.86rem;}
  .benefits-grid{display:grid; grid-template-columns:1fr; gap:14px;}

  /* ---------- Application form ---------- */
  .form-shell{
    background:#fff; border:1px solid var(--line); border-radius:24px;
    padding:28px 20px; box-shadow:var(--shadow);
    max-width:820px; margin:0 auto;
  }
  .form-row{display:grid; grid-template-columns:1fr; gap:16px;}
  .field{display:flex; flex-direction:column; gap:7px;}
  .field label{font-size:0.86rem; font-weight:700; color:var(--espresso);}
  .field label .req{color:var(--rose-dark);}
  .field input[type="text"],
  .field input[type="tel"],
  .field input[type="email"],
  .field input[type="number"],
  .field select,
  .field textarea{
    font-family:'Manrope',sans-serif;
    border:1.5px solid var(--line);
    border-radius:12px;
    padding:13px 14px;
    font-size:0.96rem;
    background:var(--cream);
    color:var(--espresso);
    width:100%;
    transition:border-color .2s ease, box-shadow .2s ease;
  }
  .field input:focus, .field select:focus, .field textarea:focus{
    outline:none; border-color:var(--rose); box-shadow:0 0 0 4px rgba(189,92,124,0.14);
  }
  .field textarea{resize:vertical; min-height:96px;}
  .field.invalid input, .field.invalid select{border-color:#C0392B;}
  .field-error{font-size:0.78rem; color:#C0392B; display:none;}
  .field.invalid .field-error{display:block;}
  .radio-group{display:flex; gap:12px; flex-wrap:wrap;}
  .radio-pill{
    display:flex; align-items:center; gap:8px;
    border:1.5px solid var(--line); border-radius:100px;
    padding:11px 18px; font-size:0.9rem; font-weight:600; color:var(--espresso);
    cursor:pointer; transition:border-color .2s ease, background .2s ease;
  }
  .radio-pill input{accent-color:var(--rose-dark);}
  .radio-pill:has(input:checked){border-color:var(--rose); background:var(--cream-3);}
  .form-note{font-size:0.82rem; color:var(--ink-soft); margin-top:16px; text-align:center;}
  .form-note svg{width:14px; height:14px; vertical-align:-2px; margin-right:4px;}
  .form-success{
    display:none; align-items:center; gap:10px;
    background:#EFF7F1; border:1px solid #BFE3C8; color:#2E6B41;
    padding:14px 16px; border-radius:12px; font-size:0.88rem; font-weight:600; margin-top:16px;
  }
  .form-success.show{display:flex;}
  .form-success svg{width:20px; height:20px; flex-shrink:0;}

  /* ---------- FAQ ---------- */
  
  /* ---------- Final CTA ---------- */
  
  /* ---------- Footer ---------- */
  footer{background:var(--espresso-2); color:rgba(255,253,249,0.72); padding:56px 0 calc(110px + env(safe-area-inset-bottom,0px));}
  .footer-grid{display:grid; grid-template-columns:1fr; gap:34px;}
  .footer-brand .logo-text{color:var(--gold-light);}
  .footer-brand p{font-size:0.88rem; max-width:320px; color:rgba(255,253,249,0.55); margin-top:14px;}
  .footer-col h4{color:#fff; font-family:'Manrope',sans-serif; font-size:0.82rem; letter-spacing:0.05em; margin-bottom:14px;}
  .footer-col ul{display:flex; flex-direction:column; gap:10px;}
  .footer-col a{font-size:0.9rem; color:rgba(255,253,249,0.6); transition:color .2s ease;}
  .footer-col a:hover{color:var(--gold-light);}
  .footer-bottom{
    margin-top:40px; padding-top:24px; border-top:1px solid rgba(255,255,255,0.08);
    font-size:0.8rem; color:rgba(255,253,249,0.4);
    display:flex; flex-direction:column; gap:8px; text-align:center;
  }

  /* ---------- Mobile sticky WhatsApp bar ---------- */
  .sticky-wa{position:fixed; left:16px; right:16px; z-index:90; bottom:calc(16px + env(safe-area-inset-bottom,0px)); display:flex;}
  .sticky-wa a{
    width:100%; display:flex; align-items:center; justify-content:center; gap:10px;
    background:linear-gradient(135deg,#2CB56B,#1F9B58);
    color:#fff; font-weight:800; font-size:1rem; padding:16px; border-radius:100px;
    box-shadow:0 16px 34px -10px rgba(15,60,35,0.5);
  }
  .sticky-wa svg{width:22px; height:22px;}

  a:focus-visible, button:focus-visible{outline:2px solid var(--rose-dark); outline-offset:3px; border-radius:6px;}

  /* =============== TABLET =============== */
  @media (min-width:768px){
    .wrap{padding:0 32px;}
    .hero{padding:150px 0 90px;}
    .hero-grid{max-width:640px;}
    .hero-features{max-width:520px;}
    .grid-2{grid-template-columns:1fr 1fr; gap:20px;}
    .grid-3{grid-template-columns:1fr 1fr; gap:20px;}
    .grid-5{grid-template-columns:1fr 1fr 1fr; gap:16px;}
    .benefits-grid{grid-template-columns:1fr 1fr;}
    .apply-card{flex:0 0 42%;}
    section{padding:96px 0;}
    .footer-grid{grid-template-columns:1.3fr 1fr 1fr;}
    .form-row-2{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  }

  /* =============== DESKTOP =============== */
  @media (min-width:1024px){
    nav.main-nav{display:block;}
    .header-cta{display:inline-flex;}
    .hamburger, .mobile-cta{display:none;}
    .sticky-wa{display:none;}
    footer{padding-bottom:64px;}

    .hero-grid{max-width:none; flex-direction:row; align-items:center; text-align:left; gap:64px;}
    .hero-copy{flex:1 1 54%; display:flex; flex-direction:column; align-items:flex-start;}
    .hero-visual-col{flex:1 1 46%;}
    .hero-visual{max-width:440px; margin:0 auto;}
    .hero p.desc{margin-left:0;}
    .hero-features{margin-left:0;}
    .hero-ctas{flex-direction:row; max-width:none;}

    .grid-3{grid-template-columns:repeat(4,1fr);}
    .grid-5{grid-template-columns:repeat(5,1fr);}

    .steps{flex-direction:row; gap:0;}
    .step{flex-direction:column; text-align:left; flex:1; border-bottom:none; border-right:1px dashed var(--line); padding:0 28px;}
    .step:last-child{border-right:none;}
    .step-num{margin-bottom:18px;}

    .apply-scroll{overflow:visible; flex-wrap:nowrap;}
    .apply-card{flex:1 1 0;}

    .benefits-grid{grid-template-columns:repeat(3,1fr);}

    .empower-grid{flex-direction:row-reverse; text-align:left; gap:70px;}
    .empower-copy{text-align:left; max-width:none; flex:1 1 50%;}
    .empower-visual{flex:1 1 50%; max-width:480px;}
    .empower-stats{justify-content:flex-start;}

    .form-shell{padding:44px;}
  }

  @media (min-width:1280px){
    .wrap{padding:0 40px;}
  }
