:root{--paper:#fcf7ee;--ink:#402c2a;--wine:#5b2438;--gold:#a17941;--line:#ded0bd;--muted:#75635e;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}a{color:inherit;text-underline-offset:5px}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.skip{position:fixed;top:-80px;background:var(--wine);color:white;padding:12px;z-index:20}.skip:focus{top:0}.header{height:88px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:10}.monogram{font:500 32px var(--serif);text-decoration:none;letter-spacing:-2px}.monogram span{font-style:italic;font-size:25px;margin:0 3px;color:var(--gold)}nav{display:flex;gap:30px}nav a{font-size:14px;text-decoration:none}nav a:hover{color:var(--wine);text-decoration:underline}.header-date{font-size:12px;letter-spacing:2px}.menu-toggle{display:none}.hero{min-height:760px;height:calc(100svh - 88px);max-height:980px;position:relative;display:flex;justify-content:center;align-items:center;text-align:center;background:var(--paper) url('assets/floral-hero.webp') center/cover no-repeat}.hero-inner{padding:65px 25px 115px;position:relative;max-width:900px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:2.7px;font-weight:500;line-height:1.8;margin:0 0 22px;color:var(--wine)}h1,h2,h3,h4,p{margin-top:0}h1{font:500 clamp(65px,8.7vw,140px)/1.08 var(--serif);letter-spacing:-4px;margin-bottom:14px;white-space:nowrap}h1 span{font-style:italic;color:var(--gold);font-weight:400}h2{font:500 clamp(42px,4.3vw,67px)/1.08 var(--serif);letter-spacing:-1.5px;margin-bottom:25px}h2 em{font-weight:400;color:var(--wine)}h3{font:500 30px/1.2 var(--serif);margin-bottom:16px}h4{font:500 31px/1.1 var(--serif);margin-bottom:10px}.hero-script{font:italic 400 30px/1.4 var(--serif);margin-bottom:32px}.hero-date{font-size:17px;letter-spacing:2px;margin-bottom:6px}.hero-place{color:var(--muted);font-size:14px;letter-spacing:1.7px;margin-bottom:32px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;background:var(--wine);color:var(--paper);padding:12px 26px;text-decoration:none;font-size:14px;border:1px solid var(--wine);transition:background .2s}.button:hover{background:#772f4a}.hero-footer{position:absolute;bottom:28px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.8px}.hero-footer a{text-decoration:none}.section{padding:110px max(6%,calc((100vw - 1280px)/2));scroll-margin-top:0}.story{display:grid;grid-template-columns:1fr 1fr;gap:90px;border-top:1px solid var(--line)}.story-copy{max-width:550px}.story-copy .lead{font:400 28px/1.45 var(--serif);color:var(--wine)}.story-copy p{margin-bottom:24px}.signature{font:italic 500 27px var(--serif)}.schedule{background:#f3ebdf;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}.section-heading h2{margin-bottom:18px}.text-link{font-size:14px;white-space:nowrap}.section-intro{max-width:640px;color:var(--muted);margin-bottom:44px}.day-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.day{border-top:1px solid var(--gold)}.day-title{display:flex;gap:24px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line)}.date-number{font:400 75px/1 var(--serif);color:var(--wine)}.day-title p{font-size:12px;text-transform:uppercase;letter-spacing:2px;margin-bottom:5px}.day-title h3{margin:0;font-size:26px}.event{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:29px 0;border-bottom:1px solid var(--line)}.event time{font-size:14px;padding-top:6px;color:var(--wine)}.event p{font-size:14px;margin:0;color:var(--muted)}.event-note{display:block;font-size:12px;text-transform:uppercase;letter-spacing:1px;margin-top:13px;color:var(--wine)}.travel{background:var(--wine);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:110px}.travel h2 em,.travel .eyebrow{color:#e4c294}.travel-title>p:not(.eyebrow){line-height:1.9;color:#f1e1d5}.light{background:var(--paper);color:var(--wine);border-color:var(--paper);margin-top:8px}.light:hover{background:#e4c294}.travel-title .map-note{font-size:12px;max-width:370px;margin:20px 0 0;color:#ddc9cc}.travel-notes{padding-top:16px}.travel-notes article{display:flex;gap:25px;padding:23px 0 30px;border-bottom:1px solid #865767}.travel-notes article:first-child{padding-top:0}.travel-notes article>span{color:#e4c294;font:italic 400 25px var(--serif);padding-top:5px}.travel-notes h3{font-size:30px;margin-bottom:10px}.travel-notes p{color:#eddae1;font-size:14px;margin:0}.side-note{font-size:14px;color:var(--muted);line-height:1.8}.palette-tabs{display:flex;border-bottom:1px solid var(--line);gap:35px;margin:36px 0}.palette-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:15px 0;font-size:14px;color:var(--muted);cursor:pointer}.palette-tabs button[aria-selected=true]{color:var(--wine);border-bottom-color:var(--wine)}.palette-caption{display:flex;justify-content:space-between;align-items:baseline;gap:30px;margin:0 0 25px}.palette-caption h3{margin:0}.palette-caption p{font-size:14px;color:var(--muted);margin:0}.swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.swatch-color{aspect-ratio:1/.9;border-radius:100px 100px 3px 3px;border:1px solid #0000000a;position:relative}.swatch>p{font-size:14px;margin:15px 0 3px}.swatch>span{font-size:12px;color:var(--muted);letter-spacing:1px}.palette-footnote{font-size:12px;color:var(--muted);margin:26px 0 0}.faqs{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;border-top:1px solid var(--line)}.questions{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;font-size:16px;cursor:pointer;padding:24px 35px 24px 0;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;color:var(--wine);font-size:22px;top:18px}details[open] summary:after{content:'−'}details p{color:var(--muted);font-size:14px;padding-right:25px;margin-bottom:25px}.closing{text-align:center;padding:105px 20px;background:#eee3d4;border-top:1px solid var(--line)}.closing h2{font-size:clamp(44px,5vw,74px)}.closing-monogram{display:block;font:italic 400 40px var(--serif);color:var(--gold);margin-top:30px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 6%;font-size:12px}footer>span{font:500 24px var(--serif)}footer p{margin:0;color:var(--muted)}footer a{text-decoration:none}@media(min-width:1600px){.hero{background-size:100% 100%}}@media(max-width:1000px){.header{padding:0 4%}nav{gap:18px}.header-date{display:none}.hero{min-height:650px}.story,.travel{gap:45px}.section{padding:80px 6%}.faqs{gap:40px}.palette-caption{display:block}.palette-caption p{margin-top:12px}.day-grid{gap:30px}}@media(max-width:650px){html{scroll-padding-top:75px}.header{height:74px;padding:0 6%}.menu-toggle{display:block;border:1px solid var(--line);padding:6px 14px;background:transparent;color:var(--wine);font-size:14px}nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:20px 6% 28px;flex-direction:column;border-bottom:1px solid var(--line);gap:16px}nav.open{display:flex}nav a{font-size:16px}.hero{height:calc(88svh - 74px);min-height:580px;max-height:760px;background-size:auto 100%;background-position:center}.hero-inner{padding:80px 18px 100px;background:radial-gradient(ellipse,#fcf7eee8 30%,#fcf7eea6 55%,transparent 74%);width:100%}.hero .eyebrow{font-size:10px;letter-spacing:1.8px;margin-bottom:26px}h1{font-size:clamp(49px,12vw,77px);letter-spacing:-2px}.hero-script{font-size:24px;margin-bottom:27px}.hero-date{font-size:14px;letter-spacing:1.5px}.hero-place{font-size:12px}.hero-footer{justify-content:center;bottom:22px}.hero-footer>a{display:none}.hero-footer>span{font-size:10px}.section{padding:66px 7%}.story,.travel,.faqs{grid-template-columns:1fr;gap:25px}h2{font-size:45px}.story-copy .lead{font-size:25px}.section-heading{align-items:flex-start;flex-direction:column;gap:5px}.section-intro{font-size:14px;margin-top:22px;margin-bottom:30px}.day-grid{grid-template-columns:1fr;gap:45px}.day-title{padding:23px 0}.date-number{font-size:65px}.event{grid-template-columns:82px 1fr;gap:14px;padding:25px 0}.event h4{font-size:29px}.event time{font-size:13px}.travel-notes{padding-top:15px}.travel-notes article{gap:18px}.side-note{margin:0}.palette-tabs{gap:0;justify-content:space-between;flex-wrap:wrap;margin:25px 0}.palette-tabs button{font-size:12px;padding:13px 7px;flex:1 0 auto}.palette-caption h3{font-size:27px}.swatches{grid-template-columns:repeat(5,1fr);gap:7px}.swatch-color{aspect-ratio:1/1.8;border-radius:40px 40px 2px 2px}.swatch>p{font-size:12px;line-height:1.4;min-height:34px;margin-top:12px}.swatch>span{font-size:10px;letter-spacing:0}.faqs{gap:16px}summary{font-size:15px}footer{flex-wrap:wrap;justify-content:center;padding:26px 7%;gap:10px}footer p{width:100%;text-align:center;order:3}.closing{padding:75px 7%}.closing .eyebrow{font-size:10px;letter-spacing:1.5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Integrated initials and the wedding countdown. */
.monogram { display:inline-flex; align-items:center; flex-shrink:0; }
.monogram img {display:block;width:56px;height:56px;}
.closing-monogram img {display:block;margin:auto;}
.countdown { margin:20px auto 30px; max-width:390px; }
.countdown-label {font-size:12px;letter-spacing:1.6px;text-transform:uppercase;margin:0 0 10px;color:var(--wine);}
.countdown-values {display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.countdown-values[hidden] {display:none;}
.countdown-values>div {display:flex;flex-direction:column;}
.countdown-values span {font:500 42px/1.1 var(--serif);font-variant-numeric:tabular-nums;color:var(--wine);}
.countdown-values small {font-size:12px;letter-spacing:.8px;margin-top:6px;color:var(--muted);}
@media(max-width:650px) {
.hero-inner {padding:55px 18px 90px;}
.hero .eyebrow {max-width:285px;margin:0 auto 20px;}
.hero-script {margin-bottom:22px;}
.countdown {max-width:290px;margin:17px auto 25px;}
.countdown-values {gap:12px;}
.countdown-values span {font-size:34px;}
.countdown-values small {font-size:11px;}
.countdown-label {font-size:11px;}
}

/* Keep the floral artwork visible across the entire hero, including its sides. */
.hero {background-color:var(--paper);background-size:100% 100%;background-position:center;background-repeat:no-repeat;}

/* An illustrated palace-and-garden journey; scenery changes with the chapter. */
:root {--wine:#754b29;--ink:#493721;--gold:#a67c37;--muted:#7c6b55;--line:#d9c69f;}
body {background:#f8f0df;}
.header {background:#fcf7eef5;border-bottom:1px solid #d8c499;}
.scene-stage {position:fixed;inset:88px 0 0;z-index:0;pointer-events:none;overflow:hidden;background:#faf4e7;}
.scene-layer {position:absolute;inset:-3%;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transition:opacity 1.1s ease;transform:translate3d(0,var(--scene-shift,0px),0) scale(1.03);will-change:opacity,transform;}
.scene-palace {background-image:url('assets/scene-palace.webp');}
.scene-riverside {background-image:url('assets/scene-riverside.webp');}
.scene-layer.is-active {opacity:1;}
.scene-wash {position:absolute;inset:0;background:linear-gradient(90deg,#fcf7ee05,#fcf7ee20 35%,#fcf7ee20 65%,#fcf7ee05);}
#main {position:relative;z-index:1;}
.hero {background:none!important;min-height:700px;height:calc(100svh - 88px);max-height:980px;}
.hero-inner {padding:75px 45px 110px;background:radial-gradient(ellipse,#fcf7eede 15%,#fcf7eeaa 45%,#fcf7ee00 73%);}
.hero h1 {font-size:clamp(64px,8.2vw,128px);}
.hero .eyebrow {max-width:640px;margin-left:auto;margin-right:auto;}
.hero-date {letter-spacing:2px;}
.hero-footer {color:var(--ink);text-shadow:0 1px 8px #fff;}
.section {max-width:1080px;margin:80px auto;padding:75px 65px;background:#fcf7eef0;border:1px solid #d9c49b;border-radius:120px 120px 8px 8px;box-shadow:0 18px 55px #6c4b1c12;scroll-margin-top:112px;}
.story {gap:65px;}
.schedule {background:#fcf7eeef;}
.travel {background:#fcf7eef0;color:var(--ink);gap:70px;}
.travel .eyebrow,.travel h2 em {color:var(--wine);}
.travel-title>p:not(.eyebrow),.travel-notes p {color:var(--muted);}
.travel-notes article {border-color:#d8c49e;}
.travel-notes article>span {color:var(--gold);}
.travel .light {background:var(--wine);border-color:var(--wine);color:var(--paper);}
.travel .light:hover,.button:hover {background:#946334;}
.day {border-color:var(--gold);}
.day-grid {gap:40px;}
.faqs {gap:55px;}
.closing {margin:100px auto 0;max-width:1000px;background:#fcf7eede;border:1px solid #d8c59f;border-bottom:0;border-radius:180px 180px 0 0;padding:90px 40px 75px;}
footer {position:relative;z-index:1;background:#fcf7eef5;border-top:1px solid #d8c59f;}
@media(max-width:1150px){.section {margin-left:5%;margin-right:5%;padding:65px 40px;}.story,.travel,.faqs {gap:40px;}.closing {margin-left:7%;margin-right:7%;}}
@media(max-width:850px){.section {border-radius:80px 80px 8px 8px;padding:60px 34px;}.story,.travel,.faqs {grid-template-columns:1fr;}.day-grid {grid-template-columns:1fr;gap:40px;}.section-heading {flex-direction:column;align-items:flex-start;gap:12px;}.side-note {margin:0;}.palette-caption {display:block;}.palette-caption p {margin-top:12px;}}
@media(max-width:650px){
 .scene-stage {top:74px;}
 .scene-layer {inset:0;background-size:cover;background-position:center top;transform:none;}
 .scene-wash {background:linear-gradient(180deg,#fcf7ee05,#fcf7ee20);}
 .hero {height:auto;min-height:650px;max-height:none;}
 .hero-inner {padding:190px 18px 80px;width:100%;background:radial-gradient(ellipse at center 68%,#fcf7eee8 15%,#fcf7ee95 50%,transparent 75%);}
 .hero h1 {font-size:clamp(48px,12vw,77px);letter-spacing:-2px;}
 .hero .eyebrow {max-width:310px;}
 .hero-footer {bottom:20px;}
 .section {margin:55px 5%;padding:52px 24px;border-radius:65px 65px 8px 8px;scroll-margin-top:95px;}
 h2 {font-size:42px;}
 .story-copy .lead {font-size:25px;}
 .palette-tabs {gap:0;}
 .swatches {gap:8px;}
 .swatch>p {overflow-wrap:anywhere;}
 .closing {margin:60px 5% 0;border-radius:100px 100px 0 0;padding:70px 25px 50px;}
 .closing h2 {font-size:43px;}
}
@media(prefers-reduced-motion:reduce){.scene-layer {transition:none;transform:none;will-change:auto;}}

/* An uninterrupted opening scene without a navigation ribbon. */
html {scroll-padding-top:0;}
.scene-stage {inset:0;}
.hero {height:100svh;}
.section {scroll-margin-top:24px;}
.hero-inner {padding-bottom:70px;}
@media(max-width:650px){
 .scene-stage {top:0;}
 .hero {height:auto;min-height:100svh;}
 .hero-inner {padding-bottom:70px;}
 .section {scroll-margin-top:20px;}
}

/* Anchor the palace illustration at its top edge; retain the arch crown. */
.scene-palace {
 inset:0;
 background-position:center top;
 transform:none;
 will-change:opacity;
}

/* Shared card treatment: equal corners and softly opaque ivory. */
:root {--card-radius:120px;--card-surface:rgba(252,247,238,.84);}
.section,.closing {
 border-radius:var(--card-radius);
 background:var(--card-surface);
}
.closing {border-bottom:1px solid #d8c59f;margin-bottom:80px;}
@media(max-width:850px){:root {--card-radius:80px;}}
@media(max-width:650px){:root {--card-radius:65px;}.closing {margin-bottom:55px;}}

/* Tap the welcome card to alternate between its two complete translations. */
#welcome {cursor:pointer;}
.language-toggle {display:inline-flex;align-items:center;min-height:44px;padding:9px 17px;border:1px solid #b3935c;border-radius:24px;background:#fcf7ee90;color:var(--wine);font-size:14px;cursor:pointer;margin-top:5px;}
.language-toggle:hover {background:#eee1c9;}
.language-toggle:lang(gu),#welcome:lang(gu) {font-family:'Noto Sans Gujarati',sans-serif;}
#welcome:lang(gu) .eyebrow {letter-spacing:0;font-size:16px;}
#welcome:lang(gu) h2 {font-family:'Noto Sans Gujarati',sans-serif;font-size:38px;line-height:1.55;letter-spacing:0;font-weight:500;}
#welcome:lang(gu) h2 em {font-style:normal;}
#welcome:lang(gu) .lead {font-family:'Noto Sans Gujarati',sans-serif;font-size:23px;line-height:1.8;}
#welcome:lang(gu) .story-copy p {line-height:1.9;}
#welcome:lang(gu) .signature {font-family:'Noto Sans Gujarati',sans-serif;font-size:20px;font-style:normal;line-height:1.8;}
@media(max-width:650px){#welcome:lang(gu) h2 {font-size:31px;}#welcome:lang(gu) .lead {font-size:21px;}#welcome:lang(gu) .signature {font-size:18px;}}

/* A single site-wide language switch, without a navigation ribbon. */
.site-language-toggle {position:fixed;top:16px;right:20px;z-index:20;min-height:44px;padding:9px 18px;border:1px solid #b3935c;border-radius:28px;background:#fcf7eeed;color:var(--wine);box-shadow:0 4px 18px #6c4b1c12;font-size:14px;cursor:pointer;}
.site-language-toggle:lang(gu) {font-family:'Noto Sans Gujarati',sans-serif;}
.site-language-toggle:hover {background:#eee1c9;}
#welcome {cursor:auto;}
html:lang(gu) body {font-family:'Noto Sans Gujarati',sans-serif;line-height:1.9;}
html:lang(gu) h1,html:lang(gu) h2,html:lang(gu) h3,html:lang(gu) h4,html:lang(gu) .signature,html:lang(gu) .hero-script,html:lang(gu) .closing-monogram,html:lang(gu) .story-copy .lead {font-family:'Noto Sans Gujarati',sans-serif;letter-spacing:0;line-height:1.6;}
html:lang(gu) h1 {font-size:clamp(48px,6.7vw,96px);font-weight:500;}
html:lang(gu) h2 {font-size:40px;font-weight:500;}
html:lang(gu) h3 {font-size:25px;}
html:lang(gu) h4 {font-size:26px;}
html:lang(gu) .eyebrow {letter-spacing:0;font-size:14px;}
html:lang(gu) .hero-script {font-size:26px;font-style:normal;}
html:lang(gu) em {font-style:normal;}
html:lang(gu) .story-copy .lead {font-size:23px;}
html:lang(gu) .signature {font-size:21px;font-style:normal;}
html:lang(gu) .countdown-values span {font-family:var(--sans);}
html:lang(gu) .swatch>p {line-height:1.7;}
html:lang(gu) .event {grid-template-columns:110px 1fr;}
html:lang(gu) .event time {font-size:13px;}
html:lang(gu) .hero-date {letter-spacing:0;}
.card-motion .section,.card-motion .closing {opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease;}
.card-motion .card-in-view,.card-motion .section:focus-within,.card-motion .closing:focus-within {opacity:1;transform:translateY(0);}
@media(max-width:650px){
 .site-language-toggle {top:12px;right:12px;padding:8px 15px;}
 html:lang(gu) h1 {font-size:clamp(38px,9.2vw,60px);}
 html:lang(gu) h2 {font-size:31px;}
 html:lang(gu) .hero-script {font-size:22px;}
 html:lang(gu) .story-copy .lead {font-size:21px;}
 html:lang(gu) .signature {font-size:18px;}
 html:lang(gu) .event {grid-template-columns:85px 1fr;}
 html:lang(gu) .palette-tabs {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
 html:lang(gu) .palette-tabs button {min-width:0;padding:13px 3px;font-size:clamp(10px,2.7vw,14px);white-space:nowrap;}
 html:lang(gu) .countdown-values small {letter-spacing:0;font-size:12px;}
}
@media(prefers-reduced-motion:reduce){.card-motion .section,.card-motion .closing {opacity:1;transform:none;transition:none;}}

/* Compact travel information and rounded map links */
#travel .button{border-radius:999px}
.travel-routes{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:10px}
.travel-routes li{display:flex;align-items:baseline;gap:12px;line-height:1.5}
.transport-icon{flex:0 0 26px;font-size:22px;text-align:center}
.travel-notes article>div{min-width:0;width:100%}
.travel-notes .button{margin-top:18px}

.transport-icon{color:var(--gold);display:inline-flex;align-items:center;justify-content:center;align-self:center;line-height:1}
.transport-icon svg{display:block;width:24px;height:24px}

/* Match route text to the travel paragraph in both languages. */
.travel-notes .travel-routes,.travel-notes p{font-family:inherit;font-size:14px;font-weight:400;font-style:normal;letter-spacing:normal;color:var(--muted);line-height:inherit}
.travel-routes li{line-height:inherit}

#lookbook .section-heading .side-note{margin:0;text-align:left}

/* A fashion lookbook: colour swatches followed by diagonal outfit spreads. */
#lookbook{min-width:0}
.swatch-hex{display:block;overflow-wrap:anywhere;font-size:12px!important;letter-spacing:0!important}
.outfit-lookbook{margin-top:48px;border-top:1px solid var(--line);padding-top:30px;min-width:0}
.outfit-heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:18px}
.outfit-heading-row h3{margin-bottom:0}
.outfit-heading-row p{font-size:14px;color:var(--muted);margin:0}
.outfit-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:30px;background:radial-gradient(ellipse at center,#f3e5d2a0,transparent 72%);margin-top:20px}
.outfit-track::-webkit-scrollbar{display:none}
.outfit-spread{flex:0 0 100%;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:540px;padding:12px 18px 22px;scroll-snap-align:start;scroll-snap-stop:always;gap:12px}
.outfit-figure{margin:0;min-width:0;align-self:start;padding-top:calc(var(--step)*48px);text-align:center}
.outfit-figure img{display:block;width:100%;height:350px;object-fit:contain;filter:drop-shadow(0 8px 10px #402c2a0a)}
.outfit-figure figcaption{font:500 25px/1.4 var(--serif);margin-top:10px;color:var(--wine)}
.outfit-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}
.outfit-controls>button{background:transparent;border:1px solid var(--line);border-radius:999px;color:var(--wine);padding:10px 18px;min-height:44px;font-size:14px;cursor:pointer}
.outfit-controls>button:disabled{opacity:.4;cursor:default}
.outfit-controls>button:not(:disabled):hover{background:#eee3d4}
.outfit-pagination{display:flex;align-items:center;gap:4px}
.outfit-dot{width:44px;height:44px;border:0;background:transparent;cursor:pointer;display:grid;place-items:center;padding:0}
.outfit-dot::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--line)}
.outfit-dot[aria-pressed=true]::before{background:var(--wine);width:20px;border-radius:8px}
#outfit-status{font-size:14px;color:var(--muted);margin-left:8px;white-space:nowrap}
@media(max-width:650px){.outfit-lookbook{margin-top:32px;padding-top:24px}.outfit-heading-row{display:block}.outfit-heading-row h3{font-size:28px}.outfit-heading-row p{margin-top:8px}.outfit-spread{height:345px;padding:12px 2px 14px;gap:3px}.outfit-figure{padding-top:calc(var(--step)*37px)}.outfit-figure img{height:220px}.outfit-figure figcaption{font-size:18px;margin-top:4px;overflow-wrap:anywhere}.outfit-track{border-radius:18px}.outfit-controls>button{padding:9px 12px}.outfit-dot{width:34px}#outfit-status{margin-left:2px}.swatch-hex{font-size:10px!important}}

/* Horizontal oval colour swatches on every event palette and screen size. */
#swatches .swatch-color{aspect-ratio:1.8/1;border-radius:999px}

/* Outfits orbit a clear foreground look, with softer sides and distant rear looks. */
#outfit-track{position:relative;display:block;height:320px;overflow:hidden;scroll-snap-type:none;touch-action:pan-y;user-select:none;isolation:isolate;--outfit-height:270px}
#outfit-track .outfit-figure{position:absolute;left:50%;top:32px;width:min(34%,285px);padding:0;margin:0;transform-origin:50% 50%;cursor:pointer;will-change:transform,opacity}
#outfit-track .outfit-artwork{position:relative;display:block;height:var(--outfit-height);width:100%;pointer-events:none}
#outfit-track .outfit-figure img{position:absolute;left:50%;top:calc(var(--outfit-height)*var(--artwork-top));margin-left:calc(var(--outfit-height)*var(--artwork-left));transform:translateX(-50%);height:calc(var(--outfit-height)*var(--artwork-height));width:calc(var(--outfit-height)*var(--artwork-width));max-width:none;object-fit:fill;pointer-events:none}
#outfit-track .outfit-figure figcaption{transition:opacity .15s;pointer-events:none}
.outfit-pagination{min-width:0;text-align:center}
#outfit-status{margin:0;font-size:14px}
@media(max-width:650px){#outfit-track{height:240px;--outfit-height:190px}#outfit-track .outfit-figure{top:32px;width:46%}#outfit-track .outfit-figure figcaption{font-size:22px}.outfit-controls{gap:8px}#outfit-status{font-size:12px}}

/* Compact palettes stay in one row across every event tab. */
#swatches{grid-template-columns:repeat(var(--swatch-count,5),minmax(0,1fr));gap:12px;max-width:660px}
#swatches .swatch{min-width:0;text-align:center}
#swatches .swatch-color{width:100%;max-width:80px;margin-inline:auto}
#swatches .swatch>p{line-height:1.4;margin:10px 0 3px;overflow-wrap:anywhere}
@media(max-width:650px){#swatches{gap:5px}#swatches .swatch-color{max-width:48px}#swatches .swatch>p{font-size:12px;margin-top:8px;min-height:34px}#swatches .swatch-hex{font-size:clamp(8px,2.5vw,10px)!important;white-space:nowrap;overflow-wrap:normal}}


/* Balanced spacing shared by all lookbook tabs. */
#swatches{margin-inline:auto}
#lookbook .section-heading .side-note{font-size:16px}
.outfit-lookbook{margin-top:32px;padding-top:22px}
#outfit-track{margin-top:8px}
@media(max-width:650px){.outfit-lookbook{margin-top:24px;padding-top:18px}}

/* Quiet day headings and consistently aligned event names and times. */
#schedule .day{border:0}
#schedule .day-title{border:0;padding:0 0 24px;gap:18px}
#schedule .date-number{font-size:64px}
#schedule .day-title h3{font-size:24px}
#schedule .event{border:0;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:12px 0}
#schedule .event>div{grid-column:1;grid-row:1}
#schedule .event time{grid-column:2;grid-row:1;white-space:nowrap;font-size:16px;padding:0;font-variant-numeric:tabular-nums}
#schedule .event h4{font-size:26px;line-height:1.3;margin:0}
html:lang(gu) #schedule .event time{font-size:16px}
@media(max-width:650px){#schedule .event h4{font-size:24px}#schedule .event{gap:12px}}

/* Keep the decorated edges visible in a portrait viewport. */
@media(max-width:650px){
 .scene-stage{inset:0;width:100%;height:100vh;height:100lvh;}
 .scene-layer{inset:0;background-size:cover;transform:none;}
 .scene-palace{background-image:url('assets/scene-palace-mobile.webp');background-position:center top;}
 .scene-riverside{background-image:url('assets/scene-riverside-mobile.webp');background-position:center top;}
 .scene-wash{background:none;}
 .hero-inner{background:radial-gradient(ellipse at center 68%,rgba(252,247,238,.72) 15%,rgba(252,247,238,.35) 50%,transparent 75%);}
}

/* Responsive blessing lines and a higher mobile text composition. */
.hero .eyebrow{max-width:none;white-space:nowrap;font-size:clamp(10px,1vw,12px);letter-spacing:clamp(1px,.16vw,2px);}
.blessing-line{display:inline;}
@media(max-width:650px){
 .hero-inner{padding-top:80px;padding-bottom:100px;}
 .hero .eyebrow{max-width:72%;font-size:clamp(8px,2.25vw,10.5px);letter-spacing:.9px;line-height:1.9;margin:0 auto 20px;white-space:normal;}
 .blessing-line{display:block;white-space:nowrap;}
 .hero .eyebrow:lang(gu){font-size:clamp(10px,2.7vw,13px);letter-spacing:0;}
}

/* Compact spacing between the welcome heading and copy on narrow screens. */
@media(max-width:850px){
 #welcome{row-gap:14px;}
 #welcome-heading{margin-bottom:0;}
}

/* Clear artwork and a single countdown row at every screen size. */
.hero-inner{background:none;}
.countdown-values{grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:650px){
 .hero-inner{background:none;}
 .hero h1{white-space:normal;line-height:1.02;margin-bottom:16px;}
 .hero h1>span{display:block;font-size:.55em;line-height:1.15;margin:5px 0;}
 .countdown{width:76%;max-width:330px;}
 .countdown-values{gap:clamp(5px,2vw,12px);}
 .countdown-values>div{align-items:center;}
 .countdown-values span{font-size:clamp(27px,7.5vw,34px);}
 .countdown-values small{font-size:clamp(9px,2.45vw,11px);letter-spacing:0;white-space:nowrap;}
 html:lang(gu) .hero h1{line-height:1.35;}
 html:lang(gu) .countdown-values small{font-size:clamp(9px,2.45vw,11px);}
}

/* Meals inherit the event typography, with compact row spacing. */
#schedule .event.meal-event{padding:8px 0}

@media(min-width:651px){#schedule .event{max-width:300px;gap:10px}}

.contact-actions{display:flex;flex-wrap:wrap;gap:12px}.contact-actions .button{margin-top:18px}.travel-notes p a{color:var(--wine);font-weight:500;white-space:nowrap}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.travel-routes{gap:16px;margin-top:6px}.travel-routes li{align-items:center;gap:14px}.travel-routes .icon{flex:0 0 auto;color:var(--gold);width:24px;height:24px}.map-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.map-buttons .button{margin-top:0}.travel-routes li:has(br){align-items:center}
.icon-button{width:54px;height:54px;min-height:54px;padding:0;justify-content:center}.icon-button .icon{width:22px;height:22px}
