:root{--paper:#fbf8f1;--cream:#f2ebdf;--ink:#372d2c;--muted:#766961;--wine:#713844;--wine-dark:#542531;--gold:#ad8d56;--line:#e5dcd0;--white:#fffdf9;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-1.7px}h1 em,h2 em{font-weight:400;color:var(--wine)}h1{font-size:clamp(42px,5.7vw,82px);margin-bottom:25px}h2{font-size:34px}h3{font-size:17px;font-weight:500}p{color:var(--muted)}.site-header{height:112px;max-width:1320px;margin:auto;padding:0 60px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:25px;letter-spacing:-.7px;text-decoration:none;display:inline-flex;align-items:center;gap:12px;color:var(--ink)}.brand em{color:var(--wine);font-weight:400}.brand-mark{width:37px;height:37px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-size:25px;color:var(--wine)}nav{display:flex;align-items:center;gap:38px;font-size:13px}nav a{text-decoration:none}nav a:hover{color:var(--wine)}.nav-admin{border:1px solid var(--line);border-radius:30px;padding:10px 20px}.nav-admin span{margin-left:16px}.hero{max-width:1320px;min-height:760px;margin:auto;padding:70px 60px 64px;display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.5px;line-height:1.7;color:var(--wine);margin-bottom:23px}.hero .eyebrow{display:flex;align-items:center;gap:13px}.gold-line{width:30px;height:1px;background:var(--gold)}.hero h1{font-size:clamp(58px,6.2vw,86px);line-height:1.05;margin:28px 0}.hero-description{font-size:15px;line-height:1.95;margin:26px 0}.text-link{font-size:13px;font-weight:600;color:var(--wine);text-decoration:none;border-bottom:1px solid #c4a39f;padding-bottom:8px;display:inline-flex;gap:34px}.hero-note{display:flex;align-items:center;gap:18px;margin-top:45px;color:var(--muted);font-size:11px;line-height:1.65}.mini-rings{font-size:40px;letter-spacing:-15px;color:var(--gold);padding-right:15px;font-family:var(--serif);transform:rotate(-20deg)}.invitation-scene{position:relative;padding:32px 15px 10px;isolation:isolate}.invitation-scene:before{content:'';position:absolute;inset:8% -6% 1%;background:radial-gradient(ellipse,#e9dac9 0,transparent 69%);z-index:-3}.invitation-card{position:relative;background:var(--white);border:1px solid #dfd3bf;border-radius:220px 220px 9px 9px;padding:44px 48px 30px;max-width:455px;margin:auto;box-shadow:0 18px 45px #6349340d;text-align:center}.invitation-card:before{content:'';border:1px solid #eee5d7;border-radius:210px 210px 4px 4px;position:absolute;inset:9px;pointer-events:none}.card-ornament{color:var(--gold);display:flex;justify-content:center;align-items:center;gap:12px;font-size:38px;height:60px;margin:8px 0 10px}.card-ornament span{height:1px;width:33px;background:#d6c4a5}.invitation-card .eyebrow{display:block;font-size:9px;letter-spacing:2.3px;margin:0 0 14px}.invitation-card h2{font-size:34px;line-height:1.2;letter-spacing:-1px;margin-bottom:16px}.invitation-card>p:not(.eyebrow){font-size:12px;line-height:1.8;margin-bottom:25px}.form{text-align:left;display:flex;flex-direction:column;gap:9px}.form label{font-size:12px;color:var(--ink);font-weight:600;margin-top:10px}input{width:100%;min-width:0;background:#fffefa;border:1px solid #dcd2c4;border-radius:5px;padding:13px 14px;color:var(--ink);font-size:14px;min-height:48px}input::placeholder{color:#94887c}input:focus{border-color:var(--gold)}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;padding:14px 23px;min-height:49px;color:#fffaf5;background:var(--wine);border:1px solid var(--wine);border-radius:5px;font-size:12px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;line-height:1.5}.button:hover{background:var(--wine-dark);transform:translateY(-1px)}.button.full{width:100%;margin-top:15px;justify-content:space-between}.secondary{background:transparent;color:var(--wine);border-color:#c7afa8}.secondary:hover{background:#eee1db}.password-details{font-size:11px;color:var(--muted);margin:8px 0 1px}.password-details summary{cursor:pointer;min-height:25px}.password-details label{display:block;margin-bottom:8px}.password-wrap{position:relative}.password-wrap input{padding-right:86px}.reveal{position:absolute;right:7px;top:6px;bottom:6px;font-size:11px;border:0;background:transparent;color:var(--wine);padding:0 8px}.privacy-note{font-size:10px;color:var(--muted);margin-top:21px}.privacy-note span{color:var(--gold);font-size:16px;margin-right:6px}.scene-caption{font-family:var(--serif);font-style:italic;color:#8d7567;font-size:16px;text-align:center;margin:23px 0 0}.orbit{position:absolute;border:1px solid #c8b38c7a;border-radius:50%;width:90%;height:88%;top:6%;left:5%;z-index:-1;transform:rotate(-24deg)}.orbit-two{transform:rotate(23deg);width:99%;left:0;height:83%;top:9%;border-color:#dacbb180}.scene-star{position:absolute;color:var(--gold);font-size:40px;z-index:1}.star-one{top:13%;right:-8px}.star-two{bottom:16%;left:-4px;font-size:28px}.steps-section{max-width:1200px;margin:0 auto;border-top:1px solid var(--line);padding:61px 0 65px}.section-heading{text-align:center}.section-heading .eyebrow{margin-bottom:15px}.section-heading h2{font-size:35px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;padding:25px 50px 0}.steps article{position:relative;padding-left:40px}.step-number{position:absolute;left:0;top:-4px;color:var(--gold);font-family:var(--serif);font-size:25px;font-style:italic}.steps h3{font-size:14px;margin-bottom:10px}.steps p{font-size:12px;line-height:1.85;margin-bottom:0}.host-banner{max-width:1200px;margin:0 auto 50px;background:var(--cream);padding:38px 47px;display:flex;gap:35px;align-items:center;justify-content:space-between;border-radius:6px}.host-banner .eyebrow{margin-bottom:11px;font-size:9px}.host-banner h2{font-size:29px;margin-bottom:12px}.host-banner p:last-child{font-size:12px;margin-bottom:0}.host-banner .button{flex-shrink:0}.site-footer{border-top:1px solid var(--line);max-width:1200px;margin:0 auto;padding:28px 0 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px}.brand.small{font-size:20px}.site-footer a:not(.brand){text-decoration:none}.narrow{max-width:570px;margin:62px auto 85px;padding:0 20px;min-height:55vh}.panel{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:38px}.panel h1{font-size:43px}.panel>p{font-size:14px}.panel .eyebrow{font-size:10px}.back-link{font-size:12px;display:inline-block;text-decoration:none;margin-bottom:20px;color:var(--wine)}.notice{background:#f8e8e3;border:1px solid #e4bfb2;color:#7b352c;border-radius:5px;padding:13px;font-size:12px;line-height:1.7;margin:16px 0;text-align:left}.form small{font-size:11px;line-height:1.7;color:var(--muted)}.form-foot{margin:25px 0 0;font-size:12px!important;text-align:center}.form-foot a{color:var(--wine)}.cancel-link{text-align:center;font-size:12px;margin:8px 0}.checkbox{display:flex;align-items:center;gap:10px;font-weight:400!important}.checkbox input{width:17px;min-height:17px;accent-color:var(--wine)}.dashboard{max-width:1200px;padding:0 20px;margin:58px auto 80px;min-height:60vh}.dashboard h1{font-size:52px}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}.dashboard-heading>div>p:last-child{font-size:12px}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.actions form{margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:8px;margin:26px 0 30px;background:var(--white)}.stats>div{display:flex;align-items:center;gap:22px;padding:24px 32px;border-right:1px solid var(--line)}.stats>div:last-child{border:0}.stats strong{font-family:var(--serif);font-weight:400;font-size:40px;color:var(--wine)}.stats span{font-size:12px;color:var(--muted)}.admin-banner{background:var(--cream);padding:22px 28px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 36px}.admin-banner p{font-size:12px;margin:4px 0 0}.admin-banner strong{font-size:14px}.list-heading{display:flex;align-items:center;justify-content:space-between;margin-top:35px}.list-heading h2{font-size:30px}.list-heading>span{font-size:12px;color:var(--muted)}.stream-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.stream-card{border:1px solid var(--line);background:var(--white);padding:27px;border-radius:8px;min-width:0}.card-top{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:24px}.badge{font-size:10px;padding:5px 10px;background:#eaf0e7;color:#3b6042;border-radius:20px}.badge.expired{background:#eee9e5;color:#766054}.subtle{font-size:11px!important;color:var(--muted);overflow-wrap:anywhere}.stream-card h2{font-size:32px;margin-bottom:9px;overflow-wrap:anywhere}.stream-card p{font-size:12px;margin-bottom:9px}.stream-code{color:var(--wine);overflow-wrap:anywhere}.invite-share{display:flex;gap:18px;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.invite-share img{flex-shrink:0}.invite-share>div{min-width:0;flex:1}.invite-share label{font-size:11px}.invite-share input{font-size:11px;padding:8px;min-height:36px;margin-top:5px}.text-button{font-size:11px;background:none;border:0;color:var(--wine);padding:8px 0;margin-right:12px;text-decoration:underline;text-underline-offset:3px}.card-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.card-actions .button{padding:9px 18px;min-height:38px}.danger{color:#8e3c32}.empty{text-align:center;padding:50px}.empty p{max-width:450px;margin:0 auto 25px}.empty-heart{font-size:55px;color:var(--gold);display:block;margin-bottom:15px}.skip{position:absolute;left:10px;top:-80px;background:var(--white);padding:10px;z-index:10}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){.hero{padding-top:85px;padding-bottom:85px}}
@media(max-width:1100px){.site-header{padding:0 35px}.hero{padding:50px 35px;gap:28px}.invitation-card{padding:42px 32px 28px}.steps-section,.host-banner,.site-footer{margin-left:35px;margin-right:35px}.steps{gap:25px;padding-left:0;padding-right:0}.stats>div{padding:20px;gap:15px}.dashboard-heading .actions{max-width:200px}}
@media(max-width:760px){.site-header{height:83px;padding:0 22px}.brand{font-size:21px;gap:8px}.brand-mark{width:30px;height:30px;font-size:22px}nav{gap:10px}nav>a:first-child{display:none}.nav-admin{font-size:11px;padding:8px 12px}.nav-admin span{margin-left:7px}.hero{grid-template-columns:1fr;gap:30px;padding:45px 25px 40px}.hero-copy{text-align:center}.hero .eyebrow{justify-content:center;font-size:9px;letter-spacing:1.8px}.hero h1{font-size:64px;line-height:1.03;margin:24px 0}.hero-description{font-size:13px}.hero-note{display:none}.invitation-scene{max-width:470px;width:100%;margin:auto;padding:15px 12px 10px}.invitation-card{padding:35px 30px 27px}.invitation-card h2{font-size:31px}.scene-star.star-one{right:0}.star-two{left:0}.scene-caption{font-size:15px}.steps-section{padding:40px 0;margin:0 25px}.section-heading h2{font-size:29px;max-width:300px;margin:0 auto 30px}.section-heading .eyebrow{font-size:9px;letter-spacing:1.7px}.steps{grid-template-columns:1fr;gap:28px;max-width:350px;margin:auto;padding:0}.steps article{padding-left:48px}.steps h3{font-size:15px;margin-bottom:5px}.steps p{font-size:13px}.step-number{font-size:29px}.host-banner{margin:0 25px 30px;padding:28px;display:block}.host-banner h2{font-size:29px}.host-banner .button{margin-top:22px}.site-footer{margin:0 25px;padding:25px 0;flex-direction:column;gap:10px;text-align:center}.narrow{margin:35px auto 50px}.panel{padding:27px 22px}.panel h1{font-size:38px}.dashboard{margin:35px auto 50px}.dashboard h1{font-size:39px}.dashboard-heading{display:block}.dashboard-heading .actions{max-width:none;margin:24px 0}.stats{grid-template-columns:1fr}.stats>div{border-right:0;border-bottom:1px solid var(--line);padding:10px 23px}.stats strong{width:40px;font-size:32px}.admin-banner{display:block;padding:24px}.admin-banner .button{margin-top:17px}.list-heading{display:block}.list-heading h2{margin-bottom:6px}.list-heading>span{display:block;margin-bottom:20px}.stream-grid{grid-template-columns:1fr}.stream-card{padding:22px}.invite-share{gap:12px}.invite-share img{width:85px;height:85px}.card-top{flex-wrap:wrap}.form-page{max-width:570px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Decorative rings stay inside the page at every viewport. */
.hero{overflow:hidden}

@media(max-width:760px){.hero h1{font-size:48px;line-height:1.08}}
