/* Existing palette, fonts and composition are retained. */
.visually-hidden {position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link {position:fixed;left:16px;top:-100px;z-index:110;background:#fff;color:#191715;padding:12px 20px;border:2px solid #191715;border-radius:8px}
.skip-link:focus {top:16px}
:focus-visible {outline:3px solid #191715;outline-offset:4px}
.contact-box :focus-visible {outline-color:#fff}
.brand-reference {text-decoration:none;color:inherit}
.brand-reference:hover {text-decoration:underline;text-underline-offset:.15em}
.card .gift-copy {margin-top:16px}
.gift-button {margin-top:22px;text-align:center;height:auto;padding-top:10px;padding-bottom:10px}
.legal-links {display:flex;justify-content:center;gap:12px 24px;flex-wrap:wrap;padding:18px 20px 0;font-size:.875rem}
.text-button {font:inherit;color:inherit;background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}
.cookie-banner,.cookie-dialog {font-family:Arial,Helvetica,sans-serif;color:#191715;background:#f3f0e9;border:1px solid rgba(59,48,40,.2);box-shadow:0 8px 40px #19171525;border-radius:2px;font-size:1rem;line-height:1.5}
.cookie-banner {position:fixed;z-index:100;bottom:16px;left:16px;width:min(640px,calc(100% - 32px));padding:22px;max-height:calc(100dvh - 32px);overflow:auto}
.cookie-banner[hidden] {display:none}
.cookie-banner p,.cookie-dialog p {margin:8px 0 16px}
.cookie-banner h2,.cookie-dialog h2 {font-size:1.25rem;margin:0;font-weight:600;line-height:1.3}
.cookie-actions {display:flex;flex-wrap:wrap;gap:10px}
.cookie-button {font:inherit;font-weight:600;min-height:44px;padding:10px 16px;border:1px solid #191715;border-radius:0;background:#f3f0e9;color:#191715;cursor:pointer;flex:1 1 140px;text-align:center}
.cookie-button:hover {background:#f1e6d8}
.cookie-dialog {width:min(580px,calc(100% - 32px));padding:24px;max-height:calc(100dvh - 32px);overflow:auto}
.cookie-dialog::backdrop {background:#19171570}
.cookie-option {display:flex;align-items:center;gap:12px;margin:16px 0;font-weight:600}
.cookie-option input {width:22px;height:22px;accent-color:#191715;flex-shrink:0}
.cookie-close {float:right;min-width:44px;min-height:44px;margin:-12px -12px 0 8px;border:0;background:none;color:#191715;font:inherit;cursor:pointer}
.cookie-footnote {font-size:.875rem}
.legal-page {max-width:800px;margin:auto;padding:40px 20px 70px;font-size:1rem;line-height:1.7}
.legal-page h1 {font-family:Georgia,serif;font-size:clamp(2.5rem,7vw,4rem);font-weight:400;line-height:1.15}
.legal-page h2 {font-size:1.25rem;margin-top:32px;line-height:1.4}
.legal-page table {width:100%;border-collapse:collapse;font-size:.95rem}
.legal-page th,.legal-page td {padding:10px;text-align:left;border:1px solid #ded3c6;overflow-wrap:anywhere}
.legal-page a {overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce) {html{scroll-behavior:auto!important}*,*::before,*::after{transition:none!important;animation:none!important}}


.gift-section{padding:55px 0;background:var(--paper)}.gift-box{padding:32px;border:1px solid var(--line);display:flex;align-items:center;gap:32px;justify-content:space-between}.gift-box h2{font-size:clamp(32px,4vw,48px);line-height:1.1;margin:15px 0}.gift-box p{max-width:650px;font-size:15px}.gift-box .social{flex-shrink:0}.legal-links a,.legal-links button{font-size:14px;letter-spacing:normal;text-transform:none;min-height:44px;display:inline-flex;align-items:center}.cookie-banner a,.cookie-dialog a{text-decoration:underline}.legal-page a{text-decoration:underline}.field :is(input,select,textarea){font-size:16px}.contact :focus-visible,.foot :focus-visible{outline-color:#e7e0d5}.request :focus-visible{outline-color:#191715}.navlinks a{min-height:44px;display:flex;align-items:center}.menu{min-width:44px;min-height:44px}.price-row small,.pricing .terms{color:#62584f}.lightbox .close{width:44px;height:44px}@media(max-width:760px){.gift-box{display:block;padding:24px}.gift-box .social{margin-top:16px}.header-social{gap:4px}header nav{gap:10px}.brand{min-width:0}}@media(max-width:360px){.brand{gap:7px}.brand .label{font-size:9px}.header-social a{width:30px;height:30px}.menu{margin-left:0}.hero h1{font-size:46px}}
