/* Keyboard visibility, reflow and consent controls use the existing brand palette. */
html{scroll-padding-bottom:130px}main{scroll-margin-top:130px}a,button,input,select,textarea,summary{scroll-margin-block:130px}
.article-prose section{scroll-margin-top:140px}.article-layout aside,.budget-tool{top:125px}
:focus-visible{outline:3px solid #353642;outline-offset:4px;box-shadow:0 0 0 6px white}
.skip{position:fixed;z-index:200}.skip:focus{top:12px}
.prose a{text-decoration:underline;text-underline-offset:3px}.prose{overflow-wrap:anywhere}
button,summary{min-height:44px}.gallery-thumbs button,.rail-arrow,.save,.dialog-close{min-width:44px;min-height:44px}
input,select,textarea{border-color:#777783}input[aria-invalid=true]{border:2px solid #9d2440}
.privacy-banner{padding:24px 5%;background:#FFE382;color:#353642;border-bottom:1px solid #353642;position:relative;z-index:2}
.privacy-banner>div{max-width:1280px;margin:auto}.privacy-banner h2{font-size:26px;margin-bottom:10px}.privacy-banner p{max-width:850px;font-size:16px;margin-bottom:14px}
.privacy-actions{display:flex;flex-wrap:wrap;gap:12px}.privacy-actions button{font:inherit;padding:12px 18px;min-height:46px;border:1px solid #353642;border-radius:3px 14px 3px 3px;background:white;color:#353642}
.privacy-actions button:hover{background:#D7F9F1}.privacy-legal{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px}.privacy-legal a{text-decoration:underline}
#privacy-dialog{width:min(600px,92vw);max-height:85dvh;overflow:auto;padding:28px;border:1px solid #353642;background:#fff;color:#353642;border-radius:4px 28px 4px 4px}
#privacy-dialog h2{font-size:32px}#privacy-dialog::backdrop{background:#35364288}.privacy-option{display:flex;align-items:center;gap:14px;font-size:17px;padding:15px 0}.privacy-option input{margin:0;width:24px;height:24px;min-height:24px}
.privacy-draft{padding:20px;background:#FFE382;color:#353642;margin-bottom:30px;border-radius:4px 22px 4px 4px}.privacy-links{display:flex;gap:18px;flex-wrap:wrap;padding:24px 0}.privacy-links a,.privacy-links button{font-size:14px;text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}.privacy-table{width:100%;border-collapse:collapse}.privacy-table th,.privacy-table td{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid #777783;font-size:14px}
@media(max-width:700px){.privacy-actions button{flex:1 1 140px}.privacy-banner{padding:24px 6%}.site-header:has(#main-nav.is-open){max-height:75dvh;overflow:auto}.privacy-table{display:block;overflow:auto}.app-nav a{min-width:44px}.footer-links{min-width:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
@media(forced-colors:active){button,a,input,select,textarea{forced-color-adjust:auto}.button,.save{border:1px solid ButtonText}}

.budget-tool .micro{color:#353642}

@media(max-width:600px){.hero-gallery{margin-left:-6vw;margin-right:-6vw}}

@media(max-width:600px){.mood-gallery,.collection-rail{margin-right:-6vw}}

/* Compact consent card; stays clear of the phone navigation. */
#privacy-banner{position:fixed;left:16px;bottom:16px;z-index:70;width:min(360px,calc(100vw - 32px));max-height:45dvh;overflow:auto;padding:16px;background:#fffdf8;border:1px solid #353642;border-radius:4px 22px 4px 4px;box-shadow:0 5px 24px #35364220;box-sizing:border-box}
#privacy-banner h2{font-size:21px;line-height:1.2;margin:0 0 8px}#privacy-banner p{font-size:13px;line-height:1.5;margin:0 0 10px}#privacy-banner .privacy-actions{gap:8px;display:grid;grid-template-columns:1fr 1fr}#privacy-banner .privacy-actions button{padding:8px 10px;font-size:13px;min-height:44px;background:#FFE382}#privacy-banner [data-privacy-open]{grid-column:1/-1;background:transparent!important;border:0;padding:2px;min-height:32px;text-decoration:underline}#privacy-banner .privacy-legal{margin-top:4px;gap:14px;font-size:12px}
@media(max-width:700px){#privacy-banner{left:12px;bottom:calc(94px + env(safe-area-inset-bottom));width:min(330px,calc(100vw - 68px));padding:13px;max-height:43dvh}}
