@charset "UTF-8";
:root{--green:#103d32;--deep:#0c3028;--cream:#faf7ef;--paper:#fffdf7;--gold:#e4c58a;--ink:#203f35;--muted:#5a6b62;--line:#dedfd2;--radius:22px;font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:radial-gradient(ellipse at 88% 10%,#205345 0,transparent 48%),var(--green);color:var(--cream);font-size:16px;line-height:1.65;min-height:100svh}body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.055;background-image:radial-gradient(var(--gold) .75px,transparent .75px);background-size:9px 9px;z-index:-1}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a,button,input,textarea,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #bb7517;outline-offset:4px}.wrap{width:min(1160px,calc(100% - 40px));margin-inline:auto}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.13;letter-spacing:-.035em}h1{font-size:clamp(2.55rem,6vw,4.65rem);margin-bottom:24px;overflow-wrap:anywhere}h2{font-size:clamp(1.75rem,3vw,2.15rem);margin-bottom:18px;overflow-wrap:anywhere}h3{font-size:1.04rem;line-height:1.4;margin-bottom:10px;font-weight:650}p{margin-bottom:20px}em{font-weight:400;color:var(--gold)}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:30px;border-bottom:1px solid #ffffff24}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:Georgia,serif;font-size:1.65rem;line-height:1.1;flex-shrink:0}.brand-mark{color:var(--gold);font-size:2.4rem}.brand small{display:block;margin-top:7px;font-family:"Segoe UI",sans-serif;font-size:.59rem;text-transform:uppercase;letter-spacing:.19em;color:#d3ded4}.site-header nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.site-header nav form{margin:0}.nav-link{display:inline-block;padding:10px 8px;background:transparent;border:0;color:var(--cream);text-decoration:none;font-size:.88rem}.nav-link:hover{color:var(--gold)}.site-footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:76px;padding-block:28px;border-top:1px solid #ffffff24;color:#cfdbd2;font-size:.79rem}.site-footer span span{color:var(--gold);margin-right:6px}.site-footer a:hover{color:var(--gold)}.eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--gold);margin-bottom:22px}.eyebrow span{margin-right:8px;font-size:1rem}.hero{display:grid;gap:42px;padding-block:48px 58px;align-items:center}.hero-copy h1{margin-bottom:24px}.lead{color:#d0ded5;max-width:480px;font-size:1.02rem;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:13px 21px;border:1px solid transparent;border-radius:10px;font-weight:650;text-decoration:none;font-size:.9rem;line-height:1.4;text-align:center;transition:background .18s,transform .18s,box-shadow .18s}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)}.button.gold{background:var(--gold);color:#233d31;box-shadow:0 6px 28px #00000015}.button.gold:hover{background:#f1d49b}.button.primary{background:var(--green);color:var(--paper)}.button.primary:hover{background:#1c5746}.button.outline{border-color:#a1afa3;background:transparent;color:var(--green)}.button.outline:hover{background:#ebeee4}.button.full{width:100%}.text-link{font-size:.86rem;text-decoration:none;border-bottom:1px solid #e4c58a70;padding-block:5px}.text-link:hover{color:var(--gold)}.dark-link{color:var(--green)}.quiet-note{color:#b6cabd;font-size:.73rem;margin-top:20px}.quiet-note span{margin-right:5px;font-size:1rem}.closed-label{border:1px solid #ffffff40;border-radius:10px;padding:12px 18px;color:#d5dfd6}.invitation{overflow:hidden;border-radius:var(--radius);background:var(--cream);color:var(--ink);box-shadow:0 22px 65px #031b2930;transform:rotate(1deg)}.invitation-body{padding:25px 27px 22px}.invitation-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px;flex-wrap:wrap}.invitation-top .eyebrow{color:#67705a;margin:0;font-size:.6rem}.invitation h2{font-size:1.8rem;margin-bottom:24px}.badge{display:inline-flex;gap:6px;align-items:center;font-size:.66rem;letter-spacing:.015em;border:1px solid #cfd5c7;border-radius:30px;padding:5px 11px;background:#eceee4;color:#3d5949;white-space:normal;line-height:1.5}.badge.open{background:#e6eddf;border-color:#c5d7bc;color:#345f37}.badge span{font-size:.5rem}.badge.light{color:var(--cream);background:#ffffff0a;border-color:#ffffff45}.facts{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 24px;padding-bottom:22px;border-bottom:1px solid var(--line)}.facts div{min-width:0}.facts dt{color:var(--muted);font-size:.71rem;margin-bottom:7px}.facts dd{font-size:1rem;font-weight:650;margin:0}.people-count{display:flex;align-items:center;gap:12px;font-size:.78rem;color:#637064}.people-count strong{color:var(--green);font-size:1.05rem;margin-right:4px}.people-symbol{width:33px;height:33px;border:1px solid #d0d6c8;border-radius:50%;display:grid;place-items:center;font-size:1.2rem;color:var(--green)}.little-star{margin-left:auto;font-size:1.8rem;color:#6d7b56}.gift-scene{height:230px;background:radial-gradient(ellipse at center,#e5eadb,#d4dfcd);position:relative;overflow:hidden;display:grid;place-items:center}.scene-ring{position:absolute;width:265px;height:265px;border:1px solid #84996e30;border-radius:50%;top:-17px}.scene-ring::before{content:"";position:absolute;inset:15px;border:1px solid #84996e30;border-radius:50%}.scene-star{position:absolute;color:#637654;font-size:2rem}.star-one{left:18%;top:25px;transform:rotate(13deg)}.star-two{right:15%;top:80px;font-size:2.5rem}.star-three{left:24%;bottom:48px;font-size:1rem}.scene-caption{position:absolute;bottom:14px;font-family:Georgia,serif;font-style:italic;font-size:.78rem;letter-spacing:.025em;color:#506548}.gift{position:relative;width:146px;height:142px;transform:rotate(-10deg);animation:float-gift 6s ease-in-out infinite;margin-top:15px}.gift-box{position:absolute;inset:35px 5px 0;background:linear-gradient(100deg,#1d5845,#2b6852);border-radius:3px;box-shadow:10px 18px 21px #33522f29}.gift-lid{position:absolute;left:0;right:0;top:28px;height:25px;background:linear-gradient(100deg,#2c6b52,#387a5e);border-radius:3px;z-index:2;box-shadow:0 3px 4px #173e3320}.gift-ribbon{position:absolute;width:23px;left:59px;top:28px;bottom:0;background:linear-gradient(90deg,#cfac6b,#e9cb8a,#c7a568);z-index:3}.bow{position:absolute;top:-4px;width:50px;height:34px;border:9px solid #d9b773;z-index:4}.bow.left{left:26px;border-radius:75% 80% 10% 70%;transform:rotate(26deg)}.bow.right{left:69px;border-radius:80% 75% 70% 10%;transform:rotate(-26deg)}.gift-tag{position:absolute;z-index:5;right:-21px;top:73px;transform:rotate(24deg);padding:5px 8px;background:#f5ead4;color:#46604b;font-size:.54rem;border-radius:2px;box-shadow:1px 2px 4px #0002}.gift-tag::before{content:"";position:absolute;height:36px;width:1px;background:#dac293;left:3px;top:-33px;transform:rotate(-35deg)}.how-section{border-top:1px solid #ffffff24;padding-top:40px}.section-heading{margin-bottom:32px}.section-heading .eyebrow{margin-bottom:13px}.section-heading h2{font-size:2rem}.steps{display:grid;gap:25px}.steps article{position:relative;padding:0 0 0 45px}.step-number{position:absolute;left:0;top:0;color:var(--gold);font-family:Georgia,serif;font-style:italic;font-size:1.2rem}.steps h3{color:#f5f2e8;font-size:.98rem;margin-bottom:8px}.steps p{font-size:.85rem;line-height:1.8;color:#c5d7ca;margin:0;max-width:290px}.narrow{max-width:600px;margin-inline:auto}.page-heading{padding-top:42px;margin-bottom:30px}.page-heading .eyebrow{margin-bottom:16px}.page-heading h1{font-size:clamp(2.4rem,5vw,3.6rem);margin-bottom:12px}.page-heading p:last-child{color:#ccdbcf;margin-bottom:0}.gold-text{color:var(--gold)}.card{background:var(--cream);color:var(--ink);padding:26px;border:1px solid #ffffff35;border-radius:var(--radius);box-shadow:0 12px 36px #051e2520;min-width:0}.card p{color:var(--muted);font-size:.9rem}.card .eyebrow{color:#66734d;margin-bottom:16px}.card h2{font-size:1.85rem}.card h3{font-weight:650}.form-stack{display:flex;flex-direction:column;gap:22px}.form-stack>div{min-width:0}label{display:block;font-size:.83rem;font-weight:650;margin-bottom:8px;color:var(--ink)}.required{font-weight:400;color:var(--muted);font-size:.75rem}input:not([type=checkbox]),textarea,select{display:block;width:100%;min-width:0;border:1px solid #c5cec0;background:var(--paper);border-radius:8px;color:var(--ink);padding:12px 13px;line-height:1.5;min-height:48px}input::placeholder,textarea::placeholder{color:#788273;opacity:1}input[readonly]{background:#eef0e7;font-size:.82rem}textarea{resize:vertical;min-height:130px}select{padding-right:26px}input[type=checkbox]{width:20px;height:20px;accent-color:var(--green);flex-shrink:0;margin:2px 0 0}.checkbox-label{display:flex;gap:12px;align-items:flex-start;font-weight:400;line-height:1.7;font-size:.85rem;margin:0}.card .field-hint,.field-hint{font-size:.73rem;line-height:1.65;margin:7px 0 0;color:#637262}.subtle-box{background:#ebeee2;padding:17px 18px;border-radius:10px;color:#465c47;font-size:.83rem;line-height:1.7}.subtle-box strong{color:var(--green)}.notice{background:#ebeee2;color:var(--ink);border:1px solid #c5d1bb;border-left:4px solid #7a9363;border-radius:10px;padding:15px 18px;margin:20px 0;font-size:.87rem;overflow-wrap:anywhere}.notice.error{background:#fff0e9;color:#84452c;border-color:#e3bea9}.notice.success{background:#edf4e7}.copy-row{display:flex;gap:9px;flex-wrap:wrap}.copy-row input{flex:1 1 220px}.copy-row .button{flex:1 1 auto;white-space:normal}.copy-status{min-height:1.4em}.spaced{margin-top:22px}.status-seal{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e7edda;color:#486a3c;margin:0 0 20px;font-size:1.5rem}.panel-grid,.admin-grid{display:grid;gap:24px}.result-card{display:flex;flex-direction:column}.result-card .facts{margin-top:auto;padding-top:24px}.empty-state{padding:20px 0;text-align:center}.empty-state>span:first-child{color:#778657;font-size:2.6rem}.empty-state h2{margin-top:15px}.empty-state .badge{font-size:.73rem}.empty-state.compact{padding:25px 0}.empty-state.compact p{max-width:280px;margin-inline:auto}.result-star{color:#6e8252;font-size:3.6rem;line-height:1.3;margin-bottom:20px}.revealed{text-align:center;animation:reveal .8s ease-out both}.revealed h2{font-family:"Segoe UI",system-ui,sans-serif;font-size:1rem;letter-spacing:0}.card .recipient-name{font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,3.4rem);color:var(--green);line-height:1.2;overflow-wrap:anywhere;margin-bottom:25px}.wishlist-result{background:#eceee2;border:1px solid #dfe3d1;border-radius:14px;padding:20px;text-align:left}.wishlist-result h3{font-size:.81rem}.wishlist-result p{margin:0}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.card .privacy-note{font-size:.73rem;border-top:1px solid var(--line);padding-top:20px;margin:28px 0 0}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.admin-heading h1{font-size:clamp(2.3rem,4.5vw,3.4rem)}.invite-strip{margin-bottom:24px;display:grid;gap:15px}.invite-strip h2{font-size:1.6rem;margin-bottom:8px}.invite-strip p{margin:0}.invite-strip .copy-status{margin-top:5px}.section-divider{border-top:1px solid var(--line);padding-top:26px;margin-top:30px}.field-grid{display:grid;gap:18px}.field-grid>div{min-width:0}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.count-bubble{background:#e8ecdf;border-radius:50%;min-width:32px;padding:3px 10px;text-align:center;font-size:.85rem;margin-bottom:18px}.participant-list,.exclusion-list{list-style:none;margin:0 0 20px;padding:0}.participant-list li,.exclusion-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 0;border-bottom:1px solid var(--line);font-size:.86rem}.person-name{display:flex;align-items:center;gap:10px;overflow-wrap:anywhere;max-width:100%}.avatar{display:grid;place-items:center;flex-shrink:0;background:#e6eadb;color:#57704b;width:33px;height:33px;border-radius:50%;text-transform:uppercase;font-family:Georgia,serif;font-size:1rem}.person-actions{display:flex;gap:4px;margin-left:auto}.mini-button{padding:10px 8px;min-height:44px;font-size:.73rem;background:transparent;color:var(--green);border:0;border-radius:6px;text-decoration:underline;text-underline-offset:3px}.mini-button:hover{background:#e2e7d8}.mini-button.danger{color:#92452e}.exclusion-list li>span{overflow-wrap:anywhere;max-width:100%}.pair-arrow{color:#869773;padding-inline:4px}.draw-card{background:#f2eddf;border-color:#e4c58a85}.draw-card .subtle-box{background:#e8e4d6}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;z-index:10;top:10px;left:10px;padding:12px;background:var(--gold);color:var(--green)}
@keyframes float-gift{0%,100%{transform:rotate(-10deg) translateY(0)}50%{transform:rotate(-7deg) translateY(-7px)}}@keyframes reveal{from{opacity:0;transform:translateY(15px) scale(.97);filter:blur(3px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@media(min-width:600px){.wrap{width:min(1160px,calc(100% - 64px))}.card{padding:32px}.field-grid{grid-template-columns:1fr 1fr}.copy-row{flex-wrap:nowrap}.copy-row input{flex-basis:0}.copy-row .button{flex:0 0 auto}.steps{grid-template-columns:repeat(3,1fr);gap:24px}.steps article{padding:0}.step-number{position:static;display:block;margin-bottom:14px}.hero{padding-top:60px}.gift-scene{height:260px}}
@media(min-width:900px){.site-header{padding-block:32px}.hero{grid-template-columns:1.13fr 1fr;gap:80px;padding-block:76px 78px}.invitation{max-width:450px}.hero-copy{padding-bottom:10px}.invitation-body{padding:27px 30px}.how-section{padding-top:34px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.section-heading .eyebrow{margin:0}.section-heading h2{margin:0;font-size:1.75rem}.steps article{padding:0 25px 0 44px}.steps article+article{border-left:1px solid #ffffff24;padding-left:60px}.step-number{position:absolute;left:0;top:-3px}.steps article+article .step-number{left:20px}.panel-grid{grid-template-columns:1.12fr 1fr;align-items:start}.admin-grid{grid-template-columns:1fr 1fr;align-items:start}.invite-strip{grid-template-columns:1fr 1.2fr;gap:30px;align-items:center}.page-heading{padding-top:48px}.site-footer{margin-top:70px}}
@media(max-width:380px){.wrap{width:calc(100% - 28px)}.site-header{gap:8px}.brand{font-size:1.3rem;gap:7px}.brand-mark{font-size:1.9rem}.brand small{font-size:.5rem}.nav-link{font-size:.75rem;padding:8px 4px}.card{padding:20px}.invitation-body{padding:22px}.hero-actions{gap:15px}.facts{gap:10px}.facts dd{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.button:hover{transform:none}}
