/* Interior pages: paper, hand-painted details and spacious invitation layouts. */
.inner-page{background:var(--paper);color:var(--ink);overflow:hidden}.inner-page p{line-height:1.85}.subpage-intro{text-align:center;max-width:820px;margin:auto;padding:72px 24px 26px}.subpage-intro h1{font-family:var(--script);font-size:clamp(46px,5.3vw,76px);font-weight:400;line-height:1.08;color:var(--purple);margin:17px 0 23px}.subpage-intro .intro-description{max-width:570px;margin:0 auto;font-size:15px}.inner-page .eyebrow{font-family:var(--hand);font-size:12px;text-transform:uppercase;letter-spacing:2.2px;font-weight:400;line-height:1.6}.inner-page h2,.inner-page h3{font-family:var(--script);font-weight:400}.inner-page h2{font-size:clamp(38px,4vw,54px);line-height:1.15}.inner-page h3{font-size:30px;line-height:1.2}.inner-page .text-link{display:inline-flex;gap:12px;align-items:center;font-family:var(--hand);font-size:13px;text-transform:uppercase;letter-spacing:1px;text-decoration:none;border-bottom:1px solid currentColor;padding:4px 0}.inner-page .text-link:hover{color:var(--purple)}.inner-page [id]{scroll-margin-top:130px}.section-heading{text-align:center;max-width:680px;margin:0 auto 58px}.section-heading h2{margin:10px 0 25px}.section-heading p{margin:7px 0}.decorative-garland{pointer-events:none}.outings-section{margin-top:75px;padding:85px max(30px,calc((100vw - 1080px)/2)) 65px;background:var(--green);color:var(--paper)}.outings-section .section-heading{max-width:660px}.outings-section .section-heading h2{font-size:54px}.outings-section .section-heading>p:not(.eyebrow){font-size:14px}.outings-list{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.outings-list article{position:relative;border-top:1px solid #f8f7ec55;padding-top:24px}.outings-number{font-family:var(--script);font-size:42px;opacity:.6}.outings-list h3{font-size:36px;margin:10px 0}.outings-list .eyebrow{margin:8px 0}.outings-list p{font-size:13px}.outings-list .outings-place{font-family:var(--hand);font-size:15px;margin:0}.outings-closing{text-align:center;max-width:630px;margin:60px auto 0}.outings-closing h3{font-size:35px;margin-bottom:14px}.outings-closing p{font-size:14px}.end-note{padding:90px 24px 100px;text-align:center;max-width:760px;margin:auto}.end-note h2{margin:0 0 20px;color:var(--green)}.end-note p{font-size:14px;margin-bottom:25px}.end-note>.text-link{margin:20px}.colour-note{max-width:800px;margin:30px auto 60px;padding:24px 32px;display:flex;align-items:center;gap:22px;background:#e7dcb352}.colour-note p{margin:0;font-size:13px}.small-flower{font-size:40px;color:var(--purple)}.wardrobe-entries{max-width:1080px;margin:auto;padding:0 28px}.wardrobe-entry{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:60px 0 75px;border-bottom:1px solid #625e322b}.wardrobe-entry:nth-child(even) .wardrobe-visual{order:2}.wardrobe-copy h2{color:var(--purple);margin:12px 0 18px}.wardrobe-copy>p{font-size:15px}.wardrobe-copy .wardrobe-theme{font-family:var(--hand);font-size:15px;color:var(--purple)}.wardrobe-visual{min-width:0}.wardrobe-visual.has-moodboard{background:#fffdf7;padding:12px;box-shadow:0 7px 23px #5f503712;transform:rotate(-2deg)}.wardrobe-entry:nth-child(even) .has-moodboard{transform:rotate(2deg)}.wardrobe-visual>img{display:block;width:100%;height:auto}.outfit-details{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:25px 0}.outfit-details h3{font-size:27px;margin:0 0 10px}.outfit-details p{font-size:14px;margin:0}.wardrobe-special-note{border-left:2px solid var(--marigold);padding-left:16px;font-style:italic}.wardrobe-illustration{height:480px;background:#ebe4cf;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate;overflow:hidden;transform:rotate(-2deg);border:10px solid #fffdf7;box-shadow:0 7px 23px #5f503712}.wardrobe-illustration-wedding{background:#dce0c9;transform:rotate(2deg)}.wardrobe-illustration .decorative-garland{position:absolute;top:-44px;left:-25px;opacity:.85;z-index:-1;width:75%}.wardrobe-art-title{font-family:var(--script);text-align:center;color:var(--purple);font-size:49px;line-height:1.1;margin:85px 0 28px}.fabric-swatches{display:flex;gap:10px}.fabric-swatches i{width:32px;height:32px;border-radius:50%;background:#b34f55;box-shadow:inset -3px -4px 0 #0000000d}.fabric-swatches i:nth-child(2){background:#d0a14b}.fabric-swatches i:nth-child(3){background:#73783f}.fabric-swatches i:nth-child(4){background:#9a5484}.wardrobe-illustration-wedding .fabric-swatches i:nth-child(1){background:#873c37}.wardrobe-illustration-wedding .fabric-swatches i:nth-child(2){background:#c1a04e}.wardrobe-illustration-wedding .fabric-swatches i:nth-child(3){background:#657f6e}.wardrobe-illustration-wedding .fabric-swatches i:nth-child(4){background:#f0e2bd}.swatch-caption{font-family:var(--hand);font-size:11px;letter-spacing:.3px;margin:22px 12px 0;text-align:center}.wardrobe-shopping{text-align:center;max-width:760px;margin:auto;padding:85px 24px 95px}.wardrobe-shopping h2{color:var(--green);margin:10px 0 26px}.wardrobe-shopping>p:not(.eyebrow){font-size:14px}.store-links{display:flex;justify-content:center;flex-wrap:wrap;gap:18px 28px;margin:32px 0}.chennai-landscape{max-width:1250px;margin:0 auto}.chennai-landscape img{display:block;width:100%;mix-blend-mode:multiply}.page-jump-links{display:flex;align-items:center;justify-content:center;gap:30px;padding:20px 25px 50px}.page-jump-links a{font-family:var(--script);font-size:25px;text-decoration:none;color:var(--purple);border-bottom:1px solid transparent}.page-jump-links a:hover{border-color:currentColor}.page-jump-links span{color:var(--orange);font-size:20px}.sights-section{max-width:1010px;padding:30px 28px 60px;margin:auto}.sights-section .section-heading{margin-bottom:50px}.sights-section .section-heading h2{color:var(--green)}.sight-row{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:80px;padding:40px 0 65px;border-bottom:1px solid #625e322b}.sight-row:nth-of-type(even) .sight-photo{order:2}.sight-row:last-child{border:0}.sight-photo{border:9px solid #fffdf7;box-shadow:0 5px 20px #5f503712;transform:rotate(-2deg)}.sight-row:nth-of-type(even) .sight-photo{transform:rotate(2deg)}.sight-photo img{display:block;width:100%;height:320px;object-fit:cover}.guide-number{font-family:var(--script);font-size:43px;color:var(--purple);line-height:1.1}.sight-copy h3{font-size:43px;margin:7px 0 22px}.sight-copy p{font-size:15px;margin-bottom:24px}.city-recommendations{padding:80px max(30px,calc((100vw - 1080px)/2));display:grid;grid-template-columns:.85fr 1.3fr;gap:95px}.shopping-section{background:var(--green);color:var(--paper)}.dining-section{background:#e9dfc7}.recommendation-intro h2{font-size:55px;margin:14px 0 25px}.recommendation-intro>p:not(.eyebrow){font-size:14px;max-width:290px}.recommendation-intro .text-link{margin-top:20px}.shopping-section .text-link:hover{color:#e8c091}.recommendation-list article{display:grid;grid-template-columns:24px 1fr 30px;align-items:center;gap:16px;border-bottom:1px solid #625e3233;padding:20px 0}.recommendation-list article:first-child{padding-top:0}.shopping-section .recommendation-list article{border-color:#f8f7ec44}.recommendation-number{font-family:var(--hand);font-size:12px;opacity:.6;align-self:start;padding-top:8px}.recommendation-list h3{margin:0;font-size:29px}.recommendation-list p{font-size:12px;margin:7px 0 0;opacity:.9}.recommendation-list article>a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid currentColor;border-radius:50%;font-size:20px;color:inherit;text-decoration:none;opacity:.8}.recommendation-list article>a:hover{transform:translate(2px,-2px);opacity:1}.registry-page{padding:50px 28px 100px}.registry-frame{position:relative;max-width:1000px;margin:0 auto;border:1px solid #85368d66;outline:1px solid #85368d33;outline-offset:8px;padding:20px 60px 50px;text-align:center}.registry-frame:before,.registry-frame:after{content:'❧';font-size:60px;position:absolute;left:50%;transform:translateX(-50%);background:var(--paper);padding:0 18px;color:var(--purple);line-height:1}.registry-frame:before{top:-24px}.registry-frame:after{bottom:-32px;transform:translateX(-50%) rotate(180deg)}.registry-frame>.decorative-garland{position:absolute;width:240px;top:-45px;opacity:.85}.registry-flower-left{left:-20px}.registry-flower-right{right:-20px;transform:scaleX(-1)}.registry-frame .subpage-intro{padding-top:105px;position:relative}.registry-frame .subpage-intro h1{color:var(--purple)}.registry-message{max-width:540px;margin:0 auto}.registry-message p{font-size:15px;margin:0 0 18px}.registry-illustration{margin:25px auto 24px;position:relative;width:320px;max-width:100%}.registry-illustration img{display:block;width:100%;height:auto}.registry-signoff{margin:26px 0 8px}.registry-signoff p{line-height:1.25}.registry-with-love{font-family:var(--script);font-size:25px;color:var(--purple);margin:0 0 4px}.registry-signature{font-family:var(--script);font-size:34px;color:var(--green);margin:0}.faq-layout{max-width:1080px;margin:45px auto 0;padding:0 28px;display:grid;grid-template-columns:235px 1fr;gap:75px}.faq-index{align-self:start;display:flex;flex-direction:column;gap:20px;padding-top:8px;position:sticky;top:140px}.faq-index>a:not(.text-link){font-family:var(--hand);font-size:13px;text-decoration:none;display:flex;gap:12px;line-height:1.6;color:var(--ink)}.faq-index>a>span{color:var(--purple);font-size:11px;margin-top:2px}.faq-index>a:hover{color:var(--purple)}.faq-index>.text-link{align-self:start;margin-top:22px}.faq-group{margin:0 0 48px}.faq-group h2{font-size:39px;color:var(--purple);margin:0 0 20px}.faq-category-intro{font-size:13px;margin:0 0 20px}.faq-group details{border-bottom:1px solid #625e3240}.faq-group summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 0;list-style:none;font-size:14px;line-height:1.65}.faq-group summary::-webkit-details-marker{display:none}.faq-toggle{position:relative;flex-shrink:0;width:20px;height:20px}.faq-toggle:before,.faq-toggle:after{content:'';position:absolute;background:var(--purple);left:4px;top:9px;width:12px;height:1px}.faq-toggle:after{transform:rotate(90deg);transition:transform .2s}.faq-group details[open] .faq-toggle:after{transform:rotate(0)}.faq-group summary:hover{color:var(--purple)}.faq-answer{padding:0 30px 23px 0}.faq-answer p{font-size:15px;margin:0}.faq-answer-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px}.faq-closing{text-align:center;background:#e8dfc95e;padding:65px 24px;margin-top:25px}.faq-closing p{font-size:14px;margin:6px}.faq-closing .closing-signature{font-family:var(--script);color:var(--purple);font-size:32px;margin-top:22px}.stay-banner{height:390px;position:relative;display:grid;place-items:center;isolation:isolate;color:var(--paper);text-align:center;overflow:hidden}.stay-banner:after{content:'';position:absolute;inset:0;background:#29432688;z-index:-1}.stay-banner>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 41%;filter:saturate(.55);z-index:-2}.stay-banner h1{font-family:var(--script);font-size:clamp(48px,6vw,76px);font-weight:400;margin:18px 20px}.stay-hotel{display:grid;grid-template-columns:50px 1fr 160px;gap:35px;max-width:1000px;padding:75px 28px;margin:auto;align-items:start;border-bottom:1px solid #625e3233}.stay-hotel h2{color:var(--green);margin:9px 0 22px}.stay-hotel p{font-size:14px;max-width:570px}.stay-hotel .eyebrow{margin-top:0}.stay-hotel>img{width:100%;align-self:center}.stay-actions{display:flex;gap:25px;flex-wrap:wrap;margin-top:25px}.travel-details{max-width:1000px;padding:0 28px;margin:auto}.travel-details>article{display:grid;grid-template-columns:50px 1fr;gap:35px;border-bottom:1px solid #625e3233;padding:50px 0}.travel-details h2{color:var(--purple);font-size:43px;margin:0 0 25px}.travel-details h3{font-size:26px;margin:24px 0 8px}.travel-details p{font-size:14px;max-width:650px}.travel-details .text-link{margin-top:15px}.inner-page a:focus-visible,.inner-page summary:focus-visible{outline:2px solid var(--purple);outline-offset:6px}
@media(min-width:1200px){.wardrobe-copy .eyebrow{font-size:12px}}
@media(max-width:900px){.wardrobe-entry{gap:35px}.wardrobe-illustration{height:430px}.wardrobe-art-title{font-size:42px}.sight-row{gap:40px}.city-recommendations{gap:45px;grid-template-columns:1fr 1.2fr}.faq-layout{grid-template-columns:190px 1fr;gap:35px}.registry-frame{padding-left:35px;padding-right:35px}.registry-frame>.decorative-garland{width:190px}.outings-list{gap:25px}.outfit-details{grid-template-columns:1fr;gap:18px}}
@media(max-width:640px){.subpage-intro{padding-top:48px}.subpage-intro h1{font-size:48px}.subpage-intro .intro-description{font-size:13px}.inner-page [id]{scroll-margin-top:90px}.outings-section{margin-top:35px;padding:55px 27px}.outings-section .section-heading h2{font-size:43px}.outings-list{grid-template-columns:1fr;gap:30px}.outings-list article{padding-top:18px}.outings-number{float:right}.outings-list h3{font-size:34px}.outings-closing{margin-top:35px}.end-note{padding:60px 24px 70px}.end-note h2{font-size:39px}.colour-note{margin:15px 20px 25px;padding:20px;align-items:flex-start;gap:14px}.small-flower{font-size:28px}.colour-note p{font-size:12px}.wardrobe-entries{padding:0 25px}.wardrobe-entry{grid-template-columns:1fr;gap:35px;padding:35px 0 45px}.wardrobe-entry:nth-child(even) .wardrobe-visual{order:0}.wardrobe-visual{max-width:390px;width:100%;margin:auto}.wardrobe-illustration{height:420px}.wardrobe-copy h2{font-size:42px}.outfit-details{grid-template-columns:1fr 1fr;gap:20px}.wardrobe-shopping{padding:55px 25px}.wardrobe-shopping h2{font-size:42px}.store-links{gap:15px 22px}.chennai-landscape{width:150%;margin-left:-25%;margin-top:5px}.page-jump-links{flex-wrap:wrap;gap:8px 15px;padding:20px 25px 25px}.page-jump-links a{font-size:21px}.page-jump-links span{font-size:14px}.sights-section{padding:25px}.sights-section .section-heading{margin-bottom:15px}.sight-row{grid-template-columns:1fr;gap:28px;padding:25px 0 40px}.sight-row:nth-of-type(even) .sight-photo{order:0}.sight-photo img{height:260px}.sight-copy h3{font-size:38px}.city-recommendations{display:block;padding:50px 25px}.recommendation-intro{margin-bottom:38px}.recommendation-intro h2{font-size:47px}.recommendation-intro>p:not(.eyebrow){max-width:none}.recommendation-list article{gap:12px}.recommendation-list h3{font-size:28px}.registry-page{padding:35px 25px 65px}.registry-frame{padding:20px 22px 30px}.registry-frame>.decorative-garland{width:130px;top:-25px}.registry-flower-left{left:-22px}.registry-flower-right{right:-22px}.registry-frame .subpage-intro{padding:100px 0 15px}.registry-frame .eyebrow{font-size:10px}.registry-message p{font-size:15px}.registry-illustration{width:260px}.registry-signature{font-size:28px}.faq-layout{display:block;margin-top:20px;padding:0 25px}.faq-index{position:static;display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:45px;border-bottom:1px solid #625e3233;padding-bottom:25px}.faq-index>a:not(.text-link){font-size:11px;gap:7px}.faq-index>.text-link{margin-top:0;font-size:11px;justify-self:start}.faq-group h2{font-size:35px}.faq-group summary{font-size:13px}.faq-answer{padding-right:15px}.faq-closing{padding:45px 24px}.faq-closing .closing-signature{font-size:29px}.stay-banner{height:310px}.stay-hotel{grid-template-columns:36px 1fr;gap:18px;padding:50px 25px}.stay-hotel>img{display:none}.stay-hotel h2{font-size:38px}.stay-hotel p,.travel-details p{font-size:13px}.stay-actions{gap:18px}.travel-details{padding:0 25px}.travel-details>article{grid-template-columns:36px 1fr;gap:18px;padding:35px 0}.travel-details h2{font-size:35px}.guide-number{font-size:34px}}
@media(prefers-reduced-motion:reduce){.faq-toggle:after{transition:none}.recommendation-list article>a:hover{transform:none}}

/* An illustrated invitation map: live event details sit on the painted parchment. */
.events-page > .subpage-intro{padding:40px 24px 0}
.events-page > .subpage-intro h1{font-size:60px;margin:10px 0 0}
.events-page > .subpage-intro .eyebrow{font-size:11px;letter-spacing:1.8px}
.wedding-map{position:relative;max-width:1080px;margin:0 auto;container-type:inline-size}
.wedding-map-art{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.wedding-map-copy{position:absolute;inset:0;width:100%;height:100%}
.inner-page .wedding-map-welcome{position:absolute;left:49%;top:32%;width:28%;font-family:var(--script);font-size:clamp(30px,4cqw,43px);line-height:1.04;color:var(--purple);text-align:center;margin:0}
.wedding-map-events{display:contents}
.map-event{padding:0;margin:0;position:absolute}
.map-event:nth-child(1){left:54%;top:40%;width:23%}
.map-event:nth-child(2){left:54%;top:51%;width:27%}
.map-event:nth-child(3){left:51%;top:62%;width:29%}
.map-event:nth-child(4){left:48%;top:74%;width:26%}
.inner-page .map-event-day{font-family:var(--script);font-size:clamp(24px,3.1cqw,33px);line-height:1;margin:0 0 .3cqw;color:var(--purple)}
.inner-page .map-event h3{font-family:var(--script);font-size:clamp(23px,2.8cqw,30px);line-height:1.1;color:var(--purple);margin:0 0 .8cqw}
.inner-page .map-event-when,.inner-page .map-event-venue{font-family:var(--hand);font-size:clamp(10px,1.2cqw,13px);line-height:1.4;letter-spacing:.35px;text-transform:uppercase;margin:0 0 .35cqw}
.inner-page .map-event-attire{font-family:var(--hand);font-size:clamp(10px,1.15cqw,12px);line-height:1.2;letter-spacing:.6px;margin-top:.7cqw;padding:2px 0;gap:6px}
@media(max-width:740px){
 .events-page > .subpage-intro{padding:34px 20px 10px}
 .events-page > .subpage-intro h1{font-size:49px}
 .events-page > .subpage-intro .eyebrow{font-size:10px}
 /* A single scrolling painting: crop the artwork around its parchment path. */
 .wedding-map{max-width:550px;isolation:isolate;overflow:hidden}
 .wedding-map-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center;z-index:-1}
 .wedding-map-copy{position:relative;inset:auto;width:auto;height:auto;margin:0;padding:240px 32px 150px}
 .inner-page .wedding-map-welcome{position:relative;inset:auto;width:auto;max-width:330px;font-size:40px;margin:0 auto 50px;isolation:isolate}
 .wedding-map-events{display:flex;flex-direction:column;gap:78px;text-align:center;max-width:330px;margin:auto}
 .wedding-map .map-event{position:relative;inset:auto;width:auto;isolation:isolate}
 .wedding-map-welcome::before,.map-event::before{content:'';position:absolute;inset:-35px -30px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,#fff3ddf5 35%,#fff3ddd9 58%,#fff3dd00 75%)}
 .inner-page .map-event-day{font-size:31px;margin-bottom:3px}
 .inner-page .map-event h3{font-size:30px;margin-bottom:12px}
 .inner-page .map-event-when,.inner-page .map-event-venue{font-size:12px;line-height:1.6;margin-bottom:3px}
 .inner-page .map-event-attire{font-size:12px;margin-top:9px;padding:8px 0}
}

/* Orange details connect the interior pages to the flower garlands. */
.subpage-intro>.eyebrow,.wardrobe-copy>.eyebrow,.wardrobe-copy .wardrobe-theme,.guide-number,.small-flower,.faq-index>a>span{color:var(--orange)}

/* Green carries the larger sections; purple remains in alternating headings and actions. */
.wardrobe-page>.subpage-intro h1,.chennai-page>.subpage-intro h1,.faq-page>.subpage-intro h1{color:var(--green)}
.wardrobe-entry:nth-child(odd) .wardrobe-copy h2,.faq-group:nth-child(odd) h2,.travel-details>article:nth-child(even) h2{color:var(--green)}
.registry-frame:before,.registry-frame:after{color:var(--green)}
.wardrobe-shopping>.eyebrow{color:var(--purple)}
.wardrobe-shopping .text-link{color:var(--orange)}
.wardrobe-shopping .text-link:hover,.wardrobe-shopping .text-link:focus-visible{color:var(--green)}
.inner-page .wedding-map-welcome,.inner-page .map-event-day{color:var(--green)}

/* Small guide annotations preserve the existing Chennai layout. */
.chennai-page .end-note>.eyebrow{color:var(--orange)}
.chennai-page .sight-copy .sight-outing{color:var(--orange);letter-spacing:1px;margin:-8px 0 18px}
.chennai-page .must-see{display:inline-block;vertical-align:middle;margin-left:10px;font-family:var(--hand);font-size:12px;font-weight:400;line-height:1.4;letter-spacing:.15px;white-space:nowrap;color:var(--orange)}
.chennai-page .sight-copy .photo-credit{font-family:var(--body);font-size:10px;line-height:1.6;margin:18px 0 0;color:var(--ink);opacity:.8}
.chennai-page .photo-credit a{text-underline-offset:2px}

.chennai-page .shopping-section .must-see{color:#ffe0b8}
