:root{--teal:#0d5658;--deep:#073f41;--ivory:#f7f3ec;--gold:#b8860b;--gold2:#8b6b1f;--ink:#183334;--muted:#667576;--shadow:0 24px 70px rgba(7,63,65,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,sans-serif;color:var(--ink);background:#fff;line-height:1.65}img{display:block;width:100%}a{text-decoration:none;color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Italiana,serif;font-weight:400;line-height:1.05}.kicker{font-size:.72rem;letter-spacing:.22em;font-weight:800;color:var(--gold)}
.topbar{height:82px;position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(13,86,88,.08)}.logo-lockup img{width:66px;height:66px;object-fit:cover;border-radius:50%}nav{display:flex;gap:24px;align-items:center;font-size:.85rem;font-weight:700}.book-link{background:var(--teal);color:#fff;padding:12px 18px;border-radius:999px}.menu-toggle{display:none;border:0;background:none;font-size:1.4rem;color:var(--teal)}.nav-socials{display:flex;gap:8px}.nav-socials a{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--ivory);color:var(--teal)}
.hero{height:100vh;min-height:720px;position:relative;display:flex;align-items:center;padding:100px 7vw 70px;color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,32,33,.88),rgba(4,32,33,.58) 48%,rgba(4,32,33,.12) 80%)}.hero-content{position:relative;max-width:760px;z-index:2}.hero h1{font-size:clamp(4.8rem,9vw,8.8rem);margin-bottom:24px}.hero h1 span{font-family:Parisienne,cursive;color:#e2c77d}.hero-sub{max-width:620px;font-size:1.1rem;color:rgba(255,255,255,.84)}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 23px;border-radius:999px;font-weight:800;border:1px solid transparent;cursor:pointer;font:inherit}.btn-primary{background:var(--teal);color:#fff}.btn-ghost{border-color:rgba(255,255,255,.6);color:#fff}
.statement{padding:130px 7vw;text-align:center;max-width:1200px;margin:auto}.statement h2{font-size:clamp(3rem,6vw,6rem)}.statement h2 em{font-family:Parisienne,cursive;color:var(--teal)}.statement>p:last-child{max-width:760px;margin:0 auto;color:var(--muted)}
.split-feature{display:grid;grid-template-columns:1fr 1fr;min-height:740px}.split-feature.reverse .feature-image{order:2}.feature-image img{height:100%;object-fit:cover}.feature-copy{padding:10vw 9vw;display:flex;flex-direction:column;justify-content:center;background:var(--ivory)}.feature-copy h2{font-size:clamp(3rem,5vw,5.2rem)}.feature-copy p:not(.kicker){color:var(--muted)}.number{font-family:Italiana;font-size:4rem;color:rgba(184,134,11,.3)}
.experience-band{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--deep);color:#fff}.experience-band>img{height:100%;object-fit:cover;min-height:650px}.band-copy{padding:100px 7vw}.script{font-family:Parisienne,cursive;font-size:3rem;color:#d4af37}.band-copy h2{font-size:clamp(3rem,5vw,5rem)}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:45px}.mini-grid div{border-top:1px solid rgba(255,255,255,.25);padding-top:18px}.mini-grid strong,.mini-grid span{display:block}.mini-grid span{font-size:.86rem;color:rgba(255,255,255,.65)}
.gallery-section,.packages-section,.about,.social-section,.booking{padding:115px 7vw}.section-intro{max-width:850px;margin-bottom:50px}.section-intro.centered{text-align:center;margin-left:auto;margin-right:auto}.section-intro h2{font-size:clamp(3rem,5vw,5.5rem)}.section-intro>p:last-child{color:var(--muted)}.masonry{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.masonry figure{margin:0;position:relative;overflow:hidden;border-radius:18px;min-height:480px}.masonry figure.wide{grid-column:span 2}.masonry img{height:100%;object-fit:cover;transition:.5s}.masonry figure:hover img{transform:scale(1.03)}figcaption{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.92);padding:10px 14px;border-radius:999px;font-size:.8rem;font-weight:800}
.events{padding:100px 7vw;background:var(--ivory);display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw}.events h2{font-size:clamp(3rem,5vw,5rem)}.event-list{display:flex;flex-wrap:wrap;gap:12px}.event-list span{padding:13px 18px;background:#fff;border:1px solid #ddd2c3;border-radius:999px;font-size:.88rem}
.packages{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:1100px;margin:0 auto}.packages article{border:1px solid #dfe6e4;border-radius:22px;padding:34px;background:linear-gradient(180deg,#fff,#fbfaf7);transition:.25s;position:relative;overflow:hidden}.packages article::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,#c49a34,#e1c26a,#a67a13)}.packages article:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.packages small{color:var(--gold);letter-spacing:.14em;font-weight:800}.packages h3{font-size:2rem;margin:15px 0}.packages p{color:var(--muted)}.packages a{color:var(--teal);font-weight:800}
.custom-package{grid-column:1/-1;background:linear-gradient(135deg,var(--deep),var(--teal))!important;color:var(--gold);border:2px solid var(--gold)!important;text-align:center;padding:48px!important}.custom-package small{color:var(--gold)!important;font-size:1rem!important;letter-spacing:.16em;font-weight:800}.custom-package h3{font-size:3.2rem!important;color:var(--gold);margin:18px 0 20px!important}.custom-package p{max-width:720px;margin:0 auto 28px!important}.package-badge{display:inline-block;margin-bottom:8px;padding:10px 16px;border-radius:999px;background:linear-gradient(135deg,#c89b3c,#9b7419);border:1px solid #d8b55c;font-size:.82rem;letter-spacing:.18em;font-weight:800;color:var(--deep)}.custom-highlight{display:block;font-size:1.65rem;line-height:1.35;font-weight:800;margin-bottom:12px;background:linear-gradient(90deg,#9a7218,#b8860b,#8b6b1f);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 1px 1px rgba(58,42,10,.28)}.custom-support{display:block;font-size:1.35rem;line-height:1.75;font-weight:700;background:linear-gradient(90deg,#8f6918,#b8860b,#9b7421);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 1px 1px rgba(58,42,10,.22)}.custom-quote-btn{display:inline-flex!important;align-items:center;justify-content:center;background:linear-gradient(135deg,#c89b3c,#9b7419);color:var(--deep)!important;padding:16px 26px;border-radius:999px;font-weight:800;font-size:1.08rem;border:1px solid #d8b55c}
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;background:#f8faf9}.about-image img{border-radius:50%;max-width:500px;margin:auto;box-shadow:var(--shadow)}.about-copy h2{font-size:clamp(3rem,5vw,5rem)}.about-copy p:not(.kicker){color:var(--muted)}
.social-section{background:linear-gradient(135deg,#f8f4ed,#eef6f5)}.social-copy{max-width:780px;margin-bottom:45px}.social-copy h2{font-size:clamp(3rem,5vw,5.2rem)}.social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.social-card{background:#fff;border:1px solid #dfe7e4;border-radius:22px;padding:32px;display:flex;flex-direction:column;gap:7px}.social-card i{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff;font-size:1.45rem}.social-card span{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:800}.social-card strong{font-family:Italiana,serif;font-size:1.7rem;font-weight:400}
.booking{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;background:var(--deep);color:#fff}.booking-copy h2{font-size:clamp(3rem,5vw,5rem)}.booking-copy>p:not(.kicker){color:rgba(255,255,255,.72)}.contact-links{display:grid;gap:12px;margin-top:35px}form{background:#fff;color:var(--ink);padding:35px;border-radius:22px}.row{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:grid;gap:7px;margin-bottom:16px;font-size:.82rem;font-weight:800}input,select,textarea{width:100%;padding:13px;border-radius:10px;border:1px solid #cbd5d3;font:inherit}form .btn{width:100%}
footer{text-align:center;padding:55px 20px;background:#062f31;color:#fff}footer img{width:90px;height:90px;object-fit:cover;border-radius:50%;margin:0 auto 18px}.footer-tagline{font-family:Parisienne,cursive;font-size:1.6rem!important;color:#d4af37!important}.footer-socials{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin:22px 0}.footer-socials a{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(255,255,255,.2);border-radius:999px}.floating-actions{position:fixed;right:18px;bottom:18px;z-index:40;display:flex;gap:10px;align-items:center}.float-call{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--teal);box-shadow:var(--shadow)}.float-book{padding:13px 18px;border-radius:999px;background:var(--teal);color:#fff;font-weight:800;box-shadow:var(--shadow)}
.reveal{opacity:0;transform:translateY(24px);transition:.8s ease}.reveal.visible{opacity:1;transform:none}
@media(min-width:901px){.floating-actions{display:none}}
@media(max-width:900px){nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:24px;flex-direction:column;box-shadow:var(--shadow)}nav.open{display:flex}.menu-toggle{display:block}.split-feature,.experience-band,.events,.about,.booking{grid-template-columns:1fr}.split-feature.reverse .feature-image{order:0}.feature-image{min-height:520px}.masonry{grid-template-columns:1fr 1fr}.social-grid{grid-template-columns:1fr}.events{gap:30px}}
@media(max-width:700px){.topbar{padding:0 20px}.hero,.statement,.gallery-section,.packages-section,.about,.social-section,.booking,.events{padding-left:22px;padding-right:22px}.hero h1{font-size:4.3rem}.hero-actions{flex-direction:column}.btn{width:100%}.feature-copy,.band-copy{padding:80px 22px}.mini-grid,.row,.packages,.masonry{grid-template-columns:1fr}.masonry figure.wide{grid-column:auto}.custom-package{grid-column:auto;padding:34px 24px!important}.custom-package h3{font-size:2.45rem!important}.custom-highlight{font-size:1.4rem}.custom-support{font-size:1.14rem;line-height:1.65}}


/* Event clip-art cards */
.event-icon-list{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(140px,1fr));
  gap:22px;
  align-items:start;
}
.event-icon-card{
  display:flex !important;
  min-height:160px;
  padding:24px 14px !important;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:15px;
  text-align:center;
  border:1px solid rgba(190,145,63,.42);
  border-radius:999px;
  background:linear-gradient(145deg,#fffdf9,#f7efe4);
  box-shadow:0 14px 34px rgba(38,73,72,.08);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.event-icon-card i{
  display:grid;
  place-items:center;
  width:68px;
  height:68px;
  border-radius:50%;
  color:#b68a3b;
  background:#fff;
  border:1px solid rgba(190,145,63,.28);
  font-size:2rem;
  box-shadow:inset 0 0 0 5px rgba(246,223,218,.55);
}
.event-icon-card b{
  color:#0d5658;
  font-size:.95rem;
  line-height:1.3;
  font-weight:800;
}
.event-icon-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 42px rgba(38,73,72,.14);
  border-color:#b68a3b;
}
@media(max-width:1000px){
  .event-icon-list{grid-template-columns:repeat(2,minmax(150px,1fr))}
}
@media(max-width:560px){
  .event-icon-list{grid-template-columns:repeat(2,minmax(120px,1fr));gap:14px}
  .event-icon-card{min-height:145px;padding:18px 10px !important}
  .event-icon-card i{width:58px;height:58px;font-size:1.65rem}
  .event-icon-card b{font-size:.82rem}
}


/* Custom two interlocking wedding rings */
.wedding-rings-icon{
  position:relative;
  display:block;
  width:82px;
  height:62px;
}
.wedding-rings-icon .ring{
  position:absolute;
  top:20px;
  width:42px;
  height:42px;
  border:7px solid #c89a43;
  border-radius:50%;
  box-sizing:border-box;
  background:transparent;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.65),
    0 3px 7px rgba(120,82,18,.16);
}
.wedding-rings-icon .ring-left{
  left:7px;
  transform:rotate(-8deg);
}
.wedding-rings-icon .ring-right{
  right:7px;
  transform:rotate(8deg);
}
.wedding-rings-icon .diamond{
  position:absolute;
  top:1px;
  right:16px;
  width:18px;
  height:18px;
  background:linear-gradient(135deg,#fff 0%,#f5e6bc 45%,#d6ad57 100%);
  border:2px solid #c89a43;
  transform:rotate(45deg);
  border-radius:3px;
  box-shadow:0 3px 8px rgba(120,82,18,.18);
}
.wedding-rings-icon .diamond::before,
.wedding-rings-icon .diamond::after{
  content:"";
  position:absolute;
  background:rgba(255,255,255,.8);
}
.wedding-rings-icon .diamond::before{
  width:2px;
  height:14px;
  left:6px;
  top:0;
}
.wedding-rings-icon .diamond::after{
  width:14px;
  height:2px;
  left:0;
  top:6px;
}


/* Floating WhatsApp contact button */
.floating-whatsapp{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:80;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:56px;
  padding:0 18px 0 14px;
  border-radius:999px;
  background:#25D366;
  color:#fff;
  font-weight:800;
  box-shadow:0 14px 34px rgba(0,0,0,.22);
  transition:transform .22s ease, box-shadow .22s ease;
}
.floating-whatsapp i{
  font-size:1.85rem;
}
.floating-whatsapp:hover{
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 18px 42px rgba(0,0,0,.28);
}
.floating-whatsapp:focus-visible{
  outline:3px solid rgba(37,211,102,.35);
  outline-offset:4px;
}
@media(max-width:700px){
  .floating-whatsapp{
    width:56px;
    height:56px;
    min-height:56px;
    padding:0;
    justify-content:center;
    right:16px;
    bottom:16px;
  }
  .floating-whatsapp span{display:none}
}

@media(min-width:701px){
  .floating-actions{right:20px;bottom:90px}
}
