/* A single, shape-preserving focus treatment for native form controls. */
input:focus,input:focus-visible,textarea:focus,textarea:focus-visible,select:focus,select:focus-visible{outline:none;outline-offset:0;border-color:#bd803e;box-shadow:0 0 0 3px #c8883b22}
#wish-form input:focus,#wish-form input:focus-visible,#wish-form textarea:focus,#wish-form textarea:focus-visible,#wish-form select:focus,#wish-form select:focus-visible{border-radius:7px}
.moment-filter select:focus,.moment-filter select:focus-visible{border-radius:30px}
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237c7568' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:38px}
select option{background:#fffaf3;color:#44483e}
button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}
.wishes .view-wall-link{position:relative;z-index:2;margin-left:25px;color:#8c5c2e;font-size:14px;white-space:nowrap;vertical-align:middle}.wishes .view-wall-link:hover{color:#be6b1e}
.greetings-wall{padding-top:70px}.greetings-wall .section-heading{grid-template-columns:1.4fr 1fr;gap:8%;align-items:end;margin-bottom:30px}.greetings-wall h2{font-size:45px;margin-top:20px;line-height:1.22;max-width:740px;font-weight:400;letter-spacing:-.045em}.greetings-actions{justify-self:end;padding-bottom:4px}.greetings-actions .button{font-size:13px;min-height:45px}.greetings-notice{display:flex;gap:12px;align-items:start;border-top:1px solid #d9d1c3;border-bottom:1px solid #d9d1c3;padding:16px 0;margin-bottom:24px}.greetings-notice>span{color:#ba7b35;font-size:19px;line-height:1.5;flex-shrink:0}.greetings-notice>p{font-size:12px;line-height:1.9;color:#8f8575;max-width:780px}.greetings-toolbar{display:flex;flex-wrap:wrap;gap:17px 25px;align-items:center;justify-content:space-between;margin-bottom:32px}.greetings-filters{display:flex;flex-wrap:wrap;gap:8px}.greetings-filters button{border:1px solid transparent;border-radius:25px;min-height:39px;padding:8px 13px;background:none;color:#8a8274;font-size:12px;line-height:1.6;font-weight:400;transition:background .2s,border-color .2s,color .2s}.greetings-filters button:hover{background:#e9dfcf88;color:#94612c}.greetings-filters button[aria-pressed=true]{border-color:#d4b88e;background:#eadbc366;color:#9b622b}.greetings-filters button:focus-visible{outline:2px solid #c58a48;outline-offset:3px;border-radius:25px}#greetings-count{font-size:12px;color:#96846c;white-space:nowrap;line-height:1.8}.greetings-grid{columns:3;column-gap:20px}.greeting-card{display:inline-block;vertical-align:top;break-inside:avoid;width:100%;padding:25px 22px 20px;border:1px solid #ded5c7;border-radius:8px;background:linear-gradient(135deg,#fffdf778,#f4eee2b3);margin:0 0 20px;overflow-wrap:anywhere;transition:border-color .2s}.greeting-card:hover{border-color:#cbb694}.greeting-card:focus{outline:none}.greeting-person{display:flex;align-items:start;gap:12px;margin-bottom:20px}.greeting-initials{width:36px;height:36px;border-radius:50%;background:#eadcc6;color:#ad7639;display:grid;place-items:center;font-size:12px;font-weight:500;flex-shrink:0;line-height:1}.greeting-person-info{min-width:0}.greeting-person-info>h3{font-size:15px;font-weight:500;line-height:1.45;letter-spacing:-.025em;margin:0 0 6px;color:#4b5046}.greeting-person-info>p{font-size:11px;line-height:1.8;color:#968b7b}.greeting-message{font-size:14px;line-height:1.95;color:#66695e;margin:0 0 22px;white-space:pre-wrap}.greeting-meta{border-top:1px solid #e2d8c8;padding-top:14px;display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;align-items:baseline}.greeting-category{font-size:10px;color:#a47743;line-height:1.6}.greeting-source{font-size:10px;color:#9f9687;line-height:1.6}.greeting-yours{font-size:10px;color:#be7827;font-weight:500;line-height:1.6}.greeting-own{border-color:#d3b388;background:#faf1e1}.greeting-new{border-color:#d59343;box-shadow:0 0 0 2px #dfa65014}.greeting-new .greeting-initials{background:#ebc995;color:#946024}#greetings-empty{border:1px dashed #d0bfa4;border-radius:8px;padding:40px 25px;text-align:center;background:#f4ede1}#greetings-empty[hidden]{display:none!important}#greetings-empty>p{font-size:15px;color:#97856b}#greetings-empty .text-button{font-size:13px;color:#ba7b35;margin-top:17px}.greetings-grid:empty{display:none}#wish-form input,#wish-form textarea,#wish-form select{transition:border-color .18s,box-shadow .18s}#wish-dialog .form-note{font-size:13px;line-height:1.9;color:#9b8c76}#wish-form label{font-size:13px;margin-top:17px;color:#777364}#wish-form input,#wish-form select,#wish-form textarea{font-size:15px;padding:12px;border-radius:7px}#wish-form select{padding-right:38px}#wish-dialog h2{font-size:31px;font-weight:400;line-height:1.25;margin:22px 0 17px}#wish-dialog{max-width:710px}.form-bottom>span{font-variant-numeric:tabular-nums}#form-error{font-size:13px;line-height:1.7}
@media(max-width:1100px){.greetings-wall h2{font-size:41px}.greetings-wall .section-heading{gap:6%}.greetings-grid{columns:2;column-gap:20px}.greetings-filters button{font-size:11px;padding:8px 11px}.greeting-card{padding:24px 22px}.greeting-person-info>h3{font-size:16px}.greeting-message{font-size:14px}.greeting-person-info>p{font-size:12px}.greeting-category,.greeting-yours,.greeting-source{font-size:11px}.greetings-notice>p{font-size:12px}#greetings-count{font-size:11px}}
@media(max-width:800px){.greetings-wall{padding-top:55px}.greetings-wall .section-heading{grid-template-columns:1fr;gap:25px;margin-bottom:28px}.greetings-wall h2{font-size:42px;margin-top:22px}.greetings-actions{justify-self:start;padding:0}.greetings-actions .button{font-size:13px}.greetings-notice{padding:17px 0;margin-bottom:22px}.greetings-notice>p{font-size:12px}.greetings-toolbar{gap:18px;align-items:start;flex-direction:column;margin-bottom:27px}.greetings-filters{gap:7px}.greetings-filters button{font-size:12px;padding:8px 12px;min-height:39px}#greetings-count{font-size:11px}.greetings-grid{column-gap:15px}.greeting-card{padding:22px 18px;margin-bottom:15px}.greeting-person{gap:10px}.greeting-initials{width:32px;height:32px;font-size:11px}.greeting-person-info>h3{font-size:14px}.greeting-person-info>p{font-size:11px}.greeting-message{font-size:13px;line-height:1.95}.greeting-meta{gap:7px;padding-top:13px}.greeting-category,.greeting-source,.greeting-yours{font-size:10px}.wishes .view-wall-link{font-size:13px;margin-left:20px}.moment-filter select{padding-right:35px}}
@media(max-width:600px){.greetings-grid{columns:1}.greeting-card{padding:24px 22px;margin-bottom:17px}.greeting-person-info>h3{font-size:16px}.greeting-person-info>p{font-size:12px}.greeting-message{font-size:15px;line-height:1.9}.greeting-initials{height:36px;width:36px;font-size:12px}.greeting-person{gap:12px}.greeting-category,.greeting-source,.greeting-yours{font-size:11px}.greetings-notice>p{font-size:13px}.greetings-filters button{font-size:12px}#wish-form input,#wish-form select,#wish-form textarea{font-size:18px;line-height:1.5}#wish-dialog h2{font-size:28px}#wish-form label{font-size:13px}.wishes .view-wall-link{display:flex;max-width:max-content;margin-left:0;margin-top:8px}}
@media(max-width:450px){.greetings-wall h2{font-size:36px}.greetings-wall .eyebrow{font-size:8px;letter-spacing:.1em}.greetings-filters button{font-size:11px;min-height:37px;padding:8px 10px}.greetings-filters{gap:6px}.greetings-notice>p{font-size:12px}.greetings-notice{gap:9px}.greeting-card{padding:22px 20px}.greeting-person-info>h3{font-size:15px}.greeting-person-info>p{font-size:11px}.greeting-message{font-size:14px}.greeting-category,.greeting-source,.greeting-yours{font-size:10px}.wishes .view-wall-link{font-size:13px}.greetings-toolbar{margin-bottom:23px}#wish-dialog{padding-inline:24px}#wish-dialog h2{font-size:27px}.form-bottom .button{font-size:11px;padding:12px}.form-bottom>span{font-size:11px}}
@media(max-width:350px){.greetings-wall h2{font-size:32px}.greetings-filters button{font-size:10px;padding:8px 9px}.greeting-card{padding:20px 17px}.greeting-person-info>h3{font-size:14px}.greeting-person-info>p{font-size:11px}.greeting-message{font-size:14px}.greetings-notice>p{font-size:11px}.greeting-initials{width:32px;height:32px;font-size:11px}.form-bottom .button{font-size:10px;padding:11px 10px;gap:7px}#wish-dialog h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){input,textarea,select,.greetings-filters button,.greeting-card{transition:none}}

#greetings-title{scroll-margin-top:110px}#greetings-title:focus{outline:none}#greetings-pagination{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #d9d1c3;padding-top:22px;margin-top:12px}#greetings-pagination[hidden]{display:none}.greetings-page-summary{font-size:13px;color:#8a7e6d}.greetings-page-controls{display:flex;align-items:center;gap:6px}.greetings-page-controls button{min-width:36px;min-height:38px;border:1px solid #d8cbb6;background:transparent;border-radius:6px;padding:8px 11px;font-size:13px;color:#76634d}.greetings-page-controls button[aria-current=page]{background:#a66e32;border-color:#a66e32;color:#fffaf3}.greetings-page-controls button:hover:not(:disabled){border-color:#a66e32}.greetings-page-controls button:disabled{opacity:.35;cursor:default}.greetings-page-controls button:focus-visible{outline:2px solid #bd803e;outline-offset:3px}.greetings-page-controls>span{color:#97856b;font-size:14px}@media(max-width:600px){#greetings-pagination{flex-direction:column;align-items:flex-start;gap:14px}.greetings-page-controls{gap:4px;flex-wrap:wrap}.greetings-page-controls button{min-width:32px;padding:8px 9px;font-size:12px}}

/* The inset CTA owns its padding; viewport gutters must not squeeze its text. */
#home-wishes{width:90%;max-width:1440px;margin:0 auto 35px;padding:64px clamp(28px,6vw,88px);}
#home-wishes h2{width:100%;max-width:900px;}
#home-wishes>p:not(.eyebrow){width:100%;max-width:780px;}
@media(max-width:800px){#home-wishes{padding:44px 6%;margin-bottom:25px;}}
@media(max-width:450px){#home-wishes{padding:36px 24px;}#home-wishes .view-wall-link{white-space:normal;}}
