@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=IM+Fell+English+SC&display=swap');
.welcome .signature-names{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
:root{--paper:#f9fbfd;--ink:#203f61;--muted:#52677d;--blue:#7fa1be;--accent:#405f8b;--line:#d5dfe7;--serif:'Cormorant Garamond',Georgia,serif;--display:'IM Fell English SC',Georgia,serif;--sans:Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--serif);font-size:19px;line-height:1.55}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #7fa1be;outline-offset:5px}img{max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.08}p{color:var(--muted)}em{font-weight:400}button{font:inherit;color:inherit}[hidden]{display:none!important}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:12px;left:12px;z-index:20;padding:12px;background:white}
.hero{max-width:850px;margin:auto}.hero-paper{text-align:center;padding:60px 0 52px}.hero h1{font-size:12px;letter-spacing:2px;text-transform:uppercase;margin-bottom:26px}.couple-names{width:87%;max-width:560px;position:relative;z-index:1;margin:0 auto -24px}.couple-names img{display:block;width:100%}.venue-sketch{display:block;width:100%;max-width:570px;margin:auto;mix-blend-mode:multiply}.hero-description{position:relative;background:var(--accent);color:white;max-width:400px;width:76%;margin:-22px auto 0;padding:12px 16px;font-size:17px;font-weight:600;line-height:1.25}.primary-link{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;font-family:var(--display);font-size:18px;border-bottom:1px solid #738ba0;margin-top:42px;padding:8px 4px}.section-nav{position:sticky;top:0;z-index:5;display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(18px,5vw,70px);padding:12px;background:rgba(249,251,253,.97);backdrop-filter:blur(12px);border-block:1px solid #e8edf1;font-size:16px}.section-nav a{display:flex;align-items:center;min-height:44px;position:relative}.section-nav a[aria-current]:after{content:'';position:absolute;bottom:6px;left:0;right:0;height:1px;background:#8099b0}.section{padding:68px 26px}.section-number,.small-label{display:block;font-size:12px;letter-spacing:1.8px;color:#526f88}.section-number{margin-bottom:34px}h2{font-size:44px;letter-spacing:-.8px}h2 em{color:var(--blue)}
.welcome{text-align:center;max-width:1000px;margin:auto}.love-title{position:relative;width:min(100%,350px);margin:0 auto 36px;padding-top:24px}.love-title>span:first-child{position:absolute;top:17%;right:0;font-family:var(--display);font-size:18px;letter-spacing:1px}.amar-art{display:block;width:100%;aspect-ratio:380/115;background:var(--accent);mask:url('assets/amar-canva.webp') center/contain no-repeat}.welcome-layout{max-width:540px;margin:auto}.welcome-copy p+p{margin-top:26px}.welcome-copy{line-height:1.5}.welcome-copy .blue-note{padding:21px 24px;background:var(--accent);color:white;font-size:21px;font-weight:600;line-height:1.25;margin-top:30px}.blue-note em{font-weight:600}.signature{font-size:25px;font-style:italic;margin-top:32px}.signature-names{display:grid;grid-template-columns:minmax(0,301fr) auto minmax(0,279fr);align-items:center;column-gap:9px;width:min(92%,330px);margin:12px auto 0;opacity:.72}.signature-names img{display:block;width:100%;height:auto}.signature-names>span{font-family:var(--serif);font-size:23px;font-style:normal;line-height:1;color:var(--blue)}.couple-photo{margin:0;padding:9px;border:1px solid #829eb5;outline:1px solid #c6d4df;outline-offset:5px}.couple-photo img{display:block;width:100%;max-height:480px;object-fit:contain}.welcome-layout.has-photo{display:grid;gap:35px;align-items:center;max-width:950px}.pattern-band{height:160px;background:#bed2e2 url('assets/pattern-canva.webp') center 42%/500px;border-block:12px solid #e4edf4;margin-top:8px}
.attire{max-width:1080px;margin:auto;padding-bottom:100px}.section-intro{text-align:center;margin-bottom:48px}.section-intro h2{font-family:var(--display);font-size:42px}.section-intro h2 em{font-style:normal;color:#6286a4}.attire-grid{display:grid;gap:32px}.attire-card{border:1px solid #c4d0dc;padding:28px 24px;min-width:0;display:flex;flex-direction:column;align-items:stretch}.card-topline{display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px;color:var(--muted);margin-bottom:20px}.attire-card h3{font-size:44px;margin-bottom:14px}.bridesmaids h3{font-style:italic}.attire-card>p{font-size:18px}.swatch-composition{width:min(100%,265px);height:212px;margin:18px auto 24px;display:flex;flex-direction:column;gap:16px;padding-left:15px}.swatch-composition i{position:relative;display:block;flex:0 0 34px;width:50%;background:var(--swatch);--swatch:#a8c5dc}.swatch-composition i:nth-child(2){margin-left:16%;--swatch:#7fa1be}.swatch-composition i:nth-child(3){margin-left:32%;--swatch:#405f8b}.swatch-composition i:nth-child(4){margin-left:48%;--swatch:#203f61}.swatch-composition i:before{content:'';position:absolute;left:-20px;top:-9px;width:50px;height:49px;background:var(--swatch);mask:url('assets/hibiscus-canva.webp') center/contain no-repeat;transform:rotate(-15deg)}.swatch-composition i:after{content:'✳';position:absolute;left:-8px;top:-5px;font-size:30px;line-height:44px;color:#f9fbfdaa;font-style:normal;font-weight:400}.palette-note{text-align:center;font-style:italic;font-size:16px!important}.fabric-composition{display:flex;justify-content:center;align-items:center;height:170px;margin:25px 0 16px}.fabric-composition div{width:30%;max-width:100px;height:105px;background:var(--ink);transform:rotate(-10deg)}.fabric-composition div:nth-child(2){background:#f4f1db;transform:rotate(2deg);margin-left:-12px}.fabric-composition div:nth-child(3){background:var(--blue);transform:rotate(12deg);margin-left:-12px}.attire-guidance{border-top:1px solid var(--line);margin-top:28px;padding:22px 0 28px;line-height:1.5}.attire-guidance p+p{margin-top:12px}.small-label{font-size:11px;margin-bottom:16px}.external-button{display:flex;gap:12px;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;background:var(--ink);border:1px solid var(--ink);color:white;font-size:17px;line-height:1.3;text-align:center;margin-top:auto;transition:background .2s}.external-button:hover{background:var(--accent)}.external-button>span[aria-hidden]{flex-shrink:0}.playlist-section{margin-top:68px}.playlist-heading{text-align:center;margin-bottom:28px}.playlist-heading .section-number{margin-bottom:13px}.playlist-heading h3{font-size:38px;font-style:italic}.playlist-grid{display:grid;gap:18px}.playlist-card{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;border:1px solid #c4d0dc;background:#eef4f8;padding:24px}.playlist-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid #90a9bc;border-radius:50%;font-size:24px;color:var(--accent)}.playlist-card .small-label{margin-bottom:8px}.playlist-card h4{font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.1;margin:0 0 8px}.playlist-card p{font-size:17px;line-height:1.45}.playlist-pending{background:transparent}.spotify-button{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 16px;background:var(--ink);border:1px solid var(--ink);color:white;font-size:17px;line-height:1.3;text-align:center;transition:background .2s}.spotify-button:hover{background:var(--accent)}.day-section{background:var(--ink);color:#f9fbfd;padding:52px 26px 60px}.day-inner{max-width:1080px;margin:auto;display:grid;gap:36px}.ceremony-art{padding:7px;border:1px solid #8ba1b4}.ceremony-art img{display:block;width:100%;height:auto}.day-copy{min-width:0}.day-section .section-number{color:#c4d7e6}.day-section h2{font-size:40px}.day-section h2 em{color:#b6cfe2}.day-section p{color:#dae4ed;margin-top:24px;font-size:18px}.day-details{margin:34px 0 30px}.day-details>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;border-bottom:1px solid #4a6680}.day-details dt{font-size:26px}.day-details dt span{font-size:15px;color:#bfd1df;margin-right:8px}.day-details dd{margin:0;text-align:right;font-size:18px;color:#e2ecf3}.location-button{border-color:#9db5c9;background:transparent;margin:0;max-width:350px}.location-button:focus-visible{outline-color:white}footer{text-align:center;padding:60px 24px 28px}footer .footer-venue{width:240px;height:auto;mix-blend-mode:multiply;margin-bottom:27px}footer p{font-size:36px;line-height:1.12;color:var(--ink)}footer>span{display:block;font-size:12px;letter-spacing:2.4px;margin-top:25px}footer>a{display:block;margin:35px auto 0;padding-top:22px;min-height:48px;border-top:1px solid var(--line);font-size:16px;max-width:1050px}footer>a span{margin-left:12px}
@media(min-width:700px){.hero-paper{padding-top:65px}.hero h1{font-size:14px}.couple-names{margin-bottom:-45px}.hero-description{font-size:21px;margin-top:-32px}.section{padding:85px 40px}.welcome-layout.has-photo{grid-template-columns:1fr 1fr;text-align:left}.pattern-band{height:180px;background-size:550px}.attire-grid,.playlist-grid{grid-template-columns:1fr 1fr;gap:28px}.attire-card{padding:34px 28px}.playlist-card{grid-template-columns:auto 1fr;padding:28px}.day-section{padding:80px 40px}.day-inner{grid-template-columns:1fr 1fr;gap:55px;align-items:center}.day-section h2{font-size:48px}}
@media(max-width:360px){.section,.day-section{padding-inline:20px}.attire-card{padding-inline:20px}.section-nav{gap:18px;font-size:15px}.day-details dt{font-size:24px}.day-details dd{font-size:16px}.hero-description{width:82%}.love-title>span:first-child{font-size:15px}.swatch-composition{height:200px;gap:12px}}
@media(prefers-reduced-motion:no-preference){.reveal-pending{opacity:0}.reveal-visible{opacity:1;transition:opacity .65s ease}}
@media(prefers-reduced-motion:reduce){html,*{scroll-behavior:auto!important;transition:none!important}.reveal-pending{opacity:1!important}}
.gallery{text-align:center;max-width:1100px;margin:auto;padding-top:15px}.gallery h2{margin-bottom:35px}
.gallery-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scroll-padding:0;overscroll-behavior-x:contain}
.gallery-item{flex:0 0 85%;scroll-snap-align:start;border:1px solid #a7bdce;padding:8px;background:transparent;cursor:zoom-in}
.gallery-item img{width:100%;height:340px;object-fit:contain;display:block;background:#eef1f3}
.gallery-controls,.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:20px}
button{font:inherit;color:inherit} .gallery-controls button,.lightbox button{border:1px solid #9fb2c1;background:transparent;min-width:46px;min-height:46px;cursor:pointer}button:focus-visible{outline:2px solid #6c94b5;outline-offset:4px}button:disabled{opacity:.35;cursor:default}
.lightbox{padding:60px 15px 22px;width:min(96vw,1000px);max-height:95dvh;border:1px solid #b1c1cd;background:var(--paper);color:var(--ink)}.lightbox::backdrop{background:rgba(11,27,44,.88)}.lightbox>img{display:block;max-height:70dvh;max-width:100%;width:auto;margin:auto;object-fit:contain}.lightbox-close{position:absolute;right:12px;top:9px;font-size:27px}.lightbox-controls p{font-size:14px}.modal-open{overflow:hidden}
.gallery-track::after{content:'';flex:0 0 calc(15% - 20px)}
@media(min-width:700px){.gallery-item{flex-basis:44%}.gallery-item img{height:420px}.gallery-track::after{flex-basis:calc(56% - 20px)}}
.swatch-composition i{isolation:isolate}.swatch-composition i:after{content:'';left:-20px;top:-9px;width:50px;height:49px;background:url('assets/hibiscus-canva.webp') center/contain no-repeat;filter:grayscale(1);mix-blend-mode:screen;opacity:.45;transform:rotate(-15deg)}
