/*
Theme Name: Anjo Jomol Clean Floral Flow
Theme URI: https://example.com/anjo-jomol-clean-flow
Author: ChatGPT
Description: Clean continuous floral-frame WordPress wedding theme for Anjo & Jomol with a rebuilt hero and invitation flow, no overlapping sections, gallery, story, events and countdown.
Version: 5.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: anjo-jomol-clean-flow
Tags: wedding, floral, invitation, one-page, responsive
*/

:root{
  --paper:#fffdf8;
  --cream:#fff7ef;
  --blush:#f7d5d1;
  --rose:#d9797e;
  --sage:#778a5c;
  --leaf:#405934;
  --gold:#c49a54;
  --ink:#24301e;
  --muted:#766c61;
  --line:rgba(196,154,84,.28);
  --shadow:0 26px 80px rgba(76,45,20,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#fff8f1;
  line-height:1.65;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 34px));margin:auto}
.script{font-family:"Great Vibes",cursive}
.serif{font-family:"Cormorant Garamond",Georgia,serif}
.kicker{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:900;color:var(--rose)}
.section{padding:92px 0;position:relative;overflow:hidden}
.section-title{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2.7rem,5.8vw,6rem);line-height:.95;margin:8px 0 16px;color:var(--leaf)}
.lead{max-width:760px;color:var(--muted);font-size:1.08rem}

/* petals */
.petals{position:fixed;inset:0;pointer-events:none;z-index:6;overflow:hidden}
.petal{position:absolute;width:14px;height:18px;background:linear-gradient(145deg,#f5a9ad,#fff0ed);border-radius:80% 0 80% 0;opacity:.5;animation:fall linear infinite}
.petal:nth-child(1){left:8%;animation-duration:12s;animation-delay:-4s}
.petal:nth-child(2){left:23%;animation-duration:15s;animation-delay:-10s}
.petal:nth-child(3){left:45%;animation-duration:11s;animation-delay:-2s}
.petal:nth-child(4){left:62%;animation-duration:16s;animation-delay:-7s}
.petal:nth-child(5){left:80%;animation-duration:13s;animation-delay:-1s}
.petal:nth-child(6){left:94%;animation-duration:18s;animation-delay:-12s}
@keyframes fall{0%{top:-8%;transform:translateX(0) rotate(0)}100%{top:108%;transform:translateX(80px) rotate(360deg)}}

/* nav */
.site-nav{
  position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:50;
  width:min(1040px,calc(100% - 28px));display:flex;justify-content:space-between;align-items:center;
  padding:12px 18px;border:1px solid rgba(255,255,255,.72);border-radius:999px;
  background:rgba(255,253,248,.78);backdrop-filter:blur(18px);box-shadow:0 14px 46px rgba(76,45,20,.10);
}
body.admin-bar .site-nav{top:46px}
.logo{font-family:"Great Vibes",cursive;font-size:2rem;color:var(--leaf)}
.nav-links{display:flex;gap:22px;font-size:.76rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#5d554b}
.nav-links a:hover{color:var(--rose)}
.rsvp-pill{padding:10px 18px;border-radius:999px;background:var(--rose);color:white;font-weight:900}

/* one continuous top flow */
.top-flow{
  position:relative;
  padding:106px 0 86px;
  overflow:hidden;
  background:
    radial-gradient(circle at 10% 11%, rgba(247,213,209,.55), transparent 30%),
    radial-gradient(circle at 89% 26%, rgba(119,138,92,.22), transparent 30%),
    radial-gradient(circle at 50% 72%, rgba(255,255,255,.8), transparent 48%),
    linear-gradient(180deg,#fffdf8 0%,#fff8ef 54%,#fff5f1 100%);
}
.top-flow:before{
  content:"";
  position:absolute;left:50%;top:47%;width:125vw;height:320px;
  transform:translateX(-50%) rotate(-2deg);
  background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(247,213,209,.20),rgba(255,255,255,0));
  filter:blur(18px);
  pointer-events:none;
}
.floral-bunch{
  position:absolute;width:300px;height:300px;opacity:.65;pointer-events:none;z-index:1;
  background:
    radial-gradient(circle at 30% 35%, #f4a9ad 0 10%, transparent 11%),
    radial-gradient(circle at 48% 45%, #fff2ea 0 9%, transparent 10%),
    radial-gradient(circle at 65% 31%, #e58d95 0 9%, transparent 10%),
    radial-gradient(circle at 56% 64%, #ffd8d4 0 8%, transparent 9%),
    radial-gradient(ellipse at 72% 68%, rgba(119,138,92,.70) 0 11%, transparent 12%),
    radial-gradient(ellipse at 24% 72%, rgba(66,90,50,.58) 0 10%, transparent 11%);
  filter:drop-shadow(0 20px 26px rgba(76,45,20,.08));
}
.floral-bunch.tl{left:-85px;top:30px;transform:rotate(-22deg)}
.floral-bunch.tr{right:-95px;top:76px;transform:rotate(75deg) scale(.85)}
.floral-bunch.bl{left:-100px;bottom:16px;transform:rotate(-112deg) scale(.8)}
.floral-bunch.br{right:-90px;bottom:10px;transform:rotate(154deg)}

.hero-invite-grid{
  position:relative;z-index:2;
  width:min(1080px,calc(100% - 34px));
  margin:auto;
}
.hero-card{
  background:rgba(255,253,248,.86);
  border:1px solid rgba(196,154,84,.38);
  border-radius:44px;
  box-shadow:var(--shadow);
  padding:42px;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:34px;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.hero-card:before{
  content:"";position:absolute;inset:18px;border:1px solid rgba(196,154,84,.36);border-radius:30px;pointer-events:none
}
.hero-card:after{
  content:"";position:absolute;inset:30px;border:1px solid rgba(217,121,126,.18);border-radius:22px;pointer-events:none
}
.hero-copy{
  text-align:center;
  position:relative;
  z-index:2;
  padding:22px 6px;
}
.hero-copy h1{
  font-family:"Cormorant Garamond",Georgia,serif;
  color:var(--leaf);
  font-size:clamp(4.4rem,9vw,8.8rem);
  line-height:.76;
  margin:18px 0 28px;
  font-weight:700;
}
.amp{font-family:"Great Vibes",cursive;color:var(--rose);font-weight:400}
.hero-date{
  display:inline-flex;align-items:center;justify-content:center;
  padding:13px 22px;border-radius:999px;
  border:1px solid rgba(196,154,84,.38);
  background:rgba(255,255,255,.68);
  color:var(--ink);
  font-weight:900;
  letter-spacing:.2em;
}
.hero-photo-frame{
  position:relative;z-index:2;padding:14px;
  background:linear-gradient(135deg,rgba(196,154,84,.85),rgba(255,255,255,.72),rgba(196,154,84,.68));
  border-radius:34px;
  box-shadow:0 24px 62px rgba(76,45,20,.16);
}
.hero-photo-frame img{
  width:100%;height:min(540px,60vh);min-height:390px;object-fit:cover;border-radius:24px;
}
.invitation-letter{
  position:relative;z-index:2;
  width:min(900px,calc(100% - 24px));
  margin:56px auto 0;
  text-align:center;
  padding:0 8px;
}
.invitation-letter .script-title{
  font-family:"Great Vibes",cursive;
  color:var(--rose);
  font-size:clamp(3.2rem,6vw,5.8rem);
  line-height:1;
  margin:0 0 20px;
}
.invitation-divider{
  display:flex;align-items:center;justify-content:center;gap:14px;
  color:var(--gold);margin:0 auto 28px;max-width:470px;
}
.invitation-divider:before,.invitation-divider:after{
  content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(196,154,84,.75))
}
.invitation-divider:after{background:linear-gradient(90deg,rgba(196,154,84,.75),transparent)}
.invitation-text{
  max-width:820px;margin:0 auto;
  color:var(--muted);
  font-size:1.18rem;
  line-height:1.95;
}
.invitation-text strong{color:var(--leaf);font-weight:900}
.invitation-countdown{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
  margin:34px auto 0;max-width:560px;
}
.count-box{
  background:rgba(255,255,255,.58);
  border:1px solid rgba(196,154,84,.28);
  border-radius:20px;
  padding:14px 8px;
}
.count-box strong{
  display:block;
  font-family:"Cormorant Garamond",Georgia,serif;
  color:var(--rose);
  font-size:2rem;
  line-height:1;
}
.count-box span{
  font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:900
}

/* old class guards */
.frame-hero,.invitation-section,.invitation-letter-section,.invitation-card,.invitation-panel{all:unset}
.frame-hero *, .invitation-section *, .invitation-letter-section *, .invitation-card *, .invitation-panel *{all:revert}

/* decorative section corners */
.floral-corner:before,.floral-corner:after{
  content:"";position:absolute;width:250px;height:250px;pointer-events:none;opacity:.52;z-index:0;
  background:
    radial-gradient(circle at 35% 35%, #f6b8b8 0 11%, transparent 12%),
    radial-gradient(circle at 52% 42%, #fff4eb 0 9%, transparent 10%),
    radial-gradient(circle at 68% 30%, #e8a3a7 0 10%, transparent 11%),
    radial-gradient(ellipse at 48% 72%, rgba(78,102,59,.5) 0 10%, transparent 11%),
    radial-gradient(ellipse at 27% 70%, rgba(113,129,90,.48) 0 10%, transparent 11%);
}
.floral-corner:before{left:-70px;top:-55px;transform:rotate(-18deg)}
.floral-corner:after{right:-70px;bottom:-55px;transform:rotate(160deg)}

.story-wrap{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center;position:relative;z-index:1}
.polaroid-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;transform:rotate(-1deg)}
.polaroid{background:white;padding:12px 12px 34px;border-radius:8px;box-shadow:0 20px 50px rgba(61,42,24,.14);transform:rotate(var(--r))}
.polaroid img{height:290px;width:100%;object-fit:cover;border-radius:4px}
.timeline{display:grid;gap:14px;margin-top:24px}
.story-card{display:grid;grid-template-columns:44px 1fr;gap:14px;background:rgba(255,255,255,.68);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 12px 36px rgba(65,42,24,.06)}
.story-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(217,121,126,.12);color:var(--rose);font-size:1.2rem}
.story-card h3{margin:0;color:var(--rose);font-family:"Cormorant Garamond",Georgia,serif;font-size:1.55rem}
.story-card p{margin:4px 0 0;color:var(--muted)}

.couple-cards{display:grid;grid-template-columns:1fr 90px 1fr;gap:22px;align-items:center;position:relative;z-index:1}
.person-card{display:grid;grid-template-columns:.9fr 1fr;gap:22px;align-items:center;background:rgba(255,255,255,.74);border:1px solid var(--line);border-radius:32px;padding:18px;box-shadow:var(--shadow)}
.person-card img{height:410px;width:100%;object-fit:cover;border-radius:24px}
.person-card h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:2.7rem;line-height:1;margin:0 0 14px;color:var(--leaf)}
.monogram{width:90px;height:90px;border-radius:50%;background:white;border:1px solid var(--line);display:grid;place-items:center;text-align:center;font-family:"Cormorant Garamond";font-size:2.4rem;color:var(--leaf);box-shadow:0 16px 44px rgba(60,39,20,.1)}
.detail-list{list-style:none;margin:0;padding:0}
.detail-list li{border-top:1px solid var(--line);padding:10px 0;color:var(--muted)}
.detail-list strong{display:block;color:var(--rose);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}

.events-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;position:relative;z-index:1}
.event-card{background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:32px;padding:34px;box-shadow:var(--shadow);text-align:center;position:relative;overflow:hidden}
.event-card:before{content:"⛪";display:block;font-size:4rem;filter:grayscale(.3);opacity:.75}
.event-card h3{font-family:"Cormorant Garamond",Georgia,serif;color:var(--rose);font-size:2.3rem;margin:10px 0}
.event-date{font-size:1.7rem;letter-spacing:.08em;font-weight:900;color:var(--ink)}
.location{color:var(--muted)}
.btn{
  border:1px solid rgba(196,154,84,.38);
  border-radius:999px;
  padding:13px 22px;
  background:var(--rose);
  color:white;
  font-weight:900;
  box-shadow:0 16px 30px rgba(217,121,126,.22);
  display:inline-block;
}

.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:16px;position:relative;z-index:1}
.gallery-grid img{width:100%;height:100%;object-fit:cover;border-radius:24px;box-shadow:0 16px 42px rgba(70,45,21,.12);border:6px solid rgba(255,255,255,.75)}
.gallery-grid .big{grid-column:span 2;grid-row:span 2}
.gallery-grid .wide{grid-column:span 2}

.closing{position:relative;border-radius:46px;overflow:hidden;min-height:520px;display:grid;align-items:center;text-align:center;color:white;box-shadow:var(--shadow)}
.closing img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.closing:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(36,48,30,.72),rgba(36,48,30,.16),rgba(36,48,30,.72));z-index:1}
.closing-content{position:relative;z-index:2;padding:50px}
.closing h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2.8rem,6vw,6rem);line-height:.95;margin:0 0 16px}
.socials{display:flex;justify-content:center;gap:14px;margin-top:28px}
.socials span{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.86);color:var(--rose);font-size:1.4rem}

.footer{text-align:center;padding:34px 0 50px;color:var(--muted)}
.reveal{opacity:0;transform:translateY(24px);transition:all .9s ease}
.reveal.show{opacity:1;transform:none}

@media(max-width:980px){
  .nav-links{display:none}
  .hero-card{grid-template-columns:1fr;padding:34px 22px}
  .hero-photo-frame{order:-1}
  .hero-photo-frame img{height:auto;min-height:0;max-height:none}
  .story-wrap,.couple-cards,.events-grid{grid-template-columns:1fr}
  .couple-cards .monogram{margin:auto}
  .person-card{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}
}
@media(max-width:560px){
  .top-flow{padding-top:86px;padding-bottom:60px}
  .hero-card{border-radius:28px}
  .hero-card:before{inset:10px;border-radius:20px}
  .hero-card:after{inset:18px;border-radius:16px}
  .hero-copy h1{font-size:clamp(4rem,18vw,6rem)}
  .hero-date{letter-spacing:.12em;font-size:.86rem}
  .invitation-letter{margin-top:42px}
  .invitation-text{font-size:1.04rem;line-height:1.85}
  .invitation-countdown{grid-template-columns:repeat(2,1fr)}
  .section{padding:68px 0}
  .polaroid-grid,.gallery-grid{grid-template-columns:1fr}
  .gallery-grid .big,.gallery-grid .wide{grid-column:span 1;grid-row:span 1}
  .site-nav{width:calc(100% - 18px)}
  .rsvp-pill{display:none}
}

/* Editorial Story Redesign */
.story-wrap{grid-template-columns:1.05fr .95fr!important;align-items:start!important}
.polaroid-grid{display:block!important}
.story-feature{background:#fff;border-radius:30px;padding:14px;box-shadow:0 25px 60px rgba(0,0,0,.08)}
.story-feature img{border-radius:22px;height:700px;object-fit:cover}
.timeline{gap:0!important}
.story-card{background:transparent!important;border:none!important;box-shadow:none!important;border-bottom:1px solid rgba(196,154,84,.25)!important;border-radius:0!important;padding:24px 0!important;grid-template-columns:70px 1fr!important}
.story-icon{width:56px;height:56px;background:#fdf3f3!important;font-size:1.5rem}
.story-card h3{font-size:2rem!important;margin-bottom:6px}
.story-card p{font-size:1.02rem;line-height:1.8}
@media(max-width:980px){
.story-wrap{grid-template-columns:1fr!important}
.story-feature img{height:480px}
}


/* Story Style 1 — Journey Path */
.story-journey-section{
  background:
    radial-gradient(circle at 12% 18%, rgba(247,213,209,.38), transparent 28%),
    radial-gradient(circle at 88% 72%, rgba(119,138,92,.14), transparent 32%),
    linear-gradient(180deg,#fff8f1,#fffdf8);
}
.story-heading{
  text-align:center;
  max-width:850px;
  margin:0 auto 58px;
}
.story-heading .lead{
  margin-left:auto;
  margin-right:auto;
}
.journey-path{
  position:relative;
  max-width:1040px;
  margin:auto;
  padding:20px 0 10px;
}
.journey-line{
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:2px;
  transform:translateX(-50%);
  background:linear-gradient(180deg, transparent, rgba(196,154,84,.55), rgba(217,121,126,.42), transparent);
}
.journey-line:before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:22px;
  height:22px;
  transform:translateX(-50%);
  border-radius:50%;
  background:var(--rose);
  box-shadow:0 0 0 10px rgba(217,121,126,.12);
}
.journey-item{
  position:relative;
  display:grid;
  grid-template-columns:1fr 92px 1fr;
  align-items:center;
  min-height:160px;
  margin:24px 0;
}
.journey-item.left .journey-card{
  grid-column:1;
  text-align:right;
}
.journey-item.right .journey-card{
  grid-column:3;
  text-align:left;
}
.journey-item.left .journey-year{
  grid-column:3;
  text-align:left;
}
.journey-item.right .journey-year{
  grid-column:1;
  text-align:right;
}
.journey-year{
  font-family:"Cormorant Garamond", Georgia, serif;
  color:rgba(64,89,52,.34);
  font-size:clamp(3rem,7vw,7rem);
  line-height:.85;
  font-weight:700;
}
.journey-dot{
  grid-column:2;
  grid-row:1;
  width:64px;
  height:64px;
  margin:auto;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid rgba(196,154,84,.34);
  box-shadow:0 16px 40px rgba(76,45,20,.10);
  font-size:1.55rem;
  z-index:3;
}
.journey-card{
  background:rgba(255,255,255,.64);
  border:1px solid rgba(196,154,84,.22);
  border-radius:28px;
  padding:24px 28px;
  box-shadow:0 18px 45px rgba(76,45,20,.07);
}
.journey-card h3{
  font-family:"Cormorant Garamond", Georgia, serif;
  color:var(--rose);
  font-size:2.05rem;
  line-height:1;
  margin:0 0 10px;
}
.journey-card p{
  color:var(--muted);
  margin:0;
  line-height:1.8;
}
.journey-photo{
  width:min(620px, calc(100% - 30px));
  margin:42px auto;
  padding:14px;
  border-radius:38px;
  background:linear-gradient(135deg,rgba(196,154,84,.85),rgba(255,255,255,.72),rgba(196,154,84,.55));
  box-shadow:0 28px 70px rgba(76,45,20,.15);
  position:relative;
  z-index:4;
}
.journey-photo img{
  width:100%;
  height:520px;
  object-fit:cover;
  border-radius:28px;
}
.journey-item.final .journey-dot{
  background:var(--rose);
  color:white;
}
@media(max-width:760px){
  .journey-line{
    left:32px;
  }
  .journey-line:before{
    left:50%;
  }
  .journey-item{
    grid-template-columns:64px 1fr;
    gap:16px;
    min-height:auto;
    margin:26px 0;
  }
  .journey-dot{
    grid-column:1!important;
    width:54px;
    height:54px;
    font-size:1.25rem;
  }
  .journey-card,
  .journey-item.left .journey-card,
  .journey-item.right .journey-card{
    grid-column:2!important;
    text-align:left!important;
  }
  .journey-year,
  .journey-item.left .journey-year,
  .journey-item.right .journey-year{
    grid-column:2!important;
    grid-row:1;
    text-align:left!important;
    font-size:2.4rem;
    margin-bottom:90px;
    opacity:.5;
  }
  .journey-photo img{
    height:auto;
  }
}

.family-block{text-align:center;padding-top:10px}
.family-badge{display:inline-block;padding:6px 18px;border-radius:999px;background:#f7efe2;border:1px solid rgba(196,154,84,.35);color:#b1843b;font-weight:700;letter-spacing:.08em;margin-bottom:16px}
.family-block p{margin:0;color:#5f574f;line-height:1.8}
.family-block strong{color:var(--leaf);font-family:"Cormorant Garamond",serif;font-size:1.45rem;font-weight:700}
.family-divider{margin:16px 0;color:var(--rose);font-size:1.2rem}
.family-address{font-size:.98rem;color:#7b7268}
.detail-list{display:none}

/* Signature Family Card */
.person-card{
  text-align:center;
}
.signature-family-card{
  margin-top:10px;
  background:linear-gradient(180deg,#fffefb,#fff9f2);
  border:1px solid rgba(196,154,84,.35);
  border-radius:22px;
  padding:28px 24px;
  position:relative;
}
.signature-family-card:before{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(196,154,84,.18);
  border-radius:16px;
  pointer-events:none;
}
.signature-family-card:after{
  content:"❦";
  position:absolute;
  top:-12px;
  left:50%;
  transform:translateX(-50%);
  color:#c49a54;
  background:#fff9f2;
  padding:0 10px;
  font-size:20px;
}
.signature-role{
  display:inline-block;
  font-family:"Cormorant Garamond",serif;
  color:#b1843b;
  font-size:1.2rem;
  letter-spacing:.08em;
  margin-bottom:16px;
}
.signature-family-card strong{
  display:block;
  font-family:"Cormorant Garamond",serif;
  font-size:1.6rem;
  color:var(--leaf);
  font-weight:700;
}
.signature-family-card p{
  margin:0;
  line-height:1.9;
  color:#5f574f;
}
.signature-divider{
  margin:18px 0;
  color:#c49a54;
  font-size:1.3rem;
}
.signature-address{
  font-size:.98rem;
  color:#7a7066;
  letter-spacing:.02em;
}

/* Style E - Floating Typography */
.person-card{
background:transparent!important;
border:none!important;
box-shadow:none!important;
padding:0 10px 30px!important;
}
.person-card img{
box-shadow:0 24px 60px rgba(0,0,0,.12);
margin-bottom:26px;
}
.editorial-family{
text-align:center;
max-width:360px;
margin:0 auto;
padding:0;
}
.editorial-role{
display:block;
font-family:"Cormorant Garamond",serif;
font-size:1.15rem;
color:#b58b45;
letter-spacing:.12em;
margin:10px 0 18px;
}
.editorial-family p{
margin:0;
line-height:1.9;
color:#6b635a;
}
.editorial-family strong{
display:block;
font-family:"Cormorant Garamond",serif;
font-size:1.65rem;
font-weight:700;
color:var(--leaf);
}
.editorial-divider{
margin:18px 0;
font-size:1.2rem;
color:var(--rose);
}
.editorial-address{
margin-top:8px;
font-size:1rem;
color:#7d746b;
letter-spacing:.02em;
}
.editorial-family:before,
.editorial-family:after,
.signature-family-card:before,
.signature-family-card:after{
display:none!important;
content:none!important;
}
.monogram{
background:transparent!important;
border:none!important;
box-shadow:none!important;
font-size:3rem;
color:var(--gold);
}


/* Vogue Editorial Bride & Groom */
.vogue-couple-section{
  background:
    radial-gradient(circle at 10% 15%, rgba(247,213,209,.34), transparent 28%),
    radial-gradient(circle at 90% 70%, rgba(119,138,92,.14), transparent 32%),
    linear-gradient(180deg,#fffdf8,#fff8f1);
  padding-top:100px;
  padding-bottom:110px;
}
.vogue-heading{
  text-align:center;
  margin-bottom:58px;
}
.vogue-couple-grid{
  display:grid;
  grid-template-columns:1fr 1px 1fr;
  gap:56px;
  align-items:start;
  max-width:1120px;
  margin:auto;
}
.vogue-divider{
  width:1px;
  min-height:820px;
  background:linear-gradient(180deg, transparent, rgba(196,154,84,.55), rgba(217,121,126,.28), transparent);
}
.vogue-person{
  text-align:center;
  position:relative;
}
.vogue-photo{
  position:relative;
  padding:12px;
  background:linear-gradient(135deg, rgba(196,154,84,.72), rgba(255,255,255,.74), rgba(196,154,84,.42));
  border-radius:34px;
  box-shadow:0 28px 70px rgba(76,45,20,.14);
  margin-bottom:34px;
}
.vogue-photo:before{
  content:"";
  position:absolute;
  inset:24px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:23px;
  z-index:2;
  pointer-events:none;
}
.vogue-photo img{
  width:100%;
  height:620px;
  object-fit:cover;
  border-radius:24px;
}
.vogue-info h3{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(2.2rem,4vw,3.8rem);
  line-height:.95;
  letter-spacing:.08em;
  color:var(--leaf);
  margin:0;
}
.vogue-line{
  width:120px;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
  margin:22px auto 20px;
}
.vogue-role{
  display:inline-block;
  color:var(--rose);
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:.82rem;
  margin-bottom:16px;
}
.vogue-parents{
  margin:0;
  font-family:"Cormorant Garamond", Georgia, serif;
  color:var(--ink);
  font-size:1.65rem;
  line-height:1.35;
  font-weight:600;
}
.vogue-parents span{
  color:var(--gold);
  font-family:"Great Vibes", cursive;
  font-size:2.2rem;
  line-height:1;
}
.vogue-address{
  margin:24px auto 0;
  color:var(--muted);
  font-size:1rem;
  line-height:1.8;
  letter-spacing:.03em;
  max-width:320px;
}
.vogue-address:before{
  content:"❦";
  display:block;
  color:var(--rose);
  font-size:1.25rem;
  margin-bottom:12px;
}
@media(max-width:900px){
  .vogue-couple-grid{
    grid-template-columns:1fr;
    gap:60px;
  }
  .vogue-divider{
    display:none;
  }
  .vogue-photo img{
    height:auto;
    max-height:none;
  }
}
@media(max-width:560px){
  .vogue-couple-section{
    padding-top:72px;
    padding-bottom:78px;
  }
  .vogue-photo{
    border-radius:26px;
  }
  .vogue-photo img{
    border-radius:18px;
  }
  .vogue-info h3{
    letter-spacing:.04em;
  }
}

/* Small portrait editorial redesign */
.vogue-couple-grid{grid-template-columns:1fr 80px 1fr!important;gap:30px!important;align-items:start}
.vogue-divider{min-height:520px!important;width:1px!important;background:linear-gradient(transparent,#c49a54,transparent)!important}
.vogue-photo{background:transparent!important;box-shadow:none!important;padding:0!important;margin-bottom:18px!important}
.vogue-photo:before{display:none!important}
.vogue-photo img{
 width:190px!important;
 height:190px!important;
 object-fit:cover!important;
 border-radius:26px!important;
 margin:0 auto!important;
 border:6px solid #fff!important;
 box-shadow:0 20px 50px rgba(0,0,0,.12)!important;
}
.vogue-info h3{font-size:2.3rem!important;margin-top:8px}
.vogue-line{width:80px!important;margin:14px auto!important}
.vogue-role{
 display:block!important;
 color:#b48a42!important;
 font-size:.78rem!important;
 letter-spacing:.22em!important;
 margin-bottom:14px!important
}
.vogue-parents{
 font-size:1.35rem!important;
 line-height:1.45!important;
}
.vogue-address{
 font-size:.95rem!important;
 line-height:1.75!important;
 margin-top:18px!important;
}
.vogue-person{
 padding:0 20px;
}
.vogue-couple-section{
 background:
 radial-gradient(circle at 15% 15%,rgba(247,213,209,.35),transparent 26%),
 radial-gradient(circle at 85% 75%,rgba(119,138,92,.15),transparent 30%),
 #fffdf8!important;
}
@media(max-width:900px){
 .vogue-couple-grid{grid-template-columns:1fr!important}
 .vogue-photo img{width:170px!important;height:170px!important}
}

/* Editorial bride groom redesign */
.vogue-couple-section{padding:110px 0;background:linear-gradient(180deg,#fffdf9,#fff8f2)!important}
.vogue-heading .section-title:after{
content:"Two Hearts, One Promise";
display:block;
font-family:"Great Vibes",cursive;
font-size:2rem;
font-weight:400;
color:var(--rose);
margin-top:12px;
}
.vogue-couple-grid{grid-template-columns:1fr 120px 1fr!important;gap:50px!important;align-items:flex-start}
.vogue-divider{
background:linear-gradient(transparent,#d4b06a,transparent)!important;
position:relative;
}
.vogue-divider:after{
content:"❤";
position:absolute;
left:50%;
top:50%;
transform:translate(-50%,-50%);
background:#fffdf9;
padding:12px;
color:#d9797e;
font-size:20px;
}
.vogue-photo img{
width:180px!important;
height:230px!important;
border-radius:18px!important;
border:8px solid #fff;
box-shadow:0 20px 45px rgba(0,0,0,.12);
}
.vogue-info{
max-width:360px;
margin:auto;
}
.vogue-info h3{
font-size:2.4rem!important;
letter-spacing:.12em;
}
.vogue-line{
width:70px!important;
margin:18px auto!important;
}
.vogue-role{
font-style:italic;
font-family:"Cormorant Garamond",serif;
font-size:1rem!important;
letter-spacing:0!important;
text-transform:none!important;
color:#b1843b!important;
}
.vogue-parents{
font-size:1.08rem!important;
font-family:Inter,sans-serif!important;
font-weight:400!important;
line-height:1.95!important;
font-style:italic;
color:#6c645b;
}
.vogue-address{
display:none;
}
.social-mini{
margin-top:20px;
display:flex;
justify-content:center;
gap:22px;
font-size:.92rem;
}
.social-mini a{
color:var(--leaf);
text-decoration:none;
border-bottom:1px solid rgba(196,154,84,.4);
padding-bottom:2px;
}
@media(max-width:900px){
.vogue-couple-grid{grid-template-columns:1fr!important}
.vogue-divider{display:none}
}

.social-mini{
display:flex;
justify-content:center;
gap:18px;
margin-top:22px;
}
.social-mini a{
width:46px;
height:46px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
border:1px solid rgba(196,154,84,.35);
background:#fff;
color:#405934;
font-size:20px;
text-decoration:none;
box-shadow:0 10px 25px rgba(0,0,0,.08);
transition:.3s;
}
.social-mini a:hover{
transform:translateY(-3px);
color:#d9797e;
border-color:#d9797e;
}


/* Fixed complete redesign — Bride & Groom announcement */
.couple-announcement-section{
  position:relative;
  overflow:hidden;
  padding:105px 0 110px;
  background:
    radial-gradient(circle at 12% 12%, rgba(247,213,209,.36), transparent 28%),
    radial-gradient(circle at 88% 84%, rgba(119,138,92,.16), transparent 32%),
    linear-gradient(180deg,#fffdf8,#fff8f1);
}
.couple-announcement-section:before,
.couple-announcement-section:after{
  content:"";
  position:absolute;
  width:290px;
  height:290px;
  opacity:.5;
  pointer-events:none;
  background:
    radial-gradient(circle at 30% 35%, #f4a9ad 0 10%, transparent 11%),
    radial-gradient(circle at 48% 45%, #fff2ea 0 9%, transparent 10%),
    radial-gradient(circle at 65% 31%, #e58d95 0 9%, transparent 10%),
    radial-gradient(ellipse at 72% 68%, rgba(119,138,92,.68) 0 11%, transparent 12%),
    radial-gradient(ellipse at 24% 72%, rgba(66,90,50,.56) 0 10%, transparent 11%);
}
.couple-announcement-section:before{left:-95px;top:20px;transform:rotate(-22deg)}
.couple-announcement-section:after{right:-95px;bottom:20px;transform:rotate(150deg)}
.couple-announcement-heading{
  text-align:center;
  position:relative;
  z-index:2;
  margin-bottom:58px;
}
.couple-announcement-heading h2{
  font-family:"Cormorant Garamond", Georgia, serif;
  color:var(--leaf);
  font-size:clamp(2.8rem, 6vw, 5.6rem);
  line-height:1;
  margin:8px 0 18px;
}
.couple-heading-line{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold);
  max-width:420px;
  margin:auto;
}
.couple-heading-line:before,
.couple-heading-line:after{
  content:"";
  height:1px;
  flex:1;
  background:linear-gradient(90deg, transparent, rgba(196,154,84,.75));
}
.couple-heading-line:after{
  background:linear-gradient(90deg, rgba(196,154,84,.75), transparent);
}
.couple-heading-line span{
  padding:0 16px;
  color:var(--rose);
}
.couple-announcement-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 80px 1fr;
  gap:34px;
  align-items:start;
  max-width:1080px;
  margin:auto;
}
.couple-announcement-card{
  text-align:center;
  padding:0 24px;
}
.couple-mini-photo{
  width:175px;
  height:220px;
  padding:8px;
  margin:0 auto 28px;
  border-radius:90px 90px 24px 24px;
  background:linear-gradient(135deg, rgba(196,154,84,.75), rgba(255,255,255,.8), rgba(217,121,126,.42));
  box-shadow:0 20px 54px rgba(76,45,20,.13);
}
.couple-mini-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:80px 80px 18px 18px;
  border:5px solid white;
}
.couple-announcement-card h3{
  font-family:"Cormorant Garamond", Georgia, serif;
  color:var(--leaf);
  font-size:clamp(2.1rem,4vw,3.4rem);
  line-height:.95;
  letter-spacing:.1em;
  margin:0 0 10px;
}
.person-role{
  color:var(--gold);
  font-size:.82rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:900;
  margin-bottom:18px;
}
.couple-announcement-card p{
  max-width:440px;
  margin:0 auto;
  color:#625950;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:1.22rem;
  line-height:1.7;
}
.couple-announcement-card p strong{
  color:var(--ink);
  font-weight:700;
}
.couple-center-ornament{
  min-height:420px;
  display:grid;
  place-items:center;
  color:var(--gold);
  font-size:2rem;
  position:relative;
}
.couple-center-ornament:before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:1px;
  transform:translateX(-50%);
  background:linear-gradient(180deg, transparent, rgba(196,154,84,.65), transparent);
}
.couple-center-ornament{
  z-index:2;
}
.couple-center-ornament::after{
  content:"";
  position:absolute;
  width:58px;
  height:58px;
  border-radius:50%;
  background:#fff8f1;
  border:1px solid rgba(196,154,84,.28);
  z-index:-1;
}
.clean-socials{
  margin-top:24px;
  display:flex;
  justify-content:center;
  gap:16px;
}
.clean-socials a{
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--leaf);
  background:#fff;
  border:1px solid rgba(196,154,84,.40);
  box-shadow:0 12px 28px rgba(76,45,20,.08);
  transition:.25s ease;
}
.clean-socials a svg{
  width:21px;
  height:21px;
  fill:currentColor;
}
.clean-socials a:hover{
  transform:translateY(-4px);
  color:var(--rose);
  border-color:var(--rose);
}
@media(max-width:920px){
  .couple-announcement-grid{
    grid-template-columns:1fr;
    gap:60px;
  }
  .couple-center-ornament{
    display:none;
  }
}
@media(max-width:560px){
  .couple-announcement-section{
    padding:78px 0;
  }
  .couple-announcement-card{
    padding:0 6px;
  }
  .couple-mini-photo{
    width:155px;
    height:195px;
  }
  .couple-announcement-card p{
    font-size:1.08rem;
  }
}


/* Card Style Bride & Groom */
.couple-card-section{
  position:relative;
  overflow:hidden;
  padding:105px 0 120px;
  background:
    radial-gradient(circle at 10% 10%, rgba(247,213,209,.34), transparent 28%),
    radial-gradient(circle at 90% 90%, rgba(119,138,92,.14), transparent 32%),
    linear-gradient(180deg,#fffdf8,#fff8f1);
}
.couple-card-section:before,
.couple-card-section:after{
  content:"";
  position:absolute;
  width:310px;
  height:310px;
  opacity:.56;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 30% 35%, #f4a9ad 0 10%, transparent 11%),
    radial-gradient(circle at 48% 45%, #fff2ea 0 9%, transparent 10%),
    radial-gradient(circle at 65% 31%, #e58d95 0 9%, transparent 10%),
    radial-gradient(ellipse at 72% 68%, rgba(119,138,92,.68) 0 11%, transparent 12%),
    radial-gradient(ellipse at 24% 72%, rgba(66,90,50,.56) 0 10%, transparent 11%);
}
.couple-card-section:before{left:-100px;top:20px;transform:rotate(-22deg)}
.couple-card-section:after{right:-100px;bottom:18px;transform:rotate(150deg)}
.couple-card-heading{
  text-align:center;
  position:relative;
  z-index:2;
  margin-bottom:54px;
}
.couple-card-heading .top-ornament{
  color:var(--gold);
  font-size:1.5rem;
  margin-bottom:8px;
}
.couple-card-heading h2{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(3rem,7vw,6.4rem);
  letter-spacing:.16em;
  color:var(--leaf);
  line-height:1;
  margin:0;
  font-weight:600;
}
.couple-card-heading h2 span{
  color:var(--gold);
  letter-spacing:.03em;
}
.heart-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  max-width:520px;
  margin:22px auto 10px;
  color:var(--gold);
}
.heart-line i{
  flex:1;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(196,154,84,.75));
}
.heart-line i:last-child{
  background:linear-gradient(90deg,rgba(196,154,84,.75),transparent);
}
.heart-line b{
  color:var(--gold);
}
.couple-card-heading p{
  font-family:"Great Vibes", cursive;
  color:var(--gold);
  font-size:clamp(2rem,4vw,3rem);
  margin:0;
}
.couple-card-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:46px;
  max-width:1050px;
  margin:auto;
}
.wedding-person-card{
  position:relative;
  text-align:center;
  background:rgba(255,253,248,.78);
  border:1px solid rgba(196,154,84,.36);
  border-radius:34px;
  padding:42px 42px 34px;
  box-shadow:0 24px 70px rgba(76,45,20,.12);
  overflow:hidden;
}
.wedding-person-card:before{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(196,154,84,.18);
  border-radius:24px;
  pointer-events:none;
}
.wedding-person-card:after{
  content:"";
  position:absolute;
  left:50%;
  top:120px;
  width:250px;
  height:130px;
  transform:translateX(-50%);
  opacity:.18;
  background:
    radial-gradient(ellipse at 25% 50%, rgba(196,154,84,.5) 0 8%, transparent 9%),
    radial-gradient(ellipse at 75% 50%, rgba(196,154,84,.5) 0 8%, transparent 9%),
    linear-gradient(45deg, transparent 45%, rgba(196,154,84,.55) 46%, transparent 49%),
    linear-gradient(-45deg, transparent 45%, rgba(196,154,84,.55) 46%, transparent 49%);
  pointer-events:none;
}
.portrait-wrap{
  position:relative;
  z-index:2;
  width:230px;
  height:230px;
  margin:0 auto 28px;
  padding:8px;
  border-radius:50%;
  background:linear-gradient(135deg,rgba(196,154,84,.85),rgba(255,255,255,.75),rgba(217,121,126,.42));
  box-shadow:0 18px 46px rgba(76,45,20,.12);
}
.portrait-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
  border:6px solid white;
}
.leaf-left{
  color:rgba(196,154,84,.55);
  font-size:1.7rem;
  margin-bottom:8px;
}
.wedding-person-card h3{
  font-family:"Cormorant Garamond", Georgia, serif;
  color:var(--leaf);
  font-size:clamp(2rem,4vw,3.1rem);
  letter-spacing:.08em;
  line-height:1;
  margin:0;
}
.role-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:var(--gold);
  margin:14px auto 10px;
  max-width:150px;
}
.role-line:before,
.role-line:after{
  content:"";
  height:1px;
  flex:1;
  background:rgba(196,154,84,.55);
}
.role-line span{
  color:var(--gold);
}
.person-role{
  color:var(--gold);
  font-size:.8rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:900;
  margin-bottom:22px;
}
.wedding-person-card p{
  position:relative;
  z-index:2;
  margin:0 auto;
  color:#60584f;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:1.24rem;
  line-height:1.72;
  max-width:430px;
}
.wedding-person-card p strong{
  color:var(--ink);
  font-weight:700;
}
.card-divider{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--gold);
  margin:28px auto 20px;
}
.card-divider:before,
.card-divider:after{
  content:"";
  flex:1;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(196,154,84,.58));
}
.card-divider:after{
  background:linear-gradient(90deg,rgba(196,154,84,.58),transparent);
}
.clean-socials{
  display:flex;
  justify-content:center;
  gap:18px;
}
.clean-socials a{
  width:50px;
  height:50px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  color:var(--leaf);
  border:1px solid rgba(196,154,84,.42);
  box-shadow:0 12px 30px rgba(76,45,20,.09);
  transition:.25s ease;
}
.clean-socials a svg{
  width:22px;
  height:22px;
  fill:currentColor;
}
.clean-socials a:hover{
  transform:translateY(-4px);
  color:var(--rose);
  border-color:var(--rose);
}
@media(max-width:900px){
  .couple-card-grid{
    grid-template-columns:1fr;
    max-width:560px;
  }
}
@media(max-width:560px){
  .couple-card-section{
    padding:78px 0;
  }
  .couple-card-heading h2{
    letter-spacing:.08em;
  }
  .wedding-person-card{
    padding:34px 22px 30px;
    border-radius:26px;
  }
  .portrait-wrap{
    width:190px;
    height:190px;
  }
  .wedding-person-card p{
    font-size:1.08rem;
  }
}


/* Option E — Minimal Luxury Bride & Groom */
.minimal-couple-section{
  position:relative;
  padding:110px 0 120px;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 15%, rgba(247,213,209,.28), transparent 28%),
    radial-gradient(circle at 88% 84%, rgba(119,138,92,.13), transparent 32%),
    linear-gradient(180deg,#fffdf8,#fff8f1);
}
.minimal-couple-section:before,
.minimal-couple-section:after{
  content:"";
  position:absolute;
  width:270px;
  height:270px;
  opacity:.42;
  pointer-events:none;
  background:
    radial-gradient(circle at 30% 35%, #f4a9ad 0 10%, transparent 11%),
    radial-gradient(circle at 48% 45%, #fff2ea 0 9%, transparent 10%),
    radial-gradient(circle at 65% 31%, #e58d95 0 9%, transparent 10%),
    radial-gradient(ellipse at 72% 68%, rgba(119,138,92,.68) 0 11%, transparent 12%),
    radial-gradient(ellipse at 24% 72%, rgba(66,90,50,.56) 0 10%, transparent 11%);
}
.minimal-couple-section:before{left:-92px;top:28px;transform:rotate(-22deg)}
.minimal-couple-section:after{right:-92px;bottom:28px;transform:rotate(150deg)}
.minimal-couple-heading{
  text-align:center;
  position:relative;
  z-index:2;
  margin-bottom:62px;
}
.minimal-couple-heading h2{
  font-family:"Cormorant Garamond", Georgia, serif;
  color:var(--leaf);
  font-size:clamp(3rem,7vw,6rem);
  line-height:1;
  letter-spacing:.14em;
  margin:8px 0 12px;
  font-weight:600;
}
.minimal-couple-heading h2 span{color:var(--gold)}
.minimal-couple-heading p{
  font-family:"Great Vibes", cursive;
  color:var(--gold);
  font-size:clamp(2rem,4vw,3rem);
  margin:0;
}
.minimal-couple-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 72px 1fr;
  gap:46px;
  max-width:1100px;
  margin:auto;
  align-items:start;
}
.minimal-person{
  text-align:center;
  padding:0 20px;
}
.minimal-portrait{
  width:190px;
  height:190px;
  padding:7px;
  border-radius:50%;
  margin:0 auto 30px;
  background:linear-gradient(135deg, rgba(196,154,84,.8), rgba(255,255,255,.8), rgba(217,121,126,.38));
  box-shadow:0 20px 50px rgba(76,45,20,.12);
  transition:.3s ease;
}
.minimal-portrait:hover{
  transform:translateY(-5px);
}
.minimal-portrait img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
  border:5px solid white;
}
.minimal-person h3{
  font-family:"Cormorant Garamond", Georgia, serif;
  color:var(--leaf);
  font-size:clamp(2.2rem,4vw,3.5rem);
  line-height:1;
  letter-spacing:.08em;
  margin:0 0 10px;
}
.minimal-role{
  color:var(--gold);
  font-size:.8rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:900;
  margin-bottom:24px;
}
.minimal-role:after{
  content:"";
  display:block;
  width:90px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  margin:16px auto 0;
}
.minimal-person p{
  max-width:430px;
  margin:0 auto;
  color:#625950;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:1.22rem;
  line-height:1.74;
}
.minimal-person p strong{
  color:var(--ink);
  font-weight:700;
}
.minimal-divider{
  min-height:430px;
  display:grid;
  place-items:center;
  position:relative;
  color:var(--gold);
}
.minimal-divider:before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:1px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,transparent,rgba(196,154,84,.58),transparent);
}
.minimal-divider span{
  z-index:2;
  background:#fff9f2;
  border:1px solid rgba(196,154,84,.24);
  width:54px;
  height:54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--rose);
}
.minimal-socials{
  display:flex;
  justify-content:center;
  gap:16px;
  margin-top:26px;
}
.minimal-socials a{
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  color:var(--leaf);
  border:1px solid rgba(196,154,84,.38);
  box-shadow:0 12px 28px rgba(76,45,20,.08);
  transition:.25s ease;
}
.minimal-socials a svg{
  width:22px;
  height:22px;
  fill:currentColor;
}
.minimal-socials a:hover{
  transform:translateY(-4px);
  color:var(--rose);
  border-color:var(--rose);
}
@media(max-width:920px){
  .minimal-couple-grid{
    grid-template-columns:1fr;
    gap:64px;
  }
  .minimal-divider{
    display:none;
  }
}
@media(max-width:560px){
  .minimal-couple-section{
    padding:78px 0;
  }
  .minimal-couple-heading h2{
    letter-spacing:.08em;
  }
  .minimal-person{
    padding:0 6px;
  }
  .minimal-portrait{
    width:165px;
    height:165px;
  }
  .minimal-person p{
    font-size:1.08rem;
  }
}

.minimal-socials a:first-child{color:#E1306C!important;}
.minimal-socials a:last-child{color:#25D366!important;}
.minimal-socials a{background:#fff!important;}
.clean-socials a:first-child{color:#E1306C!important;}
.clean-socials a:last-child{color:#25D366!important;}

/* Bride & Groom photo/name size adjustment */
.minimal-portrait{
  width:250px!important;
  height:250px!important;
}
.minimal-person h3{
  font-size:clamp(1.8rem,3vw,2.6rem)!important;
  letter-spacing:.06em!important;
}
.minimal-role{
  margin-bottom:20px!important;
}
@media(max-width:560px){
  .minimal-portrait{
    width:210px!important;
    height:210px!important;
  }
  .minimal-person h3{
    font-size:2rem!important;
  }
}

/* Final typography adjustments */
.minimal-couple-heading h2{
  font-size:clamp(2.3rem,5vw,4.4rem)!important;
  letter-spacing:.10em!important;
}
.minimal-person h3{
  font-size:clamp(1.5rem,2.5vw,2.2rem)!important;
  letter-spacing:.04em!important;
  margin-bottom:8px!important;
}
@media(max-width:560px){
  .minimal-couple-heading h2{font-size:2.5rem!important;}
  .minimal-person h3{font-size:1.7rem!important;}
}

/* Balanced circle for ONLY journey photo */
.journey-photo,
.story-journey-photo,
.timeline-center-photo,
.journey-image{
  width:180px!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  border-radius:50%!important;
  overflow:hidden!important;
  margin:auto!important;
  flex:0 0 180px!important;
}
.journey-photo img,
.story-journey-photo img,
.timeline-center-photo img,
.journey-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:50%!important;
}

/* Responsive center journey photo */
.journey-photo,
.story-journey-photo,
.timeline-center-photo,
.journey-image{
  width:clamp(180px,35vw,380px)!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  flex:0 0 auto!important;
  margin:auto!important;
  border-radius:50%!important;
  overflow:hidden!important;
}
.journey-photo img,
.story-journey-photo img,
.timeline-center-photo img,
.journey-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:50%!important;
}

/* Keep original layout size, only make it circular */
.journey-photo,
.story-journey-photo,
.timeline-center-photo,
.journey-image{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    border-radius:50%!important;
    overflow:hidden!important;
    flex:unset!important;
}
.journey-photo img,
.story-journey-photo img,
.timeline-center-photo img,
.journey-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    border-radius:50%!important;
}

/* Responsive circle using clamp - balanced */
.journey-photo,
.story-journey-photo,
.timeline-center-photo,
.journey-image{
    width:clamp(220px, 28vw, 380px)!important;
    aspect-ratio:1/1!important;
    height:auto!important;
    border-radius:50%!important;
    overflow:hidden!important;
    margin-inline:auto!important;
    flex:0 0 auto!important;
}
.journey-photo img,
.story-journey-photo img,
.timeline-center-photo img,
.journey-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    border-radius:50%!important;
}

.brand-logo-aj{display:inline-flex;align-items:center;justify-content:center;width:78px;height:58px}
.brand-logo-aj svg{width:100%;height:100%;overflow:visible}

/* Enlarge navbar A&J logo */
.brand-logo-aj{
  width:140px !important;
  height:90px !important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  margin-right:8px;
}
.brand-logo-aj svg{
  width:100% !important;
  height:100% !important;
  overflow:visible;
}
@media(max-width:768px){
 .brand-logo-aj{
   width:96px!important;
   height:64px!important;
 }
}

.brand-logo-aj{display:flex!important;align-items:center;justify-content:center;width:150px!important;height:110px!important}
.brand-logo-aj svg{width:100%;height:100%}
@media(max-width:768px){.brand-logo-aj{width:110px!important;height:80px!important}}

.brand-logo-aj img{display:block;width:150px;max-width:100%;height:auto}
@media(max-width:768px){.brand-logo-aj img{width:110px}}


/* PNG logo fix */
.brand-logo-aj{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:150px!important;
  height:110px!important;
  overflow:visible!important;
}
.brand-logo-aj img{
  display:block!important;
  width:150px!important;
  max-width:150px!important;
  height:auto!important;
}
@media(max-width:768px){
  .brand-logo-aj{
    width:110px!important;
    height:80px!important;
  }
  .brand-logo-aj img{
    width:110px!important;
    max-width:110px!important;
  }
}

.brand-logo-aj{display:flex!important;align-items:center;justify-content:center;width:120px!important;height:90px!important}
.brand-logo-aj img{width:120px!important;height:auto!important;display:block}
@media(max-width:768px){
 .brand-logo-aj{width:90px!important;height:68px!important}
 .brand-logo-aj img{width:90px!important}
}
