:root{--ink:#10110d;--cream:#f5f1e7;--gold:#c6a75f;--sage:#65705a;--line:#d7cfbe}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}.hero{height:100svh;min-height:610px;position:relative;background:#080907;overflow:hidden;color:#fff}.hero>img{height:100%;width:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.04) 45%,rgba(0,0,0,.76))}.hero-copy{position:absolute;inset:auto 24px 58px;text-align:center}.hero-copy p,.eyebrow{font-size:.69rem;letter-spacing:.2em;font-weight:600}.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(4.5rem,19vw,7.5rem);font-weight:400;line-height:.72;margin:15px 0 35px}.hero h1 em{color:var(--gold);font-family:Italianno,cursive;font-weight:400}.date-line{border-top:1px solid rgba(255,255,255,.6);border-bottom:1px solid rgba(255,255,255,.6);display:flex;justify-content:center;align-items:center;gap:17px;padding:8px}.date-line span{font-size:.64rem;line-height:1.4;letter-spacing:.12em}.date-line b{font:400 2.5rem 'Cormorant Garamond',serif}.scroll-cue{position:absolute;bottom:14px;left:50%;color:white;text-decoration:none;font-size:2rem;transform:translateX(-50%)}section{padding:76px 24px;text-align:center}.welcome{max-width:600px;margin:auto}.eyebrow{color:#877342;margin:0 0 17px}.welcome h2,.gallery h2,.album h2,.calendar h2,.modal h2{font:500 clamp(2.5rem,10vw,4.3rem)/.94 'Cormorant Garamond',serif;margin:0}.welcome h2 i,.gallery h2 i,.album h2 i,.modal h2 i{font-family:Italianno,cursive;color:#9a7c37;font-size:1.18em;font-weight:400}.copy{line-height:1.7;color:#4e5149;margin:26px auto;max-width:440px}.guest-card{border:1px solid var(--line);padding:22px 15px;margin:35px 0 20px;display:grid;gap:8px;background:#fffdf9}.guest-card span{font-size:.63rem;color:#8b784b;letter-spacing:.16em}.guest-card strong{font:500 2rem 'Cormorant Garamond',serif}.guest-card small{color:#596054}.text-button{border:0;border-bottom:1px solid var(--ink);background:transparent;padding:8px 2px;cursor:pointer;font:600 .75rem 'DM Sans';letter-spacing:.12em;text-transform:uppercase}.countdown-section{background:var(--ink);color:#fff;padding:54px 15px}.countdown-section .eyebrow{color:#d1b879}.countdown{display:flex;justify-content:center;align-items:center;gap:12px}.countdown div{min-width:57px;display:grid;gap:5px}.countdown b{font:400 clamp(2.1rem,10vw,3.5rem)/1 'Cormorant Garamond',serif}.countdown span{font-size:.57rem;letter-spacing:.1em;color:#cfcbbc}.countdown i{height:28px;border-left:1px solid #6e7267}.family{padding-bottom:64px}.parents{border-top:1px solid var(--line);margin:38px auto 0;max-width:680px}.parents div{border-bottom:1px solid var(--line);padding:21px}.parents span{display:block;color:#887643;font-size:.63rem;letter-spacing:.16em;margin-bottom:9px}.parents b{font:500 1.55rem/1.1 'Cormorant Garamond',serif}.events{background:#eae5d9;padding:70px 18px}.event-card{max-width:540px;margin:22px auto;padding:41px 26px;background:#f9f7f0;border-top:3px solid var(--gold);box-shadow:0 12px 23px rgba(34,35,27,.07)}.event-number{color:#a38d58;font:italic 2.4rem 'Cormorant Garamond',serif}.event-card p{font-size:.65rem;letter-spacing:.17em;margin:4px}.event-card h3{font:500 2.2rem/.95 'Cormorant Garamond',serif;margin:18px 0}.event-card time{font-size:.83rem;line-height:1.55;display:block;color:#5a5f54;margin-bottom:23px}.outline-button,.dark-button{display:inline-block;padding:14px 21px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:600 .7rem 'DM Sans';text-decoration:none;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}.reception{background:var(--sage);color:#fff;border-color:#e5ce8c}.reception p,.reception time{color:#eef0e9}.reception .outline-button{border-color:#fff;color:#fff}.calendar{padding:0;display:grid;background:var(--ink);color:#fff;text-align:left}.calendar img{width:100%;height:330px;object-fit:cover}.calendar>div{padding:55px 32px}.calendar .eyebrow{color:#d7ba74}.calendar h2{margin:0 0 18px}.calendar h2{font:500 3.8rem/.88 'Cormorant Garamond',serif}.calendar p:not(.eyebrow){color:#dedbd1;line-height:1.6}.dark-button{background:var(--ink);color:white;border-color:var(--ink)}.calendar .dark-button{background:var(--gold);border-color:var(--gold);color:var(--ink);margin-top:10px}.gallery{padding-bottom:48px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:900px;margin:38px auto 0}.gallery-grid button{border:0;padding:0;overflow:hidden;height:220px;cursor:pointer;background:#222}.gallery-grid button:first-child{grid-row:span 2;height:448px}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-grid button:hover img{transform:scale(1.04)}.album{background:#e9e4d8}.album .upload-label{margin:3px 0 22px}.album small{font-size:.72rem;color:#6d7068}.uploaded-gallery{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:14px}.uploaded-gallery img{width:75px;height:75px;object-fit:cover}footer{background:var(--ink);padding:40px;text-align:center;color:white}footer span{font:400 3.5rem Italianno,cursive;color:var(--gold)}footer p{font-size:.65rem;letter-spacing:.2em}.modal{display:none;position:fixed;inset:0;z-index:10;background:rgba(8,9,7,.7);padding:18px;align-items:center;justify-content:center}.modal.open{display:flex}.modal-card{width:min(100%,480px);max-height:92svh;overflow:auto;position:relative;background:#f8f5ed;padding:44px 28px;text-align:center}.close{position:absolute;right:13px;top:8px;border:0;background:transparent;font-size:2rem;cursor:pointer}.modal form{text-align:left;margin-top:28px}.modal label{display:grid;gap:8px;font-size:.75rem;letter-spacing:.08em;margin:16px 0}.modal select,.modal textarea{width:100%;border:1px solid #c9c3b6;background:#fffefa;padding:13px;font:400 1rem 'DM Sans'}.modal textarea{height:80px;resize:vertical}.form-note{font-size:.8rem;text-align:center;line-height:1.4}.lightbox{background:rgba(0,0,0,.93)}.lightbox img{max-width:95%;max-height:91svh}.lightbox .close{color:white;z-index:1}@media(min-width:700px){section{padding:95px 32px}.parents{display:grid;grid-template-columns:1fr 1fr}.parents div{border-right:1px solid var(--line)}.parents div:last-child{border-right:0}.events{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.events>.eyebrow{grid-column:1/-1;margin-bottom:0}.event-card{width:100%;height:100%;margin:0}.calendar{grid-template-columns:1fr 1fr}.calendar img{height:100%}.calendar>div{padding:90px 64px}.gallery-grid button{height:280px}.gallery-grid button:first-child{height:568px}}
