:root{
  --ink:#1a1516;
  --wine:#5a1d2e;
  --wine-dark:#39101c;
  --rose:#b46f7f;
  --blush:#f6eeee;
  --cream:#fbf7f1;
  --gold:#c39a55;
  --white:#ffffff;
  --muted:#706467;
  --shadow:0 20px 50px rgba(49,22,29,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Montserrat',sans-serif;color:var(--ink);background:var(--cream);line-height:1.7}
a{text-decoration:none;color:inherit}
.container{width:min(1120px,90%);margin:auto}
.narrow{width:min(820px,90%)}
.hero{min-height:92vh;position:relative;color:white;background:
 linear-gradient(110deg,rgba(34,12,18,.86),rgba(48,18,28,.55)),
 radial-gradient(circle at 75% 35%,rgba(195,154,85,.30),transparent 28%),
 #4a1828;overflow:hidden}
.hero:after{content:"";position:absolute;inset:auto -120px -220px auto;width:520px;height:520px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018)}
.nav{height:86px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:3}
.brand{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:700;letter-spacing:.02em}
.nav-links{display:flex;align-items:center;gap:26px;font-size:.88rem;font-weight:600}.nav-links a{opacity:.92}.nav-links a:hover{opacity:1}
.nav-cta{padding:11px 18px;border:1px solid rgba(255,255,255,.6);border-radius:999px}.menu-btn{display:none;background:none;color:white;border:0;font-size:1.5rem}
.hero-content{position:relative;z-index:2;padding:120px 0 100px;max-width:930px;margin-left:auto;margin-right:auto;text-align:center}
.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700;color:var(--gold)}
h1,h2,h3{font-family:'Cormorant Garamond',serif;line-height:1.05;margin:0 0 20px}
h1{font-size:clamp(3.4rem,7vw,6.7rem);font-weight:600}h1 span{color:#efd8bd;font-style:italic}
.hero-copy{font-size:1.12rem;max-width:750px;margin:28px auto 34px;color:#f4eaec}
.hero-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:999px;font-weight:700;border:1px solid transparent;cursor:pointer}.primary{background:var(--gold);color:#221315}.secondary{border-color:rgba(255,255,255,.55);color:white;background:rgba(255,255,255,.06)}
.trust-row{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-top:34px;font-size:.86rem;color:#eadfe2}
.section{padding:100px 0}.split{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.section h2{font-size:clamp(2.8rem,5vw,4.4rem);font-weight:600}.section p{color:var(--muted)}
.quote-card{background:white;padding:48px;border-radius:28px;box-shadow:var(--shadow);position:relative}.monogram{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:var(--wine);color:white;font-family:'Cormorant Garamond',serif;font-size:1.8rem;margin-bottom:28px}.quote-card blockquote{font-family:'Cormorant Garamond',serif;font-size:2rem;line-height:1.3;margin:0;color:var(--wine-dark)}

.officiant-card{background:white;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);border:1px solid #eadfe1}
.officiant-photo{display:block;width:100%;height:520px;object-fit:cover;object-position:center 25%}
.officiant-caption{padding:28px 32px 32px}
.officiant-caption h3{font-size:2.5rem;color:var(--wine-dark);margin-bottom:8px}
.officiant-caption p{margin:0}

.services{background:#fff}.center{text-align:center}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}.card{background:var(--cream);padding:36px;border-radius:24px;border:1px solid #eadfe1;position:relative}.card.featured{background:var(--wine-dark);color:white;transform:translateY(-12px);box-shadow:var(--shadow)}.card.featured p,.card.featured li{color:#eadfe2}.popular{position:absolute;top:-14px;right:24px;background:var(--gold);color:#251417;padding:7px 13px;border-radius:999px;font-size:.72rem;font-weight:800}.card-label{font-size:.72rem!important;text-transform:uppercase;letter-spacing:.13em;font-weight:700;color:var(--rose)!important}.card h3{font-size:2.3rem}.price{font-size:2.3rem;font-weight:800;margin:8px 0 18px}.card ul{padding-left:20px;color:var(--muted)}.fine-print{text-align:center;margin:30px auto 0;max-width:850px;font-size:.84rem}
.process{background:var(--blush)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}.step{background:white;padding:30px;border-radius:20px}.step span{font-size:.78rem;font-weight:800;color:var(--gold)}.step h3{font-size:1.8rem;margin-top:14px}.step p{font-size:.9rem}
.inclusion{background:var(--wine-dark);color:white}.inclusion-box{max-width:900px;text-align:center}.inclusion h2{color:white}.inclusion p{color:#eadfe2;font-size:1.06rem}
.faq{background:#fff}.faq details{background:var(--cream);margin:14px 0;padding:22px 24px;border-radius:16px;border:1px solid #eee2e4}.faq summary{font-weight:700;cursor:pointer}.faq details p{margin-bottom:0}
.booking{background:linear-gradient(135deg,#f9f0ef,#fff8ef)}.booking-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}.booking-notes{margin-top:28px;padding:24px;border-left:3px solid var(--gold);background:rgba(255,255,255,.55)}.booking-notes p{margin:7px 0}.booking-form{background:white;padding:34px;border-radius:24px;box-shadow:var(--shadow)}label{display:block;font-weight:700;font-size:.84rem;margin-bottom:16px}input,select,textarea{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #d9cdcf;border-radius:11px;background:#fff;font:inherit;color:var(--ink)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{width:100%;border:0}.form-note{text-align:center;font-size:.86rem;color:var(--wine)!important}
footer{background:#170c10;color:#eee;padding:58px 0 0}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:50px}.footer-grid p{color:#bfaeb3}.footer-grid a{display:block;margin:6px 0;color:#e8dde0}.footer-title{color:var(--gold)!important;font-weight:800}.footer-brand{font-size:2rem}.copyright{margin-top:40px;padding:18px;text-align:center;border-top:1px solid rgba(255,255,255,.08);font-size:.78rem;color:#a59499}
@media(max-width:900px){.nav-links{display:none;position:absolute;top:76px;right:0;background:#2c111a;padding:22px;border-radius:16px;flex-direction:column;align-items:flex-start;width:220px}.nav-links.open{display:flex}.menu-btn{display:block}.split,.booking-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.card.featured{transform:none}.steps{grid-template-columns:1fr 1fr}.hero-content{padding-top:90px}.footer-grid{grid-template-columns:1fr}}
@media(max-width:600px){.section{padding:76px 0}.officiant-photo{height:430px}.steps{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.hero{min-height:88vh}.hero-content{padding:82px 0 70px}.quote-card{padding:34px}.cards{margin-top:34px}}

/* Pink, gold and sparkle Vows of Trust refresh */
:root{--wine:#a73568;--wine-dark:#6f1743;--rose:#e36d9e;--blush:#fff0f6;--cream:#fff9f4;--gold:#d4af37;--muted:#665a61}
body{background:linear-gradient(180deg,#fff9fc 0%,#fffaf4 100%)}
.hero{background:linear-gradient(110deg,rgba(88,12,48,.88),rgba(213,72,133,.62)),radial-gradient(circle at 75% 35%,rgba(255,215,92,.38),transparent 28%),#8f2858}
.hero:before{content:"✦  ✧  ✦  ✧  ✦  ✧  ✦";position:absolute;top:18%;left:4%;right:4%;text-align:center;color:rgba(255,225,130,.34);font-size:2rem;letter-spacing:2.2rem;transform:rotate(-5deg);pointer-events:none}
h1 span{color:#ffe39b}.primary{background:linear-gradient(135deg,#e6c34e,#c9971f);box-shadow:0 8px 24px rgba(183,134,24,.25)}
.section-kicker,.eyebrow{color:#c79a23}.services{background:#fffafd}.card{background:#fff8fb;border-color:#f1d3df}.card.featured{background:linear-gradient(145deg,#9e2f63,#6f1743)}
.cards.four{grid-template-columns:repeat(2,1fr)}
.process{background:linear-gradient(135deg,#fff0f6,#fff9e8)}.inclusion{background:linear-gradient(135deg,#721944,#a93c70);position:relative;overflow:hidden}.inclusion:after{content:"✦ ✧ ✦ ✧ ✦";position:absolute;right:5%;bottom:8%;color:rgba(255,222,119,.24);font-size:2rem;letter-spacing:1rem}
.booking{background:linear-gradient(135deg,#fff0f7,#fff9df)}
.flower-break{height:460px;position:relative;overflow:hidden}.flower-break img{width:100%;height:100%;object-fit:cover}.flower-break:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(83,18,48,.55),rgba(83,18,48,.05))}.flower-break div{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;padding:30px}.flower-break span{font-family:'Cormorant Garamond',serif;color:white;font-size:clamp(2.6rem,6vw,5rem);font-weight:700;text-align:center;text-shadow:0 3px 18px rgba(0,0,0,.35)}
.gallery{background:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:240px;gap:14px;margin-top:42px}.gallery-grid img{width:100%;height:100%;object-fit:cover;border-radius:20px;box-shadow:var(--shadow);border:2px solid rgba(212,175,55,.35)}.gallery-grid img:nth-child(1){grid-column:span 5;grid-row:span 2}.gallery-grid img:nth-child(2){grid-column:span 7}.gallery-grid img:nth-child(3){grid-column:span 4}.gallery-grid img:nth-child(4){grid-column:span 3}.gallery-grid img:nth-child(5){grid-column:span 7}
.officiant-card,.booking-form,.step,.faq details{box-shadow:0 16px 45px rgba(176,67,113,.10)}
@media(max-width:900px){.cards.four{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:260px}.gallery-grid img,.gallery-grid img:nth-child(n){grid-column:auto;grid-row:auto}.gallery-grid img:first-child{grid-row:span 2}}
@media(max-width:600px){.cards.four{grid-template-columns:1fr}.flower-break{height:360px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:330px}.gallery-grid img:first-child{grid-row:auto}.hero:before{font-size:1.2rem;letter-spacing:.7rem}}


/* Signature wordmark and 24-hour hero refresh */
.brand{
  font-family:'Great Vibes',cursive;
  font-size:clamp(2.45rem,4.7vw,3.55rem);
  font-weight:400;
  line-height:1;
  letter-spacing:.015em;
  background:linear-gradient(105deg,#fff8dc 0%,#f6d66d 30%,#fff4b8 50%,#dba83b 72%,#fff8dc 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:drop-shadow(0 2px 2px rgba(75,8,38,.35));
  position:relative;
  padding-right:.18em;
}
.brand:after{content:"✦";font-family:'Montserrat',sans-serif;font-size:.34em;color:#ffe896;position:absolute;right:-.28em;top:-.05em;text-shadow:0 0 10px rgba(255,226,130,.8)}
.footer-brand{display:inline-block}
.hero-content h1{max-width:980px;margin-left:auto;margin-right:auto}
.hero-main{display:inline-block;color:#fff;font-style:normal;font-weight:600;text-shadow:0 4px 22px rgba(70,8,37,.28)}
.hero-main strong{color:#ffe18a;font-weight:700;text-shadow:0 0 18px rgba(255,223,119,.28)}
.hero-dream{display:inline-block;margin-top:.18em;color:#ffe6a3;font-style:italic;font-weight:600}
.hero-dream strong{color:#fff3c7;font-weight:700;text-shadow:0 0 20px rgba(255,235,165,.35)}
.always-ready{margin:34px auto 0;max-width:780px;padding:18px 24px;border:1px solid rgba(255,226,130,.56);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,222,128,.07));box-shadow:0 12px 30px rgba(65,7,34,.15);backdrop-filter:blur(5px)}
.always-ready .open24{display:inline-block;color:#ffe18a;font-size:.73rem;font-weight:800;letter-spacing:.22em;margin-bottom:7px}
.always-ready p{margin:0;color:#fff7fb;font-size:1.03rem;font-weight:600;line-height:1.5}
@media(max-width:600px){
  .brand{font-size:2.55rem}
  .hero-content h1{font-size:clamp(3rem,14vw,4.35rem)}
  .hero-main,.hero-dream{line-height:.98}
  .always-ready{margin-top:26px;padding:16px 18px}
  .always-ready p{font-size:.94rem}
}
