.local-page { font-size:16px; line-height:1.65; }
.local-page .site-header { position:sticky; background:#0b0c0f; }
.local-page .nav { gap:20px; }
.local-page .nav-links { gap:20px; font-size:.9rem; }
.local-page .brand-copy span { font-size:.66rem; }
.local-page .btn { font-size:1rem; }
.skip-link { position:absolute; left:12px; top:-80px; z-index:100; padding:10px 18px; background:#fff; color:#111; }
.skip-link:focus { top:8px; }
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible { outline:3px solid #ae780c; outline-offset:4px; }
.breadcrumbs { padding:16px 0; font-size:.9rem; border-bottom:1px solid var(--line); background:#fff; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:7px 10px; list-style:none; margin:0; padding:0; }
.breadcrumbs li+li::before { content:'/'; margin-right:10px; color:#808080; }
.breadcrumbs a { text-decoration:underline; text-underline-offset:3px; }
.local-hero { position:relative; isolation:isolate; min-height:540px; display:flex; align-items:center; padding:76px 0 66px; color:#fff; background:#101115; }
.local-hero>img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; }
.local-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(5,6,8,.94),rgba(5,6,8,.78) 52%,rgba(5,6,8,.25)); }
.local-hero .eyebrow { font-size:.84rem; letter-spacing:.12em; margin-bottom:18px; }
.local-hero h1 { max-width:940px; font-size:clamp(2.55rem,5.1vw,5.1rem); line-height:1.06; letter-spacing:-.035em; overflow-wrap:break-word; }
.local-hero .hero-lead { max-width:780px; color:rgba(255,255,255,.91); font-size:1.06rem; }
.local-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; padding:22px 0; gap:28px; }
.local-facts dt { color:#62615e; font-size:.84rem; margin-bottom:4px; }
.local-facts dd { margin:0; font-weight:650; line-height:1.5; }
.local-jumps { display:flex; flex-wrap:wrap; gap:10px; padding:0 0 28px; }
.local-jumps a { padding:9px 16px; background:#fff; border:1px solid var(--line); border-radius:30px; font-size:.95rem; }
.local-page .section { padding:76px 0; }
.local-page h2 { font-size:clamp(2rem,3.6vw,3.6rem); line-height:1.12; letter-spacing:-.03em; }
.local-page h3 { font-size:1.16rem; line-height:1.4; }
.local-page p { line-height:1.8; }
.product-layout { display:grid; grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr); align-items:center; gap:56px; }
.product-copy h2 { margin-bottom:24px; }
.product-copy .section-kicker { font-size:.86rem; margin-bottom:14px; }
.product-copy p { color:#505052; }
.product-copy ul { padding-left:20px; }
.product-copy li { margin:5px 0; }
.product-copy .actions { margin-top:24px; }
.product-image { margin:0; }
.product-image img { width:100%; height:auto; aspect-ratio:4/3; display:block; object-fit:cover; border-radius:24px; }
.product-image figcaption { color:#6b6b69; font-size:.85rem; margin-top:10px; }
.section-dark .product-copy p,.section-dark .product-image figcaption { color:rgba(255,255,255,.82); }
.local-page .size-chip { font-size:.9rem; }
.local-page .size-list { margin:20px 0 14px; }
.local-page .fatpop-pictures { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:34px; }
.fatpop-pictures img { aspect-ratio:4/3; width:100%; height:auto; object-fit:contain; border-radius:18px; background:#ded2be; }
.fatpop-pictures figure { margin:0; }
.fatpop-pictures figcaption { margin-top:8px; font-weight:600; }
.local-page .wide-intro { max-width:920px; margin-top:22px; }
.logistics { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:50px; }
.logistics p { margin-top:22px; }
.checklist { padding:26px 30px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.checklist ul { padding-left:20px; margin-bottom:0; }
.faq { margin-top:48px; max-width:1020px; }
.faq details { padding:18px 0; border-bottom:1px solid var(--line); }
.faq summary { cursor:pointer; font-weight:650; font-size:1.05rem; }
.faq details p { margin:12px 0 0; color:#565656; }
.local-page .contact-section h2 { max-width:900px; }
.local-page .contact-section .section-kicker { font-size:.9rem; }
.local-page .contact-section p { max-width:850px; color:rgba(255,255,255,.8); margin-top:24px; }
.local-page .contact-section .actions { margin-top:26px; }
.local-page .contact-email { display:inline-block; margin-top:18px; text-decoration:underline; overflow-wrap:anywhere; }
.place-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:30px 0 24px; padding:0; list-style:none; }
.place-links li { min-width:0; }
.place-links a { display:block; height:100%; padding:18px 20px; border:1px solid var(--line); border-radius:14px; background:white; line-height:1.45; }
.place-links a:hover { border-color:#ae780c; background:#fffaf0; }
.place-links small { display:block; margin-top:6px; font-size:.88rem; color:#686865; }
.hub-hero { padding:62px 0 30px; }
.hub-hero h1 { max-width:1050px; font-size:clamp(2.8rem,5.5vw,5rem); line-height:1.06; }
.hub-hero .lead { max-width:850px; color:#505052; font-size:1.1rem; }
.hub-section { padding:22px 0 64px; }
.hub-section h2 { font-size:clamp(2rem,3vw,2.8rem); }
.search-box { padding:26px; border-radius:20px; background:#fff; border:1px solid var(--line); margin:8px 0 36px; }
.search-box label { display:block; font-weight:650; margin-bottom:10px; }
.search-box input { width:100%; max-width:780px; border:1px solid #8e8c86; border-radius:9px; font:inherit; padding:12px 14px; color:#111; background:#fff; }
.search-box p { margin:10px 0 0; font-size:.92rem; color:#5d5d5a; }
.search-results:empty { display:none; }
.text-link { text-decoration:underline; text-underline-offset:4px; }
.local-page footer { font-size:.9rem; }
.local-page .footer-inner { flex-wrap:wrap; }
.local-page .footer-inner a { text-decoration:underline; text-underline-offset:3px; }
.home-locations-link { display:inline-block; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:900px) {
  .product-layout,.logistics { grid-template-columns:1fr; gap:30px; }
  .product-image img { max-height:460px; }
  .place-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .local-hero::after { background:rgba(5,6,8,.8); }
  .local-hero { min-height:0; }
}
@media(max-width:640px) {
  .local-page .wrap { width:calc(100% - 32px); }
  .local-page .brand-copy strong { font-size:.65rem; }
  .local-page .brand-copy span { font-size:.53rem; }
  .local-page .brand-mark { width:25px; }
  .local-page .brand { gap:8px; }
  .local-page .nav { gap:10px; }
  .local-page .nav-contact { font-size:.8rem; padding:9px 11px; white-space:nowrap; }
  .local-hero { padding:40px 0; }
  .local-hero h1 { font-size:clamp(2.4rem,9.5vw,3.65rem); line-height:1.09; }
  .local-hero .hero-lead { font-size:1rem; }
  .local-facts { grid-template-columns:1fr; gap:16px; }
  .local-page .section { padding:52px 0; }
  .place-links { grid-template-columns:1fr; }
  .local-page .fatpop-pictures { grid-template-columns:1fr; }
  .local-page .btn { width:100%; padding:12px 16px; text-align:center; }
  .hub-hero { padding-top:38px; }
  .hub-hero h1 { font-size:2.7rem; }
  .local-page footer { padding-bottom:30px; }
  .local-page .contact-section { padding-bottom:54px; }
  .breadcrumbs { font-size:.85rem; }
}
@media(max-width:380px) {
  .local-page .nav { flex-wrap:wrap; justify-content:center; padding:14px 0; }
}
.product-image--portrait img { width:min(100%,420px); height:auto; max-height:none; aspect-ratio:auto; margin-inline:auto; }
.product-image--portrait figcaption { text-align:center; }
.product-image--catalog img { width:min(100%,500px); height:auto; max-height:none; aspect-ratio:1; object-fit:contain; margin-inline:auto; background:#000; }
.product-image--catalog figcaption { text-align:center; }
.catalog-see-all { margin-top:20px; }
.product-image--scene img { width:100%; height:auto; max-height:none; aspect-ratio:auto; }
.christmas-visuals { display:grid; gap:26px; }
.christmas-visuals .product-image--catalog img { width:min(100%,290px); }
.fatpop-scene { margin-top:28px; max-width:1050px; }
.fatpop-scene .product-image--square { max-width:560px; }
.product-image--square img { aspect-ratio:1; object-fit:contain; }
.product-image--panorama img { aspect-ratio:1870/584; object-fit:cover; }
