:root{
  --bg:#121715;
  --bg-soft:#171d1a;
  --paper:rgba(247,241,233,.92);
  --paper-solid:#f7f1e9;
  --ink:#302821;
  --muted:#6f6255;
  --gold:#dbc9ab;
  --gold-soft:#e9ddca;
  --line:rgba(255,255,255,.10);
  --shadow:0 24px 70px rgba(0,0,0,.22);
  --card-radius:32px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter',Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  overflow-x:hidden;
  position:relative;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  background:
    linear-gradient(rgba(11,14,13,.32), rgba(11,14,13,.32)),
    url('assets/images/hero.jpg') center top / cover no-repeat;
  filter:saturate(.9);
  pointer-events:none;
  z-index:-3;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.05), transparent 22%),
    radial-gradient(circle at 82% 18%, rgba(219,201,171,.08), transparent 24%);
  pointer-events:none;
  z-index:-2;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}

.site-nav{
  position:fixed;
  top:18px;
  left:50%;
  transform:translateX(-50%);
  z-index:40;
  display:flex;
  gap:8px;
  padding:8px;
  background:rgba(247,241,233,.9);
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  backdrop-filter:blur(14px);
  box-shadow:0 18px 50px rgba(0,0,0,.16);
}
.site-nav a{
  padding:11px 18px;
  border-radius:999px;
  font-size:13px;
  color:#5d5348;
  letter-spacing:.04em;
}
.site-nav a:hover{background:rgba(219,201,171,.18)}

.sound-button{
  position:fixed;
  right:18px; bottom:18px;
  z-index:45;
  display:flex; align-items:center; gap:10px;
  border:none;
  padding:12px 16px;
  border-radius:999px;
  background:#17201c;
  color:#f5efe4;
  box-shadow:var(--shadow);
  cursor:pointer;
}
.sound-button .dot{
  width:10px; height:10px; border-radius:50%;
  background:#9fb6a2;
}
.sound-button.playing .dot{background:var(--gold)}

.hero{
  position:relative;
  min-height:100vh;
  padding:110px 5vw 72px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}
.hero-bg{
  position:absolute;
  inset:0;
  background:url('assets/images/hero.jpg') center center / cover no-repeat;
  opacity:.74;
  transform:scale(1.03);
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(8,10,10,.22) 0%, rgba(8,10,10,.18) 44%, rgba(8,10,10,.22) 100%),
    linear-gradient(180deg, rgba(8,10,10,.08), rgba(8,10,10,.22));
}
.hero-card{
  position:relative;
  z-index:2;
  max-width:760px;
  color:#f7efe5;
  padding:20px 0 20px 2vw;
}
.eyebrow{
  margin:0 0 78px;
  text-transform:uppercase;
  letter-spacing:.30em;
  font-size:12px;
  color:#dfd1bd;
}
.hero-logo{
  width:min(280px,70vw);
  margin:0 0 12px;
  opacity:.96;
}
.hero h1{
  margin:0 0 16px;
  font-family:'Great Vibes','Cormorant Garamond',serif;
  font-size:clamp(76px,9.4vw,136px);
  line-height:.98;
  font-weight:400;
  color:#fffaf3;
  letter-spacing:.01em;
  text-shadow:0 4px 14px rgba(0,0,0,.10);
}
.quote{
  max-width:760px;
  margin:0 0 26px;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:34px;
  line-height:1.18;
  color:#fff8f0;
}
.countdown{
  display:grid;
  grid-template-columns:repeat(4,minmax(86px,118px));
  gap:14px;
  margin:0 0 28px;
}
.time-box{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  backdrop-filter:blur(10px);
  padding:18px 10px;
  text-align:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.time-box span{
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-size:48px;
  line-height:1;
  margin-bottom:8px;
}
.time-box small{
  text-transform:uppercase;
  font-size:10px;
  letter-spacing:.18em;
  color:#dfd3c0;
}
.cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:260px;
  padding:16px 24px;
  border-radius:999px;
  background:rgba(247,241,233,.96);
  color:#2a251f;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:13px;
  transition:.2s ease;
}
.cta:hover{background:#fff; transform:translateY(-1px)}

.hero-bottom-meta{
  text-shadow:0 2px 8px rgba(0,0,0,.12);
  position:relative;
  z-index:2;
  left:auto;
  right:auto;
  bottom:auto;
  display:flex;
  flex-wrap:wrap;
  gap:14px 26px;
  justify-content:flex-start;
  color:#eadfcf;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:11px;
  margin-top:auto;
  padding:22px 0 0 2vw;
}
.hero-bottom-meta span{
  display:inline-flex;
  align-items:center;
  gap:12px;
}
.hero-bottom-meta span:not(:last-child)::after{
  content:"";
  width:26px;
  height:1px;
  background:rgba(234,223,207,.45);
  display:inline-block;
}

main{
  position:relative;
  z-index:2;
}
.intro-card,.split-section,.program,.photo-ribbon,.dresscode-card,.gallery-band,.rsvp-wrap,.footer{
  width:min(1180px, calc(100% - 36px));
  margin-inline:auto;
}
.intro-card{
  margin-top:18px;
  background:rgba(247,241,233,.94);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--card-radius);
  padding:42px 40px;
  box-shadow:var(--shadow);
  text-align:center;
  backdrop-filter:blur(7px);
}
.section-mini{
  margin-bottom:14px;
  text-transform:uppercase;
  letter-spacing:.25em;
  font-size:12px;
  color:#9b8c78;
}
.intro-card h2,
.split-card h2,
.program-card h2,
.dresscode-card h2,
.rsvp-copy h2{
  margin:0 0 16px;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:clamp(46px,6vw,72px);
  color:#2f2923;
  font-weight:500;
}
.intro-card p,
.split-card p,
.program-card p,
.dresscode-card p,
.rsvp-copy p,
.program-grid article p,
.dress-notes p{
  margin:0;
  line-height:1.85;
  color:var(--muted);
}

.split-section{
  padding:34px 0 0;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:24px;
  align-items:stretch;
}
.split-photo,.split-card{
  border-radius:var(--card-radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.split-photo{
  margin:0;
  min-height:540px;
  background:#ddd;
}
.split-photo img{width:100%; height:100%; object-fit:cover}
.split-card{
  background:var(--paper);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(7px);
  padding:48px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.split-card .lead{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:30px;
  color:#3a332b;
  margin-bottom:26px;
}
.details-list{display:grid; gap:16px}
.details-list div{
  padding:16px 0;
  border-top:1px solid rgba(111,101,88,.18);
}
.details-list span{
  display:block;
  margin-bottom:8px;
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.20em;
  color:#9b8e7d;
}
.details-list strong{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:28px;
  font-weight:500;
  color:#312b24;
}

.program{padding:34px 0 0}
.program-card{
  background:rgba(17,24,21,.88);
  border:1px solid rgba(255,255,255,.08);
  color:#f4ebde;
  border-radius:var(--card-radius);
  padding:46px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(8px);
}
.program-card h2{color:#f7efe5}
.program-card .section-mini{color:#d4c2a4}
.program-grid{
  margin-top:20px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.program-grid article{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:26px;
  padding:26px 22px;
}
.program-grid span{
  display:block;
  margin-bottom:10px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:11px;
  color:#e7dac6;
}
.program-grid strong{
  display:block;
  margin-bottom:10px;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:34px;
  font-weight:500;
  color:#fff8ef;
}
.program-grid p{color:#ddd2c3}

.photo-ribbon{
  padding:28px 0 0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.photo-ribbon figure{
  margin:0;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 18px 44px rgba(0,0,0,.16);
  border:1px solid rgba(255,255,255,.10);
  aspect-ratio:4/5;
  background:#d9d2c8;
}
.photo-ribbon img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.dresscode-card{
  padding:44px 42px;
  margin-top:34px;
  background:var(--paper);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--card-radius);
  box-shadow:var(--shadow);
  backdrop-filter:blur(7px);
}
.center-text{
  max-width:800px;
  text-align:center;
  margin:0 auto 24px!important;
}
.dresscode-card h2,
.dresscode-card .section-mini{
  text-align:center;
}
.palette{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:16px;
  margin-bottom:20px;
}
.palette article{
  background:rgba(255,253,250,.86);
  border-radius:22px;
  padding:20px;
  text-align:center;
  border:1px solid rgba(111,101,88,.08);
}
.palette i{
  display:block;
  width:64px;
  height:64px;
  margin:0 auto 16px;
  border-radius:50%;
  background:var(--c);
  box-shadow:inset 0 0 0 8px rgba(255,255,255,.46);
}
.palette span{font-size:14px; color:#5f5447}
.dress-notes{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.dress-notes div{
  background:rgba(255,253,250,.86);
  border:1px solid rgba(111,101,88,.08);
  border-radius:24px;
  padding:28px;
}
.dress-notes h3{
  margin:0 0 12px;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:34px;
  font-weight:500;
  color:#322b24;
}

.gallery-band{
  padding:34px 0 0;
  overflow:hidden;
}
.gallery-track{
  display:flex;
  gap:18px;
  width:max-content;
  animation:marquee 34s linear infinite;
}
.gallery-track img{
  width:220px;
  height:300px;
  object-fit:cover;
  border-radius:24px;
  box-shadow:0 18px 44px rgba(0,0,0,.14);
}
@keyframes marquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

.rsvp-wrap{
  padding:34px 0 100px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:24px;
  align-items:start;
}
.rsvp-copy{
  background:rgba(18,25,22,.88);
  border:1px solid rgba(255,255,255,.08);
  color:#f4eadc;
  border-radius:var(--card-radius);
  padding:36px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(8px);
}
.rsvp-copy .section-mini{color:#d3c2a5}
.rsvp-copy h2{color:#f4eadc}
.rsvp-copy p{color:#ddd1bf}

.rsvp-form{
  background:var(--paper);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--card-radius);
  padding:34px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(7px);
}
.rsvp-form label,.rsvp-form legend{
  display:block;
  font-size:14px;
  color:#5c5146;
}
.rsvp-form label{margin-bottom:16px}
.rsvp-form input[type="text"],
.rsvp-form input[type="tel"]{
  width:100%;
  margin-top:8px;
  padding:16px 18px;
  border:1px solid #e2d8cb;
  border-radius:18px;
  background:#fffdf9;
  font:inherit;
  color:#342d26;
}
.rsvp-form fieldset{
  margin:18px 0 0;
  padding:20px;
  border:1px solid #e2d8cb;
  border-radius:24px;
}
.choice{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:12px;
}
.rsvp-form button{
  margin-top:22px;
  width:100%;
  padding:16px 20px;
  border:none;
  border-radius:999px;
  background:#18221d;
  color:#f5efe4;
  text-transform:uppercase;
  letter-spacing:.14em;
  cursor:pointer;
}
.form-result{
  margin:14px 0 0;
  line-height:1.7;
  color:#6d6357;
}
.footer{
  padding:0 0 70px;
  text-align:center;
}
.footer img{
  width:min(220px,74vw);
  margin:0 auto 10px;
}
.footer p{
  margin:0;
  color:#d9ccbb;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:12px;
}
.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .8s ease, transform .8s ease;
}
.reveal.visible{
  opacity:1;
  transform:none;
}
.reveal.delay{transition-delay:.12s}

@media(max-width:1100px){
  .program-grid{grid-template-columns:repeat(2,1fr)}
  .rsvp-wrap{grid-template-columns:1fr}
  .split-section{grid-template-columns:1fr}
  .photo-ribbon{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .site-nav{
    width:calc(100% - 24px);
    justify-content:space-between;
    gap:4px;
    padding:6px;
  }
  .site-nav a{
    padding:10px 10px;
    font-size:11px;
  }
  .hero{
    min-height:auto;
    padding:94px 14px 110px;
  }
  .hero-card{
    padding:10px 0;
    text-align:center;
  }
  .hero-logo{
    margin-inline:auto;
    width:min(260px,80vw);
  }
  .hero h1{font-size:78px}
  .quote{
    font-size:28px;
    margin-inline:auto;
  }
  .countdown{grid-template-columns:repeat(2,1fr)}
  .hero-bottom-meta{
    justify-content:center;
    gap:10px 18px;
    text-align:center;
    padding:18px 0 0;
    margin-top:22px;
    width:100%;
  }
  .hero-bottom-meta span{gap:8px}
  .hero-bottom-meta span:not(:last-child)::after{width:16px}

  .intro-card,.split-section,.program,.photo-ribbon,.dresscode-card,.gallery-band,.rsvp-wrap,.footer{
    width:min(100% - 20px,1180px);
  }
  .intro-card,.split-card,.program-card,.dresscode-card,.rsvp-copy,.rsvp-form{
    padding:28px 22px;
  }
  .program-grid,.dress-notes{grid-template-columns:1fr}
  .palette{grid-template-columns:1fr 1fr}
  .photo-ribbon{grid-template-columns:1fr 1fr}
  .gallery-track img{width:200px; height:270px}
}
@media(max-width:480px){
  .site-nav{top:10px; width:calc(100% - 14px); padding:5px; gap:2px;}
  .site-nav a{padding:9px 8px; font-size:10px; letter-spacing:.02em;}
  .sound-button{right:12px; bottom:12px; padding:10px 14px; font-size:12px;}
  .hero{padding:88px 10px 30px;}
  .hero-card{max-width:100%; padding:6px 0; text-align:center;}
  .eyebrow{font-size:10px; letter-spacing:.22em;}
  .hero-logo{width:min(210px,70vw); margin:0 auto 10px;}
  .hero h1{font-size:64px; line-height:1.02;}
  .quote{font-size:25px; line-height:1.16; margin-bottom:20px;}
  .countdown{gap:10px;}
  .time-box{padding:14px 8px; border-radius:20px;}
  .time-box span{font-size:38px;}
  .cta{min-width:100%;} 
  .hero-bottom-meta{font-size:10px; gap:8px 12px; padding-top:16px; margin-top:18px; width:100%;}
  .intro-card{margin-top:14px;}
  .intro-card,.split-card,.program-card,.dresscode-card,.rsvp-copy,.rsvp-form{padding:24px 18px; border-radius:24px;}
  .split-photo{min-height:420px;}
  .photo-ribbon{grid-template-columns:1fr; gap:12px;}
  .photo-ribbon figure{aspect-ratio:4/4.8;}
  .palette{grid-template-columns:1fr 1fr; gap:12px;}
  .gallery-track img{width:170px; height:230px; border-radius:18px;}
}


.hidden-field{
  display:none !important;
}
.rsvp-form button:disabled{
  opacity:.72;
  cursor:default;
}


.hidden-field{
  display:none !important;
}
.rsvp-form button:disabled{
  opacity:.72;
  cursor:default;
}
.form-result{
  min-height:24px;
  font-weight:500;
}
.form-result.error{
  color:#8f3f35;
}


.rsvp-form textarea{width:100%;min-height:118px;margin-top:8px;padding:16px 18px;border:1px solid #e2d8cb;border-radius:18px;background:#fffdf9;font:inherit;color:#342d26;resize:vertical}
.full-field{grid-column:1 / -1}
.story-page{min-height:100vh;padding:110px 20px 70px;color:#f7efe5}
.story-page::before{content:"";position:fixed;inset:0;background:linear-gradient(rgba(10,13,12,.72),rgba(10,13,12,.82)),url('assets/images/hero.jpg') center/cover no-repeat;z-index:-2}
.story-shell{width:min(1080px,100%);margin:0 auto}
.story-hero{text-align:center;padding:44px 24px 38px}
.story-hero .story-label{margin:0 0 14px;text-transform:uppercase;letter-spacing:.28em;font-size:12px;color:#d9c7a8}
.story-hero h1{margin:0 0 18px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(54px,8vw,96px);font-weight:500;line-height:.95}
.story-hero p{max-width:760px;margin:0 auto;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(24px,3.2vw,36px);line-height:1.26;color:#fff7ef}
.story-content{display:grid;gap:18px}
.story-card{background:rgba(247,241,233,.92);color:#302821;border:1px solid rgba(255,255,255,.12);border-radius:32px;padding:34px;box-shadow:0 24px 70px rgba(0,0,0,.22);backdrop-filter:blur(8px)}
.story-card h2{margin:0 0 14px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(36px,4.4vw,58px);font-weight:500}
.story-card p{margin:0 0 14px;line-height:1.9;color:#64584d;font-size:17px}
.story-card p:last-child{margin-bottom:0}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.story-mini{background:rgba(18,25,22,.86);color:#f7efe5;border-radius:28px;padding:30px;box-shadow:0 20px 60px rgba(0,0,0,.18)}
.story-mini span{display:block;margin-bottom:10px;text-transform:uppercase;letter-spacing:.24em;font-size:11px;color:#d9c7a8}
.story-mini strong{display:block;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:34px;font-weight:500}
.story-button{display:inline-flex;margin-top:22px;padding:15px 24px;border-radius:999px;background:#f7efe5;color:#2a251f;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:12px}
.story-back{text-align:center;padding:26px 0 0}
@media(max-width:760px){.story-page{padding:88px 10px 46px}.story-card{padding:26px 20px;border-radius:24px}.story-grid{grid-template-columns:1fr}.story-mini{padding:24px 20px}}


.love-intro p + p{
  margin-top:14px;
}
.proposal-section{
  width:min(1180px, calc(100% - 36px));
  margin:34px auto 0;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:24px;
  align-items:stretch;
}
.proposal-copy{
  background:rgba(18,25,22,.88);
  border:1px solid rgba(255,255,255,.08);
  color:#f4eadc;
  border-radius:32px;
  padding:38px;
  box-shadow:0 24px 70px rgba(0,0,0,.22);
  backdrop-filter:blur(8px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.proposal-copy .section-mini{
  color:#d3c2a5;
}
.proposal-copy h2{
  margin:0 0 16px;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:clamp(42px,5vw,68px);
  font-weight:500;
  line-height:1;
  color:#f7efe5;
}
.proposal-copy p{
  margin:0;
  line-height:1.85;
  color:#ddd1bf;
}
.proposal-copy .proposal-date{
  margin:0 0 18px;
  color:#d9c7a8;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:12px;
}
.proposal-gallery{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  grid-template-rows:1fr 1fr;
  gap:14px;
}
.proposal-gallery figure{
  margin:0;
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 20px 58px rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.10);
  background:#201b17;
}
.proposal-gallery .proposal-main{
  grid-row:span 2;
}
.proposal-gallery img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.proposal-gallery .proposal-main img{
  object-position:center 38%;
}
@media(max-width:900px){
  .proposal-section{
    grid-template-columns:1fr;
  }
  .proposal-gallery{
    grid-template-columns:1fr 1fr;
  }
  .proposal-gallery .proposal-main{
    grid-column:1 / -1;
    grid-row:auto;
    aspect-ratio:4/5;
  }
  .proposal-gallery figure:not(.proposal-main){
    aspect-ratio:1/1.2;
  }
}
@media(max-width:520px){
  .proposal-section{
    width:min(100% - 20px, 1180px);
    gap:14px;
  }
  .proposal-copy{
    padding:26px 20px;
    border-radius:24px;
  }
  .proposal-gallery{
    gap:10px;
  }
  .proposal-gallery figure{
    border-radius:20px;
  }
}

/* update: expanded story and mixed ribbon */
.love-intro{max-width:980px;}
.photo-ribbon figure:nth-child(2) img{object-position:center top;}
.photo-ribbon figure:nth-child(3) img{object-position:center center;}

/* final: lift hero invitation label */
@media(max-width:760px){
  .eyebrow{margin-bottom:46px;}
}
@media(max-width:480px){
  .eyebrow{margin-bottom:38px;}
}


/* update: child-free note and richer ribbon */
.childfree-note strong{
  font-size:22px;
  line-height:1.55;
}
.gallery-track img:nth-child(3n){object-position:center 30%;}
.gallery-track img:nth-child(4n){object-position:center top;}
.gallery-track img:nth-child(5n){object-position:center center;}
@media (max-width:760px){
  .childfree-note strong{
    font-size:19px;
  }
}


/* update: nikah section */
.nikah-section{
  grid-template-columns:1.15fr .85fr;
}
.nikah-gallery .proposal-main img{
  object-position:center top;
}
.nikah-gallery figure:nth-child(2) img{
  object-position:center top;
}
.nikah-gallery figure:nth-child(3) img{
  object-position:center 24%;
}
.nikah-copy{
  background:rgba(247,241,233,.94);
  border:1px solid rgba(255,255,255,.14);
  color:#302821;
}
.nikah-copy .section-mini{
  color:#9b8c78;
}
.nikah-copy h2{
  color:#2f2923;
}
.nikah-copy p{
  color:#6f6255;
}
.nikah-copy .proposal-date{
  color:#8d7c69;
}
@media(max-width:900px){
  .nikah-section{
    grid-template-columns:1fr;
  }
}


.love-date{
  margin-top:-6px;
  margin-bottom:18px;
}
.unique-track{
  animation: marqueeUnique 42s linear infinite;
}
@keyframes marqueeUnique{
  0%{transform:translateX(0)}
  100%{transform:translateX(calc(-100% + 100vw - 48px))}
}
.unique-track img:nth-child(1){object-position:center top;}
.unique-track img:nth-child(2){object-position:center 18%;}
.unique-track img:nth-child(3){object-position:center 24%;}
.unique-track img:nth-child(4){object-position:center 12%;}
.unique-track img:nth-child(5){object-position:center 20%;}
.unique-track img:nth-child(6){object-position:center center;}
@media(max-width:900px){
  .unique-track{animation-duration:36s;}
  @keyframes marqueeUnique{
    0%{transform:translateX(0)}
    100%{transform:translateX(calc(-100% + 100vw - 24px))}
  }
}


/* form click fix */
.rsvp-form button,
.rsvp-form button:disabled{
  pointer-events:auto !important;
  cursor:pointer !important;
  opacity:1 !important;
}
.rsvp-form{
  pointer-events:auto !important;
}


/* guest invitation intro */
.guest-invitation{
  width:min(980px, calc(100% - 36px));
  margin:34px auto 0;
  padding:48px 42px;
  border-radius:34px;
  background:rgba(247,241,233,.93);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 24px 70px rgba(0,0,0,.18);
  backdrop-filter:blur(8px);
  color:#302821;
  text-align:center;
}
.guest-invitation .section-mini{
  color:#9b8c78;
}
.guest-invitation h2{
  margin:0 0 18px;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:clamp(42px,5.2vw,72px);
  line-height:1;
  font-weight:500;
  color:#2f2923;
}
.guest-invitation p{
  width:min(760px,100%);
  margin:0 auto 12px;
  font-size:17px;
  line-height:1.85;
  color:#6d6054;
}
.guest-invitation p:last-child{
  margin-bottom:0;
}
@media(max-width:760px){
  .guest-invitation{
    width:min(100% - 20px, 980px);
    margin-top:22px;
    padding:32px 20px;
    border-radius:26px;
  }
  .guest-invitation p{
    font-size:15px;
    line-height:1.75;
  }
}


/* final requested updates */
.hero-date-large{
  margin:18px 0 18px;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:500;
  font-size:clamp(36px,5vw,72px);
  line-height:1;
  color:#f7efe5;
  text-shadow:0 8px 32px rgba(0,0,0,.32);
}
.hero-button{
  display:none !important;
}
.look-buttons{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin:28px auto 0;
}
.look-buttons a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:220px;
  padding:15px 22px;
  border-radius:999px;
  background:#19221e;
  color:#f7efe5;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  transition:.25s ease;
}
.look-buttons a:hover{
  transform:translateY(-2px);
  background:#2b372f;
}
.looks-section{
  width:min(1180px, calc(100% - 36px));
  margin:34px auto 0;
  padding:42px;
  border-radius:34px;
  background:rgba(247,241,233,.94);
  box-shadow:0 24px 70px rgba(0,0,0,.18);
  color:#302821;
  backdrop-filter:blur(8px);
}
.looks-section h2{
  margin:0 0 16px;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:clamp(42px,5vw,72px);
  line-height:1;
  font-weight:500;
  text-align:center;
}
.looks-section .section-mini{
  color:#9b8c78;
  text-align:center;
}
.looks-intro{
  width:min(760px,100%);
  margin:0 auto 28px;
  text-align:center;
  color:#6d6054;
  line-height:1.8;
}
.looks-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.look-card{
  padding:24px;
  border-radius:26px;
  border:1px solid rgba(48,40,33,.08);
  background:#fffaf2;
  min-height:178px;
}
.look-card span{
  display:inline-flex;
  margin-bottom:12px;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#7f705f;
}
.look-card h3{
  margin:0 0 10px;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:30px;
  font-weight:500;
  color:#302821;
}
.look-card p{
  margin:0;
  line-height:1.65;
  color:#65584c;
}
.look-card.blue{background:linear-gradient(135deg,#edf6fb,#fffaf2);}
.look-card.beige{background:linear-gradient(135deg,#efe4d1,#fffaf2);}
.look-card.olive{background:linear-gradient(135deg,#dfe4d2,#fffaf2);}
.look-card.navy{background:linear-gradient(135deg,#dfe4ef,#fffaf2);}
.look-card.brown{background:linear-gradient(135deg,#e7d8ca,#fffaf2);}
.nikah-section{
  grid-template-columns:.85fr 1.15fr;
}
@media(max-width:900px){
  .looks-grid{
    grid-template-columns:1fr;
  }
  .looks-section{
    padding:30px 20px;
    border-radius:26px;
  }
  .look-buttons a{
    width:100%;
  }
  .nikah-section{
    grid-template-columns:1fr;
  }
}


/* separate looks pages with photos */
.look-buttons{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin:28px auto 0;
}
.look-buttons a,
.looks-page-nav a,
.back-home{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:15px 22px;
  border-radius:999px;
  background:#19221e;
  color:#f7efe5;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  transition:.25s ease;
}
.look-buttons a:hover,
.looks-page-nav a:hover,
.back-home:hover{
  transform:translateY(-2px);
  background:#2b372f;
}
.looks-page{
  min-height:100vh;
  background:
    linear-gradient(rgba(247,241,233,.88),rgba(247,241,233,.93)),
    url('assets/images/bg-soft.jpg') center/cover fixed no-repeat;
  color:#2f2923;
}
.back-home{
  position:fixed;
  top:18px;
  left:18px;
  z-index:10;
  background:rgba(25,34,30,.9);
  backdrop-filter:blur(8px);
}
.looks-hero{
  width:min(1080px, calc(100% - 36px));
  margin:0 auto;
  padding:96px 0 34px;
  text-align:center;
}
.looks-hero h1{
  margin:0 0 18px;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:500;
  font-size:clamp(56px,8vw,112px);
  line-height:.95;
}
.looks-hero p{
  width:min(760px,100%);
  margin:0 auto 24px;
  color:#6d6054;
  line-height:1.8;
  font-size:17px;
}
.looks-page-nav{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}
.looks-page-content{
  width:min(1180px, calc(100% - 36px));
  margin:0 auto 70px;
  display:grid;
  gap:22px;
}
.color-look-block{
  padding:30px;
  border-radius:34px;
  background:rgba(255,250,242,.92);
  box-shadow:0 24px 70px rgba(0,0,0,.10);
  border:1px solid rgba(48,40,33,.08);
}
.color-look-title{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:20px;
}
.color-look-title span{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:50%;
  background:var(--tone);
  border:1px solid rgba(47,41,35,.12);
}
.color-look-title h2{
  margin:0;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:44px;
  font-weight:500;
}
.look-photo-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.look-photo-card{
  overflow:hidden;
  border-radius:28px;
  background:#f7efe5;
  border:1px solid rgba(48,40,33,.08);
}
.look-photo-wrap{
  height:430px;
  background:#e8ded0;
}
.look-photo-wrap img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.look-photo-copy{
  padding:22px 24px 24px;
}
.look-photo-copy span{
  display:inline-flex;
  margin-bottom:10px;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:11px;
  color:#8a7a67;
}
.look-photo-copy h3{
  margin:0 0 8px;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:500;
  font-size:32px;
}
.look-photo-copy p{
  margin:0;
  line-height:1.65;
  color:#65584c;
}
@media(max-width:760px){
  .back-home{
    position:static;
    margin:14px 10px 0;
  }
  .looks-hero{
    padding:44px 0 24px;
  }
  .looks-page-content{
    width:min(100% - 20px, 1180px);
  }
  .color-look-block{
    padding:18px;
    border-radius:26px;
  }
  .look-photo-grid{
    grid-template-columns:1fr;
  }
  .look-photo-wrap{
    height:390px;
  }
  .look-buttons a{
    width:100%;
  }
}


/* Pinterest links and organizer contacts */
.pinterest-color-link{
  display:flex;
  justify-content:center;
  margin-top:18px;
}
.pinterest-color-link a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  border-radius:999px;
  background:#19221e;
  color:#f7efe5;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  transition:.25s ease;
}
.pinterest-color-link a:hover{
  transform:translateY(-2px);
  background:#2b372f;
}
.contacts-section{
  width:min(1180px, calc(100% - 36px));
  margin:34px auto 70px;
  padding:46px;
  border-radius:34px;
  background:rgba(25,18,16,.92);
  color:#f7efe5;
  box-shadow:0 24px 70px rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.12);
  text-align:center;
  backdrop-filter:blur(8px);
}
.contacts-section .section-mini{
  color:#d2c4b3;
}
.contacts-section h2{
  margin:0 0 28px;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(54px,7vw,108px);
  line-height:.9;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.contacts-card{
  display:grid;
  grid-template-columns:1fr 360px;
  gap:34px;
  align-items:center;
  border-top:1px solid rgba(247,239,229,.45);
  padding-top:34px;
}
.contacts-copy p{
  width:min(620px,100%);
  margin:0 auto 22px;
  font-size:19px;
  line-height:1.8;
  color:#e7dac8;
}
.contacts-copy h3{
  margin:18px 0 16px;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(44px,5vw,76px);
  line-height:1;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.contact-phone,
.telegram-link{
  display:block;
  color:#f7efe5;
  text-decoration:none;
  font-size:24px;
  margin:10px 0;
  letter-spacing:.04em;
}
.telegram-link{
  color:#d7c6a7;
  font-size:20px;
}
.qr-card{
  padding:18px;
  border-radius:30px;
  background:#f7efe5;
  color:#2a211d;
}
.qr-card img{
  width:100%;
  display:block;
  border-radius:24px;
}
.qr-card p{
  margin:12px 6px 4px;
  font-size:13px;
  line-height:1.5;
  color:#5e544a;
}
@media(max-width:900px){
  .contacts-section{
    width:min(100% - 20px, 1180px);
    padding:32px 20px;
    border-radius:28px;
  }
  .contacts-card{
    grid-template-columns:1fr;
  }
  .qr-card{
    max-width:380px;
    margin:0 auto;
  }
  .contact-phone{
    font-size:21px;
  }
}


/* contacts minimal override */
.contacts-card--minimal{grid-template-columns:1fr 220px;gap:24px;align-items:center;}
.contacts-card--minimal .contacts-copy p{margin-bottom:16px;}
.contacts-card--minimal .contacts-copy h3{margin:12px 0 10px;font-size:clamp(38px,4.2vw,58px);letter-spacing:.05em;}
.contacts-card--minimal .contact-phone{font-size:22px;margin:8px 0 10px;}
.contacts-card--minimal .telegram-link{font-size:18px;}
.qr-card--minimal{padding:14px;background:#fff7ef;border-radius:24px;max-width:220px;justify-self:center;}
.qr-card--minimal img{border-radius:18px;}
.qr-card--minimal p{display:none;}
@media(max-width:900px){.contacts-card--minimal{grid-template-columns:1fr;}.qr-card--minimal{max-width:240px;}}


/* final contacts elegant update */
.contacts-section{
  padding:44px 46px !important;
  background:rgba(30,18,16,.86) !important;
}
.contacts-section h2{
  font-family:'Cormorant Garamond',serif !important;
  font-weight:400 !important;
  letter-spacing:.08em !important;
  font-size:clamp(46px,6vw,88px) !important;
}
.contacts-card--minimal{
  grid-template-columns:1fr 260px !important;
  gap:34px !important;
  align-items:center !important;
}
.contacts-card--minimal .contacts-copy p{
  max-width:560px !important;
  font-family:'Inter',sans-serif !important;
  font-size:17px !important;
  font-weight:300 !important;
  line-height:1.75 !important;
  letter-spacing:.02em !important;
  color:rgba(247,239,229,.86) !important;
}
.contacts-card--minimal .contacts-copy h3{
  font-family:'Cormorant Garamond',serif !important;
  font-size:clamp(34px,4.4vw,58px) !important;
  font-weight:400 !important;
  letter-spacing:.12em !important;
  margin:14px 0 12px !important;
}
.contacts-card--minimal .contact-phone{
  font-family:'Inter',sans-serif !important;
  font-size:20px !important;
  font-weight:300 !important;
  letter-spacing:.08em !important;
}
.contacts-card--minimal .telegram-link{
  font-family:'Inter',sans-serif !important;
  font-size:15px !important;
  font-weight:400 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  color:#d8c8ad !important;
}
.qr-card--minimal{
  max-width:250px !important;
  padding:12px !important;
  border-radius:26px !important;
  background:#fffaf4 !important;
}
.qr-card--minimal img{
  border-radius:18px !important;
  width:100% !important;
  display:block !important;
}
@media(max-width:900px){
  .contacts-section{
    padding:32px 20px !important;
  }
  .contacts-card--minimal{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  .qr-card--minimal{
    max-width:230px !important;
  }
}


/* corrected final order and contacts */
.guest-invitation{
  margin-top:34px !important;
}
.contacts-card--button-only{
  display:block!important;
  max-width:760px;
  margin:0 auto;
  padding-top:30px;
  border-top:1px solid rgba(247,239,229,.38);
}
.organizer-button{
  display:inline-flex;
  margin-top:20px;
  padding:15px 28px;
  border-radius:999px;
  background:#f7efe5;
  color:#211714;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:12px;
  font-family:'Inter',sans-serif;
  font-weight:500;
  transition:.25s ease;
}
.organizer-button:hover{
  transform:translateY(-2px);
  background:#fff9f0;
}
.contacts-section .qr-card,
.qr-card--minimal{
  display:none!important;
}
.hidden-field,
.netlify-detect-form{
  display:none!important;
}


/* Google Forms RSVP button */
.google-form-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:360px;
}
.google-form-note{
  max-width:520px;
  margin:0 auto 26px;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(24px,3vw,34px);
  line-height:1.25;
  font-style:italic;
  color:#3a2f29;
}
.google-form-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:min(100%, 360px);
  padding:18px 34px;
  border-radius:999px;
  background:#1f352c;
  color:#f7efe5;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-family:'Inter',sans-serif;
  font-size:12px;
  font-weight:500;
  box-shadow:0 18px 42px rgba(0,0,0,.16);
  transition:.25s ease;
}
.google-form-button:hover{
  transform:translateY(-2px);
  background:#284539;
}
.google-form-small{
  margin:18px auto 0;
  max-width:420px;
  font-family:'Inter',sans-serif;
  font-size:12px;
  line-height:1.6;
  color:rgba(58,47,41,.70);
}
@media(max-width:720px){
  .google-form-card{
    min-height:280px;
  }
  .google-form-button{
    width:100%;
  }
}


.single-memory{
  width:min(980px, calc(100% - 36px));
  margin:34px auto 0;
}
.single-memory-photo{
  margin:0;
  border-radius:34px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.12);
  background:#ddd7cf;
}
.single-memory-photo img{
  display:block;
  width:100%;
  height:auto;
  max-height:980px;
  object-fit:cover;
}
@media(max-width:760px){
  .single-memory{
    width:min(100% - 20px, 980px);
    margin-top:22px;
  }
  .single-memory-photo{
    border-radius:24px;
  }
}
