/* Developed by MZ² Labs — © 2026 MZ² Labs */
:root { color-scheme: light; --paper:#f8f4eb; --white:#fffdf8; --ink:#303c33; --muted:#5f685d; --sage:#e2e8da; --forest:#42583f; --clay:#925c43; --line:#d9dacd; }
* { box-sizing:border-box; }
body { margin:0; min-height:100svh; background:var(--paper); color:var(--ink); font-family:"Segoe UI",system-ui,-apple-system,sans-serif; line-height:1.65; display:flex; flex-direction:column; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline:3px solid var(--clay); outline-offset:5px; }
img { max-width:100%; display:block; }
.wrap { width:min(1180px,calc(100% - 96px)); margin-inline:auto; }
.skip-link { position:fixed; z-index:10; left:16px; top:-100px; background:var(--forest); color:white; padding:12px 20px; border-radius:8px; }
.skip-link:focus { top:12px; }
.header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:30px; }
.brand { display:flex; align-items:center; gap:12px; }
.brand img { color:var(--clay); width:52px; flex:none; }
.brand-copy { font-family:Georgia,serif; font-size:23px; line-height:1.05; letter-spacing:-.6px; }
.brand-note { display:block; margin-top:9px; font:10px/1.5 "Segoe UI",system-ui,sans-serif; letter-spacing:2px; text-transform:uppercase; color:var(--muted); }
.private-link { display:inline-flex; align-items:center; gap:10px; border:1px solid #a9b39f; border-radius:99px; padding:10px 18px; font-size:13px; font-weight:600; white-space:nowrap; transition:background .2s; }
.private-link svg { width:18px; height:18px; }
.private-link:hover { background:var(--sage); }
main { flex:1; }
main:focus { outline:none; }
.hero { display:grid; grid-template-columns:1.08fr 1fr; align-items:center; gap:50px; padding-block:48px 56px; }
.eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 23px; color:var(--clay); font-size:11px; font-weight:600; letter-spacing:1.7px; text-transform:uppercase; }
.dot { width:7px; height:7px; border-radius:50%; background:var(--clay); flex:none; }
h1 { margin:0; font:400 clamp(42px,4.7vw,66px)/1.09 Georgia,serif; letter-spacing:-2.2px; text-wrap:balance; }
h1 em { color:var(--forest); font-weight:400; }
.intro { max-width:470px; margin:25px 0 15px; font-size:18px; line-height:1.75; }
.description { max-width:465px; margin:0; color:var(--muted); font-size:15px; line-height:1.85; }
.opening { display:flex; align-items:center; gap:15px; margin-top:29px; }
.spark { font:40px/1 Georgia,serif; color:var(--clay); }
.opening strong { display:block; font:400 23px/1.3 Georgia,serif; }
.opening div>span { display:block; margin-top:5px; font-size:12px; color:var(--muted); }
.visual { position:relative; margin:0; padding-bottom:25px; }
.arch { overflow:hidden; border:1px solid #d4ddc9; border-radius:48% 48% 22px 22px; background:#e2e8da; aspect-ratio:1.04; display:flex; align-items:end; box-shadow:0 16px 60px #394b3210; }
.arch img { width:100%; height:auto; }
figcaption { position:absolute; right:-12px; bottom:9px; display:flex; align-items:center; gap:12px; background:var(--white); border:1px solid #e6dfd2; border-radius:14px; padding:18px 23px; font:21px/1.25 Georgia,serif; transform:rotate(-4deg); box-shadow:0 6px 20px #394b3209; }
figcaption span { font:33px/1 Georgia,serif; color:var(--clay); }
.art-star { position:absolute; color:var(--clay); font-family:Georgia,serif; }
.star-one { left:9px; top:35px; font-size:45px; }
.star-two { right:8px; top:45px; font-size:20px; }
.invitation { display:flex; align-items:center; justify-content:space-between; gap:35px; border:1px solid var(--line); border-radius:18px; background:#fffdf899; padding:25px 30px; }
.invitation-copy { display:flex; align-items:center; gap:20px; }
.invitation-icon { width:49px; height:49px; display:grid; place-items:center; background:var(--sage); border-radius:50%; color:var(--forest); font-size:25px; flex:none; }
h2 { margin:0 0 6px; font:400 23px/1.3 Georgia,serif; letter-spacing:-.35px; }
.invitation p { max-width:565px; margin:0; font-size:13px; color:var(--muted); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:28px; padding:14px 23px; min-height:50px; background:var(--forest); color:var(--white); border:1px solid var(--forest); border-radius:9px; font-size:14px; font-weight:600; white-space:nowrap; transition:background .2s; }
.button:hover { background:#2d422b; }
.footer { display:flex; justify-content:space-between; gap:16px; padding-block:30px 24px; margin-top:20px; font-size:11px; color:var(--muted); }
.footer strong { font-weight:600; color:var(--forest); }
@media(min-width:1500px){ .hero { padding-block:65px 72px; } }
@media(max-width:950px){ .wrap{width:calc(100% - 56px)} .hero{gap:28px} h1{font-size:45px} .intro{font-size:16px} figcaption{font-size:17px;padding:15px} .invitation{gap:22px;padding:22px} .invitation-icon{display:none} }
@media(max-width:700px){ .wrap{width:calc(100% - 40px)} .header{padding-block:22px}.brand img{width:38px}.brand-copy{font-size:19px}.brand-note{font-size:8px;letter-spacing:1.6px}.private-link{font-size:11px;padding:9px 12px;gap:6px}.private-link svg{width:15px}.private-link>span{display:none}.hero{grid-template-columns:1fr;gap:32px;padding-block:26px 30px}h1{font-size:46px;letter-spacing:-1.6px}.eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:20px}.intro{font-size:16px;margin-top:22px}.description{font-size:14px}.opening{margin-top:23px}.visual{width:min(410px,100%);justify-self:center;padding-bottom:16px}.arch{aspect-ratio:1.25}.star-one{top:10px;left:3px}.star-two{top:25px;right:3px}figcaption{right:3px;bottom:0;font-size:18px}.invitation{flex-direction:column;align-items:stretch;gap:19px;padding:23px}.invitation h2{font-size:22px}.button{width:100%}.footer{flex-direction:column;align-items:center;gap:5px;text-align:center;font-size:10px;padding-block:25px;margin-top:5px} }
@media(max-width:360px){.wrap{width:calc(100% - 32px)}h1{font-size:39px}.brand-copy{font-size:17px}.brand{gap:7px}.private-link{padding:8px 10px}.brand img{width:32px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
