/* Shared readability, brand and keyboard treatment for every public/admin view. */
:root{--muted:#4f6057;--line:#89968e;--radius:1.25rem}
html{font-size:100%;scroll-padding-top:1.5rem}
body{font-size:1.125rem;line-height:1.65}
h1,h2,h3{overflow-wrap:anywhere;hyphens:auto}
p,li,td,th,small,.data-note{overflow-wrap:anywhere}
a:not(.button):not(.wordmark):not(.service-logo):not(.card-arrow):not(.cuisine-chip){text-underline-offset:.2em}
.prose-page a,.data-note a,.account-page p a,.news-article p a{color:var(--pink-dark);text-decoration:underline}
.shell{width:min(78rem,calc(100% - 4rem))}
.eyebrow{font-size:1rem;letter-spacing:.08em;line-height:1.6}
.data-note,.card-location,.location-tag,.partner-badge,.category-tags>span,.fulfillment,
.search-options,.results-heading>span,.site-footer>div>p,.footer-bottom,.admin-stats span,
.prose-page code,td small{font-size:1rem;line-height:1.6}
.hero-copy>p,.prose-page p,.prose-page li,.news-card p,.lead{font-size:1.125rem;line-height:1.75}
.wordmark{display:inline-flex;flex-shrink:0;gap:.65rem;min-height:3rem;letter-spacing:normal;width:max-content;max-width:100%}
.site-header .wordmark{flex:0 1 auto;width:max-content;max-width:100%}
.brand-crown{display:inline-block;flex-shrink:0;object-fit:contain;width:2rem;height:1.5rem;vertical-align:middle}
.wordmark .brand-crown{width:3rem;height:2.25rem}
.brand-name{font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:clamp(1.7rem,2.4vw,2.1rem);letter-spacing:-.055em;line-height:1.25;color:var(--pink);white-space:normal;min-width:0;overflow-wrap:anywhere}
.brand-name>span{color:var(--ink)}
.site-header{height:auto;min-height:7rem;padding-block:1.25rem;gap:1.25rem;flex-wrap:wrap;align-items:center}
.site-header nav{display:flex;flex:1;flex-wrap:wrap;justify-content:flex-end;gap:.5rem 1rem;font-size:1rem;min-width:0}
.site-header nav>a,.site-header nav>a:first-child{display:inline-flex;min-height:2.75rem;align-items:center;padding-block:.4rem}
.site-header nav [data-favorites-link]>span:not(.favorite-count){display:inline}
.site-header nav [data-favorites-link]{font-size:1rem}
.site-header nav .nav-cta{font-size:1rem;padding:.6rem .9rem}
.favorite-count{font-size:1rem;min-width:1.75rem;height:1.75rem}
.footer-links{font-size:1rem;align-items:flex-start}
.footer-links>a{display:inline-flex;align-items:center;min-height:2.75rem}
.hero{overflow:visible;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:2rem}
.hero>*,.detail-layout>*,.field-grid>*,.search-form>*,.news-grid>*{min-width:0}
.speech{width:min(18rem,85%);padding:1.25rem;transform:none}
.speech-label,.speech>span:last-child{font-size:1rem;line-height:1.6;letter-spacing:.04em}
.speech strong{font-size:1.75rem;line-height:1.2}
.royal-seal{width:8rem;height:8rem;font-size:1rem;letter-spacing:.03em;line-height:1.3}
.royal-seal b{font-size:1rem}
.royal-seal .brand-crown,.community-crown .brand-crown{filter:brightness(0) invert(1);width:2.5rem;height:1.9rem}
.royal-seal>span{line-height:1;margin-top:.4rem}
.community-crown .brand-crown{width:4rem;height:3rem}
.empty-state>.brand-crown,.empty-state>span>.brand-crown{width:4rem;height:3rem}
.partner-badge,.detail-main>.eyebrow{display:inline-flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.partner-badge .brand-crown{width:1.6rem;height:1.2rem}
.search-form,.filter-details{grid-template-columns:repeat(3,minmax(0,1fr))}
.search-form label>span,.search-form .filter-details label>span{font-size:1rem;letter-spacing:.04em;line-height:1.6;color:var(--muted)}
input,select,textarea{font-size:1rem;min-height:3rem;max-width:100%;min-width:0;border-color:var(--line)}
textarea{line-height:1.6}
label{font-size:1rem;line-height:1.6}
input::placeholder,textarea::placeholder{color:#526057;opacity:1}
.checkbox-row input,.category-picker input,.consent input,.area-suggestion input,.remember input{width:1.5rem;height:1.5rem;min-height:1.5rem;flex-shrink:0;accent-color:var(--pink)}
input[type=checkbox],input[type=radio]{width:1.5rem;height:1.5rem;min-height:1.5rem;accent-color:var(--pink)}
.checkbox-row label,.category-picker label,.remember,.area-suggestion,.consent{min-height:2.75rem;gap:.65rem}
.category-picker label,.consent{font-size:1rem;line-height:1.6}
.category-picker h2,.category-picker h3{font-size:1.125rem;line-height:1.4;letter-spacing:normal}
.consent input{margin-top:.2rem}
.button,.small-button,.favorite-button,.card-arrow,.cuisine-chip,.surprise,.pagination a{min-height:2.75rem;min-width:2.75rem;font-size:1rem}
.button{gap:.75rem;white-space:normal;text-align:center}
.small-button{padding:.5rem .8rem;border-color:var(--line)}
.favorite-button{width:2.75rem;height:2.75rem;font-size:1.75rem}
.card-arrow{width:2.75rem;height:2.75rem;font-size:1.5rem}
.cuisine-chip,.surprise{display:inline-flex;align-items:center;padding:.6rem .85rem}
.text-link{display:inline-flex;align-items:center;min-height:2.75rem;font-size:1rem;gap:.4rem}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.service-card{padding:1.5rem;min-width:0}
.service-card h3{font-size:1.4rem;line-height:1.3}
.service-card .card-location{line-height:1.6}
.card-bottom{gap:.75rem;align-items:center;flex-wrap:wrap}
.card-shop-link{width:100%;margin-top:1rem}
.category-tags>span{padding:.25rem .6rem}
.community-banner{gap:1.5rem;flex-wrap:wrap}
.community-banner>div,.product-promo>div,.how-it-works>div{min-width:0}
.community-banner .button{white-space:normal}
.community-banner p,.how-it-works p{font-size:1.125rem}
.how-it-works>div>span{font-size:1rem}
.table-wrap{max-width:100%;overscroll-behavior-inline:contain}
table,th,td,td input,td select,.status{font-size:1rem;line-height:1.6}
th{letter-spacing:.02em}
td input,td select{min-height:2.75rem}
th,td{padding:.85rem 1rem}
.status{display:inline-block;white-space:normal}
.status-disabled{background:#fff0d1;color:#6b4d10}
.table-wrap:focus-visible{outline-offset:0}
.admin-stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}
.wizard-progress{flex-wrap:wrap}
.wizard-progress>span{font-size:1rem;min-width:8rem;line-height:1.5}
.wizard-controls{font-size:1rem;flex-wrap:wrap}
.toast{font-size:1rem;line-height:1.6;max-width:min(40rem,calc(100% - 2rem))}
.skip{font-size:1.125rem;min-height:2.75rem;z-index:1000;left:1rem;top:-20rem}
.skip:focus{top:1rem}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 6px var(--paper)}
.news-page a:focus-visible{outline:3px solid var(--ink)}
.product-promo{padding:2rem;margin-block:2rem 4rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:center;background:var(--green);border:1px solid var(--line);border-radius:var(--radius)}
.product-promo h2{margin-bottom:1rem;font-size:clamp(1.75rem,3vw,2.5rem)}
.product-promo p{max-width:45rem;margin-bottom:1rem}
.business-page{padding-block:3.5rem;max-width:68rem}
.business-page>.lead{max-width:52rem}
.business-page h1{font-size:clamp(2.25rem,5vw,4rem)}
.business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-block:2.5rem}
.business-grid article{min-width:0;align-self:stretch}
.business-grid h2{font-size:1.5rem;letter-spacing:-.02em;line-height:1.3}
.business-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-block:1.5rem}
.business-note{border-left:.3rem solid var(--pink);padding:1rem 1.5rem;margin-block:2rem;background:var(--white)}
.features-page{padding-block:2.5rem 4rem;max-width:76rem}
.product-navigation{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-bottom:3rem;border-bottom:1px solid var(--line);padding-bottom:.75rem}
.product-navigation a{display:inline-flex;align-items:center;min-height:2.75rem;font-weight:650}
.product-navigation [aria-current]{color:var(--pink-dark);text-decoration:underline;text-underline-offset:.4em}
.features-intro{max-width:55rem;margin-block:2rem 3rem}
.features-intro h1{font-size:clamp(2.5rem,5vw,4.5rem)}
.feature-jumps{display:flex;flex-wrap:wrap;gap:.75rem;margin-block:2rem 3.5rem}
.feature-jumps a{display:inline-flex;align-items:center;min-height:2.75rem;padding:.5rem 1rem;border:1px solid var(--line);border-radius:2rem;background:var(--white);font-size:1rem;font-weight:650}
.feature-overview,.feature-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;margin-block:3rem 5rem}
.feature-overview>*,.feature-row>*{min-width:0}
.feature-checklist{align-self:center}
.feature-checklist ol{margin:0;padding-left:1.5rem}
.feature-checklist li+li{margin-top:1rem}
.feature-copy ul{padding-left:1.4rem;margin-block:1.5rem}
.feature-copy li+li{margin-top:.65rem}
.feature-image-note{max-width:48rem}
.feature-row-reverse .feature-copy{order:2}
.feature-row-reverse .feature-shot{order:1}
.feature-shot{margin:0;padding:1rem;border:1px solid var(--line);border-radius:1.25rem;background:var(--cream)}
.feature-shot>a{display:block;border-radius:.65rem}
.feature-shot img{display:block;width:100%;height:auto;background:var(--white);border-radius:.65rem;border:1px solid var(--line)}
.feature-shot figcaption{font-size:1rem;line-height:1.6;color:var(--muted);padding:.85rem .25rem .1rem}
.feature-shot figcaption a{display:inline-block;min-height:2.75rem;padding-block:.5rem;color:var(--pink-dark);text-decoration:underline}
.feature-shot-portrait{width:100%;max-width:32rem;justify-self:center}
.features-page a:focus-visible{outline:3px solid var(--pink-dark);outline-offset:5px}
.feature-contact{margin-top:3rem;padding:clamp(1.5rem,4vw,3rem);background:var(--green);border:1px solid var(--line);border-radius:var(--radius)}
.feature-contact h2,.feature-contact>p{max-width:47rem}
.feature-cards{margin-bottom:3rem}
@media(max-width:55rem){.feature-overview,.feature-row{grid-template-columns:1fr;gap:1.5rem;margin-block:2rem 3.5rem}.feature-row-reverse .feature-copy,.feature-row-reverse .feature-shot{order:initial}.features-page{padding-top:1.5rem}.feature-jumps{margin-bottom:2.5rem}.product-navigation{margin-bottom:2rem}}
@media(max-width:70rem){.site-header nav{flex-basis:100%;justify-content:flex-start}.hero{gap:1rem}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.business-grid{grid-template-columns:1fr}.product-promo{grid-template-columns:1fr}}
@media(max-width:48rem){
 .shell{width:calc(100% - 2rem)}
 .site-header{padding-block:1rem;gap:1rem}
 .site-header nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:.5rem .75rem}
 .site-header nav>a{justify-content:flex-start;overflow-wrap:anywhere;line-height:1.5}
 .site-header nav .nav-cta{grid-column:1/-1;justify-content:center}
 .wordmark .brand-crown{width:2.75rem;height:2.05rem}
 .brand-name{font-size:1.9rem}
 .hero{grid-template-columns:1fr;padding-top:2rem}
 .hero h1{font-size:clamp(2.1rem,9vw,3.1rem);line-height:1.18}
 .hero-art{min-height:31rem;max-width:30rem;margin-top:1.5rem}
 .hero-art .art-orbit{inset:12% 22%;transform:rotate(-12deg)}
 .hero-art .orbit-two{transform:rotate(12deg)}
 .king{width:75%;height:auto;max-height:26rem;left:15%}
 .speech{top:0;right:0;max-width:14rem}
 .royal-seal{left:0;bottom:8%;width:8rem;height:8rem;font-size:1rem}
 .royal-seal b{font-size:1rem}
 .search-options{font-size:1rem;gap:1rem}
 .search-form,.filter-details{grid-template-columns:1fr}
 .filter-details>label:first-child,.filter-details label:last-child,.search-submit{grid-column:1}
 .search-form{padding:1.25rem;gap:1.25rem}
 .search-form select{font-size:1rem}
 .search-form label>span{font-size:1rem}
 .results-heading>span,.partner-badge,.location-tag,.card-location,.category-tags>span,.fulfillment{font-size:1rem}
 .section-heading h2{font-size:1.85rem;line-height:1.3}
 .admin-stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:1rem}
 .admin-stats span{font-size:1rem}
 .admin-page h1,.prose-page h1,.detail-main h1,.entry-page .section-heading h1{font-size:2.1rem;line-height:1.25}
 .community-banner{padding:1.5rem}
 .community-banner h2{font-size:1.65rem;line-height:1.3}
 .category-picker{grid-template-columns:1fr}
 .category-picker>div:last-child{grid-column:1}
 .wizard-controls{gap:1rem}
 .wizard-controls>[data-wizard-label]{order:-1;width:100%}
 .field-grid{grid-template-columns:minmax(0,1fr)}
 .news-page,.business-page{padding-block:2rem}
 .news-embed .news-page{padding:1rem}
 .product-promo{padding:1.5rem}
}
@media(max-width:40rem){.service-grid{grid-template-columns:minmax(0,1fr)}.service-card h3{font-size:1.5rem}.site-footer{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.button:hover{transform:none}}
@media(forced-colors:active){:focus-visible{outline:3px solid Highlight;box-shadow:none}.brand-crown{forced-color-adjust:none}.button,.nav-cta,.service-card,input,select,textarea{border-color:ButtonText}}
