/* Invitation refinements: shared alignment, accessible controls and folded stationery. */
.site-header{z-index:150;border-bottom-color:var(--line)}
.site-header nav{gap:14px}
.toolbar-link{display:inline-flex;align-items:center;gap:8px;min-height:48px;font-size:13px}
.toolbar-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.toolbar-link .toolbar-label{font-size:13px;letter-spacing:.02em}
.invitation-closed .site-header{box-shadow:0 6px 24px rgba(73,47,31,.035)}
.skip-link{z-index:160}
.hero-copy{text-align:center}
.hero h1{display:grid;grid-template-columns:1fr;justify-items:center;gap:0;line-height:.98;width:100%;max-width:none}
.hero h1 span:first-child,.hero h1 span:last-child{display:block;width:100%;margin:0}
.hero h1 em{display:block;font-size:.23em;line-height:1.5;letter-spacing:.045em;margin:7px 0 4px;color:var(--gold)}
.hero-date,.hero-place{width:100%;text-align:center}
.hero-date{font-weight:500;font-variant-numeric:tabular-nums}
.hero .discover-link{margin-left:auto;margin-right:auto}
.hi .hero h1{font-family:var(--hindi);line-height:1.2;letter-spacing:0}
.hi .hero h1 em{font:400 .3em/1.5 var(--hindi);margin:1px 0;color:var(--gold)}
.event-meta time{font-weight:600;color:var(--ink)}
.event-title{text-wrap:balance}
.event-line{text-wrap:pretty}
.save-all{display:inline-flex;align-items:center;min-height:48px;margin-top:26px;border-bottom:1px solid var(--gold);font-size:14px;color:var(--ink)}
.departure-destination{font-size:14px;line-height:1.5;color:var(--sage);margin-top:9px;max-width:100%;text-wrap:balance}
.departure-route{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid var(--line);font-size:14px;margin-top:8px;align-self:flex-start}
.single-event .scene{position:relative;visibility:visible;opacity:1;height:max(100svh,760px)}
.single-event{height:auto;min-height:0}
.single-event .scene-nav,.single-event .scroll-guidance,.single-event .scene-progress{display:none}
.schedule-grid:not(.single-day) .departure-day:nth-child(3){grid-column:1/-1}
.departure-day .schedule-event p{max-width:530px;line-height:1.65;text-wrap:pretty}
.departure-day>.departure-route{margin-top:18px}
.footer-names{text-wrap:balance}

/* Each fold is a separate sheet, with its own edge and shadow. */
.entry{background:radial-gradient(ellipse at 50% 35%,#fffaf0 0%,#f0e8d9 100%);padding:calc(var(--header) + 20px) 24px 20px;overflow:auto;align-items:center}
.entry-content{width:min(100%,680px);max-width:680px;max-height:none;overflow:visible;padding:12px 16px 4px;position:relative}
.entry-content>.invocation{font-size:16px;margin-bottom:12px}
.entry-content>.eyebrow{margin-bottom:30px;letter-spacing:.18em}
.entry-content h2{font-size:40px;line-height:1.05;margin-top:28px}
.entry-content>p:last-of-type{margin:15px auto 0;max-width:420px;font-size:14px}
.entry-actions{margin-top:22px;gap:2px}
.entry-skip{margin-top:8px;font-size:12px}
.envelope{width:min(100%,520px);aspect-ratio:1.75;margin:0 auto;position:relative;perspective:1300px;isolation:isolate;filter:drop-shadow(0 18px 15px rgba(70,45,28,.13));transform-origin:center center}
.envelope-back{position:absolute;inset:0;border-radius:3px;background:linear-gradient(145deg,#ded0b7,#eee2ca);box-shadow:inset 0 0 0 1px #caba9a,inset 0 6px 14px rgba(90,63,35,.09)}
.envelope-card{position:absolute;inset:4% 4% 5%;z-index:1;background:var(--paper-light);box-shadow:0 0 0 1px #cebc98,0 1px 12px rgba(90,63,35,.1);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px 15px;gap:12px;color:var(--ink)}
.envelope-card:after{content:'';position:absolute;inset:12px;border:1px solid rgba(151,118,64,.32);pointer-events:none}
.card-invocation{font:13px/1.5 var(--hindi);color:var(--gold)}
.card-names{font:500 clamp(24px,4vw,39px)/1.15 var(--display);text-wrap:balance}
.card-date{font-size:12px;letter-spacing:.055em}
.card-rule{width:50px;height:1px;background:var(--gold);opacity:.45}
.card-place{font-size:10px;letter-spacing:.045em}
.envelope-fold{position:absolute;inset:0;z-index:2;background:linear-gradient(135deg,#efe4d0,#e9dcc2);pointer-events:none}
.envelope-fold-left{clip-path:polygon(0 0,57% 58%,0 100%);background:linear-gradient(35deg,#e6d8bd,#f4e9d4)}
.envelope-fold-left:after{content:'';position:absolute;left:-20px;bottom:-20px;width:135px;height:135px;background:url('assets/art/botanical.webp') center/contain no-repeat;opacity:.17;filter:sepia(.4)}
.envelope-fold-right{clip-path:polygon(100% 0,43% 58%,100% 100%);background:linear-gradient(-35deg,#e3d4b7,#f0e4cc)}
.envelope-fold-bottom{z-index:3;clip-path:polygon(0 100%,0 97%,50% 43%,100% 97%,100% 100%);background:linear-gradient(180deg,#f3e7d0,#e6d7b9)}
.envelope-fold-bottom:before{content:'';position:absolute;width:72%;height:1px;left:-1%;top:72%;transform:rotate(-31deg);background:rgba(143,112,66,.22)}
.envelope-fold-bottom:after{content:'';position:absolute;width:72%;height:1px;right:-1%;top:72%;transform:rotate(31deg);background:rgba(143,112,66,.22)}
.envelope-flap{position:absolute;inset:0;z-index:4;clip-path:polygon(0 0,100% 0,50% 63%);background:linear-gradient(175deg,#f5ead6,#e8d9ba);transform-origin:center top;transform-style:preserve-3d;backface-visibility:visible;filter:drop-shadow(0 3px 2px rgba(109,77,36,.15))}
.envelope-flap:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(123,89,47,.026) 3px 4px);opacity:.7}
.entry-seal{position:absolute;z-index:5;left:50%;top:57%;transform:translate(-50%,-50%);width:76px;height:76px;margin:0;gap:2px;border:0;border-radius:47% 53% 50% 46% / 48% 44% 54% 51%;background:radial-gradient(circle at 33% 28%,#a95f64 0%,#88424d 50%,#71323e 100%);color:#e9c3ac;font:500 28px/1 'Cormorant Garamond',Georgia,serif;box-shadow:inset 1px 2px 2px rgba(255,224,189,.3),inset -2px -3px 3px rgba(61,17,25,.4),0 5px 7px rgba(83,37,28,.2);text-shadow:0 1px 1px #491c26}
.entry-seal:after{content:'';position:absolute;inset:7px;border:1px solid rgba(239,188,160,.44);border-radius:50%;box-shadow:inset 0 1px 2px rgba(68,17,27,.4)}
.entry-seal em{font-size:21px}
.hi .card-names{font-size:31px;line-height:1.4}
.hi .entry-content h2{font-size:31px;line-height:1.25}

@media(hover:hover) and (pointer:fine){
.primary-button,.primary-link,.save-all,.toolbar-link{transition:transform .2s ease,box-shadow .2s ease}
.primary-button:hover,.primary-link:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(57,68,41,.13)}
.save-all:hover,.toolbar-link:hover{transform:translateY(-1px)}
}
@media(min-width:1000px),(min-width:700px) and (max-height:600px){
.hero-copy{padding-top:calc(var(--header) + 4svh)}
.hero h1{font-size:clamp(74px,7vw,130px)}
.hi .hero h1{font-size:clamp(55px,5.9vw,108px)}
.hero-copy .eyebrow{margin-bottom:24px}
}
@media(max-width:999px) and (min-height:601px),(max-width:699px){
.hero h1{font-size:clamp(62px,16.5vw,92px);line-height:.98}
.hero h1 em{font-size:18px;margin:6px 0 3px;line-height:1.1}
.hero-date{margin-top:19px}
.hi .hero h1{font-size:clamp(48px,13vw,68px);line-height:1.18}
.hi .hero h1 em{font-size:19px;line-height:1.3}
.departure-route{align-self:center;font-size:13px;margin-top:5px;min-height:40px}
.departure-destination{font-size:13px;margin-top:7px}
.scene[data-id=vidai] .scene-copy{padding-bottom:12px}
}
@media(max-width:600px){
.site-header{padding:0 12px}
.site-header nav{gap:6px}
.sound-button{min-width:40px}
.toolbar-link{min-width:0;padding:0 3px;justify-content:center;gap:0}
.toolbar-link .toolbar-label{font-size:11px;letter-spacing:0;white-space:nowrap}
.toolbar-link svg{display:none}
.entry{padding:calc(var(--header) + 16px) 18px 14px}
.entry-content{padding:4px 6px}
.entry-content>.invocation{font-size:14px;margin-bottom:10px}
.entry-content>.eyebrow{margin-bottom:23px;font-size:10px}
.entry-content h2{font-size:34px;margin-top:23px}
.entry-content>p:last-of-type{font-size:13px;line-height:1.6;margin-top:14px}
.entry-actions{margin-top:20px}
.entry-skip{margin-top:2px;font-size:11px}
.envelope-card{padding:12px 10px;gap:8px}
.envelope-card:after{inset:8px}
.card-invocation{font-size:10px}
.card-names{font-size:25px}
.card-date{font-size:10px}
.card-place{font-size:8px}
.entry-seal{width:62px;height:62px;font-size:24px}
.entry-seal em{font-size:18px}
.hi .card-names{font-size:21px}
.hi .entry-content h2{font-size:27px}
.hero-foot>span{max-width:55%;text-wrap:balance}
.footer-names{font-size:36px}
.hi .footer-names{font-size:29px;line-height:1.6}
}
@media(max-height:700px){
.entry-content>.invocation{display:none}
.entry-content>.eyebrow{margin-bottom:22px}
.entry-content h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.entry-content>p:last-of-type{margin-top:20px}
.envelope{width:min(100%,370px)}
.entry-actions{margin-top:16px}
}
@media(max-height:440px){
.entry{padding-top:calc(var(--header) + 10px);align-items:start}
.entry-content{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px;align-items:center}
.entry-content>.eyebrow{grid-column:1/-1;margin:0 0 15px}
.envelope{grid-column:1;grid-row:2/5;width:260px;max-width:100%}
.entry-content>p:last-of-type{grid-column:2;margin:0}
.entry-actions{grid-column:2;margin:0}
.entry-skip{grid-column:2;margin:0}
.entry-seal{width:60px;height:60px}
}
@media(prefers-reduced-motion:reduce){.envelope{filter:none}.hero-copy{transform:none!important}}

/* The connector is part of the name stack, with deliberate weight and spacing. */
:root{--hero-foot-height:70px}
.hero{height:100svh;min-height:740px}
.hero h1{line-height:1.04}
.hero h1>em{font:600 clamp(26px,2.3vw,35px)/1.25 'Cormorant Garamond',Georgia,serif;letter-spacing:.055em;color:#795431;margin:8px 0 6px;display:block}
.hi .hero h1>em{font:500 clamp(23px,1.9vw,30px)/1.5 var(--hindi);letter-spacing:0;margin:5px 0}
.hero .hero-art{bottom:var(--hero-foot-height)}
.hero-foot{left:0;right:0;bottom:0;height:var(--hero-foot-height);padding:10px 6vw;background:var(--paper);border:0;border-top:1px solid var(--line);gap:24px;box-shadow:none;align-items:center}
.hero-foot>span{font-size:13px;line-height:1.5}
.hero-foot .text-button{font-size:13px;line-height:1.5;min-height:44px}
.hero-botanical{display:none!important}
.hero-copy .snapshot-guest-line{overflow-wrap:anywhere;letter-spacing:.1em}

/* Raised wax lettering shares the seal's material, with light above and relief below. */
.entry-seal{color:#a86a70;font-weight:600;text-shadow:-1px -1px 0 rgba(243,187,174,.75),1px 1px 0 #4b1825,2px 2px 3px rgba(63,15,25,.65);box-shadow:inset 2px 3px 3px rgba(255,224,189,.36),inset -3px -4px 4px rgba(61,17,25,.5),0 5px 8px rgba(83,37,28,.24)}
.entry-seal:before{content:'';position:absolute;inset:4px;border-radius:inherit;background:linear-gradient(135deg,rgba(255,216,197,.12),transparent 44%,rgba(53,13,21,.16));pointer-events:none}
.entry-seal:after{inset:8px;border:1px solid rgba(229,157,155,.4);box-shadow:inset 1px 1px 2px rgba(49,11,22,.5),1px 1px 1px rgba(231,168,151,.25)}
.entry-seal em{font-weight:600}
.envelope-card{gap:9px;padding:18px 15px}
.card-names{display:grid;justify-items:center;gap:0;font:500 clamp(20px,5.8vw,34px)/1.04 var(--display);text-align:center}
.card-names>em{display:block;font:600 16px/1.2 'Cormorant Garamond',Georgia,serif;letter-spacing:.055em;margin:4px 0;color:#795431}
.hi .card-names{font-size:27px;line-height:1.3}
.hi .card-names>em{font:500 14px/1.4 var(--hindi);margin:2px 0}
.entry[data-phase=revealing],.entry[data-phase=holding],.entry[data-phase=settling]{overflow:hidden;touch-action:pan-y}
.entry-card-stage{z-index:4;filter:drop-shadow(0 14px 20px rgba(73,47,30,.1));pointer-events:none}
.entry-world{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--paper)}
.entry-world>.hero{position:absolute;left:0;top:0;width:100%;margin:0}
.entry-world .hero-art img{transform:none!important}
.entry-letter{position:fixed;z-index:5;display:flex;align-items:center;justify-content:center;line-height:1;white-space:nowrap;pointer-events:none}
.intro-travel main{height:100vh;height:100dvh;overflow:clip}
.programmatic-focus:focus-visible{outline:none}
.entry-prompt{position:fixed;z-index:8;left:20px;right:20px;bottom:25px;text-align:center}
.entry-prompt p{font-size:13px;line-height:1.5;color:var(--muted);margin:0 0 8px}
.continue-button{font-size:14px;min-height:48px;padding:10px 20px;background:var(--paper-light);border:1px solid var(--line);border-radius:2px;color:var(--ink);box-shadow:0 4px 16px rgba(75,51,32,.04)}
@media(max-width:600px){
.hero-foot{padding:9px 20px;gap:12px}
.hero-foot>span{font-size:12px;max-width:55%;text-wrap:balance}
.hero-foot .text-button{font-size:12px;max-width:45%;flex-shrink:1;white-space:normal;text-wrap:balance}
.envelope-card{gap:5px;padding:8px 10px}
.card-names>em{font-size:12px;margin:3px 0}
.hi .card-names{font-size:20px;line-height:1.25}
.hi .card-names>em{font-size:12px;margin:2px 0}
.entry-prompt{bottom:22px}
.continue-button{font-size:13px;max-width:100%}
}

/* A labelled language choice, rather than abbreviations that look like decoration. */
.language-control{position:relative;flex-shrink:0}
.language-button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:110px;min-height:44px;height:46px;padding:6px 9px;border:1px solid var(--line);border-radius:3px;background:var(--paper-light);letter-spacing:0}
.language-label{font:500 14px/1.4 'DM Sans',Arial,sans-serif}
.language-label[lang=hi]{font:500 14px/1.6 var(--hindi)}
.language-globe{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3}
.language-chevron{width:10px;height:8px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.language-button[aria-expanded=true]{border-color:var(--sage);box-shadow:0 2px 8px rgba(69,50,31,.06)}
.language-panel{position:absolute;top:calc(100% + 10px);right:0;width:238px;padding:16px;background:var(--paper-light);border:1px solid var(--line);border-radius:4px;box-shadow:0 12px 32px rgba(61,39,25,.12);z-index:200}
.language-panel-title{font:500 14px/1.5 'DM Sans',Arial,sans-serif;color:var(--muted);padding:0 4px 12px;border-bottom:1px solid var(--line);margin:0 0 8px}
.language-panel-title span{display:block;font:400 13px/1.6 var(--hindi);margin-top:3px}
.language-option{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:48px;text-align:left;padding:10px 12px;border-radius:3px;font:500 15px/1.6 'DM Sans',Arial,sans-serif}
.language-option[lang=hi]{font:500 15px/1.6 var(--hindi)}
.language-option[aria-pressed=true]{background:#ece8dc;color:var(--ink)}
.language-check{visibility:hidden;color:var(--sage);font-family:Arial,sans-serif}
.language-option[aria-pressed=true] .language-check{visibility:visible}
.hero-copy #guest-line.personal-greeting,.hero-copy .snapshot-guest-line.personal-greeting{font:500 20px/1.35 var(--display);text-transform:none;letter-spacing:0;color:var(--sage);text-wrap:balance}
.hi .hero-copy #guest-line.personal-greeting,.hi .hero-copy .snapshot-guest-line.personal-greeting{font-size:17px;line-height:1.65}
@media(max-width:600px){
.language-button{min-width:94px;height:44px;padding:5px 6px;gap:5px}
.language-label,.language-label[lang=hi]{font-size:13px}
.language-globe{width:16px;height:16px}
.language-panel{position:fixed;top:calc(var(--header) + 8px);right:16px;width:min(238px,calc(100vw - 32px))}
.hero-copy #guest-line.personal-greeting{font-size:19px}
.hi .hero-copy #guest-line.personal-greeting{font-size:16px}
}
@media(max-width:360px){
.site-header{padding-left:10px;padding-right:10px}
.site-header nav{gap:4px}
.language-button{min-width:66px;padding:5px 4px}
.language-globe{display:none}
.monogram{font-size:23px}
}
