
:root{
  --ivory:#eee5d6;
  --ivory-deep:#e1d3bd;
  --olive:#667055;
  --olive-dark:#354232;
  --brown:#5b3a27;
  --brown-dark:#321f16;
  --gold:#b99555;
  --gold-light:#e1c88b;
  --ink:#30271f;
  --muted:#776b5d;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:"Noto Serif",Georgia,serif;
  font-style:italic;
  line-height:1.75;
}
img{display:block;max-width:100%}
button,input,textarea{font:inherit}
h1,h2,h3,strong{font-family:"Noto Serif",Georgia,serif}
h2{font-size:clamp(38px,6vw,70px);line-height:1.12;margin:10px 0 28px}
.container{width:min(1160px,calc(100% - 36px));margin:auto}
.narrow{max-width:820px}
.center{text-align:center}
.section{padding:108px 0;position:relative;overflow:hidden}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-style:normal;font-weight:600;color:var(--brown)}
.eyebrow.light{color:var(--gold-light)}
.button{
  min-height:54px;border:0;border-radius:999px;padding:0 28px;
  display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;font-weight:700;font-style:normal;cursor:pointer
}
.button-gold{color:#2d2118;background:linear-gradient(135deg,#e4ca8a,#a77e3c);box-shadow:0 14px 38px rgba(93,62,29,.24)}
.wide{width:100%}

.music-button{
  position:fixed;z-index:40;right:18px;bottom:18px;width:48px;height:48px;
  border:1px solid rgba(255,255,255,.38);border-radius:50%;
  background:rgba(53,66,50,.90);color:#fff;cursor:pointer
}

.hero{
  min-height:100svh;position:relative;overflow:hidden;color:#fff;
  display:flex;align-items:flex-end;justify-content:center
}
.hero-photo{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 14%;transform:scale(1.02)
}
.hero-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(47,42,23,.03) 0%,rgba(54,52,32,.13) 42%,rgba(31,26,16,.78) 100%),
    radial-gradient(circle at 50% 34%,transparent 0 36%,rgba(65,52,30,.22) 90%)
}
.gold-dust{
  position:absolute;inset:-10%;opacity:.34;
  background-image:
    radial-gradient(circle,#ecd491 0 1.5px,transparent 2px),
    radial-gradient(circle,#fff2c6 0 1px,transparent 1.5px),
    radial-gradient(circle,#b8904c 0 2px,transparent 2.5px);
  background-size:150px 150px,230px 230px,330px 330px;
  animation:floatParticles 24s linear infinite
}
@keyframes floatParticles{to{transform:translate3d(-35px,-100px,0)}}
.hero-content{position:relative;z-index:2;width:min(900px,92%);text-align:center;padding:0 0 7vh}
.hero h1{
  margin:0 0 26px;font-weight:500;font-style:italic;
  font-size:clamp(58px,9vw,122px);line-height:.96;color:var(--gold-light);
  text-shadow:0 12px 44px rgba(0,0,0,.52)
}
.event-card{
  display:inline-grid;grid-template-columns:auto 1px auto 1px auto;gap:20px;align-items:center;
  padding:18px 28px;border:1px solid rgba(255,255,255,.42);border-radius:24px;
  background:transparent;box-shadow:0 12px 38px rgba(0,0,0,.12)
}
.event-card i{width:1px;height:40px;background:rgba(255,255,255,.38)}
.event-card strong,.event-card span{display:block}
.event-card strong{font-size:26px;font-style:italic;font-weight:600}
.event-card span{text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-style:normal;opacity:.82}

.ornament-top,.section-ornament,.ornament-corner{
  position:absolute;pointer-events:none;opacity:.32
}
.ornament-top{
  top:20px;left:50%;transform:translateX(-50%);width:190px;height:45px;
  background:
    radial-gradient(circle at 15% 50%,transparent 13px,var(--gold-light) 14px 16px,transparent 17px),
    radial-gradient(circle at 85% 50%,transparent 13px,var(--gold-light) 14px 16px,transparent 17px),
    linear-gradient(90deg,transparent 0 22%,var(--gold-light) 23% 24%,transparent 25% 75%,var(--gold-light) 76% 77%,transparent 78%);
}
.section-ornament{
  top:24px;left:50%;transform:translateX(-50%);width:240px;height:26px;
  background:repeating-linear-gradient(45deg,transparent 0 9px,var(--gold) 10px 12px,transparent 13px 20px);
  clip-path:polygon(0 45%,42% 45%,46% 0,50% 45%,54% 0,58% 45%,100% 45%,100% 55%,58% 55%,54% 100%,50% 55%,46% 100%,42% 55%,0 55%)
}
.ornament-corner{width:190px;height:190px;border:2px solid var(--gold);border-radius:50%;filter:blur(.1px)}
.ornament-corner.left{left:-110px;top:-80px}.ornament-corner.right{right:-110px;bottom:-80px}
.ornament-corner::before,.ornament-corner::after{
  content:"";position:absolute;inset:22px;border:2px dotted var(--gold);border-radius:50%
}
.light-left{left:-105px;top:-70px;border-color:var(--gold-light)}
.light-right{right:-105px;bottom:-70px;border-color:var(--gold-light)}

.photo-story{height:100svh;min-height:650px;background:var(--brown-dark);position:relative;padding-top:0}
.slide-stage{position:relative;width:100%;height:100%;overflow:hidden}
.slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .8s ease}
.slide.active{opacity:1}
.slide img{width:100%;height:100%;object-fit:contain;background:var(--brown-dark)}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.36))}
.slide-caption{
  position:absolute;z-index:3;left:24px;bottom:24px;color:#fff;padding:14px 18px;
  border:1px solid rgba(255,255,255,.42);border-radius:18px;background:rgba(35,29,19,.22);backdrop-filter:blur(14px)
}
.slide-caption span,.slide-caption strong{display:block}
.slide-caption span{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-style:normal}
.slide-caption strong{font-size:20px}
.slide-arrow{
  position:absolute;z-index:4;top:50%;transform:translateY(-50%);
  width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.45);
  background:rgba(38,31,19,.34);color:#fff;font-size:32px;cursor:pointer
}
.slide-arrow.previous{left:18px}.slide-arrow.next{right:18px}
.slide-dots{position:absolute;z-index:4;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:7px;max-width:55vw;overflow:hidden}
.slide-dot{width:7px;height:7px;border:0;border-radius:50%;background:rgba(255,255,255,.4);padding:0}
.slide-dot.active{background:#fff}

.invitation{background:linear-gradient(180deg,#f4ecdf,var(--ivory))}
.invitation-card{padding:22px 30px}
.invitation-card p{font-size:clamp(20px,2.25vw,28px);line-height:1.75;color:#4b4035}
.invitation-card strong{display:block;margin-top:24px;color:var(--brown);font-size:29px;font-weight:600}

.details{background:linear-gradient(135deg,var(--olive-dark),#4d5a43);color:#fff}
.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.details-card{
  padding:34px;border-radius:28px;border:1px solid rgba(255,255,255,.30);
  background:rgba(255,255,255,.08);backdrop-filter:blur(18px)
}
.detail-row{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.20)}
.detail-row span,.detail-row strong{display:block}
.detail-row span{text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-style:normal;opacity:.74}
.detail-row strong{margin-top:5px;font-size:18px}
.details-card .button{margin-top:24px}

.countdown-section{background:radial-gradient(circle at top,#f8f1e6,var(--ivory-deep))}
.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:42px}
.countdown div{
  background:rgba(255,255,255,.58);border:1px solid rgba(91,58,39,.14);
  border-radius:24px;padding:30px 10px;box-shadow:0 15px 45px rgba(74,55,37,.10)
}
.countdown strong{display:block;font-size:56px;color:var(--olive-dark)}
.countdown span{text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-style:normal;color:var(--muted)}

.dress{background:linear-gradient(145deg,#d8ceb8,#eee5d5)}
.dress-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px;align-items:center}
.national-medallion{
  aspect-ratio:1;border-radius:50%;display:grid;place-items:center;padding:20px;
  background:repeating-conic-gradient(from 0deg,var(--olive-dark) 0 6deg,var(--brown) 6deg 12deg,var(--gold) 12deg 16deg);
  box-shadow:0 28px 70px rgba(67,54,34,.18)
}
.national-medallion span{
  width:66%;height:66%;border-radius:50%;background:var(--ivory);
  display:grid;place-items:center;text-align:center;border:2px solid var(--gold);
  font-size:clamp(28px,4vw,44px);line-height:1.15;color:var(--brown);padding:20px
}
.dress p{color:#615548;font-size:18px}

.rsvp{background:linear-gradient(135deg,#283426,#4a573d);color:#fff}
.rsvp-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.rsvp-form{
  padding:34px;border-radius:28px;border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.09);backdrop-filter:blur(18px)
}
.rsvp-form>label,.rsvp-form fieldset{display:block;margin-bottom:20px;font-weight:600}
.rsvp-form input[type=text],.rsvp-form textarea{
  width:100%;margin-top:8px;padding:15px 16px;border-radius:13px;
  border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.10);
  color:#fff;outline:none
}
.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:rgba(255,255,255,.64)}
.rsvp-form fieldset{border:0;padding:0}
.rsvp-form legend{margin-bottom:10px}
.choice{
  display:flex!important;gap:10px;align-items:center;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);border-radius:13px;padding:13px 14px;
  margin:8px 0!important;font-weight:500!important
}
.hidden{display:none!important}
.form-status{min-height:22px;text-align:center;margin:14px 0 0}

@media(max-width:850px){
  .details-grid,.dress-grid,.rsvp-grid{grid-template-columns:1fr}
  .national-medallion{width:min(72vw,430px);margin:0 auto}
  .dress-grid{gap:42px;text-align:center}
}
@media(max-width:640px){
  .section{padding:76px 0}
  .hero-content{padding-bottom:6vh}
  .hero h1{font-size:56px}
  .hero-photo{object-position:52% 8%}
  .event-card{grid-template-columns:1fr;gap:6px;padding:14px 20px}
  .event-card i{display:none}
  .event-card div{display:flex;align-items:baseline;justify-content:center;gap:8px}
  .event-card strong{font-size:22px}.event-card span{font-size:9px}
  .slide img{object-fit:contain}
  .slide-caption{left:12px;bottom:12px}
  .slide-dots{display:none}
  .countdown{grid-template-columns:repeat(2,1fr)}
  .countdown strong{font-size:43px}
  .rsvp-form{padding:24px}
  .national-medallion{width:min(78vw,360px);padding:14px}
  .national-medallion span{width:68%;height:68%;font-size:28px;padding:14px}
  .dress h2{font-size:42px}
  .dress p{font-size:17px}
}


/* FINAL ORDERED-SLIDES AND MOBILE-SPACING OVERRIDES */

/* Remove every visible gap between full-width sections. */
main, section { margin: 0 !important; }
.photo-story,
.invitation,
.details,
.countdown-section,
.dress,
.rsvp {
  border: 0 !important;
}
.photo-story + .invitation,
.hero + main,
main > section + section {
  margin-top: 0 !important;
}
.photo-story {
  display: block;
  padding: 0 !important;
}
.slide-stage {
  display: block;
  margin: 0 !important;
}

/* Prevent the slideshow caption from creating a dark empty strip. */
.slide-caption {
  bottom: 18px !important;
  left: 18px !important;
  background: rgba(42, 35, 23, .28) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  box-shadow: none !important;
}
.slide-dots {
  bottom: 20px !important;
}

/* Elegant date typography without a frame or card background. */
.event-card.elegant-date {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 4px 0 !important;
  gap: 24px !important;
}
.event-card.elegant-date i {
  background: rgba(239, 218, 163, .55) !important;
  height: 34px !important;
}
.event-card.elegant-date strong {
  font-family: "Noto Serif", Georgia, serif !important;
  font-style: italic !important;
  font-weight: 500 !important;
  font-size: 31px !important;
  color: #f0d89e !important;
  letter-spacing: .02em;
  text-shadow: 0 8px 22px rgba(0,0,0,.35);
}
.event-card.elegant-date span {
  font-family: "Noto Serif", Georgia, serif !important;
  font-style: italic !important;
  text-transform: none !important;
  letter-spacing: .04em !important;
  color: rgba(255,244,214,.88) !important;
  font-size: 12px !important;
}

/* More editorial wedding typography, inspired by the supplied reference. */
.invitation-card p,
.details h2,
.countdown-section h2,
.dress h2,
.rsvp h2 {
  font-family: "Noto Serif", Georgia, serif !important;
  font-style: italic !important;
}
.invitation-card p {
  letter-spacing: .005em;
}

/* Mobile corrections: no phantom strips and a clean national-style section. */
@media (max-width: 640px) {
  .hero {
    min-height: 100svh !important;
    margin-bottom: 0 !important;
  }
  .hero-content {
    padding-bottom: 5.5vh !important;
  }
  .event-card.elegant-date {
    display: grid !important;
    grid-template-columns: repeat(3, auto) !important;
    gap: 12px !important;
    width: 100%;
    justify-content: center;
  }
  .event-card.elegant-date i {
    display: none !important;
  }
  .event-card.elegant-date div {
    display: block !important;
    min-width: 78px;
  }
  .event-card.elegant-date strong {
    font-size: 25px !important;
  }
  .event-card.elegant-date span {
    display: block !important;
    font-size: 10px !important;
  }

  .photo-story {
    height: 100svh !important;
    min-height: 620px !important;
    margin: 0 !important;
  }
  .slide-stage,
  .slide {
    height: 100% !important;
  }
  .slide img {
    object-fit: contain !important;
    background: #302217 !important;
  }
  .slide-caption {
    left: 12px !important;
    bottom: 12px !important;
    padding: 10px 13px !important;
  }

  .dress {
    padding: 64px 0 !important;
  }
  .dress-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
    text-align: center !important;
    align-items: center !important;
  }
  .national-medallion {
    width: min(72vw, 310px) !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 12px !important;
  }
  .national-medallion span {
    width: 68% !important;
    height: 68% !important;
    padding: 10px !important;
    font-size: clamp(25px, 8vw, 34px) !important;
    overflow-wrap: anywhere;
  }
  .dress h2 {
    font-size: clamp(36px, 11vw, 48px) !important;
    line-height: 1.1 !important;
  }
  .dress p {
    font-size: 16px !important;
    line-height: 1.75 !important;
    margin-bottom: 0 !important;
  }
}

/* Final: slideshow caption removed */
.slide-caption { display: none !important; }


/* CLOUDFLARE FINAL OVERRIDES */

/* First-screen date font: handwritten, frame-free, transparent */
.event-card.elegant-date strong,
.event-card.elegant-date span{
  font-family:"Marck Script","Noto Serif",serif !important;
  font-style:normal !important;
  font-weight:400 !important;
  text-transform:none !important;
}
.event-card.elegant-date strong{
  font-size:42px !important;
  line-height:.86;
}
.event-card.elegant-date span{
  font-size:22px !important;
  line-height:1;
  margin-top:8px;
}
.event-card.elegant-date{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Compact invitation page */
.invitation{
  min-height:auto !important;
  padding:52px 0 48px !important;
}
.invitation .container{
  max-width:760px;
}
.invitation-card{
  padding:8px 34px !important;
}
.invitation-card .quoted-message{
  margin:0 0 14px !important;
  font-size:clamp(19px,2vw,25px) !important;
  line-height:1.48 !important;
}
.invitation-card strong{
  margin-top:20px !important;
  font-size:clamp(28px,4vw,38px) !important;
}

/* Hands photograph instead of the circular Ұлттық нақыш graphic */
.national-photo{
  margin:0;
  width:100%;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(45,35,22,.20);
  border:1px solid rgba(185,149,85,.35);
  background:#34412f;
}
.national-photo img{
  width:100%;
  height:clamp(360px,54vw,720px);
  object-fit:cover;
  object-position:center;
  filter:saturate(.92) contrast(1.02) sepia(.04);
}

/* Remove any obsolete slideshow caption completely */
.slide-caption{display:none !important}

/* RSVP state messages */
.form-status.success{color:#f1d99a}
.form-status.error{color:#ffd0c9}

@media (max-width:760px){
  .page-edge-ornament{
    width:22px;
    opacity:.24;
  }
  .left-edge{left:0}
  .right-edge{right:0}

  .event-card.elegant-date{
    grid-template-columns:repeat(3,minmax(76px,1fr)) !important;
    gap:5px !important;
    width:min(96%,390px) !important;
  }
  .event-card.elegant-date strong{
    font-size:31px !important;
  }
  .event-card.elegant-date span{
    font-size:16px !important;
    margin-top:4px;
  }

  .invitation{
    padding:38px 0 34px !important;
  }
  .invitation-card{
    padding:4px 22px !important;
  }
  .invitation-card .quoted-message{
    font-size:20px !important;
    line-height:1.42 !important;
    margin-bottom:12px !important;
  }
  .invitation-card strong{
    margin-top:18px !important;
  }

  .dress-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:30px !important;
  }
  .national-photo{
    width:calc(100% - 12px);
    margin:0 auto;
    border-radius:22px;
  }
  .national-photo img{
    height:520px;
    object-position:center;
  }
}



/* VISIBLE KAZAKH EDGE ORNAMENTS */
.page-edge-ornament{
  position:fixed;
  top:0;
  bottom:0;
  width:58px;
  z-index:60;
  pointer-events:none;
  opacity:.88;
  background-image:url("assets/kazakh-edge-ornament.svg");
  background-repeat:repeat-y;
  background-position:center top;
  background-size:52px 130px;
  filter:drop-shadow(0 1px 5px rgba(37,28,13,.34));
}
.page-edge-ornament::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:1px;
  background:linear-gradient(
    to bottom,
    transparent,
    rgba(229,199,126,.7) 6%,
    rgba(229,199,126,.7) 94%,
    transparent
  );
}
.left-edge{
  left:5px;
}
.left-edge::before{
  left:4px;
}
.right-edge{
  right:5px;
  transform:scaleX(-1);
}
.right-edge::before{
  left:4px;
}

/* Отодвигаем контент на широких экранах, чтобы узор не перекрывал текст. */
@media (min-width:1100px){
  body{
    padding-left:38px;
    padding-right:38px;
  }
  .hero{
    width:calc(100% + 76px);
    margin-left:-38px;
  }
}

@media (max-width:760px){
  .page-edge-ornament{
    width:27px;
    opacity:.72;
    background-size:27px 92px;
  }
  .left-edge{left:0}
  .right-edge{right:0}
  .page-edge-ornament::before{
    display:none;
  }
}


/* Kazakh Latin hero title */
.hero h1{
  overflow-wrap:normal;
  word-break:keep-all;
}
@media (max-width:640px){
  .hero h1{
    font-size:clamp(49px,14vw,64px) !important;
    line-height:.98 !important;
    letter-spacing:-.025em;
  }
}

/* PEN-WRITTEN LATIN HEADINGS */
.pen-title{
  font-family:"Marck Script","Noto Serif",cursive !important;
  font-style:normal !important;
  font-weight:400 !important;
  text-transform:none !important;
  letter-spacing:.01em !important;
  line-height:1.06 !important;
  color:inherit;
  text-wrap:balance;
}

.details .pen-title,
.rsvp .pen-title{
  color:#f0d28f;
  text-shadow:0 7px 22px rgba(0,0,0,.24);
}

.countdown-section .pen-title{
  color:#503b2c;
  text-shadow:0 4px 15px rgba(100,72,37,.10);
}

@media (min-width:761px){
  .pen-title{
    font-size:clamp(56px,7vw,92px) !important;
  }
}

@media (max-width:760px){
  .pen-title{
    font-size:clamp(43px,13vw,62px) !important;
    line-height:1.02 !important;
    margin-bottom:25px !important;
  }
}

/* SIGNATURE SCRIPT FINAL */
.signature-title,
.pen-title{
  font-family:"Italianno","Marck Script","Noto Serif",cursive !important;
  font-style:normal !important;
  font-weight:400 !important;
  text-transform:none !important;
  letter-spacing:.015em !important;
  line-height:.92 !important;
  text-wrap:balance;
  font-variant-ligatures:common-ligatures contextual;
}

.signature-title{
  color:#efd18a !important;
  text-shadow:
    0 4px 2px rgba(34,25,14,.28),
    0 14px 42px rgba(0,0,0,.48) !important;
  font-size:clamp(84px,11vw,154px) !important;
}

.pen-title{
  font-size:clamp(66px,8vw,112px) !important;
}

.details .pen-title,
.rsvp .pen-title{
  color:#efd18a !important;
  text-shadow:
    0 3px 1px rgba(36,27,16,.20),
    0 10px 28px rgba(0,0,0,.22) !important;
}

.countdown-section .pen-title{
  color:#56402f !important;
  text-shadow:0 3px 12px rgba(94,67,34,.12) !important;
}

@media(max-width:760px){
  .signature-title{
    font-size:clamp(70px,20vw,104px) !important;
    line-height:.82 !important;
    letter-spacing:0 !important;
  }

  .pen-title{
    font-size:clamp(58px,17vw,84px) !important;
    line-height:.9 !important;
    margin-bottom:24px !important;
  }
}

@media(max-width:390px){
  .signature-title{
    font-size:68px !important;
  }

  .pen-title{
    font-size:56px !important;
  }
}



/* MOBILE RESPONSIVE FINAL FIX */

/* Prevent any section title from overflowing horizontally */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
video,
iframe {
  max-width: 100%;
}

/* Reusable protection for long decorative headings */
.signature-title,
.pen-title,
.hero h1,
.details h2,
.countdown-section h2,
.rsvp h2,
.dress h2 {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: none;
}

/* Tablet */
@media (max-width: 900px) {
  .container {
    width: min(100% - 40px, 760px) !important;
  }

  .hero-content,
  .details .container,
  .countdown-section .container,
  .rsvp .container,
  .dress .container {
    max-width: 100% !important;
  }

  .signature-title {
    font-size: clamp(66px, 13vw, 102px) !important;
    line-height: .88 !important;
  }

  .pen-title {
    font-size: clamp(52px, 10vw, 78px) !important;
    line-height: .92 !important;
  }
}

/* Phones */
@media (max-width: 640px) {
  body {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .container {
    width: min(100% - 34px, 560px) !important;
    margin-inline: auto !important;
  }

  section {
    overflow: clip;
  }

  /* Edge ornaments become narrower and never steal text width */
  .page-edge-ornament {
    width: 18px !important;
    opacity: .42 !important;
    background-size: 18px 72px !important;
  }

  .left-edge { left: 0 !important; }
  .right-edge { right: 0 !important; }

  /* Hero */
  .hero {
    min-height: 100svh !important;
    width: 100% !important;
    margin-left: 0 !important;
  }

  .hero-content {
    width: 100% !important;
    padding-inline: 24px !important;
  }

  .signature-title,
  .hero h1 {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(56px, 17vw, 84px) !important;
    line-height: .84 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  /* The two long Latin titles */
  .pen-title {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 8px !important;
    font-size: clamp(42px, 12vw, 58px) !important;
    line-height: .92 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-wrap: balance;
  }

  .details .pen-title,
  .rsvp .pen-title {
    color: #efd18a !important;
  }

  .countdown-section .pen-title {
    color: #56402f !important;
  }

  /* RSVP section: enough inner room, no clipping by ornaments */
  .rsvp {
    padding: 54px 0 44px !important;
  }

  .rsvp .container {
    width: min(100% - 40px, 560px) !important;
  }

  .rsvp-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
  }

  .rsvp-copy {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    padding-inline: 4px !important;
  }

  .rsvp-copy .eyebrow {
    font-size: 12px !important;
    letter-spacing: .22em !important;
  }

  .rsvp-copy p {
    max-width: 100% !important;
    margin-inline: auto !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
  }

  .rsvp-form {
    width: 100% !important;
    max-width: 100% !important;
    padding: 22px 18px !important;
    border-radius: 24px !important;
  }

  .rsvp-form input,
  .rsvp-form textarea,
  .rsvp-form select,
  .rsvp-form button {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 16px !important;
  }

  .radio-row,
  .radio-options {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* Event details */
  .event-card.elegant-date {
    width: 100% !important;
    max-width: 340px !important;
    margin-inline: auto !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4px !important;
  }

  .event-card.elegant-date div {
    min-width: 0 !important;
  }

  .event-card.elegant-date strong {
    font-size: clamp(27px, 8vw, 34px) !important;
  }

  .event-card.elegant-date span {
    font-size: clamp(14px, 4.8vw, 18px) !important;
  }

  /* Countdown */
  .countdown-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .countdown-item {
    min-width: 0 !important;
    width: 100% !important;
  }

  /* Invitation */
  .invitation-card {
    padding-inline: 18px !important;
  }

  .invitation-card .quoted-message {
    font-size: 18px !important;
    line-height: 1.45 !important;
  }

  /* Slideshow and national-style photo */
  .photo-story {
    min-height: 0 !important;
    height: auto !important;
  }

  .slide-stage {
    height: 74svh !important;
    min-height: 520px !important;
  }

  .slide img {
    object-fit: contain !important;
  }

  .national-photo img {
    height: auto !important;
    max-height: none !important;
    object-fit: cover !important;
  }
}

/* Very narrow phones */
@media (max-width: 390px) {
  .container {
    width: calc(100% - 26px) !important;
  }

  .signature-title,
  .hero h1 {
    font-size: 58px !important;
  }

  .pen-title {
    font-size: 42px !important;
    line-height: .95 !important;
  }

  .rsvp-copy p {
    font-size: 16px !important;
  }

  .rsvp-form {
    padding: 18px 14px !important;
  }

  .event-card.elegant-date {
    max-width: 310px !important;
  }
}

/* FINAL PREVIOUS-VERSION TEXT FIXES */

/* Три декоративных заголовка — один и тот же тонкий каллиграфический шрифт */
.signature-title,
.pen-title,
.dress-pen-title{
  font-family:"Italianno","Marck Script","Noto Serif",cursive !important;
  font-style:normal !important;
  font-weight:400 !important;
  text-transform:none !important;
  letter-spacing:.01em !important;
  font-variant-ligatures:common-ligatures contextual;
  text-wrap:balance;
}

/* Финальный заголовок RSVP */
.rsvp .pen-title{
  color:#efd18a !important;
  text-shadow:
    0 3px 1px rgba(36,27,16,.18),
    0 10px 28px rgba(0,0,0,.22) !important;
}

/* Заголовок таймера */
.countdown-section .pen-title{
  color:#56402f !important;
  text-shadow:0 3px 12px rgba(94,67,34,.12) !important;
}

/* Заголовок блока Ұлттық нақыш в латинице */
.dress .dress-pen-title{
  color:#56402f !important;
  font-size:clamp(62px,7vw,98px) !important;
  line-height:.92 !important;
  margin:0 0 18px !important;
}

/* Блок деталей без повторного большого заголовка */
.details-grid > div:first-child{
  align-self:center;
}
.details .eyebrow{
  margin-bottom:0 !important;
}

@media (max-width:760px){
  .rsvp .pen-title,
  .countdown-section .pen-title,
  .dress .dress-pen-title{
    width:100% !important;
    max-width:100% !important;
    padding-inline:6px !important;
    font-size:clamp(45px,13vw,64px) !important;
    line-height:.94 !important;
    letter-spacing:0 !important;
    overflow-wrap:anywhere;
    word-break:normal;
    text-align:center !important;
  }

  .dress .dress-pen-title{
    margin-top:4px !important;
    margin-bottom:15px !important;
  }

  .details-grid{
    gap:18px !important;
  }

  .details-grid > div:first-child{
    text-align:center !important;
  }
}

@media (max-width:390px){
  .rsvp .pen-title,
  .countdown-section .pen-title,
  .dress .dress-pen-title{
    font-size:44px !important;
  }
}

/* SAME CALLIGRAPHY AS HERO — FINAL OVERRIDE */
.pen-title,
.dress-pen-title,
.countdown-section .pen-title,
.rsvp .pen-title,
.dress .dress-pen-title {
  font-family: "Italianno", "Marck Script", cursive !important;
  font-style: normal !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: .90 !important;
  font-variant-ligatures: common-ligatures contextual !important;
  text-wrap: balance;
}

.countdown-section .pen-title {
  color: #56402f !important;
  font-size: clamp(66px, 8vw, 108px) !important;
  text-shadow: 0 3px 12px rgba(94, 67, 34, .12) !important;
}

.dress .dress-pen-title {
  color: #56402f !important;
  font-size: clamp(64px, 7.5vw, 104px) !important;
  margin: 0 0 18px !important;
}

.rsvp .pen-title {
  color: #efd18a !important;
  font-size: clamp(68px, 8vw, 112px) !important;
  text-shadow:
    0 3px 1px rgba(36, 27, 16, .18),
    0 10px 28px rgba(0, 0, 0, .22) !important;
}

@media (max-width: 760px) {
  .countdown-section .pen-title,
  .dress .dress-pen-title,
  .rsvp .pen-title {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 8px !important;
    font-family: "Italianno", "Marck Script", cursive !important;
    font-size: clamp(54px, 15vw, 78px) !important;
    line-height: .88 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
  }
}

@media (max-width: 390px) {
  .countdown-section .pen-title,
  .dress .dress-pen-title,
  .rsvp .pen-title {
    font-size: 52px !important;
    line-height: .90 !important;
  }
}

/* RSVP RADIO ALIGNMENT FIX */
.rsvp-form .radio-options,
.rsvp-form .radio-row {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

.rsvp-form .choice,
.rsvp-form label.choice {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 14px !important;
  width: 100% !important;
  min-height: 72px !important;
  padding: 14px 18px !important;
  margin: 0 !important;
  text-align: left !important;
}

.rsvp-form .choice input[type="radio"] {
  appearance: auto !important;
  -webkit-appearance: radio !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 0 !important;
  justify-self: center !important;
  align-self: center !important;
  accent-color: #efd18a;
}

.rsvp-form .choice span,
.rsvp-form .choice {
  line-height: 1.35 !important;
}

@media (max-width: 760px) {
  .rsvp-form .choice,
  .rsvp-form label.choice {
    grid-template-columns: 20px minmax(0, 1fr) !important;
    column-gap: 12px !important;
    min-height: 66px !important;
    padding: 12px 14px !important;
    font-size: 16px !important;
  }

  .rsvp-form .choice input[type="radio"] {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
  }
}

/* NATIONAL TITLE GLYPH FIX */
.dress .dress-pen-title{
  font-family:"Italianno","Marck Script",cursive !important;
  font-style:normal !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  font-variant-ligatures:common-ligatures contextual !important;
}
