:root{--paper:#fcf5e9;--paper-deep:#f4e8d6;--maroon:#5a1728;--maroon-soft:#742b3c;--ink:#672637;--muted:#806a64;--gold:#b18a49;--gold-light:#ddc28c;--line:#ddcbb1;--blush:#edddd0;--display:"Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans:"Avenir Next", Avenir, "Segoe UI", sans-serif;--section:min(1140px, calc(100% - 64px))}*{box-sizing:border-box}html{scroll-behavior:smooth;max-width:100%;scroll-padding-top:92px;overflow-x:hidden}body{background:var(--paper);min-width:320px;max-width:100%;color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;margin:0;font-size:14px;line-height:1.7;overflow-x:hidden}img,svg,main,.site-header,.site-footer{max-width:100%}.hero>*,.story>*,.venue>*,.details>*,.event-card{min-width:0}@supports (overflow:clip){html,body{overflow-x:clip}}body.gate-active{overflow:hidden}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}.text-arrow{font-variant-emoji:text;font-family:Avenir Next,Avenir,Segoe UI Symbol,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1;display:inline-block}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:400}em{color:var(--gold);font-weight:400}.skip-link{z-index:200;background:var(--maroon);color:var(--paper);padding:12px 16px;transition:transform .16s;position:fixed;top:12px;left:16px;transform:translateY(calc(-100% - 28px))}.skip-link:focus{transform:translateY(0)}.eyebrow{letter-spacing:.22em;text-transform:uppercase;margin-bottom:0;font-size:10px;font-weight:600;line-height:1.4}.section{width:var(--section);margin-inline:auto;padding-block:92px}.button{border:1px solid var(--maroon);letter-spacing:.04em;justify-content:center;align-items:center;gap:32px;min-height:50px;padding:13px 22px;font-size:11px;transition:transform .18s,background .18s,color .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-solid{background:var(--maroon);color:var(--paper)}.button-solid:hover{background:var(--maroon-soft)}.button-outline{background:0 0}.button-outline:hover{background:var(--blush)}.site-header{z-index:20;border-bottom:1px solid color-mix(in srgb, var(--line), transparent 20%);background:color-mix(in srgb, var(--paper), transparent 6%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:space-between;align-items:center;width:100%;max-width:1320px;height:86px;margin-inline:auto;padding-inline:5%;display:flex;position:sticky;top:0}.monogram{letter-spacing:-.12em;font-family:Georgia,serif;font-size:25px}.monogram span{color:var(--gold);padding-inline:5px;font-size:19px;font-style:italic}.site-header nav{align-items:center;gap:clamp(18px,3vw,36px);font-size:11px;display:flex}.site-header nav a{white-space:nowrap;transition:color .18s}.site-header nav a:hover{color:var(--gold)}.nav-cta{border-bottom:1px solid;padding-bottom:3px}.hero{grid-template-columns:minmax(0,1fr) minmax(360px,.86fr);align-items:center;gap:clamp(30px,7vw,105px);max-width:1320px;min-height:min(780px,100svh - 86px);margin-inline:auto;padding:54px 8% 72px;display:grid}.hero-copy{z-index:1;position:relative}.with-line{align-items:center;gap:14px;display:flex}.with-line:before{background:var(--gold);content:"";width:34px;height:1px}.hero h1{letter-spacing:-.055em;justify-items:center;width:max-content;max-width:100%;margin:31px 0 28px;font-size:clamp(72px,8vw,112px);line-height:.88;display:grid}.hero h1 span{display:block}.hero h1 em{letter-spacing:0;margin:13px 0 12px;font-size:.56em;line-height:.72;display:block}.hero-intro{max-width:320px;color:var(--muted);font-size:13px}.date{letter-spacing:.19em;text-transform:uppercase;margin:30px 0 3px;font-size:11px}.location{color:var(--muted);margin-bottom:0;font-size:12px}.hero .button{margin-top:28px}.hero-art{justify-self:end;width:100%;max-width:462px;padding:19px}.arch-frame{border:1px solid #c8a86f;border-radius:240px 240px 2px 2px;padding:9px}.arch{aspect-ratio:.76;background:var(--blush);border-radius:230px 230px 0 0;overflow:hidden}.couple-portrait img{object-fit:cover;object-position:50% 52%;width:100%;height:100%;display:block}.art-caption{text-align:center;font-family:var(--display);margin:17px -8px 0;font-size:18px;font-style:italic}.section-centred{border-top:1px solid var(--line);text-align:center;padding:88px 24px 92px;position:relative}.ornament{color:var(--gold);margin-bottom:16px;font-family:Georgia,serif;font-size:30px}.invitation h2{max-width:680px;margin:20px auto;font-size:clamp(39px,4vw,49px);line-height:1.14}.invitation>p:last-child{max-width:540px;color:var(--muted);margin:22px auto 0;font-size:13px}.story{grid-template-columns:minmax(300px,1fr) 1fr;align-items:center;gap:clamp(48px,8vw,95px);display:grid}.photo-placeholder{aspect-ratio:1.15;background:radial-gradient(ellipse at 50% 28%, #fffaf1, transparent 72%), var(--blush);text-align:center;border-radius:220px 220px 3px 3px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.photo-placeholder:after{border-radius:inherit;content:"";border:1px dashed #ab824067;position:absolute;inset:20px}.photo-flourish{color:var(--gold);margin-bottom:18px;font:34px Georgia,serif}.photo-initials{font-family:var(--display);letter-spacing:.06em;font-size:clamp(48px,6vw,68px);line-height:1}.photo-initials em{font-size:.58em}.photo-label{letter-spacing:.22em;text-transform:uppercase;margin-top:25px;font-size:9px}.photo-soon{color:var(--muted);font-family:var(--display);margin-top:6px;font-size:20px;font-style:italic}.story h2{margin:18px 0;font-size:clamp(44px,5vw,54px);line-height:1.08}.story-copy>p:last-of-type{max-width:350px;color:var(--muted);font-size:13px}.signature{color:var(--gold);font-family:var(--display);margin-top:26px;font-size:28px;font-style:italic;display:block}.celebrations{background:radial-gradient(circle at 12% 5%, #fffaf071, transparent 28%), radial-gradient(circle at 92% 88%, #c99d5d17, transparent 34%), var(--blush)}.section-heading{justify-content:space-between;align-items:end;gap:36px;margin-bottom:38px;display:flex}.section-heading h2{letter-spacing:-.025em;margin:11px 0 0;font-size:clamp(46px,5vw,58px);line-height:1.05}.section-heading>p{max-width:280px;color:var(--muted);margin-bottom:6px;font-size:12px}.day-tabs{flex-wrap:wrap;gap:8px;margin-bottom:38px;display:flex}.day-tabs button{cursor:pointer;background:0 0;border:1px solid #caa984;min-height:40px;padding:9px 18px;font-size:11px}.day-tabs button[aria-pressed=true]{border-color:var(--maroon);background:var(--maroon);color:var(--paper)}.event-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:clamp(18px,2.5vw,30px);display:grid}.event-card{isolation:isolate;text-align:center;background:radial-gradient(at 50% 19%,#fffaf1d9 0,#fffaf148 42%,#0000 65%),#eadbce;border:0;border-radius:50% 50% 10px 10px/175px 175px 10px 10px;flex-direction:column;justify-content:center;align-items:center;min-height:490px;padding:88px 29px 48px;transition:transform .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden;box-shadow:0 28px 54px -42px #48101fa8}.event-card:before{z-index:0;color:#a87e3d12;content:attr(data-number);font-family:var(--display);font-size:118px;line-height:1;position:absolute;bottom:-24px;right:22px}.event-card:after{z-index:0;content:"";pointer-events:none;border:1px dashed #b88a4778;border-radius:50% 50% 5px 5px/163px 163px 5px 5px;position:absolute;inset:14px}.event-card>*{z-index:1;position:relative}.event-card:hover{transform:translateY(-6px);box-shadow:0 34px 60px -38px #48101f8c}.event-art{width:106px;height:106px;color:var(--gold);background:radial-gradient(circle,#fff9edc7 0 37%,#ead3b13d 38% 52%,#0000 70%);border-radius:50%;flex:none;justify-content:center;align-items:center;margin:0 auto 27px;display:flex}.event-art svg{width:74px;height:74px}.event-card:nth-child(2n) .event-art{color:#916035}.event-number{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:9px}.event-card h3{margin:0 0 5px;font-size:34px;line-height:1.1}.event-when{letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;font-size:10px}.event-description{color:#735750;max-width:225px;margin:0 auto;font-size:12px}.schedule-note{color:#735750;margin:32px 0 0;font-size:10px}.venue{grid-template-columns:minmax(0,1fr) .88fr;align-items:center;gap:clamp(50px,8vw,100px);display:grid}.venue-art{aspect-ratio:1.1;background:var(--paper-deep);position:relative;overflow:hidden}.venue-art svg{width:100%;height:100%;display:block}.venue-stamp{z-index:1;letter-spacing:.18em;text-transform:uppercase;font-size:9px;position:absolute;top:22px;left:24px}.venue h2{margin:18px 0;font-size:clamp(50px,5vw,61px);line-height:1.02}.venue-copy>p:last-of-type{max-width:350px;color:var(--muted);font-size:13px}.venue address{border-top:1px solid var(--line);margin-top:24px;padding:18px 0 22px;font-style:normal}.venue address span{color:var(--muted);font-size:12px;display:block}.text-link{border-bottom:1px solid;align-items:center;gap:32px;padding-bottom:5px;font-size:11px;display:inline-flex}.countdown-section{background:var(--maroon);color:var(--paper);text-align:center;padding:67px 20px 75px}.countdown-section .eyebrow,.countdown span{color:var(--gold-light)}.countdown-section h2{margin:14px 0 37px;font-size:clamp(39px,4.5vw,51px);line-height:1.1}.countdown{justify-content:center;gap:clamp(28px,5vw,65px);display:flex}.countdown strong{font-family:var(--display);font-size:clamp(44px,5vw,60px);font-weight:400;line-height:1;display:block}.countdown span{letter-spacing:.2em;text-transform:uppercase;font-size:8px}.details{grid-template-columns:.82fr 1fr;gap:clamp(50px,8vw,100px);display:grid}.details h2{margin:13px 0 18px;font-size:clamp(45px,5vw,53px);line-height:1.05}.details-intro>p:last-child{max-width:330px;color:var(--muted);font-size:12px}.faq-list details{border-bottom:1px solid var(--line);padding:18px 0}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;font-size:12px;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{color:var(--gold);content:"+";font-size:22px}.faq-list details[open] summary:after{content:"−"}.faq-list details p{color:var(--muted);margin:13px 30px 2px 0;font-size:12px}.save-date{border-top:1px solid var(--line);text-align:center;padding:74px 20px 86px;position:relative}.save-date h2{margin:20px 0;font-size:clamp(52px,6vw,69px);line-height:1}.save-date>p:not(.eyebrow,.closing-signature){color:var(--muted);font-size:12px}.calendar-actions{justify-content:center;align-items:center;gap:10px;margin-top:24px;display:flex}.calendar-actions .button{gap:20px;min-width:190px}.calendar-help{margin:11px auto 0}.closing-signature{font-family:var(--display);margin:35px 0 0;font-size:25px}.site-footer{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;gap:20px;padding:22px 5%;font-size:9px;display:flex}.wedding-gate{z-index:100;isolation:isolate;background:var(--paper);perspective:1600px;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.gate-door{backface-visibility:hidden;background-color:var(--maroon);background-image:radial-gradient(at 50% 0,#ffffff09,#0000 70%),repeating-linear-gradient(90deg,#0000 0 45px,#c2a3670b 46px,#0000 47px);width:50.15%;transition:transform 1.7s cubic-bezier(.65,.05,.25,1);position:absolute;top:0;bottom:0;box-shadow:inset 0 0 70px #21081255}.gate-door:before{content:"";border:1px solid #c6a66e80;position:absolute;inset:24px}.gate-door:after{content:"";border:1px solid #c6a66e45;position:absolute;top:42px;bottom:42px}.gate-left{transform-origin:0;border-right:1px solid #c6a66e;left:0}.gate-left:after{border-right:0;border-radius:360px 0 0;left:42px;right:-1px}.gate-right{transform-origin:100%;border-left:1px solid #c6a66e;right:0}.gate-right:after{border-left:0;border-radius:0 360px 0 0;left:-1px;right:42px}.gate-centre{z-index:2;width:min(88%,560px);color:var(--paper);text-align:center;padding:18px;transition:opacity .45s,transform .6s;position:relative}.gate-centre .eyebrow{color:var(--gold-light)}.gate-title{justify-items:center;width:max-content;max-width:100%;margin:17px auto 0;font-size:clamp(52px,5.2vw,72px);line-height:.88;display:grid}.gate-title span{display:block}.gate-title em{margin:9px 0 8px;font-size:.68em;line-height:.65;display:block}.gate-date{color:var(--gold-light);letter-spacing:.2em;text-transform:uppercase;margin:18px 0 0;font-size:10px}.gate-hint{color:var(--gold-light);margin:9px 0 0;font-size:10px}.gate-top-label,.gate-bottom-label{z-index:2;color:var(--gold-light);letter-spacing:.28em;text-align:center;text-transform:uppercase;font-size:9px;transition:opacity .4s;position:absolute;left:0;right:0}.gate-top-label{top:50px}.gate-bottom-label{bottom:39px}.ganesh-open{color:#f1dfb8;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:11px;margin:18px auto 0;display:flex}.ganesh-halo{background:radial-gradient(circle,#b68d4a33 0%,#b68d4a0a 58%,#0000 72%);border-radius:50%;justify-content:center;align-items:center;width:168px;height:168px;display:flex;position:relative}.ganesh-halo:before{content:"";border:1px solid #d8bb8240;border-radius:50%;transition:transform .3s,border-color .3s;position:absolute;inset:4px}.ganesh-halo img{object-fit:contain;filter:drop-shadow(0 8px 12px #22071266);width:152px;height:152px;transition:transform .3s,filter .3s;position:relative}.ganesh-open:hover .ganesh-halo img{filter:drop-shadow(0 6px 18px #c7a45855);transform:translateY(-3px)}.ganesh-open:hover .ganesh-halo:before{border-color:#d8bb8280;transform:scale(1.04)}.ganesh-cue{letter-spacing:.04em;border-bottom:1px solid #d8bb8266;align-items:center;gap:16px;padding-bottom:6px;font-size:10px;display:flex}.wedding-gate.is-opening{pointer-events:none;background:0 0}.wedding-gate.is-opening .gate-left{transform:rotateY(-105deg)}.wedding-gate.is-opening .gate-right{transform:rotateY(105deg)}.wedding-gate.is-opening .gate-centre{opacity:0;transform:scale(.95)}.wedding-gate.is-opening .gate-top-label,.wedding-gate.is-opening .gate-bottom-label{opacity:0}@media (max-width:900px){:root{--section:min(100% - 48px, 760px)}.hero{grid-template-columns:1fr minmax(310px,.85fr);gap:30px;min-height:660px;padding-inline:6%}.hero h1{font-size:clamp(67px,9vw,86px)}.hero-art{padding:8px}.event-grid{grid-template-columns:repeat(2,1fr);gap:40px 30px}.venue,.details,.story{gap:45px}}@media (min-width:1100px){:root{--section:min(1440px, calc(100% - 96px))}.site-header{max-width:1600px;height:92px;padding-inline:3%}.monogram{font-size:29px}.monogram span{font-size:22px}.site-header nav{font-size:13px}.hero{grid-template-columns:minmax(0,1fr) minmax(430px,.82fr);gap:clamp(64px,8vw,140px);max-width:1600px;min-height:min(840px,100svh - 92px);padding:64px 5% 76px}.hero h1{font-size:clamp(102px,7vw,124px)}.hero-intro{max-width:360px;font-size:15px}.date{font-size:12px}.location{font-size:13px}.hero .button{min-height:54px;padding-inline:28px;font-size:12px}.hero-art{max-width:520px;padding:14px}.art-caption{font-size:21px}.section{padding-block:102px}.section-heading{margin-bottom:46px}.section-heading h2{font-size:clamp(58px,4vw,68px)}.section-heading>p{max-width:340px;font-size:14px}.day-tabs{margin-bottom:46px}.day-tabs button{min-height:46px;padding-inline:22px;font-size:12px}.event-grid{gap:clamp(28px,2.6vw,44px)}.event-grid.is-filtered{grid-template-columns:repeat(2,minmax(0,1fr))}.event-card{min-height:540px;padding:104px 34px 54px}.event-art{width:122px;height:122px;margin-bottom:30px}.event-art svg{width:84px;height:84px}.event-number{margin-bottom:10px;font-size:10px}.event-card h3{font-size:42px}.event-when{font-size:11px}.event-description{max-width:310px;font-size:14px}.event-grid.is-filtered .event-description{max-width:430px}.schedule-note{margin-top:38px;font-size:11px}.invitation>p:last-child,.story-copy>p:last-of-type,.venue-copy>p:last-of-type{font-size:14px}}@media (max-width:620px){:root{--section:calc(100% - 40px)}html{scroll-padding-top:74px}.site-header{height:72px;padding-inline:5%}.site-header nav{gap:16px;font-size:10px}.nav-invitation,.site-header nav a:nth-child(3){display:none}.hero{text-align:center;grid-template-columns:1fr;gap:32px;min-height:auto;padding:34px 7% 44px}.with-line{justify-content:center}.with-line:before{display:none}.hero h1{letter-spacing:-.045em;margin:22px auto;font-size:clamp(58px,17vw,76px);line-height:.92}.hero-intro{margin-inline:auto}.date{margin-top:24px}.hero .button{margin-top:23px}.hero-art{justify-self:center;width:80%;max-width:330px}.section{padding-block:60px}.section-centred{padding:61px 24px 64px}.story,.venue,.details{grid-template-columns:1fr;gap:38px}.story-copy{order:-1}.memory-photo{max-height:365px}.section-heading{margin-bottom:30px;display:block}.section-heading>p{margin-top:18px}.day-tabs{gap:6px}.day-tabs button{flex:auto;padding-inline:10px;font-size:10px}.event-grid{grid-template-columns:1fr;gap:18px}.event-card{border-radius:50% 50% 9px 9px/155px 155px 9px 9px;min-height:460px;margin:0;padding:76px 28px 44px}.event-card:before{font-size:94px;bottom:-18px;right:18px}.event-card:after{border-radius:50% 50% 5px 5px/144px 144px 5px 5px;inset:11px}.event-card:hover{transform:none}.event-art{width:96px;height:96px;margin:0 auto 22px}.event-art svg{width:65px;height:65px}.event-number{margin-bottom:6px;font-size:8px}.event-card h3{margin-bottom:4px;font-size:31px}.event-when{margin-bottom:10px}.event-description{max-width:310px;font-size:11px;line-height:1.65}.venue-art{max-height:360px}.venue-copy{padding-inline:4px}.countdown-section{padding:55px 18px 60px}.countdown{gap:clamp(18px,7vw,32px)}.countdown strong{font-size:clamp(40px,12vw,50px)}.countdown span{letter-spacing:.12em}.save-date{padding:60px 20px 68px}.calendar-actions{flex-direction:column;align-items:stretch;width:min(100%,340px);margin-inline:auto}.calendar-actions .button{width:100%;min-height:54px}.calendar-help{max-width:280px}.site-footer{text-align:center;display:block}.site-footer span{margin:4px;display:block}.gate-door:before{inset:12px}.gate-door:after{top:20px;bottom:20px}.gate-left:after{left:20px}.gate-right:after{right:20px}.gate-top-label{font-size:8px;top:31px}.gate-bottom-label{font-size:8px;bottom:25px}.gate-centre .eyebrow{letter-spacing:.16em;font-size:8px}.gate-title{font-size:50px}.ganesh-halo{width:150px;height:150px}.ganesh-halo img{width:136px;height:136px}}@media (max-width:380px){.site-header nav{gap:11px}.event-card{border-radius:50% 50% 8px 8px/138px 138px 8px 8px;min-height:430px;padding:67px 22px 40px}.event-card:after{border-radius:50% 50% 4px 4px/127px 127px 4px 4px}.event-art{width:84px;height:84px}.event-art svg{width:57px;height:57px}.event-description{max-width:none}.countdown{gap:14px}.countdown strong{font-size:38px}}@media (max-height:660px){.gate-top-label{top:20px}.gate-bottom-label{bottom:18px}.ganesh-halo{width:134px;height:134px}.ganesh-halo img{width:124px;height:124px}.ganesh-open{gap:7px;margin-top:12px}.gate-title{margin-top:12px;font-size:48px}.gate-date{margin-top:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
