@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600&display=swap');
:root{--paper:#faf9f6;--white:#fff;--ink:#353b34;--muted:#85867e;--gold:#a59168;--border:#e2dfd5;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.8}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{color:inherit}::selection{background:#e4dcc7}section{scroll-margin-top:20px}.demo-note{background:#eeece5;text-align:center;padding:5px 16px;font-size:9px;letter-spacing:1.8px;color:#7c7668}.demo-note span{letter-spacing:.6px}.header{height:108px;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 6.2%;border-bottom:1px solid var(--border)}.monogram{font-family:var(--serif);font-size:31px;line-height:1;letter-spacing:-2px;text-align:center}.monogram span{font-style:italic;color:var(--gold);font-size:22px;margin:0 3px}.monogram i{display:block;font:8px var(--sans);letter-spacing:2.6px;margin-top:9px}.header nav{display:flex;gap:38px;font-size:11px;color:#74776f;letter-spacing:.6px}.header a:hover{color:var(--gold)}.header-rsvp{border-bottom:1px solid var(--gold);padding:8px 0;font-size:11px}.header-rsvp span{margin-left:22px;color:var(--gold)}.hero{min-height:770px;height:calc(100svh - 135px);max-height:1000px;position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;text-align:center}.arch{position:absolute;z-index:-1;border:1px solid #d9d4c7;top:54px;bottom:-140px;width:510px;border-radius:260px 260px 0 0;background:linear-gradient(120deg,#f0eee773,#ffffffb3 50%,#eeece63b);box-shadow:0 0 100px 60px #ffffff66}.arch-inner{position:absolute;inset:12px;border:1px solid #e6e2d8;border-radius:inherit}.hero-content{position:relative;margin-top:5px}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:500;color:var(--gold)}.hero .eyebrow{margin:0 0 25px;letter-spacing:4px}.hero-intro{font-family:var(--serif);font-style:italic;font-size:22px;color:#797c70;margin-bottom:10px}h1{font:500 clamp(80px,7.8vw,120px)/.88 var(--serif);letter-spacing:-4px;margin:23px 0 38px;display:flex;flex-direction:column;align-items:center}h1 em{font-size:55px;font-weight:400;color:var(--gold);line-height:1.1;margin:6px 0 9px}h1 span{display:block;max-width:85vw;overflow-wrap:anywhere}.hero-date{display:flex;gap:20px;align-items:center;justify-content:center;font-size:12px;letter-spacing:4px}.line{height:1px;background:#c6b99d;width:33px}.hero-place{font-size:9px;letter-spacing:3px;margin-top:13px;margin-bottom:30px;color:var(--muted)}.button{min-height:48px;padding:14px 25px;display:inline-flex;gap:28px;align-items:center;justify-content:center;border:1px solid transparent;font-size:11px;letter-spacing:.5px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#505b49}.button-outline{border-color:#c8c7bc;background:transparent}.button-outline:hover{background:#eeece4}.hero-side{position:absolute;left:42px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);font-size:8px;letter-spacing:3px;color:#98998c}.hero-bottom{position:absolute;bottom:28px;left:6.2%;right:6.2%;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:2px;color:#8a8b80}.hero-bottom a{font-size:10px;letter-spacing:.6px}.hero-bottom a span{display:inline-block;margin-left:12px}.botanical{position:absolute;width:260px;height:520px;color:#b0ae98;opacity:.57;z-index:-1;pointer-events:none}.botanical-left{left:calc(50% - 490px);top:180px;transform:rotate(-14deg)}.botanical-right{right:calc(50% - 490px);top:150px;transform:scaleX(-1) rotate(-9deg)}.section{padding:105px 7%;max-width:1440px;margin:auto}h2{font:400 58px/1.08 var(--serif);letter-spacing:-1.6px;margin:22px 0 30px}h2 em{font-weight:400;color:#797d6c}h3{font:500 28px/1.3 var(--serif)}p{margin:0 0 15px}.invitation{text-align:center;background:white;max-width:none;padding-top:80px;padding-bottom:85px}.section-mark{color:var(--gold);font-size:31px;font-family:var(--serif);line-height:1;margin-bottom:36px}.arabic{font-family:Georgia,'Times New Roman',serif;font-size:27px;line-height:2;margin-bottom:10px}.invitation>.eyebrow{font-size:8px;letter-spacing:2px}.body-copy{color:#83867d;font-size:12px;line-height:2.2}.couple{display:flex;flex-direction:column;font:400 34px/1.4 var(--serif);margin:28px auto}.couple small{font-style:italic;color:var(--gold);font-size:24px}.invitation-end{margin-bottom:30px}.tiny-ornament{font-size:14px;letter-spacing:5px;color:#b8a681}.event{display:grid;grid-template-columns:1fr 1fr;column-gap:70px}.section-heading>p:last-child{font-size:12px;color:var(--muted)}.event-details{display:flex;align-items:center;gap:35px}.date-block{border:1px solid #d7d2c5;text-align:center;min-width:146px;padding:24px 18px;display:flex;flex-direction:column}.date-block span{font-size:8px;letter-spacing:2px}.date-block strong{font:400 88px/1.2 var(--serif);color:#6c725f}.event-info .eyebrow{font-size:8px;letter-spacing:2px}.event-info h3{font-size:24px;margin:8px 0 16px}.event-info>p{font-size:12px;margin-bottom:5px}.muted{color:var(--muted)}.text-button{background:none;border:0;border-bottom:1px solid #c5b99e;padding:8px 0;font-size:11px}.event-info .text-button{margin-top:16px}.countdown-wrap{border-top:1px solid var(--border);margin-top:52px;padding-top:38px;grid-column:1/-1;text-align:center}.countdown-wrap>.eyebrow{font-size:8px;letter-spacing:2.5px}.countdown{display:flex;justify-content:center;gap:34px;align-items:flex-start;margin-top:25px}.countdown div{width:65px;display:flex;flex-direction:column}.countdown strong{font:400 47px/1.1 var(--serif);font-variant-numeric:tabular-nums}.countdown span{font-size:8px;letter-spacing:2px;color:var(--muted);margin-top:12px}.countdown i{font:25px var(--serif);color:#b7b5a8;margin-top:7px}.schedule{text-align:center;background:#fff;max-width:none}.schedule h2{font-size:49px}.timeline{max-width:1050px;display:grid;grid-template-columns:repeat(4,1fr);margin:60px auto 30px}.timeline article{position:relative;padding:0 16px}.timeline article:before{content:'';height:1px;position:absolute;left:0;right:0;top:43px;background:var(--border)}.timeline article:after{content:'';width:7px;height:7px;border:1px solid var(--gold);background:white;transform:rotate(45deg);position:absolute;top:39px;left:calc(50% - 4px)}.timeline time{font-size:9px;letter-spacing:1.2px;color:var(--gold)}.timeline h3{font-size:25px;margin:45px 0 8px}.timeline p{font-size:10px;color:var(--muted)}.schedule-note{font-family:var(--serif);font-size:20px;font-style:italic;color:#959789;margin-top:38px}.location{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.location-art{position:relative;height:390px;background:#eeeee6;border:10px solid white;outline:1px solid #e2dfd6;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column}.map-grid{position:absolute;inset:-70px;background:repeating-linear-gradient(0deg,transparent 0 58px,#e0e2d7 58px 60px),repeating-linear-gradient(90deg,transparent 0 83px,#e0e2d7 83px 85px);transform:rotate(-23deg)}.map-road{position:absolute;background:#fcfcf8;border:1px solid #dedfd4;width:700px;height:28px;transform:rotate(-23deg);top:100px}.road-two{transform:rotate(67deg);top:170px;left:-260px}.road-three{transform:rotate(-23deg);top:285px}.map-pin{z-index:1;background:var(--ink);color:white;width:64px;height:64px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);font:40px/64px var(--serif);text-align:center;box-shadow:0 8px 30px #353b3422}.location-art>span{z-index:1;margin-top:34px;font-size:8px;letter-spacing:2px;background:#faf9f6ee;padding:8px 14px}.location-art>small{position:absolute;bottom:10px;right:10px;font-size:7px;letter-spacing:1px;color:#969b89}.location-copy h2{font-size:49px}.location-copy h3{margin-bottom:6px}.location-copy>p:not(.eyebrow){font-size:12px;color:var(--muted)}.location-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.rsvp{max-width:none;background:#f0f0e9;text-align:center}.rsvp>p:not(.eyebrow){font-size:12px;color:#828579}.rsvp h2{font-size:53px}.rsvp form{max-width:560px;margin:38px auto 0;text-align:left}.form-row{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}label,legend{font-size:11px;letter-spacing:.3px}input:not([type=radio]),select,textarea{width:100%;border:1px solid #d7d9cc;border-radius:0;background:#ffffff88;color:var(--ink);margin-top:8px;padding:12px 14px;min-height:47px;font-size:12px}textarea{display:block;resize:vertical}input::placeholder,textarea::placeholder{color:#a1a296}fieldset{padding:0;border:0;margin:25px 0}fieldset label{display:inline-flex;gap:6px;align-items:center;margin-top:10px;margin-right:20px;color:#717668}input[type=radio]{accent-color:var(--ink)}.optional{color:#93958a}.submit{width:100%;justify-content:space-between;margin-top:24px}.form-note{text-align:center;font-size:10px;color:#8e9184;margin-top:12px}#rsvp-status{font-size:12px;white-space:pre-line;overflow-wrap:anywhere}.blessing{text-align:center;background:#fff;max-width:none;padding:75px 20px}.blessing blockquote{font:italic 29px/1.6 var(--serif);margin:30px auto;max-width:700px;color:#737b68}.blessing .eyebrow{font-size:8px}footer{padding:65px 7% 25px;text-align:center}.footer-names{font:400 42px var(--serif)}.footer-names em{color:var(--gold);font-size:30px}footer>p{font-size:10px;color:var(--muted);margin-top:14px}footer .text-button{font-size:10px;margin-top:10px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:20px;margin-top:50px;font-size:8px;letter-spacing:2px;color:#999b8e}.mobile-nav{display:none}dialog{border:1px solid var(--border);background:var(--paper);color:var(--ink);padding:45px;max-width:min(520px,90vw)}dialog::backdrop{background:#242a2377;backdrop-filter:blur(4px)}dialog h2{font-size:37px}dialog>p:not(.eyebrow){font-size:13px;color:#7d8174}.dialog-close{position:absolute;right:14px;top:6px;border:0;background:none;font-size:28px}.dialog-done{margin-top:15px}
@media(min-width:1600px){.hero{min-height:820px}.hero-content{transform:scale(1.1)}}
@media(max-width:1050px){.event{column-gap:35px}.event-details{gap:20px}.date-block{min-width:120px}.event-info h3{font-size:22px}.location{gap:45px}.location-copy h2{font-size:43px}.botanical-left{left:calc(50% - 440px)}.botanical-right{right:calc(50% - 440px)}.section{padding-left:6%;padding-right:6%}}
@media(max-width:760px){html{scroll-padding-top:12px}.demo-note{font-size:8px;letter-spacing:1px}.demo-note span{display:block;font-size:8px}.header{height:82px;padding:0 7%}.header nav{display:none}.header-rsvp{font-size:9px}.header-rsvp span{margin-left:12px}.monogram{font-size:26px}.monogram i{font-size:6px}.hero{height:calc(100svh - 125px);min-height:660px;max-height:850px}.arch{width:82%;max-width:430px;top:38px;bottom:-90px}.arch-inner{inset:9px}.hero-content{margin-top:-10px}.hero .eyebrow{font-size:9px;letter-spacing:3px;margin-bottom:24px}.hero-intro{font-size:20px}h1{font-size:90px;letter-spacing:-3px;margin:18px 0 30px}h1 em{font-size:43px;margin:5px 0}.hero-date{font-size:10px;letter-spacing:3px;gap:13px}.line{width:22px}.hero-place{font-size:8px;letter-spacing:2px;margin-bottom:26px}.hero-side{display:none}.hero-bottom{bottom:24px;justify-content:center}.hero-bottom>span{display:none}.botanical{width:170px;height:340px;opacity:.42}.botanical-left{left:-73px;top:270px}.botanical-right{right:-67px;top:150px}.hero .button{font-size:10px;padding:12px 22px;min-height:44px}.section{padding:75px 7%}h2{font-size:44px;letter-spacing:-1px}.invitation .eyebrow{font-size:7px;letter-spacing:1.2px}.arabic{font-size:24px}.body-copy{font-size:11px}.couple{font-size:31px}.event{display:block}.section-heading{text-align:center}.section-heading>p:last-child{font-size:11px}.event-details{justify-content:center;margin-top:36px;gap:24px}.date-block{min-width:122px;padding:18px 12px}.date-block strong{font-size:76px}.event-info h3{font-size:22px}.event-info>p{font-size:11px}.event-info .eyebrow{font-size:7px}.event-info .text-button{font-size:9px}.countdown-wrap{margin-top:38px;padding-top:30px}.countdown{gap:14px}.countdown div{width:47px}.countdown strong{font-size:39px}.countdown span{font-size:7px;letter-spacing:1.5px}.countdown i{font-size:20px}.schedule h2{font-size:40px}.timeline{grid-template-columns:1fr;text-align:left;margin:35px 0 0 18px}.timeline article{padding:0 0 32px 30px}.timeline article:before{top:7px;left:0;width:1px;height:100%}.timeline article:after{top:7px;left:-4px}.timeline article:last-child{padding-bottom:0}.timeline article:last-child:before{display:none}.timeline h3{margin:6px 0;font-size:27px}.timeline time{font-size:8px}.timeline p{font-size:11px}.schedule-note{font-size:18px}.location{display:flex;flex-direction:column-reverse;gap:36px}.location-copy{width:100%;text-align:center}.location-copy h2{font-size:42px}.location-copy h3{font-size:27px}.location-buttons{justify-content:center}.location-art{height:285px;width:100%;max-width:450px}.button{padding:12px 18px;gap:20px}.rsvp h2{font-size:43px}.rsvp>p:not(.eyebrow){font-size:11px}.form-row{gap:14px;grid-template-columns:1.3fr 1fr}fieldset label{font-size:10px;margin-right:9px}.blessing blockquote{font-size:23px}.blessing .tiny-ornament{font-size:12px}footer{padding:50px 7% 110px}.footer-bottom{font-size:7px;letter-spacing:1px}.mobile-nav{position:fixed;z-index:10;display:flex;justify-content:space-around;align-items:center;left:14px;right:14px;bottom:calc(10px + env(safe-area-inset-bottom));height:62px;border:1px solid #e0e0d5;background:#faf9f6f5;backdrop-filter:blur(16px);box-shadow:0 6px 30px #353b3412}.mobile-nav a{display:flex;flex-direction:column;text-align:center;line-height:1.2;font-size:23px;width:25%;color:#7d806e}.mobile-nav a span{font-size:8px;margin-top:5px;letter-spacing:.6px}.mobile-nav a:hover{color:var(--gold)}dialog{padding:35px 25px}dialog h2{font-size:32px}}
@media(max-width:360px){.hero{min-height:620px}h1{font-size:78px}.event-details{gap:15px}.date-block{min-width:105px}.event-info h3{font-size:20px}.form-row{grid-template-columns:1fr}.countdown{gap:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.demo-note,.header,.mobile-nav,.hero-bottom,.button,form,.text-button,.location-art{display:none}.hero{height:650px;min-height:0}.section{break-inside:avoid;padding:40px}.arch{bottom:0}.event,.location{display:block}.rsvp{display:none}footer{padding-bottom:30px}}
