/* A small holiday postcard, aligned with the page and its Christmas mail. */
.spread-banner{padding:14px 0 8px}
.spread-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;padding:24px 28px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.spread-inner::before{content:"";position:absolute;inset:7px;border:1px dashed var(--line);border-radius:10px;pointer-events:none}
.spread-message{display:flex;align-items:center;gap:20px;min-width:0}
.spread-stamp{width:64px;height:76px;flex:none;transform:rotate(-7deg)}
.spread-message p{min-width:0;line-height:1.5}
.spread-message strong{display:block;font-size:22px;line-height:1.2;font-weight:800;letter-spacing:-.025em;color:var(--holly);text-wrap:balance}
.spread-message p>span{display:block;margin-top:7px;font-size:13px;color:var(--muted)}
.spread-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:440px;min-width:0}
.spread-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;min-width:0;padding:11px 16px;border:1px solid var(--holly);border-radius:10px;font-size:13px;font-weight:700;line-height:1.35;text-align:center}
.spread-actions svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.spread-download{background:var(--green);border-color:var(--green);color:var(--white)}
.spread-download:hover{filter:brightness(.93)}
.spread-invite{background:var(--surface);color:var(--holly)}
.spread-invite:hover{background:var(--mint)}
.spread-delivery{grid-column:1/-1;justify-self:end;display:inline-flex;align-items:center;gap:7px;min-height:32px;font-size:12px;line-height:1.4;color:var(--holly);text-underline-offset:4px}
.spread-delivery:hover{text-decoration:underline}
.spread-delivery svg{width:16px;height:16px}
.spread-actions :focus-visible{outline:3px solid var(--holly);outline-offset:3px}
@media(max-width:960px){.spread-inner{grid-template-columns:minmax(0,1fr);gap:18px}.spread-actions{width:100%;max-width:none}.spread-delivery{justify-self:center}}
@media(max-width:620px){.spread-banner{padding:10px 0 4px}.spread-inner{padding:20px 18px;gap:16px}.spread-message{gap:13px}.spread-stamp{width:48px;height:60px}.spread-message strong{font-size:20px}.spread-message p>span{font-size:12px;margin-top:6px}.spread-actions{gap:8px}.spread-button{padding:10px 9px;font-size:12px;gap:6px;min-height:46px}.spread-button svg{width:16px;height:16px}.spread-invite svg{display:none}.spread-delivery{font-size:11px;min-height:36px}}
@media(max-width:360px){.spread-actions{grid-template-columns:minmax(0,1fr)}.spread-invite svg{display:block}}
.campaign-sharing,.reports-section{padding-block:65px}.campaign-sharing>.small{margin-top:15px}.campaign-card-formats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:end}.campaign-format{min-width:0;padding:13px;border:1px solid var(--line);background:var(--surface);border-radius:14px}.campaign-format>a{display:block}.campaign-format img{width:100%;height:340px;object-fit:contain;background:#fff9ed;border-radius:7px}.campaign-format span{display:block;margin:13px 2px 4px}.campaign-format strong{font-size:16px;color:var(--text)}.campaign-format small{display:block;color:var(--muted);margin-top:4px;font-size:11px}.campaign-format a:hover strong{color:var(--holly)}.campaign-sharing>.sharing-actions{margin-top:25px}
.sharing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.gift-ranking-note{font-size:11px;margin-top:20px;max-width:650px}.animal-card>.gift-count{font-size:11px;min-height:0;color:var(--holly);margin-top:10px}.profile-gift-count{margin-top:15px;font-size:13px;color:var(--holly)}
.card-gift-postcard{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:54px;margin-top:10px;padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-align:left;color:var(--holly);font-size:13px;font-weight:700}.card-gift-postcard>span:nth-child(2){flex:1}.card-gift-postcard small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:2px}.card-gift-postcard:hover{background:var(--pink);border-color:var(--holly)}
.delivery-section{display:flex;align-items:flex-start;gap:26px;padding:35px;border-radius:16px;border:1px dashed var(--holly);background:var(--mint);margin-block:45px 10px}.delivery-section.wrap{padding:36px}.delivery-symbol{display:grid;place-items:center;flex-shrink:0;background:var(--surface);width:72px;height:72px;font-size:32px;border-radius:20px}.delivery-section .eyebrow{margin-bottom:10px}.delivery-section h2{font-size:30px;color:var(--holly)}.delivery-section p{margin-top:12px;font-size:14px;max-width:780px}.delivery-section address{font-style:normal;margin-top:18px;font-size:16px;font-weight:700;color:var(--holly)}.delivery-section .sharing-actions{margin-top:20px}.delivery-section .sharing-actions .text-link{font-size:12px}.delivery-section .small{font-size:12px}
.report-gift-count{margin:-5px 0 20px;font-size:14px;font-weight:700;color:var(--holly)}.report-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.report-item{padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.report-item time{font-size:11px;color:var(--muted)}.report-item h3{font-size:22px;margin-top:12px}.report-item p{font-size:13px;margin-top:13px;white-space:pre-line}.report-item .text-link{margin-top:15px;font-size:12px}.reports-section>.sharing-actions{margin-top:20px}.reports-empty{display:flex;align-items:center;gap:18px;padding:25px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.reports-empty>span{font-size:32px;color:var(--holly)}.reports-empty p{font-size:14px;max-width:700px}.site-footer{flex-wrap:wrap}.site-footer>a[href="#delivery"]{font-size:11px}
.help-shortcuts{flex-wrap:wrap}.postcard-studio{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:25px;margin-top:25px}.postcard-studio-preview{background:#f1f3e9;border-radius:12px;min-height:300px;display:flex;justify-content:center;align-items:center;padding:12px}.postcard-studio-preview img{display:block;max-height:560px;width:auto;max-width:100%;object-fit:contain}.postcard-studio-preview img[hidden]{display:none}.postcard-studio-tools{display:flex;flex-direction:column;align-items:stretch;gap:13px;min-width:0}.postcard-studio-tools p{font-size:12px;line-height:1.6}.postcard-studio-tools select{width:100%;padding:10px;min-height:48px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.postcard-studio-tools .button{margin:0!important;font-size:13px}.postcard-studio-tools .text-link{font-size:12px;min-height:40px}.postcard-studio-tools label{font-size:13px;font-weight:700}.postcard-studio-tools .small{font-size:11px}dialog:has(.postcard-studio){width:min(950px,calc(100% - 24px));padding:30px;max-height:92dvh}#dialog-content>.sharing-actions{margin-top:16px}#dialog-content>.sharing-actions .button{margin:0!important}
@media(max-width:1100px){.site-header{height:auto;min-height:100px;flex-wrap:wrap;padding-block:10px;gap:10px}.site-header nav{order:3;width:100%;justify-content:center;gap:25px;padding-bottom:5px}.campaign-format img{height:290px}}
@media(max-width:760px){.site-header{min-height:110px}.site-header nav{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:11px;padding-bottom:0}.site-header nav a{display:inline-flex!important;align-items:center;min-height:40px}.campaign-sharing,.reports-section{padding-block:40px}.campaign-card-formats{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.campaign-format{padding:8px}.campaign-format:first-child{grid-row:span 2}.campaign-format img{height:160px}.campaign-format:first-child img{height:310px}.campaign-format:last-child img{height:110px}.campaign-format strong{font-size:12px}.campaign-format small{font-size:9px}.campaign-format span{margin-top:8px}.campaign-sharing .sharing-actions{gap:9px}.campaign-sharing .button{font-size:12px;padding-inline:13px}.gift-ranking-note{font-size:10px;margin-top:16px}.card-gift-postcard{font-size:10px;padding:9px 8px;gap:7px}.card-gift-postcard>span:first-child{display:none}.card-gift-postcard small{font-size:9px}.animal-card>.gift-count{font-size:10px}.delivery-section,.delivery-section.wrap{padding:22px;display:block;margin-top:30px}.delivery-symbol{width:50px;height:50px;font-size:25px;border-radius:12px;margin-bottom:18px}.delivery-section h2{font-size:26px}.delivery-section p{font-size:13px}.delivery-section address{font-size:14px}.delivery-section .sharing-actions{gap:10px}.delivery-section .button{font-size:12px;padding-inline:15px}.report-list{grid-template-columns:1fr}.reports-empty{padding:20px;gap:12px}.reports-empty p{font-size:13px}.postcard-studio{grid-template-columns:1fr;gap:18px}.postcard-studio-preview{min-height:0}.postcard-studio-preview img{max-height:350px}.postcard-studio-tools{gap:10px}dialog:has(.postcard-studio){padding:25px 18px}.postcard-studio-tools p{font-size:12px}}
.report-photo{width:100%;height:210px;object-fit:cover;border-radius:8px;margin-bottom:15px}
.postcard-studio-tools [hidden],.postcard-studio-preview [hidden]{display:none!important}

.reports-page{padding-block:36px 64px}.reports-page>.back-link{display:inline-flex;align-items:center;min-height:44px;color:var(--holly);font-size:13px;font-weight:700}.reports-page-heading{margin-top:24px;max-width:850px}.reports-page-heading h1{font-size:clamp(34px,4vw,54px);color:var(--holly)}.reports-page-heading p{margin-top:18px;max-width:650px}.report-filter{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:32px}.report-filter label{font-size:14px;font-weight:700}.report-filter select{width:min(100%,500px);min-height:48px;min-width:0;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.reports-page .reports-section{padding-block:32px 0}.reports-page .reports-section .section-heading h2{font-size:clamp(24px,3vw,34px)}.reports-page .reports-section .section-heading{margin-bottom:24px}@media(max-width:760px){.reports-page{padding-block:24px 40px}.reports-page-heading{margin-top:18px}.report-filter{display:block;margin-top:24px}.report-filter label{display:block;margin-bottom:8px}.report-filter select{width:100%}.reports-page-heading p{font-size:14px}}

.profile-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.profile-topbar .back-link{margin:0;min-height:44px;display:inline-flex;align-items:center}.profile-postcard-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:100%;white-space:normal;text-align:center}.profile-postcard-button svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.profile-postcard-button span{overflow-wrap:anywhere}@media(max-width:760px){.profile-topbar{align-items:stretch;flex-direction:column;gap:10px;margin-bottom:22px}.profile-topbar .back-link{align-self:flex-start}.profile-postcard-button{width:100%;font-size:13px;min-height:52px}}

/* Profile decisions and the personal letter form one compact group. */
.animal-layout{align-items:start}
.animal-intro .profile-actions{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:10px;align-items:stretch}
.animal-intro .profile-actions>.button{min-width:0;padding:12px 10px;font-size:13px;line-height:1.35;white-space:normal}
.animal-intro .profile-postcard-button{background:var(--mint);border:2px solid var(--holly);color:var(--holly);box-shadow:none}
.animal-intro .profile-postcard-button:hover{background:var(--holly);color:var(--surface)}
.animal-page>.spread-banner{padding:0;margin-top:32px}
.animal-page>.spread-banner .spread-inner{width:100%}
.profile-envelope{display:flex;align-items:center;gap:14px;width:100%;padding:10px 6px;margin-top:14px;text-align:left;border-radius:12px;color:var(--holly)}
.profile-envelope svg{width:88px;height:66px;flex:none;transform:rotate(-5deg)}
.profile-envelope strong{display:block;font-size:18px;line-height:1.3}
.profile-envelope small{display:block;margin-top:5px;font-size:12px;line-height:1.5;color:var(--muted)}
.profile-envelope:hover{background:var(--soft)}
.profile-envelope:focus-visible{outline:3px solid var(--holly);outline-offset:3px}
.letter-postcards{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:18px}.letter-postcards .text-link{font-size:12px}
@media(max-width:760px){.animal-intro .profile-actions{gap:8px}.profile-envelope{gap:12px}.profile-envelope svg{width:72px;height:54px}.profile-envelope strong{font-size:17px}.profile-envelope small{font-size:11px}.animal-page>.spread-banner{margin-top:26px}.letter-tools{align-items:stretch}.letter-tools .button{flex:1;min-width:130px}.letter-postcards{gap:6px 18px}}
@media(max-width:360px){.animal-intro .profile-actions{grid-template-columns:minmax(0,1fr)}}

/* Two equivalent ways to help, with one shared heading. */
.pet-help{margin-top:64px;scroll-margin-top:24px}
.pet-help-heading{margin-bottom:24px}
.pet-help-heading h2{font-size:clamp(30px,3vw,42px);line-height:1.15;color:var(--green);letter-spacing:-.03em}
.pet-help-heading p{margin:12px 0 0;font-size:15px}
.animal-page .help-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px;margin-top:0}
.animal-page .help-method{display:flex;flex-direction:column;min-width:0;padding:24px;border-radius:16px;border:1px dashed var(--green)}
.animal-page .donation-panel{background:var(--pink)}
.animal-page .wb-block{background:var(--mint);margin:0}
.animal-page .help-method h3{font-size:26px;line-height:1.25;letter-spacing:-.025em;min-height:33px;margin:0;color:var(--text)}
.animal-page .help-method .help-method-description{font-size:14px;line-height:1.5;min-height:42px;margin:12px 0 0}
.help-method-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:184px;margin:20px 0}
.payment-qr{display:block;width:184px;height:184px;max-width:100%;object-fit:contain;margin:0;padding:8px;background:#fff;border-radius:12px;image-rendering:pixelated}
.animal-page .help-method>.button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin:0;padding:12px 16px;font-size:14px;line-height:1.4}
.animal-page .help-method>.help-method-note{font-size:12px;line-height:1.5;min-height:36px;margin:12px 0 0}
.wb-visual{color:#9600a8;font-weight:700;font-size:15px}
.wb-visual svg{width:80px;height:80px}
.animal-page .help-method>.wb-link{background:linear-gradient(105deg,#bb0089,#7000b8);color:#fff;border:0;box-shadow:none;text-decoration:none}
.animal-page .help-method>.wb-link:hover{background:linear-gradient(105deg,#a50079,#590095);color:#fff}
.animal-page .help-method>.wb-link:focus-visible{outline:3px solid var(--holly);outline-offset:4px}
.pet-help-more{margin-top:28px;padding-top:24px;border-top:1px dashed var(--line)}
.pet-help-more h3{margin:0 0 12px;font-size:22px}
.pet-help-more>div{display:flex;flex-wrap:wrap;gap:8px 28px}
.pet-help-more .text-link{display:inline-flex;align-items:center;min-height:44px;margin:0}
.pet-wishes{margin-top:28px}
@media(max-width:760px){.pet-help{margin-top:40px}.pet-help-heading{margin-bottom:20px}.pet-help-heading p{font-size:14px}.animal-page .help-layout{grid-template-columns:1fr;gap:20px}.animal-page .help-method{padding:20px}.animal-page .help-method h3{font-size:24px;min-height:30px}.animal-page .help-method .help-method-description{min-height:0}.animal-page .help-method>.help-method-note{min-height:0}.pet-help-more>div{flex-direction:column;align-items:flex-start;gap:4px}}
