:root{
  --navy:#061b2d;
  --navy-deep:#020d18;
  --navy-soft:#0b2238;
  --gold:#c9974d;
  --gold-light:#f0d2a2;
  --text:#f3f2ef;
  --muted:#c7d0d9;
  --line:rgba(255,255,255,.08);
  --card:rgba(10,28,46,.72);
  --card-strong:rgba(8,24,40,.9);
  --shadow:0 24px 80px rgba(0,0,0,.35);
  --radius:28px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(201,151,77,.14), transparent 26%),
    radial-gradient(circle at bottom right, rgba(240,210,162,.08), transparent 24%),
    linear-gradient(120deg, #03111f 0%, #071c31 45%, #020b14 100%);
  font-family:Inter,system-ui,sans-serif;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(120deg, transparent 0%, rgba(255,255,255,.02) 35%, transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 18%, transparent 82%, rgba(0,0,0,.12));
  z-index:0;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at -8% 18%, transparent 0 17%, rgba(240,210,162,.95) 17.2%, transparent 18.2%),
    radial-gradient(circle at 108% 88%, transparent 0 15%, rgba(201,151,77,.95) 15.2%, transparent 16.2%);
  opacity:.18;
  z-index:0;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:0 auto;position:relative;z-index:1}
.section{padding:92px 0;position:relative;z-index:1}
.section-soft{background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));backdrop-filter:blur(6px)}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;color:var(--gold-light);margin:0 0 14px;font-weight:700}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;line-height:.96;margin:0 0 16px;font-weight:600;color:var(--text)}
h1{font-size:clamp(3.2rem,7vw,5.9rem);letter-spacing:-.04em}
h2{font-size:clamp(2.5rem,5vw,4.2rem);letter-spacing:-.03em}
h3{font-size:clamp(1.7rem,3vw,2.3rem)}
p{margin:0 0 16px;color:var(--muted);font-size:1.02rem;line-height:1.8}
ul{margin:0;padding-left:22px;color:#dbe3ea;line-height:1.9}
.lead{font-size:1.12rem;max-width:60ch;color:#dde5ec}

.header{position:sticky;top:0;z-index:30;backdrop-filter:blur(14px);background:rgba(4,18,31,.72);border-bottom:1px solid rgba(255,255,255,.06)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:84px}
.brand{display:flex;align-items:center;gap:14px}
.brand strong{display:block;font-size:1rem;color:var(--text)}
.brand small{display:block;color:var(--gold-light);margin-top:4px}
.brand-mark{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(180deg, rgba(201,151,77,.28), rgba(255,255,255,.08));border:1px solid rgba(240,210,162,.24);box-shadow:var(--shadow)}
.nav-menu{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.nav-menu a{color:#dbe2e8;font-weight:600}
.nav-menu a:hover{color:var(--gold-light)}
.nav-toggle{display:none}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:none;padding:15px 24px;border-radius:999px;cursor:pointer;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:#07131f;font-weight:800;box-shadow:0 16px 40px rgba(201,151,77,.28);transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 20px 48px rgba(201,151,77,.34)}
.btn-ghost,.btn-outline{background:transparent;color:var(--text);border:1px solid rgba(240,210,162,.28);box-shadow:none}
.btn-ghost:hover,.btn-outline:hover{border-color:rgba(240,210,162,.5);background:rgba(255,255,255,.03)}
.btn-small{padding:12px 18px;font-size:.95rem}

.hero{padding:68px 0 52px}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:center}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:20px 0 16px}
.micro-pills{display:flex;gap:10px;flex-wrap:wrap}
.micro-pills span{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;border:1px solid rgba(240,210,162,.14);background:rgba(255,255,255,.04);color:#d7e0e8;font-size:.82rem;backdrop-filter:blur(8px)}
.micro-pills{margin-top:6px}
.micro-pills span{font-size:.82rem;padding:7px 12px;color:#d7e0e8}

.hero-frame{position:relative;min-height:700px;border-radius:36px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(240,210,162,.18);background:#081625}
.hero-frame::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.28))}
.hero-frame::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.04) 40%, transparent 64%);mix-blend-mode:screen;opacity:.45;pointer-events:none}
.media-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scene-card{position:absolute;left:28px;right:28px;bottom:22px;padding:28px;border-radius:28px;background:rgba(5,18,31,.48);color:#f8f4ee;backdrop-filter:blur(14px);border:1px solid rgba(240,210,162,.18);z-index:3}
.scene-card h2{font-size:clamp(1.8rem,3vw,2.8rem);margin-bottom:0}
.scene-kicker{display:block;margin-bottom:12px;letter-spacing:.15em;text-transform:uppercase;font-size:.72rem;color:var(--gold-light);opacity:.95}

.split{display:grid;gap:40px;align-items:center}
.split-intro{grid-template-columns:.8fr 1.2fr}
.about-ceci{padding-top:40px}
.about-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:42px;align-items:center}
.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:28px;border:1px solid rgba(240,210,162,.14);box-shadow:var(--shadow)}
.about-copy{max-width:62ch}
.about-copy h2{max-width:12ch}
.about-copy p strong{color:var(--text)}
.section-heading{max-width:820px;margin:0 auto 42px;text-align:center}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.timeline-card,.info-card,.quote-card,.cta-band-box,.final-box,.award-box,.blog-box{background:var(--card);border:1px solid rgba(240,210,162,.12);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(14px)}
.info-card,.quote-card{padding:30px}
.card-tag{display:inline-flex;padding:7px 12px;border-radius:999px;font-size:.8rem;color:var(--gold-light);margin-bottom:14px;border:1px solid rgba(240,210,162,.2);background:rgba(255,255,255,.04)}
.featured-card{background:linear-gradient(180deg, rgba(30,40,50,.88), rgba(8,24,40,.96));border-color:rgba(240,210,162,.2)}
.format-card{transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;transform-origin:center center}
.formats-grid:hover .format-card{transform:scale(.98)}
.format-card:hover{transform:scale(1.06) translateY(-8px);z-index:5;border-color:rgba(240,210,162,.3);box-shadow:0 28px 80px rgba(0,0,0,.42)}

.cta-band{padding-top:12px}
.cta-band-box,.final-box,.blog-box{padding:38px 42px;display:flex;gap:22px;align-items:center;justify-content:space-between}

.wedding-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.wedding-card{display:block;background:var(--card);border:1px solid rgba(240,210,162,.12);border-radius:28px;overflow:hidden;box-shadow:var(--shadow);transition:transform .24s ease,border-color .24s ease}
.wedding-card:hover{transform:translateY(-6px);border-color:rgba(240,210,162,.3)}
.wedding-grid-square{gap:20px}
.wedding-card-square{position:relative;aspect-ratio:1 / 1;border-radius:24px;overflow:hidden}
.wedding-card-square img{width:100%;height:100%;display:block;object-fit:cover}
.wedding-card-square::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,0) 52%, rgba(0,0,0,.68) 100%);pointer-events:none}
.wedding-overlay{position:absolute;left:18px;right:18px;bottom:16px;z-index:2}
.wedding-overlay h3{margin:0;font-family:Inter,system-ui,sans-serif;font-size:1rem;font-weight:800;line-height:1.2;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.wedding-card-copy{padding:18px 20px 22px}
.wedding-card-copy p{margin:0;font-size:.94rem;line-height:1.6}

.news-list{display:grid;gap:18px;max-width:1080px;margin:0 auto}
.news-card{display:grid;grid-template-columns:220px 1fr;gap:26px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.news-card:last-child{border-bottom:none}
.news-card img{width:220px;height:148px;object-fit:cover;border-radius:8px;justify-self:start}
.news-tag{display:block;color:#eabf7b;font-weight:800;letter-spacing:.14em;font-size:.74rem;margin-bottom:12px}
.news-content h3{font-size:clamp(1.8rem,2.5vw,2.8rem);line-height:1.08;margin-bottom:10px}
.news-content p{max-width:58ch;margin:0;color:#d8e0e6}

.award-box{text-align:center;padding:44px 36px}

.testimonials-grid .quote-card p{color:var(--text);font-size:1.08rem}
.center{text-align:center;margin-top:30px}
.final-cta{padding-top:32px}
.center-actions{justify-content:center}

.whatsapp-float{position:fixed;right:24px;bottom:24px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:#081321;font-size:1.5rem;font-weight:800;box-shadow:0 16px 40px rgba(201,151,77,.35);z-index:50}
.footer{padding:34px 0 50px;border-top:1px solid rgba(240,210,162,.08);position:relative;z-index:1}
.footer-grid{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}
.footer-grid strong{color:var(--text)}
.footer-links{display:grid;gap:10px;justify-items:end}
.footer-links a{color:var(--muted)}
.footer-links a:hover{color:var(--gold-light)}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.delay-1{transition-delay:.12s}
.delay-2{transition-delay:.24s}

@media (max-width: 1100px){
  .hero-grid{grid-template-columns:1fr}
  .hero-frame{min-height:560px}
}
@media (max-width: 960px){
  .split-intro,.cards-grid,.wedding-grid,.about-grid{grid-template-columns:1fr}
  .formats-grid:hover .format-card{transform:none}
  .format-card:hover{transform:translateY(-4px)}
  .news-card{grid-template-columns:1fr;gap:18px}
  .news-card img{width:100%;height:auto;aspect-ratio:16/10}
  .cta-band-box,.final-box,.blog-box,.footer-grid{flex-direction:column;align-items:flex-start}
  .footer-links{justify-items:start}
}
@media (max-width: 760px){
  .nav{min-height:74px}
  .nav-toggle{display:inline-flex;border:1px solid rgba(240,210,162,.16);background:rgba(255,255,255,.05);color:var(--text);border-radius:999px;padding:11px 16px;font-weight:700}
  .nav-menu{position:absolute;top:82px;left:20px;right:20px;display:none;padding:16px;flex-direction:column;align-items:flex-start;flex-wrap:nowrap;background:rgba(6,27,45,.95);border:1px solid rgba(240,210,162,.14);border-radius:24px;box-shadow:var(--shadow);z-index:30}
  .nav-menu.open{display:flex}
  h1{font-size:clamp(2.7rem,14vw,4.3rem)}
  .section{padding:72px 0}
  .hero{padding-top:40px}
  .hero-frame{min-height:420px}
  .scene-card{left:18px;right:18px;bottom:18px;padding:22px}
  .news-content h3{font-size:2rem}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .format-card,.wedding-card,.btn{transition:none}
}

@media (max-width:640px){
  .wedding-grid{grid-template-columns:1fr}
}
