
body{--party-paper:#fff6e7;--party-ink:#241c13;--party-gold:#d0a14e;--party-honey:#efd29b;--party-deep-gold:#98702f;--party-muted:#766449;font-family:'Plus Jakarta Sans',Arial,sans-serif;color:var(--party-ink)}
body *{box-sizing:border-box}
body .birthday-page{background:var(--party-paper);position:relative;overflow:hidden}
body .birthday-header{padding:25px 36px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
body .birthday-wordmark{display:flex;align-items:center;gap:15px}
body .birthday-wordmark>b{font:800 32px/1 'Bricolage Grotesque',Arial,sans-serif;letter-spacing:-.09em}
body .birthday-wordmark>b>span{color:var(--party-deep-gold);font-size:20px;margin-left:7px;vertical-align:top}
body .birthday-wordmark>span{font-size:11px;font-weight:800;line-height:1.6;letter-spacing:.055em}
body .birthday-header .site-nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
body button{font-family:'Plus Jakarta Sans',Arial,sans-serif}
body .birthday-nav-link{border:0;background:none;color:var(--party-ink);font-size:15px;font-weight:700;padding:12px 0;min-height:44px}
body .birthday-nav-button{border:0;background:var(--party-ink);color:var(--party-paper);border-radius:9px;font-size:16px;font-weight:800;line-height:1.4;padding:14px 20px;min-height:52px}
body .birthday-opening{padding:23px 32px 30px;text-align:center;position:relative}
body .birthday-intro{font-size:12px;font-weight:800;letter-spacing:.09em;margin:0 0 22px;color:var(--party-deep-gold)}
body .birthday-name>span{font-size:19px;font-weight:800;letter-spacing:.15em;display:block;margin-bottom:9px}
body .birthday-name h1{font-family:'Bricolage Grotesque',Arial,sans-serif;font-size:clamp(48px,12.7vw,114px);font-weight:800;line-height:.89;letter-spacing:-.075em;margin:0;color:var(--party-ink)}
body .birthday-name h1>span{font-size:.64em;letter-spacing:-.06em;color:var(--party-deep-gold);display:inline-block;margin-top:13px}
body .birthday-subtitle{font-size:17px;line-height:1.6;font-weight:600;margin:23px 0 10px;color:var(--party-muted)}
body .portrait-composition{position:relative;max-width:800px;min-height:363px;margin:4px auto 0;display:grid;grid-template-columns:1fr minmax(0,320px) 1fr;align-items:center;gap:20px}
body .portrait-sun{width:430px;height:310px;border-radius:50%;background:var(--party-honey);position:absolute;left:50%;top:44px;transform:translateX(-50%);z-index:0}
body .birthday-portrait{width:100%;height:351px;position:relative;z-index:1;grid-column:2;grid-row:1;overflow:hidden;border-radius:20px 20px 4px 4px;box-shadow:0 15px 35px #83622c17}
body .birthday-portrait img{width:112%;height:112%;object-fit:cover;object-position:center 24%;display:block;transform:translate(-5%,-3%)}
body .birthday-date{justify-self:end;align-self:center;z-index:2;grid-column:1;grid-row:1;transform:rotate(-8deg);background:var(--party-ink);color:var(--party-paper);padding:21px 23px 22px;border-radius:15px;text-align:left;box-shadow:5px 7px 0 var(--party-gold)}
body .birthday-date>b{font:800 76px/.93 'Bricolage Grotesque',Arial,sans-serif;letter-spacing:-.08em;color:var(--party-honey);display:block;margin-bottom:10px}
body .birthday-date>span{font-size:12px;font-weight:800;line-height:1.6;letter-spacing:.05em}
body .birthday-side-note{position:relative;z-index:2;grid-column:3;grid-row:1;justify-self:start;text-align:left;transform:rotate(4deg)}
body .birthday-side-note>span{color:var(--party-deep-gold);font-size:49px;line-height:1}
body .birthday-side-note p{font-size:17px;font-weight:600;line-height:1.65;margin:10px 0 0}
body .birthday-side-note p>b{font-weight:800}
body .birthday-spark{position:absolute;color:var(--party-deep-gold);z-index:2}
body .spark-left{font-size:29px;left:10%;top:16px}
body .spark-right{font-size:25px;right:20%;bottom:5px}
body .birthday-actions{display:flex;align-items:center;justify-content:center;gap:17px;flex-wrap:wrap;margin:21px 0 23px;position:relative;z-index:3}
body .birthday-primary,body .birthday-secondary{border:0;border-radius:10px;font-size:18px;font-weight:800;line-height:1.4;min-height:58px;padding:16px 23px;display:flex;align-items:center;justify-content:center;gap:18px}
body .birthday-primary{background:var(--party-ink);color:var(--party-paper)}
body .birthday-primary>span{color:var(--party-honey);font-size:22px}
body .birthday-secondary{background:var(--party-honey);color:var(--party-ink)}
body .birthday-week-line{display:flex;align-items:center;justify-content:center;gap:17px;flex-wrap:wrap;font-size:12px;font-weight:700;line-height:1.6;letter-spacing:.04em}
body .birthday-week-line>b{font-weight:800}
body .birthday-week-line>span{color:var(--party-muted)}
body .birthday-bottom{background:var(--party-gold);padding:17px 24px;display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;font-size:12px;font-weight:800;letter-spacing:.07em;line-height:1.6}
body .birthday-bottom>b{font-size:17px}
body [hidden]{display:none!important}
body .opening-wish,body .opening-week{max-width:590px;background:var(--party-honey);margin:26px auto 0;padding:24px;border-radius:12px;text-align:left}
body .opening-wish label{font-size:18px;font-weight:800;display:block;margin-bottom:12px}
body .opening-wish textarea{width:100%;border:2px solid var(--party-deep-gold);border-radius:8px;background:var(--party-paper);color:var(--party-ink);padding:14px;font:500 16px/1.6 'Plus Jakarta Sans',Arial,sans-serif;resize:vertical}
body .opening-week>b{display:block;font-size:20px;font-weight:800;line-height:1.5;margin-bottom:17px}
body .opening-week>div{display:grid;grid-template-columns:75px 1fr;gap:10px;padding:10px 0;font-size:14px;line-height:1.6}
body .opening-week>div>span{font-weight:800}
body .opening-week .party-day{background:var(--party-ink);color:var(--party-paper);border-radius:6px;padding:10px 12px;margin:4px -12px;font-weight:800}
@media(max-width:640px){
body .birthday-header{padding:21px 20px;gap:16px}
body .birthday-header .site-nav{gap:0;margin-left:auto}
body .birthday-nav-link{display:none}
body .birthday-nav-button{font-size:16px;padding:13px 16px}
body .birthday-wordmark>span{display:none}
body .birthday-opening{padding:19px 20px 27px}
body .birthday-intro{font-size:11px;letter-spacing:.03em;line-height:1.6;max-width:260px;margin:0 auto 22px}
body .birthday-name>span{font-size:15px}
body .birthday-name h1{font-size:clamp(46px,13vw,78px)}
body .birthday-name h1>span{font-size:.62em;margin-top:10px}
body .birthday-subtitle{font-size:16px;max-width:310px;margin:21px auto 15px}
body .portrait-composition{grid-template-columns:1fr;min-height:342px;max-width:350px;gap:0;margin-top:18px}
body .portrait-sun{width:100%;height:265px;top:44px}
body .birthday-portrait{width:75%;height:312px;justify-self:center;grid-column:1}
body .birthday-date{position:absolute;left:0;top:37px;padding:15px 16px;transform:rotate(-6deg);border-radius:11px;box-shadow:4px 5px 0 var(--party-gold)}
body .birthday-date>b{font-size:50px;margin-bottom:7px}
body .birthday-date>span{font-size:11px;line-height:1.5;letter-spacing:0}
body .birthday-side-note{grid-column:1;grid-row:2;justify-self:center;transform:none;text-align:center;margin-top:14px}
body .birthday-side-note>span{display:none}
body .birthday-side-note p{font-size:14px;line-height:1.5;margin:0}
body .birthday-side-note br{display:none}
body .spark-left{left:3%;top:-12px;font-size:24px}
body .spark-right{right:1%;bottom:45px;font-size:30px}
body .birthday-actions{flex-direction:column;align-items:stretch;gap:12px;margin:25px auto 22px;max-width:360px}
body .birthday-primary,body .birthday-secondary{font-size:18px;min-height:58px}
body .birthday-week-line{gap:4px 16px;font-size:11px}
body .birthday-bottom{gap:8px 14px;font-size:11px;letter-spacing:0;padding:16px 20px}
body .birthday-bottom>b:last-of-type{display:none}
body .birthday-bottom>span:last-child{width:100%;text-align:center}
body .opening-wish,body .opening-week{padding:20px}
}

/* Shared page layout */
html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;font-size:17px;line-height:1.7;background:var(--party-paper)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.65;cursor:wait}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Bricolage Grotesque',Arial,sans-serif;font-weight:800;letter-spacing:-.055em;line-height:1.08}h2{font-size:clamp(34px,4.6vw,54px)}h3{font-size:28px}.eyebrow{font-size:13px;line-height:1.6;font-weight:800;letter-spacing:.09em;color:var(--party-deep-gold);margin-bottom:16px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--party-deep-gold);outline-offset:5px}.skip-link{position:absolute;left:20px;top:-90px;z-index:50;background:var(--party-ink);color:var(--party-paper);padding:12px 20px}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.birthday-header{max-width:1240px;margin:auto;position:relative;z-index:10}.birthday-wordmark{text-decoration:none}.menu-toggle{display:none;border:0;background:var(--party-ink);color:var(--party-paper);font-size:16px;font-weight:800;padding:12px 17px;min-height:50px;border-radius:9px}.menu-toggle span{margin-left:9px}.birthday-header .site-nav{gap:23px}.site-nav>a{font-size:15px;font-weight:800;line-height:1.4;padding:10px 0;min-height:44px;display:flex;align-items:center;border-bottom:3px solid transparent}.site-nav>a[aria-current=page]{border-bottom-color:var(--party-gold)}body .birthday-actions a{font-family:'Plus Jakarta Sans',Arial,sans-serif}.birthday-opening{max-width:1220px;margin:auto}.inner-page{max-width:1220px;margin:0 auto;padding:64px 36px 80px}.page-heading{margin-bottom:55px}.page-heading h1{font-size:clamp(45px,7.5vw,84px);line-height:1.02;margin-bottom:25px}.page-heading>p:last-child,.page-heading>div>p:last-child{max-width:660px;font-size:18px;color:var(--party-muted);line-height:1.8;margin-bottom:0}.action{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:58px;border:0;border-radius:10px;padding:16px 22px;font-size:17px;line-height:1.45;font-weight:800;font-family:'Plus Jakarta Sans',Arial,sans-serif}.action span{font-size:22px;line-height:1}.action-dark{background:var(--party-ink);color:var(--party-paper)}.action-dark span{color:var(--party-honey)}.action-gold{background:var(--party-honey);color:var(--party-ink)}.text-action{display:inline-flex;align-items:center;gap:9px;padding:9px 0;min-height:44px;font-size:16px;line-height:1.5;font-weight:800;border:0;background:none;color:var(--party-ink)}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:30px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:360px;font-size:17px;color:var(--party-muted);margin-bottom:4px}.home-countdown{max-width:1160px;margin:65px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:42px;border-radius:18px;background:var(--party-ink);color:var(--party-paper)}.home-countdown h2{font-size:37px;margin:0}.home-countdown .eyebrow{color:var(--party-honey)}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}.countdown b{display:block;font:800 55px/1 'Bricolage Grotesque',Arial,sans-serif;letter-spacing:-.07em;color:var(--party-honey)}.countdown span{font-size:11px;font-weight:800;letter-spacing:.03em;display:block;margin-top:10px}.home-paths{max-width:1220px;padding:70px 36px 85px;margin:auto}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.path-grid>a{background:var(--party-honey);padding:30px;border-radius:16px;position:relative;min-height:215px;transition:transform .2s}.path-grid>a:hover{transform:translateY(-4px)}.path-grid>a:nth-child(2){background:var(--party-ink);color:var(--party-paper)}.path-grid>a>span{font-size:12px;font-weight:800;letter-spacing:.07em}.path-grid h3{font-size:32px;margin:24px 0 25px}.path-grid>a>b{font-size:31px;position:absolute;right:26px;bottom:18px}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center}.about-photo{height:540px;position:relative;overflow:hidden;border-radius:18px}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center 24%}.photo-signature{position:absolute;bottom:20px;left:20px;right:20px;background:var(--party-ink);color:var(--party-paper);padding:15px 20px;border-radius:9px;font-size:18px;font-weight:800}.about-copy h2{font-size:clamp(38px,4.8vw,58px);margin-bottom:24px}.about-copy>p:not(.eyebrow){color:var(--party-muted);font-size:17px;line-height:1.8}.about-copy .role-line{font-weight:800;color:var(--party-ink)!important}.about-copy .action{margin-top:10px}.statement{margin-top:80px;background:var(--party-honey);border-radius:20px;padding:45px;display:grid;grid-template-columns:auto 1fr 1fr;gap:35px;align-items:center}.statement>span{font-size:67px;line-height:1}.statement h2{margin-bottom:0;font-size:47px}.statement>div>p{font-size:17px;line-height:1.8}.itinerary{background:var(--party-ink);color:var(--party-paper);padding:40px;border-radius:20px}.itinerary .eyebrow{color:var(--party-honey)}.itinerary h2{font-size:43px}.date-tag{background:var(--party-honey);color:var(--party-ink);font-size:13px;font-weight:800;line-height:1.4;padding:12px 16px;border-radius:8px;white-space:nowrap}.day-picks{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:28px}.day-picks button{border:0;background:#3b3022;color:var(--party-paper);padding:15px 8px;border-radius:10px;font-size:12px;font-weight:800;line-height:1.5}.day-picks button>span{display:block}.day-picks button>b{display:block;font:800 37px/1.15 'Bricolage Grotesque',Arial,sans-serif;margin:4px 0}.day-picks button[aria-pressed=true]{background:var(--party-honey);color:var(--party-ink)}.day-detail{background:var(--party-paper);color:var(--party-ink);border-radius:14px;padding:35px;display:grid;grid-template-columns:180px 1fr;gap:32px;align-items:center}.day-number{display:flex;flex-direction:column;align-items:center}.day-number>b{font:800 102px/.94 'Bricolage Grotesque',Arial,sans-serif;letter-spacing:-.08em;color:var(--party-deep-gold)}.day-number>span{font-size:12px;font-weight:800;margin-top:15px}.day-detail .eyebrow{color:var(--party-deep-gold);margin-bottom:10px}.day-detail h3{font-size:36px;line-height:1.1;margin-bottom:16px}.day-detail p{font-size:17px;line-height:1.7}.day-detail .day-note{font-size:14px;color:var(--party-muted);margin-bottom:0}.travel-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:25px;margin-top:35px}.hotel-card,.save-card{padding:38px;border-radius:18px;background:var(--party-honey)}.hotel-card h2{font-size:37px}.hotel-card p:not(.eyebrow){font-size:17px;color:#5f4b30;line-height:1.8}.save-card{background:#ede4d3;position:relative}.save-card>span{font-size:53px;line-height:1;color:var(--party-deep-gold);display:block;margin-bottom:20px}.save-card h2{font-size:40px;margin-bottom:27px}.faq-section{display:grid;grid-template-columns:.7fr 1fr;gap:65px;margin-top:75px}.faq-section details{border-bottom:2px solid var(--party-honey);padding:22px 0}.faq-section details:first-child{padding-top:0}.faq-section summary{font-size:18px;font-weight:800;line-height:1.55;cursor:pointer}.faq-section details p{font-size:16px;line-height:1.8;color:var(--party-muted);margin:16px 0 0}.heading-with-action{display:flex;gap:40px;align-items:center;justify-content:space-between}.heading-with-action>div:last-child{min-width:270px}.wall-total{font-size:14px;color:var(--party-muted);display:block;margin-top:18px}.wall-total>b{font-size:27px;color:var(--party-ink);margin-right:6px;font-weight:800}.write-section{display:grid;grid-template-columns:.75fr 1fr;gap:65px;background:var(--party-honey);border-radius:20px;padding:42px;margin-bottom:45px;align-items:start}.write-section>div>h2{font-size:52px;margin:20px 0}.write-section>div>p:not(.eyebrow){font-size:17px;line-height:1.8;color:#6b5636}.writing-star{display:block;font-size:99px;color:var(--party-deep-gold);line-height:1;margin-top:30px}.form-card{background:var(--party-paper);padding:32px;border-radius:14px}.form-card h3{font-size:30px;line-height:1.12;margin:0 0 24px}.form-heading{display:flex;align-items:start;gap:16px;justify-content:space-between}.form-heading h3{margin-bottom:20px}.close-form,.dialog-close{border:0;background:var(--party-honey);color:var(--party-ink);border-radius:50%;min-width:44px;height:44px;font-size:20px;line-height:1}.form-field{margin-bottom:21px}.form-field>label{display:block;font-size:15px;font-weight:800;margin-bottom:9px}.form-field label small{font-size:12px;font-weight:600;color:var(--party-muted)}.form-field label span{color:var(--party-deep-gold)}.form-field input,.form-field select,.form-field textarea{display:block;width:100%;padding:13px 15px;min-height:51px;font-size:16px;font-weight:500;line-height:1.5;border:2px solid #decaab;border-radius:8px;color:var(--party-ink);background:#fffbf4}.form-field textarea{resize:vertical;min-height:135px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--party-deep-gold);outline-offset:2px}.message-tools{display:flex;justify-content:space-between;gap:15px;color:var(--party-muted);font-size:11px;line-height:1.5;margin-top:9px}.message-tools span:last-child{white-space:nowrap}.message-kinds{border:0;padding:0;margin:0 0 22px;display:flex;flex-wrap:wrap;gap:9px}.message-kinds legend{font-size:15px;font-weight:800;line-height:1.4;margin-bottom:11px}.message-kinds label{flex:1;position:relative;min-width:92px}.message-kinds input{position:absolute;opacity:0;width:1px;height:1px}.message-kinds span{display:block;text-align:center;border:2px solid #decaab;border-radius:8px;padding:10px 8px;min-height:46px;font-size:14px;line-height:1.5;font-weight:800;cursor:pointer}.message-kinds input:checked+span{border-color:var(--party-ink);background:var(--party-ink);color:var(--party-paper)}.message-kinds input:focus-visible+span{outline:3px solid var(--party-deep-gold);outline-offset:3px}.consent{display:flex;gap:11px;font-size:13px;font-weight:600;line-height:1.65;margin-top:8px}.consent input{accent-color:var(--party-ink);width:19px;height:19px;flex-shrink:0;margin:2px 0 0}.submit-action{width:100%;justify-content:space-between;margin-top:24px}.form-status{font-size:13px;line-height:1.7;color:var(--party-muted);margin:14px 0 0}.form-status.error{color:#9a3021}.form-status.success{color:#2f663b}.form-success{padding:25px 0;text-align:center}.form-success>span{font-size:58px;line-height:1;color:var(--party-deep-gold);display:block;margin-bottom:20px}.form-success h3{font-size:33px;margin-bottom:16px}.form-success p{font-size:16px;line-height:1.8}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.wall-controls{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap;margin-bottom:30px}.wall-filters{display:flex;gap:9px;flex-wrap:wrap}.wall-filters button{border:0;background:#eee3cf;color:var(--party-ink);border-radius:8px;font-size:15px;font-weight:800;padding:12px 17px;min-height:48px}.wall-filters button[aria-pressed=true]{background:var(--party-ink);color:var(--party-paper)}.wall-search{position:relative;flex:0 1 320px;min-width:230px}.wall-search input{width:100%;border:2px solid #decbaa;background:#fffbf4;border-radius:9px;min-height:50px;padding:11px 39px 11px 15px;font-size:15px}.wall-search>span:last-child{position:absolute;right:15px;top:6px;font-size:27px;line-height:1}.wishes-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.wish-card{display:flex;flex-direction:column;background:#f2e5cc;border-radius:15px;padding:25px;min-width:0;position:relative}.wish-card:nth-child(3n+2){background:#eee6d7}.wish-kind{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--party-deep-gold);margin-bottom:17px}.wish-card .wish-message{font-family:'Bricolage Grotesque',Arial,sans-serif;font-weight:600;font-size:23px;line-height:1.45;letter-spacing:-.02em;overflow-wrap:anywhere;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:17px}.wish-author{display:flex;align-items:center;gap:11px;margin-top:auto}.wish-avatar{width:40px;height:40px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:var(--party-ink);color:var(--party-honey);font-size:15px;font-weight:800}.wish-author strong{font-size:14px;font-weight:800;line-height:1.5;display:block;overflow-wrap:anywhere}.wish-author small{font-size:12px;line-height:1.5;color:var(--party-muted);display:block}.wish-card-actions{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:18px;padding-top:15px;border-top:1px solid #c5aa8060}.wish-card-actions button{border:0;background:none;color:var(--party-ink);font-size:14px;font-weight:800;min-height:44px;padding:5px 0;line-height:1.5}.wish-card-actions .heart-button{background:var(--party-paper);padding:7px 12px;border-radius:9px;white-space:nowrap}.heart-button[aria-pressed=true]{color:#93412e!important}.wall-empty{grid-column:1/-1;background:#f0e5d0;padding:50px 25px;text-align:center;border-radius:18px}.wall-empty>span{font-size:56px;line-height:1;color:var(--party-deep-gold)}.wall-empty h3{font-size:37px;margin:20px 0 17px}.wall-empty p{font-size:17px;margin-bottom:25px}.wall-foot{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;margin-top:25px}.wall-foot p{font-size:14px;margin:0;color:var(--party-muted)}.owner-panel{margin-top:50px;border-radius:14px;background:#eadbc0;padding:26px}.owner-panel summary{cursor:pointer;font-size:18px;line-height:1.6;font-weight:800}.owner-panel p{font-size:14px;line-height:1.8}.review-card,.inbox-card{border-top:2px solid #d6c29e;margin-top:22px;padding-top:22px}.review-card>strong,.inbox-card>strong{font-size:16px;font-weight:800}.review-card p,.inbox-card p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px}.review-card small,.inbox-card small{font-size:12px;color:var(--party-muted)}.review-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:15px}.review-actions button{font-size:15px;font-weight:800;min-height:48px;border:0;background:var(--party-ink);color:var(--party-paper);border-radius:8px;padding:12px 16px}.review-actions button+button{background:var(--party-paper);color:var(--party-ink)}.wish-dialog{max-width:620px;width:calc(100% - 40px);padding:40px;border:0;border-radius:20px;background:var(--party-paper);color:var(--party-ink);box-shadow:0 30px 100px #1d140d50;max-height:85vh;overflow:auto}.wish-dialog::backdrop{background:#241c13b5;backdrop-filter:blur(4px)}.dialog-close{position:absolute;top:20px;right:20px}.wish-dialog h2{font-size:39px;padding-right:32px;overflow-wrap:anywhere;margin-bottom:13px}.dialog-location{font-size:14px;color:var(--party-muted);margin-bottom:23px}.dialog-message{font-size:22px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.wish-dialog .heart-button{border:0;background:var(--party-honey);padding:13px 18px;min-height:50px;border-radius:8px;font-size:16px;font-weight:800}.contact-grid{display:grid;grid-template-columns:.9fr 1fr;gap:65px;align-items:start}.contact-grid .form-card{background:#f1e6d2;padding:36px}.contact-sticker{font:800 42px/1.06 'Bricolage Grotesque',Arial,sans-serif;letter-spacing:-.04em;background:var(--party-honey);padding:28px;display:inline-block;border-radius:14px;transform:rotate(-5deg);margin:0 0 45px 12px}.contact-copy h2{font-size:43px}.contact-copy>p{font-size:17px;line-height:1.8;color:var(--party-muted);max-width:450px}.contact-details{display:flex;flex-direction:column;gap:8px;margin:28px 0;font-size:16px}.contact-details b{font-weight:800}.contact-details span{color:var(--party-muted);line-height:1.7;max-width:370px}.site-footer{background:var(--party-ink);color:var(--party-paper);padding:55px max(36px,calc((100% - 1148px)/2)) 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:45px}.site-footer .eyebrow{color:var(--party-honey)}.footer-top h2{font-size:clamp(45px,6.8vw,76px);margin-bottom:0}.footer-top h2>span{color:var(--party-honey);font-size:.65em;margin-left:10px}.footer-links{display:flex;flex-direction:column;gap:5px}.footer-links a{font-size:16px;font-weight:700;min-height:44px;display:flex;align-items:center}.footer-bottom{border-top:1px solid #efd29b30;padding-top:22px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:12px;line-height:1.6}.footer-bottom>b{font-weight:800;letter-spacing:.03em}.footer-bottom>span{color:var(--party-honey)}.confetti-bit{position:fixed;left:50%;top:40%;width:8px;height:12px;pointer-events:none;z-index:50;animation:confetti-fall 1.3s ease-out forwards}@keyframes confetti-fall{to{transform:translate(var(--x),var(--y)) rotate(var(--r));opacity:0}}
@media(max-width:960px){.birthday-header .menu-toggle{display:block}.birthday-header .site-nav{display:none;position:absolute;top:calc(100% - 10px);left:20px;right:20px;z-index:10;background:var(--party-paper);padding:18px 25px;border-radius:12px;box-shadow:0 15px 40px #241c1325;flex-direction:column;align-items:stretch;gap:6px;margin:0}.birthday-header .site-nav.open{display:flex}.site-nav>a{font-size:17px;min-height:50px}.home-countdown{margin:45px 30px 0;gap:28px;padding:32px}.home-countdown h2{font-size:31px}.countdown{gap:13px}.countdown b{font-size:43px}.about-grid{gap:35px}.about-photo{height:475px}.about-copy h2{font-size:44px}.statement{grid-template-columns:1fr 1fr;padding:32px;gap:28px}.statement>span{display:none}.statement h2{font-size:42px}.heading-with-action{align-items:start}.heading-with-action>div:last-child{min-width:230px}.heading-with-action .action{font-size:16px;gap:10px;padding:15px}.write-section{gap:32px;padding:32px;grid-template-columns:.7fr 1fr}.write-section>div>h2{font-size:43px}.form-card{padding:26px}.wishes-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.itinerary{padding:30px}.day-picks{gap:8px}.day-detail{grid-template-columns:130px 1fr;padding:27px;gap:27px}.day-detail h3{font-size:31px}.travel-grid{gap:20px}.hotel-card,.save-card{padding:28px}.hotel-card h2{font-size:32px}.save-card h2{font-size:35px}.contact-grid{gap:35px}.contact-grid .form-card{padding:28px}.faq-section{gap:35px}}
@media(max-width:640px){body{font-size:16px}.inner-page{padding:37px 20px 50px}.page-heading{margin-bottom:35px}.page-heading h1{font-size:47px;line-height:1.07;margin-bottom:20px}.page-heading>p:last-child,.page-heading>div>p:last-child{font-size:17px}.section-heading{display:block;margin-bottom:25px}.section-heading h2{font-size:37px}.section-heading>p{font-size:16px;margin-top:20px}.home-countdown{grid-template-columns:1fr;margin:35px 20px 0;padding:27px 24px;gap:28px;border-radius:14px}.home-countdown h2{font-size:34px}.countdown{gap:10px}.countdown b{font-size:42px}.countdown span{font-size:10px}.home-paths{padding:48px 20px 55px}.path-grid{grid-template-columns:1fr;gap:15px}.path-grid>a{min-height:180px;padding:25px}.path-grid h3{font-size:33px;margin:19px 0}.about-grid{grid-template-columns:1fr;gap:32px}.about-photo{height:420px;max-width:410px;width:100%;justify-self:center}.photo-signature{font-size:16px;left:15px;right:15px;bottom:15px}.about-copy h2{font-size:44px}.about-copy .action{width:100%;gap:10px;justify-content:space-between;font-size:16px}.statement{grid-template-columns:1fr;margin-top:45px;padding:27px;gap:23px}.statement h2{font-size:42px}.statement>div>p{font-size:16px;margin-bottom:12px}.itinerary{padding:25px 19px;border-radius:15px;margin:0 -1px}.itinerary h2{font-size:37px}.date-tag{display:inline-block;margin-top:20px;font-size:12px}.day-picks{grid-template-columns:repeat(4,1fr);gap:9px}.day-picks button{padding:10px 5px;font-size:11px;min-height:90px}.day-picks button>b{font-size:31px}.day-detail{grid-template-columns:1fr;gap:24px;padding:25px 21px}.day-number{align-items:start;flex-direction:row;gap:17px;align-items:center}.day-number>b{font-size:73px}.day-number>span{font-size:11px;max-width:105px;line-height:1.6;margin:0}.day-detail h3{font-size:32px}.day-detail p{font-size:16px}.day-detail .day-note{font-size:13px}.travel-grid{grid-template-columns:1fr;margin-top:23px;gap:20px}.hotel-card,.save-card{padding:27px 24px;border-radius:15px}.hotel-card h2{font-size:35px}.hotel-card p:not(.eyebrow){font-size:16px}.hotel-card .action,.save-card .action{width:100%;font-size:16px;justify-content:space-between;gap:10px;padding:15px 18px}.save-card h2{font-size:39px}.faq-section{grid-template-columns:1fr;gap:23px;margin-top:45px}.faq-section>h2{font-size:39px;margin-bottom:0}.faq-section summary{font-size:17px}.heading-with-action{display:block}.heading-with-action>div:last-child{margin-top:24px}.heading-with-action .action{font-size:17px;padding:16px 22px;gap:20px}.wall-total{margin-top:14px}.write-section{grid-template-columns:1fr;padding:25px 18px;gap:25px;margin:0 -2px 30px}.write-section>div>h2{font-size:42px;line-height:1.07;margin:15px 0}.write-section>div>p:not(.eyebrow){font-size:16px}.writing-star{display:none}.write-section .form-card{padding:24px 18px}.form-card h3{font-size:29px}.form-field>label,.message-kinds legend{font-size:15px}.message-kinds span{font-size:13px}.message-kinds label{min-width:76px}.wall-controls{gap:18px;margin-bottom:22px}.wall-filters{gap:8px}.wall-filters button{font-size:14px;padding:11px 13px;min-height:46px}.wall-search{flex:1 1 100%;width:100%;min-width:0}.wall-search input{font-size:16px}.wishes-wall{grid-template-columns:1fr;gap:16px}.wish-card{padding:25px;min-height:0}.wish-card .wish-message{font-size:24px;-webkit-line-clamp:6}.wish-card-actions button{font-size:15px}.wall-empty{padding:38px 22px}.wall-empty h3{font-size:36px}.wall-empty p{font-size:16px}.wall-foot{align-items:start;gap:15px}.owner-panel{padding:22px 18px;margin-top:35px}.owner-panel summary{font-size:17px}.review-actions{flex-direction:column;align-items:stretch}.wish-dialog{padding:35px 24px;width:calc(100% - 28px);border-radius:15px}.wish-dialog h2{font-size:31px}.dialog-message{font-size:20px}.dialog-close{top:14px;right:14px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-sticker{font-size:37px;padding:24px;margin:0 0 35px 9px}.contact-copy h2{font-size:40px}.contact-copy>p{font-size:16px}.contact-details{font-size:15px;gap:7px}.contact-grid .form-card{padding:28px 20px}.site-footer{padding:40px 23px 24px}.footer-top{display:block;margin-bottom:30px}.footer-top h2{font-size:55px}.footer-links{margin-top:30px;gap:3px}.footer-links a{font-size:16px}.footer-bottom{font-size:11px;gap:14px}.footer-bottom>b{line-height:1.8}.action,.submit-action{max-width:100%}.birthday-name h1{overflow-wrap:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.path-grid>a{transition:none}.confetti-bit{display:none}}
/* Keep every text action easy to read. */
.site-nav>a{font-size:16px}.wall-filters button,.wish-card-actions button,.review-actions button,.message-kinds span{font-size:16px}.wall-search input{font-size:16px}
@media(max-width:640px){.wall-filters button,.wish-card-actions button,.message-kinds span{font-size:16px}.site-nav>a{font-size:17px}}

.admin-page{max-width:1050px}.admin-login,.installer-form{max-width:650px;background:#f1e6d2}.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.admin-tile{display:flex;flex-direction:column;padding:30px;border-radius:15px;background:var(--party-honey)}.admin-tile>b{font:800 58px/1 'Bricolage Grotesque',Arial,sans-serif}.admin-tile>span{margin-top:15px;font-size:17px;font-weight:800}.admin-actions{display:flex;flex-wrap:wrap;gap:15px;margin:30px 0}.admin-logout{margin-top:30px}.admin-page .owner-panel h2{font-size:37px}.installer-form{margin-bottom:40px}@media(max-width:640px){.admin-grid{grid-template-columns:1fr}.admin-tile{padding:25px}.admin-actions{flex-direction:column}.admin-actions .action{width:100%}.installer-form{padding:25px 20px}}
