@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(./assets/fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./assets/fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./assets/fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./assets/fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./assets/fonts/font-4.ttf) format('truetype');
}
:root{--paper:#fff7fb;--blush:#f9dbe7;--pink:#f4bfd4;--ink:#422333;--muted:#735266;--berry:#9a315d;--lavender:#eee5f7;--line:#e8c5d6;--sans:'DM Sans',Arial,sans-serif;--serif:'Cormorant Garamond',Georgia,serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(135deg,#fff7fb,#fce5ee 55%,#eee5f7);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--berry);outline-offset:4px}h1,h2,p,figure{margin:0}img{display:block;width:100%;height:100%;object-fit:cover}.header{max-width:1120px;margin:auto;height:80px;padding:0 36px;display:flex;align-items:center;justify-content:space-between}.wordmark{font-size:1.35rem;font-weight:500;letter-spacing:-.055em;white-space:nowrap}.wordmark span{font-family:var(--serif);font-style:italic;font-size:1.65rem;color:var(--berry);letter-spacing:-.025em}.wordmark sup{font:14px Georgia;margin-left:6px}.language{display:flex;gap:5px;align-items:center}.language button{border:0;background:none;color:var(--muted);min-width:40px;min-height:44px;font-size:.875rem}.language button[aria-pressed=true]{color:var(--berry);font-weight:700;text-decoration:underline;text-underline-offset:6px}.language>span{color:var(--muted)}main{max-width:1048px;margin:0 auto}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:530px;background:linear-gradient(130deg,#ffeaf1,#f8cede);border-radius:28px;overflow:hidden;box-shadow:0 18px 70px #9a315d0c}.hero-image{grid-column:2;grid-row:1;min-width:0;position:relative}.hero-image img{object-position:center 27%;max-height:600px}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f8d1e120,transparent 35%);pointer-events:none}.hero-copy{grid-column:1;grid-row:1;padding:48px 44px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}h1{font-family:var(--sans);font-weight:400;font-size:clamp(3.5rem,6.3vw,5.3rem);letter-spacing:-.065em;line-height:1.05}h1 em{display:block;font-family:var(--serif);font-weight:500;font-size:1.27em;color:var(--berry);letter-spacing:-.035em;line-height:.95;margin:0 0 20px 24px}.hero-line{font-size:1rem;line-height:1.65;color:var(--muted);margin:8px 0 24px}.hero-action{width:100%;max-width:355px}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:56px;padding:16px 23px;border-radius:100px;font-size:1rem;font-weight:600;text-align:center;line-height:1.4;transition:background .2s,transform .2s}.primary{background:var(--berry);color:#fff7fb;box-shadow:0 6px 20px #9a315d20}.primary:hover{background:#81284d;transform:translateY(-1px)}.hero-action .button{width:100%}.button-spark{font:1.25rem Georgia}.micro{font-size:.8125rem;line-height:1.6;color:var(--muted);margin-top:12px;text-align:center}.section{padding:0 28px}.closer{max-width:760px;margin:34px auto}.invites{display:grid;gap:12px}.invite{background:#fff8fbd9;border:1px solid var(--line);border-radius:18px;overflow:hidden}.invite summary{list-style:none;display:flex;align-items:center;gap:16px;padding:22px 24px;cursor:pointer;min-height:76px}.invite summary::-webkit-details-marker{display:none}.invite-number{font-size:.875rem;color:var(--berry)}.invite-heading{font-size:1rem;font-weight:500;line-height:1.45;flex:1}.toggle{flex-shrink:0;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;position:relative}.toggle:before,.toggle:after{content:'';position:absolute;left:8px;top:13px;width:10px;height:1px;background:var(--berry)}.toggle:after{transform:rotate(90deg)}.invite[open] .toggle:after{transform:rotate(0)}.invite-content{padding:0 24px 22px 60px;color:var(--muted);line-height:1.7}.text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;color:var(--berry);font-size:1rem;font-weight:600;border-bottom:1px solid var(--line)}.editorial{max-width:704px;margin:32px auto 0;padding:0;display:grid;grid-template-columns:180px 1fr;gap:30px;align-items:center}.editorial-photo{height:240px;overflow:hidden;border-radius:90px 90px 18px 18px}.editorial-photo img{object-position:center}.editorial-copy h2{font-size:1.75rem;font-weight:400;letter-spacing:-.055em;line-height:1.2}.editorial-copy>p:not(.micro){margin:10px 0 20px;color:var(--muted)}.editorial-copy .micro{text-align:left}.editorial-copy .button{min-width:265px}footer{max-width:1048px;margin:34px auto 0;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 36px;border-top:1px solid var(--line)}footer p{font-size:.8125rem;color:var(--muted)}.mobile-invite{display:none}.mobile-invite[hidden]{display:none!important}
@media(max-width:1100px){main{margin:0 24px}.hero-copy{padding:40px 30px}.hero{min-height:500px}.hero-image img{max-height:560px}}
@media(max-width:700px){.header{height:64px;padding:0 22px}.wordmark{font-size:1.25rem}.wordmark span{font-size:1.55rem}main{margin:0}.hero{display:flex;flex-direction:column;min-height:0;border-radius:0;box-shadow:none;background:linear-gradient(160deg,#ffe8f1,#f8d4e3)}.hero-image{height:clamp(280px,43svh,390px);width:100%;overflow:hidden}.hero-image img{object-position:center 27%;max-height:none}.hero-image:after{background:linear-gradient(0deg,#ffe4ee 0%,#ffe4ee10 20%,transparent 45%)}.hero-copy{padding:0 24px 26px;align-items:center;text-align:center;position:relative;margin-top:-17px}h1{font-size:clamp(2.65rem,11.5vw,3.8rem);line-height:1.1;letter-spacing:-.055em}h1 em{display:inline;font-size:1.14em;margin:0;line-height:1}.hero-line{font-size:1rem;margin:10px 0 19px;line-height:1.55}.hero-line br{display:none}.hero-action{max-width:380px}.hero-action .micro{font-size:.8125rem;margin-top:10px}.closer{margin:22px auto 24px;padding:0 22px}.invites{gap:12px}.invite summary{padding:18px;gap:12px;min-height:74px}.invite-number{font-size:.8125rem}.invite-heading{font-size:1rem}.invite-content{padding:0 18px 20px;font-size:1rem}.editorial{margin:0 22px;padding:20px;background:#fff8fbb3;border:1px solid var(--line);border-radius:22px;grid-template-columns:90px 1fr;gap:18px}.editorial-photo{height:135px;border-radius:45px 45px 12px 12px}.editorial-copy h2{font-size:1.35rem;letter-spacing:-.035em}.editorial-copy>p:not(.micro){font-size:.875rem;line-height:1.55;margin:8px 0 0}.editorial-copy .button{grid-column:1/-1;min-width:0;width:100%;margin-top:16px;font-size:.9375rem;padding:14px 16px;min-height:52px}.editorial-copy .micro{font-size:.75rem;margin-top:8px}footer{flex-direction:column;gap:6px;margin-top:26px;padding:22px 22px 100px}footer .wordmark{display:none}.mobile-invite{display:block;position:fixed;bottom:0;left:0;right:0;z-index:10;background:#fff7fbf5;backdrop-filter:blur(12px);padding:10px 20px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.mobile-invite .button{width:100%;min-height:50px;padding:13px 18px}}
@media(max-width:370px){.hero-copy{padding-left:18px;padding-right:18px}h1{font-size:2.45rem}.editorial{grid-template-columns:70px 1fr;gap:12px;padding:16px}.editorial-photo{height:130px}.editorial-copy .button{font-size:.875rem;padding:12px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

@font-face {
  font-family: 'Great Vibes';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./assets/fonts/script-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Parisienne';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./assets/fonts/script-1.ttf) format('truetype');
}

/* V3: luminous calligraphy and a readable signature */
.hero-copy h1{font-family:'Great Vibes',Georgia,serif;font-weight:400;font-style:normal;font-size:clamp(5.1rem,8.2vw,7rem);letter-spacing:0;line-height:1.15;padding:4px 12px 0 0;color:#b63877;filter:drop-shadow(0 1px 0 #ffffff) drop-shadow(0 0 12px #fff9fc);}
.hero-copy h1 em{font-family:inherit;font-style:normal;font-weight:400;font-size:1.04em;letter-spacing:0;line-height:1.15;margin:-8px 0 10px 34px;color:inherit;}
@supports (-webkit-background-clip:text){.hero-copy h1{background:linear-gradient(125deg,#923971 5%,#cc4487 43%,#b33273 68%,#925087 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}.hero-copy h1 em{color:inherit;}}
footer .wordmark{display:block;font-family:'Parisienne',cursive;font-weight:400;font-size:2.4rem;letter-spacing:0;color:#9a315d;line-height:1.5;white-space:nowrap;text-shadow:0 1px 0 #fff;}
@media(max-width:700px){.hero-copy h1{font-size:clamp(3.45rem,15vw,5.2rem);line-height:1.35;padding:0 8px;white-space:nowrap;}.hero-copy h1 em{display:inline;font-size:1em;line-height:inherit;margin:0;}footer .wordmark{display:block;font-size:2.35rem;margin:0 0 6px;}.hero-line{margin-top:0;}}
@media(max-width:370px){.hero-copy h1{font-size:3.2rem;}.hero-copy{padding-left:12px;padding-right:12px;}}

@font-face {
  font-family: 'Allura';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./assets/fonts/signature-allura.ttf) format('truetype');
}

/* V4: fuller lettering and an individual handwritten signature */
.hero-copy h1,.hero-copy h1 em{-webkit-text-stroke:.008em #b33b78;paint-order:stroke fill;}
.hero-copy h1{filter:drop-shadow(0 1px 0 #fff) drop-shadow(0 0 14px #fff7fc) drop-shadow(0 5px 12px #d9508922);}
.hero{background:linear-gradient(135deg,#ffeaf3 0%,#fbd4e6 60%,#f1d9ef 100%);}
footer .wordmark.signature{font-family:'Allura',cursive;font-size:2.9rem;font-weight:400;color:#ae3d72;letter-spacing:0;line-height:1.45;transform:rotate(-3deg);text-shadow:0 1px 0 #fff;}
@media(max-width:700px){footer .wordmark.signature{font-size:2.8rem;margin-bottom:8px;}.hero{background:linear-gradient(150deg,#ffeaf3,#fbd5e6 80%,#f1d9ef);}}

/* V5: age entry and selectable, softly fading portraits */
[hidden]{display:none!important;}
.age-gate{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:90px 24px 45px;position:relative;background:radial-gradient(ellipse at 25% 15%,#ffe1ee,transparent 55%),linear-gradient(135deg,#fff6fb,#f7dbe9 55%,#eedef6);}
.gate-language{position:absolute;right:24px;top:18px;}
.gate-content{width:100%;max-width:470px;text-align:center;}
.gate-brand{font-family:'Great Vibes',cursive;font-size:clamp(3.3rem,10vw,4.6rem);line-height:1.4;color:#b33b78;-webkit-text-stroke:.4px #b33b78;text-shadow:0 1px 0 #fff,0 0 22px #fff;white-space:nowrap;margin-bottom:22px;}
.gate-card{padding:35px 30px;background:#fff8fbd9;border:1px solid #e9bcd4;border-radius:28px;box-shadow:0 20px 65px #97326012;}
.age-seal{display:inline-flex;border:1px solid #dfacc6;background:#fce3ef;color:#96345e;border-radius:50%;width:62px;height:62px;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;margin-bottom:20px;}
.gate-card h1{font-family:var(--sans);font-weight:500;font-size:1.75rem;line-height:1.3;letter-spacing:-.04em;margin-bottom:14px;}
.gate-card>p:not(.micro){color:var(--muted);font-size:1rem;line-height:1.7;}
.gate-actions{display:flex;flex-direction:column;gap:12px;margin-top:25px;}
.gate-actions .button{border:0;width:100%;cursor:pointer;}
.gate-decline{min-height:50px;border:1px solid #dfb5cb;border-radius:100px;background:transparent;color:var(--muted);padding:12px 18px;}
.gate-card .micro{margin-top:22px;}
.gate-card .gate-denied{margin-top:22px;color:var(--berry)!important;font-weight:600;}
.hero-image{min-height:530px;}
.hero-image .hero-slide{position:absolute;inset:0;max-height:none;height:100%;width:100%;opacity:0;transition:opacity .6s ease;object-position:center 27%;}
.hero-image .hero-slide[data-slide="1"]{object-position:center top;}
.hero-image .hero-slide.is-active{opacity:1;}
.gallery-controls{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:4px;padding:2px 6px;border:1px solid #ffffff75;border-radius:100px;background:#422333a6;backdrop-filter:blur(10px);}
.gallery-choices{display:flex;}
.gallery-choices button,.gallery-play{width:44px;height:44px;background:none;border:0;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.gallery-choices button span{display:block;width:9px;height:9px;background:#ffffff70;border-radius:100px;transition:width .2s,background .2s;}
.gallery-choices button[aria-pressed="true"] span{width:23px;background:#ffd6e8;}
.gallery-play{font-size:1.05rem;border-left:1px solid #ffffff40;margin-left:3px;}
.gallery-controls button:focus-visible{outline-color:#ffd6e8;outline-offset:0;border-radius:100px;}
@media(max-width:1100px) and (min-width:701px){.hero-image{min-height:500px;}}
@media(max-width:700px){.hero-image{min-height:0;}.gallery-controls{bottom:30px;}.gate-card{padding:28px 22px;}.gate-brand{margin-bottom:16px;}.gate-card h1{font-size:1.6rem;}}

.gallery-play{border-left:0;margin-left:0;}

/* V6: automatic slide indicators */
.gallery-controls{left:auto;right:20px;bottom:24px;transform:none;border:0;background:none;backdrop-filter:none;padding:0;gap:9px;height:12px;pointer-events:none;}
.gallery-dot{display:block;width:9px;height:9px;border-radius:100px;background:#ffffffb3;box-shadow:0 1px 5px #42233340;transition:width .35s,background .35s;}
.gallery-dot.is-active{width:25px;background:#f5a3d1;}
.gallery-play{position:absolute;left:18px;bottom:12px;z-index:3;background:#4223338a;border:1px solid #ffffff65;border-radius:50%;margin:0;}
@media(max-width:700px){.gallery-controls{bottom:40px;}.gallery-play{bottom:25px;}}

/* Fixed visual badge; independent from platform presence. */
.online-badge{display:inline-flex;align-items:center;gap:9px;padding:6px 15px;border-radius:100px;border:1px solid #69b58c66;background:#f0fff5bc;color:#237849;font-size:.875rem;line-height:1.4;font-weight:600;letter-spacing:.025em;margin:0 0 13px;box-shadow:0 2px 12px #27754b08;}
.online-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#32c876;animation:online-glow 1.5s ease-in-out infinite;}
@keyframes online-glow{0%,100%{opacity:.25;box-shadow:0 0 0 0 #32c87600;}50%{opacity:1;box-shadow:0 0 5px 1px #32c87645;}}
@media(max-width:700px){.online-badge{margin:0 0 11px;padding:5px 14px;font-size:.875rem;}.hero-copy .hero-line{margin-top:0;}}
@media(prefers-reduced-motion:reduce){.online-dot{animation:none;opacity:1;box-shadow:none;}}

.online-badge-wrap{display:flex;justify-content:center;width:100%;margin-top:13px;}.online-badge-wrap .online-badge{margin:0;}
