@import url("https://api.fontshare.com/v2/css?f[]=general-sans@400,500,600,700&display=swap");
@font-face{font-family:"La Siesta";src:url("fonts/lasiestascript-webfont.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
:root{--nav-logo-width:clamp(94px,9vw,150px);--cream:#EDE7DC;--burgundy:#3A1B21;--lavender:#CFC3DB;--orange:#DC6F35}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"General Sans",Arial,sans-serif}
.site-header{position:fixed;inset:0 0 auto;z-index:100;background:transparent;transition:background .3s ease,box-shadow .3s ease;color:var(--lavender)}
.site-header.scrolled{background:var(--cream);color:var(--burgundy);box-shadow:0 1px 10px #00000012}
.nav{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px clamp(20px,3vw,50px)}
.nav-links{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(12px,1.5vw,28px)}
.nav-links a{color:inherit;text-decoration:none;font-size:clamp(13px,1.35vw,20px);font-weight:600;letter-spacing:.065em;white-space:nowrap}
.nav-links a:hover{text-decoration:underline;text-underline-offset:5px}
.logo{position:relative;display:block;width:var(--nav-logo-width);flex:none;aspect-ratio:1.8}
.logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .3s ease}
.logo-scroll{opacity:0}.scrolled .logo-top{opacity:0}.scrolled .logo-scroll{opacity:1}
.hero{min-height:100svh;position:relative;isolation:isolate;overflow:hidden;display:flex;justify-content:center;align-items:center;text-align:center;background:#333;padding:110px 20px 40px}
.hero-photo{position:absolute;inset:-8% 0;z-index:-2;background:url("images/home-hero.jpg") center center/cover no-repeat;transform:translate3d(0,var(--parallax-y,0px),0) scale(1.10);transform-origin:center center;will-change:transform;pointer-events:none}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,#0004 0%,#0001 45%,#0004 100%)}
.hero-copy{position:relative;z-index:1}.hero h1{font:400 clamp(28px,3.84vw,60px)/1.05 "La Siesta",cursive;color:var(--lavender);margin:0}
.hero p{font-family:"La Siesta",cursive;font-weight:400;font-size:clamp(24px,3.1vw,48px);letter-spacing:.035em;color:var(--cream);margin:0}
.menu-toggle{display:none}
@media(max-width:760px){.nav{min-height:78px}.logo{width:105px}.menu-toggle{display:block;background:none;border:0;color:inherit;font:inherit;font-size:15px;cursor:pointer}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;padding:22px;background:var(--cream);color:var(--burgundy);gap:20px}.site-header.menu-open .nav-links{display:flex}.hero{padding:95px 18px 25px}.hero-photo{inset:-6% 0;transform:translate3d(0,var(--parallax-y,0px),0) scale(1.08)}.hero h1{font-size:clamp(27px,6vw,41px)}.hero p{font-size:clamp(21px,5.3vw,32px)}}
@media(prefers-reduced-motion:reduce){.hero-photo{transform:scale(1.10)!important;will-change:auto} *,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

/* Wedding introduction and countdown */
.wedding-intro{background:#7B3534;color:var(--burgundy);padding:clamp(95px,12vw,180px) 24px clamp(85px,10vw,145px);text-align:center}
.wedding-intro-inner{max-width:1120px;margin:0 auto}
.wedding-intro h2{font:400 clamp(36px,5.5vw,82px)/1.2 "La Siesta",cursive;margin:0 auto 35px;max-width:1050px}
.wedding-intro-details{margin-bottom:34px}
.wedding-intro-details p{font:400 clamp(22px,3.3vw,42px)/1.3 "La Siesta",cursive;letter-spacing:.025em;margin:0}
.wedding-intro-description{font:400 clamp(16px,1.5vw,20px)/1.75 "General Sans",Arial,sans-serif;max-width:680px;margin:0 auto}
.wedding-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1000px;margin:clamp(65px,8vw,115px) auto 0}
.countdown-unit{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;position:relative;padding:0 12px}
.countdown-unit:not(:last-child)::after{content:"";position:absolute;right:0;top:10%;height:72%;width:1px;background:currentColor;opacity:.24}
.countdown-number{font-family:Georgia,"Times New Roman",serif;font-size:clamp(49px,7.4vw,110px);line-height:1;font-weight:400;font-variant-numeric:tabular-nums}
.countdown-label{font:400 clamp(13px,1.5vw,22px)/1.3 "General Sans",Arial,sans-serif}
@media(max-width:600px){.wedding-intro{padding:85px 18px 90px}.wedding-intro h2{margin-bottom:28px}.wedding-intro-details{margin-bottom:28px}.wedding-countdown{margin-top:65px}.countdown-unit{padding:0 4px;gap:10px}.countdown-number{font-size:clamp(35px,10vw,58px)}}
.site-footer{background:var(--cream);display:flex;justify-content:center;align-items:center;min-height:150px;padding:30px 20px 55px}
.footer-monogram img{display:block;width:calc(var(--nav-logo-width) * .6);height:auto;object-fit:contain}
@media(max-width:760px){.wedding-intro{padding-left:18px;padding-right:18px}.site-footer{min-height:125px;padding:20px 20px 45px}.footer-monogram img{width:63px}}
