/* Jamaica weddings hub — romantic palette, scoped, readable contrast */
:root{
  --w-wine:#4a1828;
  --w-wine-d:#2c0e18;
  --w-rose:#8b2e4a;
  --w-blush:#f8eef2;
  --w-ivory:#fbf7f2;
  --w-ink:#1c1418;
  --w-ink-soft:#3a2a30;
  --w-champagne:#e8d5a3;
  --w-gold:#9a7420;
}
.w-page{color:var(--w-ink);background:var(--w-ivory)}
.w-page h1,.w-page h2,.w-page h3{color:var(--w-ink)}
.w-page .muted{color:#5a454c}
.w-page a{color:var(--w-rose)}
.w-page a:hover{color:var(--w-wine)}
.w-page .btn-gold{color:var(--w-wine-d)!important}

/* Hero slideshow */
.w-hero{position:relative;min-height:86vh;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:var(--w-wine-d)}
.w-slides{position:absolute;inset:0}
.w-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;opacity:0;animation:wFade 32s infinite;transform:scale(1.06)}
.w-slides img:nth-child(1){animation-delay:0s}
.w-slides img:nth-child(2){animation-delay:8s}
.w-slides img:nth-child(3){animation-delay:16s}
.w-slides img:nth-child(4){animation-delay:24s}
.w-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(44,14,24,.35) 0%,rgba(44,14,24,.55) 45%,rgba(28,8,14,.94) 100%)}
.w-hero .wrap{position:relative;z-index:2;padding:130px 0 64px}
.w-hero h1{font-family:var(--font-serif);font-size:clamp(38px,6.2vw,76px);line-height:1.06;font-weight:700;max-width:920px;color:#fff;text-shadow:0 3px 18px rgba(0,0,0,.55)}
.w-hero h1 em{color:var(--w-champagne);font-style:italic}
.w-hero p{font-size:clamp(16px,1.9vw,20px);max-width:680px;margin:18px 0 28px;color:#f8eef2;line-height:1.6;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.w-hero .kick{color:var(--w-champagne)!important;text-shadow:0 2px 8px rgba(0,0,0,.6)}
@keyframes wFade{
  0%{opacity:0;transform:scale(1)}
  4%{opacity:1}
  25%{opacity:1;transform:scale(1.08)}
  29%{opacity:0}
  100%{opacity:0;transform:scale(1.08)}
}

/* Petals — decorative, hidden when motion is reduced */
.w-petals{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.w-petals i{position:absolute;top:-10%;width:10px;height:14px;background:radial-gradient(circle at 30% 30%,#f4c4d0,#c45a78);border-radius:70% 30% 70% 30%;opacity:.35;animation:wPetal 18s linear infinite}
.w-petals i:nth-child(1){left:8%;animation-duration:16s}
.w-petals i:nth-child(2){left:22%;animation-duration:22s;animation-delay:-4s;width:8px;height:11px}
.w-petals i:nth-child(3){left:48%;animation-duration:19s;animation-delay:-8s}
.w-petals i:nth-child(4){left:71%;animation-duration:24s;animation-delay:-2s;width:12px;height:16px}
.w-petals i:nth-child(5){left:88%;animation-duration:17s;animation-delay:-6s}
@keyframes wPetal{
  0%{transform:translateY(0) rotate(0deg);opacity:.0}
  10%{opacity:.4}
  100%{transform:translateY(100vh) rotate(240deg);opacity:0}
}

.w-share{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:28px}
.w-toc{background:rgba(44,14,24,.72);backdrop-filter:blur(14px);border:1px solid rgba(232,213,163,.28);border-radius:16px;padding:16px 20px;max-width:1040px}
.w-toc-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--w-champagne);margin-bottom:10px;display:block}
.w-toc .toc{display:flex;flex-wrap:wrap;gap:8px}
.w-toc .toc a{border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:500;color:#f8eef2;text-decoration:none;background:rgba(255,255,255,.05)}
.w-toc .toc a:hover{background:var(--w-champagne);color:var(--w-wine-d);border-color:var(--w-champagne);font-weight:700}

.w-sec{padding:70px 0}
.w-sec h2{font-family:var(--font-serif);font-size:clamp(28px,4vw,44px);font-weight:600;line-height:1.1;margin-bottom:10px;color:var(--w-ink)}
.w-blush{background:linear-gradient(180deg,#f8eef2,#fbf7f2)}
.w-ivory{background:var(--w-ivory)}
.w-wineband{background:linear-gradient(180deg,var(--w-wine-d),var(--w-wine));color:#f8eef2}
.w-wineband h2,.w-wineband h3{color:#fff}
.w-wineband .muted{color:#e8d0d8}
.w-wineband a{color:var(--w-champagne)}

.w-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.w-card{background:#fff;border:1px solid #eadfe3;border-radius:16px;overflow:hidden;color:inherit;text-decoration:none;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(44,14,24,.06);transition:transform .25s ease,box-shadow .25s ease}
.w-card img{width:100%;height:200px;object-fit:cover}
.w-card .b{padding:16px 18px 20px}
.w-card h3{font-size:20px;margin:0 0 6px;color:var(--w-ink)}
.w-card p{color:#5a454c;font-size:15px;margin:0}
.w-card .go{display:inline-block;margin-top:10px;font-weight:700;color:var(--w-rose)}
a.w-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(44,14,24,.12);border-color:#d4af37}

.w-split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.w-split img, .w-photo{width:100%;border-radius:20px;object-fit:cover;max-height:520px}
.w-cap{font-size:13px;color:#5a454c;margin-top:8px}
.w-alert{border-left:4px solid var(--w-gold);background:#fff7e8;color:var(--w-ink);padding:16px 20px;border-radius:10px;margin:18px 0}
.w-photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.w-photo-row figure{margin:0}
.w-photo-row img{width:100%;height:220px;object-fit:cover;border-radius:16px}
.w-fineprint{font-size:13.5px;line-height:1.55;margin-top:22px}

.w-form{background:#fff;border:1px solid #eadfe3;color:var(--w-ink)}
.w-form h3{color:var(--w-ink)}
.w-page .w-form .form-control{background:#fff;border:1px solid #d9c6cc;color:var(--w-ink)}
.w-page .w-form .form-control::placeholder{color:#7a656c}
.w-form-intro,.w-form-wa{font-size:14.5px}
.w-form .consent{color:var(--w-ink-soft)}

.w-cta{margin:40px 0 10px;padding:28px;border-radius:18px;background:#fff;border:1px solid #eadfe3}
.w-cta-k{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;color:var(--w-rose);margin-bottom:8px}
.w-cta h2{font-size:clamp(24px,3vw,34px);margin-bottom:10px}
.w-cta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}
.w-cta-card{text-decoration:none;color:inherit;border-radius:12px;overflow:hidden;border:1px solid #eadfe3;background:#fff;transition:transform .25s ease}
.w-cta-card img{width:100%;height:110px;object-fit:cover}
.w-cta-card span{display:block;padding:10px 12px 12px;font-weight:700;color:var(--w-ink);font-size:14.5px}
.w-cta-card:hover{transform:translateY(-4px)}
.w-cta-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}

/* Article hero */
.w-art-hero{position:relative;min-height:58vh;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:var(--w-wine-d)}
.w-art-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:wKen 22s ease-in-out alternate infinite}
.w-art-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(44,14,24,.25) 0%,rgba(28,8,14,.9) 100%)}
.w-art-hero .wrap{position:relative;z-index:2;padding:100px 0 48px}
.w-art-hero h1{color:#fff;max-width:920px;text-shadow:0 3px 18px rgba(0,0,0,.5)}
.w-art-hero .kick{color:var(--w-champagne)}
@keyframes wKen{from{transform:scale(1)}to{transform:scale(1.08)}}
.w-article img{border-radius:16px;margin:18px 0 8px}
.w-article figcaption,.w-article .w-cap{font-size:13px;color:#5a454c;margin-bottom:18px}
.article.w-article{color:#d6dee8} /* fallback if body stays dark */
body:has(.w-art-hero) .article.w-article{color:#dbe3ee}
/* On the default dark site body, keep article text light with good contrast */
.article.w-article h2,.article.w-article h3{color:#fff}
.article.w-article a{color:var(--gold-light)}
.article.w-article .w-cta{background:#13243f;border-color:rgba(197,160,89,.22)}
.article.w-article .w-cta h2,.article.w-article .w-cta-card span{color:#fff}
.article.w-article .w-cta .muted,.article.w-article .w-fineprint{color:#94a3b8}
.article.w-article .w-cta-card{background:#0e1d33;border-color:rgba(197,160,89,.22)}

.w-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.w-reveal.in{opacity:1;transform:none}

.w-calc{background:#fff;border:1px solid #eadfe3;border-radius:18px;padding:24px;color:var(--w-ink)}
.w-calc label{display:block;font-weight:700;margin:14px 0 6px;color:var(--w-ink)}
.w-calc output,.w-range{font-size:28px;font-weight:800;color:var(--w-wine);margin-top:8px}
.w-calc .note{font-size:13.5px;color:#5a454c;margin-top:10px}

@media(max-width:900px){
  .w-grid,.w-cta-grid,.w-photo-row,.w-split{grid-template-columns:1fr}
  .w-hero{min-height:78vh}
  .w-card img{height:180px}
}
@media(prefers-reduced-motion:reduce){
  .w-slides img,.w-art-hero-img,.w-petals i,.w-card,.w-cta-card,.w-reveal{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}
  .w-slides img{opacity:0}
  .w-slides img:first-child{opacity:1}
  .w-petals{display:none}
}
