:root{--ivory:#f7f3eb;--paper:#fbf8f2;--taupe:#857766;--ink:#322d28;--gold:#b08a54;--gold-light:#d8bf91;--blush:#e8ddd0}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:"Manrope",sans-serif;font-weight:300;line-height:1.75;text-align:center}main{overflow:hidden}
.hero{min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--paper);border:10px solid var(--ivory);outline:1px solid rgba(176,138,84,.42);outline-offset:-22px}
.hero-photo{min-height:100%;overflow:hidden;position:relative;margin:22px 0 22px 22px;border:1px solid rgba(176,138,84,.92);border-radius:180px 180px 0 0;box-shadow:0 14px 40px rgba(88,67,42,.12)}.hero-photo:before{content:"";position:absolute;z-index:2;inset:11px;border:1px solid rgba(238,215,172,.88);border-radius:169px 169px 0 0;pointer-events:none}.hero-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 42%}.photo-ornament{position:absolute;z-index:3;color:#e8cb94;font:2.5rem "GFS Didot",serif;text-shadow:0 1px 8px rgba(45,33,22,.38);pointer-events:none}.photo-ornament-top{top:27px;left:30px;transform:rotate(-28deg)}.photo-ornament-bottom{right:28px;bottom:28px;transform:rotate(150deg)}
.hero-invitation{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:72px 46px 58px;background:radial-gradient(circle at 50% 34%,rgba(255,255,255,.7),transparent 35%),linear-gradient(135deg,rgba(216,191,145,.08),transparent 50%)}
.corner{position:absolute;color:var(--gold);font-family:"GFS Didot",serif;font-size:3rem;opacity:.75}.corner-top{top:24px;right:34px;transform:rotate(-24deg)}.corner-bottom{bottom:22px;right:38px;transform:rotate(22deg)}
.script{font-family:"GFS Didot",serif;font-style:italic;color:var(--taupe);margin:0;font-size:clamp(2rem,4vw,3rem)}.small-caps,.section-title{font-size:.71rem;text-transform:uppercase;letter-spacing:.27em;font-weight:600}.small-caps{margin:2px 0 18px}
.hero h1{font-family:"GFS Didot",serif;font-weight:400;font-size:clamp(3rem,6.7vw,6.6rem);line-height:.82;margin:0}.hero h1 span{display:block}.hero h1 i{display:block;color:var(--gold);font-size:.48em;line-height:1.1;font-weight:400}
.invite-line{font-size:.88rem;text-transform:uppercase;letter-spacing:.16em;line-height:1.8;margin:23px 0 20px}.date-grid{width:min(420px,100%);display:grid;grid-template-columns:minmax(0,1fr) 124px minmax(0,1fr);align-items:center;margin:4px 0 0}.date-grid>span{border-block:1px solid rgba(176,138,84,.45);padding:12px 4px;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem;font-weight:700}.date-main{border-inline:1px solid rgba(176,138,84,.45);padding:2px 10px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.date-main strong{display:block;font-family:"GFS Didot",serif;font-size:4.2rem;font-weight:400;line-height:.8}.date-main small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;line-height:1.2;white-space:nowrap}
section:not(.hero),footer{padding:100px 24px}.welcome{max-width:780px;margin:auto}.section-mark{color:var(--gold);font:2.2rem "GFS Didot",serif;margin:0 0 26px}.lead{font-family:"GFS Didot",serif;font-size:clamp(1.6rem,4.5vw,2.45rem);line-height:1.42;color:#5d5145;margin:0 0 36px}.welcome>p:not(.lead):not(.section-mark){font-size:1rem}.full-names{margin-top:52px}.full-names h2{font:400 clamp(2rem,6vw,3.15rem)/1.14 "GFS Didot",serif;margin:7px 0}.full-names span{font:2rem "GFS Didot",serif;color:var(--gold)}
.promise{background:#e9dfd3}.promise .section-title,.parents .section-title{color:#71614f;margin:0 0 22px}.promise h2{font:400 clamp(2.7rem,8vw,4.8rem)/1.08 "GFS Didot",serif;margin:0}.gold-rule{display:flex;align-items:center;gap:18px;max-width:310px;margin:27px auto}.gold-rule:before,.gold-rule:after{content:"";height:1px;background:var(--gold);flex:1}.gold-rule span{font:2rem "GFS Didot",serif;color:#80643e}.promise>p:last-child{margin:0}
.countdown{padding-block:66px!important;background:var(--paper)}.countdown .section-title{margin:0 0 25px}.countdown-row{display:flex;align-items:center;justify-content:center;gap:25px}.countdown-row div{min-width:76px}.countdown-row strong{display:block;font:400 clamp(2.4rem,7vw,3.6rem)/1 "GFS Didot",serif;color:#685744}.countdown-row span{display:block;margin-top:8px;text-transform:uppercase;letter-spacing:.16em;font-size:.63rem;color:#8a7d6d}.countdown-row i{width:3px;height:3px;background:var(--gold);border-radius:50%}
.details{background:#3a332c;padding:58px 18px!important}.details-card{max-width:760px;margin:auto;padding:70px 22px;color:white;border:1px solid rgba(216,191,145,.62);position:relative}.details-card:before,.details-card:after{content:"❦";position:absolute;color:var(--gold-light);font:2rem "GFS Didot",serif}.details-card:before{top:18px;left:24px}.details-card:after{bottom:18px;right:24px;transform:rotate(180deg)}.details .section-title{color:#e0c899;margin:0 0 22px}.details h2{font:400 clamp(3.1rem,12vw,6rem)/1 "GFS Didot",serif;letter-spacing:.07em;margin:0}.events{letter-spacing:.5em;margin:.35rem 0 0}.fine-line{width:76px;height:1px;background:var(--gold);margin:32px auto}.details address{font-style:normal;color:#e4d8ca;margin:23px 0 33px}.button{display:inline-block;border:1px solid var(--gold);color:white;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:600;padding:13px 22px;transition:.25s}.button:hover,.button:focus{background:var(--gold);color:#241f1b}
.parents{background:var(--ivory)}.families{display:flex;justify-content:center;align-items:center;gap:40px;max-width:740px;margin:35px auto 0}.families p{font:400 1.4rem/1.5 "GFS Didot",serif;flex:1}.families strong{font-weight:400;color:#675746}.families>span{height:72px;width:1px;background:var(--gold)}
footer{background:linear-gradient(rgba(48,42,36,.94),rgba(48,42,36,.94)),url("assets/tasos-maria-formal.jpeg") center 38%/cover;color:white}.light{color:var(--gold-light)}footer h2{font:400 clamp(1.5rem,4.6vw,2.2rem)/1.45 "GFS Didot",serif;margin:30px 0}.monogram{font:3.4rem "GFS Didot",serif;color:#e5c996;margin:38px 0 0}.monogram i{font-size:.65em}.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:780px){.hero{display:block;border-width:6px;outline-offset:-14px;min-height:auto}.hero-photo{height:62svh;min-height:500px;margin:14px 14px 0;border-radius:150px 150px 0 0}.hero-photo:before{inset:9px;border-radius:141px 141px 0 0}.hero-photo img{object-position:center 38%}.photo-ornament{font-size:2.15rem}.photo-ornament-top{top:22px;left:24px}.photo-ornament-bottom{right:23px;bottom:23px}.hero-invitation{min-height:565px;padding:70px 28px 62px}.corner-top{top:22px;right:25px}.corner-bottom{bottom:17px;right:27px}.hero h1{font-size:clamp(3.25rem,16vw,5.4rem)}.invite-line{font-size:.78rem}.date-grid{grid-template-columns:minmax(0,1fr) 106px minmax(0,1fr)}.date-main strong{font-size:3.8rem}section:not(.hero),footer{padding-block:80px}.countdown-row{gap:14px}.countdown-row div{min-width:64px}.families{flex-direction:column;gap:10px}.families>span{height:1px;width:56px}.details-card{padding-block:62px}.details h2{letter-spacing:.02em}}
@media(max-width:420px){.hero-photo{height:57svh;min-height:440px}.hero-invitation{min-height:545px;padding-inline:22px}.small-caps{font-size:.64rem}.invite-line{letter-spacing:.12em}.date-grid{grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr)}.date-grid>span{font-size:.61rem;letter-spacing:.08em}.date-main{padding-inline:6px}.date-main strong{font-size:3.55rem}.date-main small{font-size:.61rem;letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
