/* Poster preset (Bara Kemangi): warung signage. Condensed caps, chili and turmeric blocks, 3px ink frames,
   hard shadows, rotated stickers. Contract: docs/demo-sectors-plan.md 3.3 and 7.6. */

/* 1. Tokens: --k ink, --w paper, --r chili, --g turmeric, --l banana leaf */
:root[data-theme-style=poster] {
  --k: #1B1712; --w: #F4EAD8; --r: #B22A1E; --g: #F0B21A; --l: #2E5A36;
  --bg: #F4EAD8; --bg-2: #EADCC1; --tint: #EDDFC5;
  --ink: #1B1712; --ink-2: #4F463B; --ink-3: #5E5446; --line: #CDBB98;
  --tone-dark: #2E5A36; --tone-dark-ink: #F4EAD8;
  --max: 1200px; --space: clamp(52px, 7.5vw, 104px); --sticky-top: 63px;
  --hard: 4px 4px 0 var(--k); --frame: 3px solid var(--k);
  --ic-chili: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 3.2c1.6-.9 3.1-.3 3.7.9-1.2-.2-2.2.2-2.9 1.3 1.6 3.3 1.9 7.3-.9 10.9-2.6 3.3-7.2 4.7-11.3 4.2 4.3-1.7 5.8-3.9 6.4-6.6.4-1.9.3-3.8 1.3-5.5 1-1.6 2.4-3.1 3.7-5.2z'/%3E%3C/svg%3E");
  --scallop: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='22'%3E%3Cpath d='M0 0A20 20 0 0 0 40 0' fill='%23B22A1E' stroke='%231B1712' stroke-width='3'/%3E%3C/svg%3E");
  scroll-padding-top: 132px;
}
[data-theme-style=poster] body { font-size: 1.0625rem; }
[data-theme-style=poster] ::selection { background: var(--g); color: var(--k); }

/* 2. Global type, links, stickers */
[data-theme-style=poster] :is(.site-nav a, .subnav a:not(.btn), .menu-name, .menu-prices, .rail-price, .faq-list summary, .timeline-list time, .group-title, .contact-details dt, .footer-col h2, .product-side h2, .plan-price, .marquee-track) { font-family: var(--font-heading); font-weight: 800; line-height: 1; letter-spacing: .02em; text-transform: uppercase; }
[data-theme-style=poster] :is(h1, h2, h3, h4, .h1) { font-weight: 900; text-transform: uppercase; letter-spacing: .005em; line-height: .9; }
[data-theme-style=poster] :is(h1, .h1) { font-size: clamp(3.5rem, 11vw, 9rem); line-height: .85; letter-spacing: 0; }
[data-theme-style=poster] h2 { font-size: clamp(2.6rem, 6.2vw, 4.75rem); line-height: .88; }
[data-theme-style=poster] h3 { font-size: 1.75rem; font-weight: 800; letter-spacing: .015em; }
[data-theme-style=poster] .section-head { max-width: 920px; margin-bottom: clamp(28px, 4.5vw, 52px); }
[data-theme-style=poster] .lede { color: var(--ink-2); font-size: 1.15rem; }
[data-theme-style=poster] :is(.eyebrow, .menu-tag, .post-cat, .plan-badge), [data-theme-style=poster] .gallery-grid figcaption { background: var(--g); color: var(--k); border: 2px solid var(--k); border-radius: 3px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; transform: rotate(-2.5deg); }
[data-theme-style=poster] .eyebrow { display: inline-block; margin-bottom: 1.1em; padding: 4px 11px 3px; font-size: .74rem; transform-origin: left center; }
:root[data-theme-style=poster] .section-wrap .eyebrow { color: var(--k); opacity: 1; }
[data-theme-style=poster] a { color: var(--r); text-decoration-thickness: 2px; text-underline-offset: 3px; }
[data-theme-style=poster] a:hover { color: var(--k); }
[data-theme-style=poster] :focus-visible { outline: 3px solid var(--r); outline-offset: 3px; }
[data-theme-style=poster] :is(.site-header, .section-wrap[data-type="subnav"], .section-wrap[data-type="marquee"], .section-wrap[data-tone], .cta-band) :focus-visible { outline-color: var(--g); }
[data-theme-style=poster] .site-footer :focus-visible { outline-color: var(--k); }
[data-theme-style=poster] .hl { display: inline-block; padding: .02em .14em 0; background: var(--g); color: var(--k); transform: rotate(-2deg); box-shadow: none; text-shadow: none; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
[data-theme-style=poster] .section-wrap + .section-wrap > section { border-top: 0; }
[data-theme-style=poster] .section-wrap[data-look~="quiet"] > section { padding-top: 0; }

/* 3. Buttons */
[data-theme-style=poster] .btn { min-height: 48px; justify-content: center; padding: 11px 22px; border: var(--frame); border-radius: var(--radius); box-shadow: var(--hard); font-size: .82rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: transform .12s, box-shadow .12s, background .12s; }
[data-theme-style=poster] .btn:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--k); }
[data-theme-style=poster] .btn:active { transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--k); }
[data-theme-style=poster] .btn-primary, [data-theme-style=poster] .btn-primary:hover { background: var(--r); color: #fff; }
[data-theme-style=poster] :is(.btn-secondary, .btn-light) { background: var(--w); color: var(--k); }
[data-theme-style=poster] :is(.btn-secondary, .btn-light):hover { background: var(--g); color: var(--k); }
[data-theme-style=poster] .link-arrow { color: var(--k); font-size: .85rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: underline; text-decoration-color: var(--g); text-decoration-thickness: 4px; text-underline-offset: 4px; }
[data-theme-style=poster] .link-arrow:hover { color: var(--r); }

/* 4. Header and navigation */
[data-theme-style=poster] .site-header { background: var(--r); border-bottom: var(--frame); }
[data-theme-style=poster] .header-inner { min-height: 60px; gap: 12px 22px; }
[data-theme-style=poster] .site-header .brand { position: relative; z-index: 3; flex: none; align-self: flex-start; margin: 4px 0 -20px; width: 76px; height: 76px; display: grid; place-items: center; overflow: hidden; text-align: center; text-decoration: none; background: var(--w); color: var(--k); border: var(--frame); border-radius: 50%; box-shadow: var(--hard); }
[data-theme-style=poster] .site-header .brand::after { content: ""; position: absolute; inset: 4px; border: 1.5px dashed var(--k); border-radius: 50%; opacity: .5; pointer-events: none; }
[data-theme-style=poster] .brand img { width: 100%; height: 100%; object-fit: contain; padding: 6px; }
[data-theme-style=poster] .wordmark { display: block; font-family: var(--font-heading); font-size: .98rem; font-weight: 900; line-height: .86; letter-spacing: .01em; text-transform: uppercase; }
[data-theme-style=poster] .wordmark::before { content: none; }
[data-theme-style=poster] .site-header .wordmark::before { content: ""; display: block; width: 14px; height: 14px; margin: 0 auto 3px; background: var(--r); -webkit-mask: var(--ic-chili) center / contain no-repeat; mask: var(--ic-chili) center / contain no-repeat; }
[data-theme-style=poster] .site-nav { gap: 22px; }
[data-theme-style=poster] .site-nav > ul { gap: 4px 24px; }
[data-theme-style=poster] .site-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 0; color: var(--w); font-size: 1.25rem; letter-spacing: .05em; }
[data-theme-style=poster] .site-nav a:hover, [data-theme-style=poster] .site-nav > ul > li > a[aria-current="page"] { color: #fff; box-shadow: none; text-decoration: underline; text-decoration-color: var(--g); text-decoration-thickness: 3px; text-underline-offset: 6px; }
:root[data-theme-style=poster] .site-nav .nav-cta { padding: 8px 18px; background: var(--g); color: var(--k) !important; border: var(--frame); border-radius: var(--radius); box-shadow: var(--hard); font-size: 1.1rem; text-decoration: none; }
:root[data-theme-style=poster] .site-nav .nav-cta:hover { background: var(--w); text-decoration: none; }
[data-theme-style=poster] :is(.bars, .bars::before, .bars::after) { background: var(--w); height: 3px; }
[data-theme-style=poster] .nav-open .bars { background: transparent; }
[data-theme-style=poster] .nav-toggle { margin-left: auto; min-width: 44px; min-height: 44px; place-items: center; border: 2px solid var(--w); border-radius: var(--radius); }
[data-theme-style=poster] .open-status { flex: none; align-self: center; margin: 0 auto 0 0 !important; padding: 5px 13px 4px; background: var(--k); color: var(--w); border-radius: 999px; font-size: .8rem; letter-spacing: .04em; text-transform: uppercase; }
[data-theme-style=poster] .open-status .dot { width: 10px; height: 10px; background: transparent; box-shadow: inset 0 0 0 2px var(--w); }
[data-theme-style=poster] .open-status:is(.is-open, [data-state="open"]) .dot { background: #52D17F; box-shadow: none; }

/* 5. Hero (cover) */
[data-theme-style=poster] .section-wrap > .hero.hero-cover { min-height: clamp(560px, 90vh, 880px); background: var(--k); border-bottom: var(--frame); }
[data-theme-style=poster] .section-wrap > .hero.hero-cover .hero-text { padding-top: 96px; }
[data-theme-style=poster] .section-wrap > .hero.hero-cover .hero-text :is(h1, .h1) { max-width: 9em; font-size: clamp(3.5rem, 11vw, 9rem); line-height: .85; text-shadow: .035em .035em 0 var(--r); }
[data-theme-style=poster] .section-wrap > .hero.hero-cover .hero-text .lede { max-width: 46ch; font-size: 1.2rem; }
@media (min-width: 721px) {
  [data-theme-style=poster] .overlay-scrim .hero-bg::after { background: rgba(27, 23, 18, .6); }
  [data-theme-style=poster] .section-wrap > .hero.overlay-scrim .hero-text .hl { color: var(--k); box-shadow: none; }
}

/* 6. Marquee: a chili awning with a scalloped edge */
[data-theme-style=poster] .section-wrap[data-type="marquee"] { position: relative; z-index: 2; }
[data-theme-style=poster] .section-wrap[data-type="marquee"]::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 22px; background: var(--scallop) 0 0 / 40px 22px repeat-x; pointer-events: none; }
:root[data-theme-style=poster] .section-wrap[data-type="marquee"] > section { padding-block: clamp(14px, 2.4vw, 26px); background: var(--r); color: var(--w); border-bottom: var(--frame); }
[data-theme-style=poster] .marquee-track { font-weight: 900; line-height: .95; letter-spacing: .01em; }
[data-theme-style=poster] .marquee.size-xl .marquee-track { font-size: clamp(2.7rem, 1rem + 7.5vw, 6.5rem); }
[data-theme-style=poster] .marquee.size-m .marquee-track { font-size: clamp(1.6rem, 1rem + 2vw, 2.6rem); }
[data-theme-style=poster] .marquee-sep { color: var(--g); margin-inline: .3em; }
[data-theme-style=poster] .marquee-toggle { background: var(--w); color: var(--k); border: var(--frame); box-shadow: 3px 3px 0 var(--k); }

/* 7. Framed photos and cards */
[data-theme-style=poster] :is(.split-media img, .gallery-grid img, .post-thumb, .post-cover, .product-hero img, .prose img, .map, .menu-thumb, .rail-media, .tl-photo) { border: var(--frame); border-radius: var(--radius); box-shadow: var(--hard); }
[data-theme-style=poster] :is(.plan, .product-card), [data-theme-style=poster] .enquiry .enquiry-form, [data-theme-style=poster] .feature-grid.has-photos li.has-photo { background: var(--w); border: var(--frame); border-radius: var(--radius); box-shadow: 6px 6px 0 var(--k); }
[data-theme-style=poster] :is(.split-media, .product-hero) img { box-shadow: 8px 8px 0 var(--g); }
[data-theme-style=poster] .split-bleed { border-block: var(--frame); }
[data-theme-style=poster] .split-bleed .split-media img { border: 0; border-radius: 0; box-shadow: none; }

/* Rail */
[data-theme-style=poster] .rail-track { padding-block: 20px 28px; gap: 22px; scrollbar-color: var(--k) transparent; }
[data-theme-style=poster] .rail-btn { background: var(--w); color: var(--k); border: var(--frame); border-radius: var(--radius); box-shadow: 3px 3px 0 var(--k); }
[data-theme-style=poster] .rail-btn:hover:not(:disabled) { background: var(--g); border-color: var(--k); }
[data-theme-style=poster] .rail-body h3 { margin: 0 0 .2em; font-size: 1.85rem; }
[data-theme-style=poster] .rail-body h3 a { color: var(--k); }
[data-theme-style=poster] .rail-body h3 a:hover { color: var(--r); text-decoration: none; }
[data-theme-style=poster] .rail-price { font-size: 1.5rem; font-weight: 900; color: var(--r); }
[data-theme-style=poster] .section-wrap[data-look~="stickers"] .rail-price { position: absolute; top: -12px; right: -8px; z-index: 2; margin: 0; padding: 3px 12px 1px; background: var(--g); color: var(--k); border: var(--frame); box-shadow: var(--hard); transform: rotate(-3deg); font-size: 1.55rem; line-height: 1.1; }

/* Menu */
[data-theme-style=poster] .menu-groups { gap: clamp(36px, 5vw, 64px); }
[data-theme-style=poster] .menu-group-head { align-items: center; margin-bottom: 6px; padding: 8px 16px 5px; background: var(--k); border: 0; border-radius: 3px; }
[data-theme-style=poster] .menu-group-head h3 { margin: 0; color: var(--w); font-size: clamp(1.9rem, 3.4vw, 2.6rem); letter-spacing: .03em; }
[data-theme-style=poster] .menu-group-head p { color: var(--g); font-size: .85rem; }
[data-theme-style=poster] .menu-item { padding: 15px 2px; border-bottom: 2px solid var(--line); }
[data-theme-style=poster] .menu-thumb { width: 104px; height: 104px; }
[data-theme-style=poster] :is(.menu-name, .menu-prices) { font-size: 1.6rem; }
[data-theme-style=poster] .menu-prices { font-weight: 900; color: var(--r); }
[data-theme-style=poster] .section-wrap:is([data-tone="dark"], [data-tone="accent"]) .menu-prices { color: var(--g); }
[data-theme-style=poster] .menu-leader { margin-bottom: .3em; border-bottom: 3px dotted currentColor; opacity: .4; }
[data-theme-style=poster] .menu-desc { margin-top: 5px; font-size: .95rem; }
[data-theme-style=poster] .menu-tag { display: inline-flex; align-items: center; gap: 4px; margin-left: .7em; padding: 2px 8px 1px; background: var(--r); color: #fff; box-shadow: 2px 2px 0 var(--k); font-family: var(--font); font-size: .66rem; letter-spacing: .08em; vertical-align: .22em; transform: rotate(-3deg); }
[data-theme-style=poster] .menu-tag::before { content: ""; width: 12px; height: 12px; background: var(--g); -webkit-mask: var(--ic-chili) center / contain no-repeat; mask: var(--ic-chili) center / contain no-repeat; }
[data-theme-style=poster] .menu-group { scroll-margin-top: 140px; }
@media (min-width: 860px) {
  [data-theme-style=poster] .menu.layout-columns .menu-groups:has(> :only-child) { grid-template-columns: 1fr; }
  [data-theme-style=poster] .menu-groups > :only-child .menu-items { display: grid; grid-template-columns: 1fr 1fr; column-gap: clamp(32px, 5vw, 72px); }
}
[data-theme-style=poster] .section-wrap[data-type="subnav"] { background: var(--k); border-bottom: var(--frame); }
[data-theme-style=poster] .subnav ul { gap: 6px; padding-block: 8px; }
[data-theme-style=poster] .subnav a:not(.btn) { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 0; border-radius: 3px; color: var(--w); font-size: 1.2rem; letter-spacing: .06em; }
[data-theme-style=poster] .subnav a:not(.btn):hover { color: var(--g); }
[data-theme-style=poster] .subnav a[aria-current="true"] { background: var(--g); color: var(--k); }
:root[data-theme-style=poster] .subnav-cta { background: var(--g); color: var(--k); border-color: var(--w); box-shadow: 3px 3px 0 var(--r); }

/* Gallery, features, plans */
[data-theme-style=poster] .gallery-grid { gap: 16px; }
[data-theme-style=poster] .gallery-grid.layout-grid { grid-template-columns: repeat(3, 1fr); }
[data-theme-style=poster] .gallery-grid.layout-grid li { aspect-ratio: 1; }
[data-theme-style=poster] .gallery-grid figcaption { padding: 4px 10px; font-size: .78rem; letter-spacing: .04em; }
[data-theme-style=poster] .feature-grid.has-photos { gap: 24px; }
[data-theme-style=poster] .feature-grid.has-photos .card-photo { border-bottom: var(--frame); }
[data-theme-style=poster] .feature-grid.has-photos li.has-photo h3 { font-size: 2.1rem; }
:root[data-theme-style=poster] .section-wrap[data-tone] .feature-grid.has-photos li.has-photo :is(h3, p, a, .link-arrow) { color: var(--k); }
[data-theme-style=poster] .plan.is-highlight { background: var(--g); }
[data-theme-style=poster] .plan-badge { top: -16px; left: 18px; padding: 3px 12px 2px; box-shadow: 2px 2px 0 var(--k); background: var(--r); color: #fff; font-size: .7rem; transform: rotate(-3deg); }
[data-theme-style=poster] .plan h3 { font-size: 2.3rem; }
[data-theme-style=poster] .plan-price { font-size: 3rem; font-weight: 900; color: var(--r); }
[data-theme-style=poster] .plan.is-highlight .plan-price { color: var(--k); }
[data-theme-style=poster] .plan-price span { margin-top: 6px; font-family: var(--font); font-size: .85rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--ink-2); }
[data-theme-style=poster] :is(.plan-desc, .plan-features) { color: var(--k); }
[data-theme-style=poster] .plan-features .icon { color: var(--r); }
[data-theme-style=poster] .plan.is-highlight .plan-features .icon { color: var(--k); }

/* FAQ, timeline, CTA, prose */
[data-theme-style=poster] .faq-list details { border-top: var(--frame); }
[data-theme-style=poster] .faq-list details:last-child { border-bottom: var(--frame); }
[data-theme-style=poster] .faq-list summary { align-items: center; min-height: 44px; font-size: 1.65rem; }
[data-theme-style=poster] .faq-list summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 36px; height: 36px; background: var(--g); color: var(--k); border: 2px solid var(--k); border-radius: 3px; font-family: var(--font); font-size: 1.4rem; font-weight: 700; line-height: 1; }
[data-theme-style=poster] .faq-list details[open] summary::after { content: "\2013"; background: var(--r); color: #fff; }
[data-theme-style=poster] .timeline-list { margin-left: 10px; border-left: 4px solid var(--k); }
[data-theme-style=poster] .timeline-list li::before { left: -14px; top: 6px; width: 22px; height: 22px; background: var(--g); border: var(--frame); border-radius: 3px; transform: rotate(45deg); }
[data-theme-style=poster] .timeline-list time { font-size: 2.5rem; font-weight: 900; line-height: .9; color: var(--r); }
:root[data-theme-style=poster] .cta-band { padding-block: clamp(56px, 8vw, 104px) !important; background: var(--k); color: var(--w); border-block: var(--frame); }
[data-theme-style=poster] .cta-band::before { content: none; }
[data-theme-style=poster] .cta-band h2 { max-width: 14ch; color: var(--g); font-size: clamp(2.8rem, 7.5vw, 6rem); line-height: .86; }
[data-theme-style=poster] .cta-band p { color: var(--w); font-size: 1.1rem; }
[data-theme-style=poster] .cta-band .btn-light { background: var(--g); color: var(--k); border-color: var(--w); box-shadow: 4px 4px 0 var(--r); }
[data-theme-style=poster] .cta-band .btn-light:hover { background: var(--w); box-shadow: 6px 6px 0 var(--r); }
[data-theme-style=poster] .cta-band .btn-ghost { background: transparent; color: var(--w); border-color: var(--w); box-shadow: none; }
[data-theme-style=poster] .cta-band .btn-ghost:hover { background: var(--w); color: var(--k); }
[data-theme-style=poster] .prose :is(h2, h3) { margin-top: 1.3em; font-size: clamp(1.9rem, 3.5vw, 2.5rem); }
[data-theme-style=poster] .prose blockquote { padding: 6px 0 6px 18px; border-left: 6px solid var(--r); color: var(--k); font-size: 1.1rem; }

/* 8. Page header, products, posts */
[data-theme-style=poster] .page-header { padding-block: clamp(36px, 6vw, 72px) clamp(24px, 4vw, 44px); background: var(--g); border-bottom: var(--frame); }
[data-theme-style=poster] .page-header h1 { max-width: 12em; margin-bottom: .18em; font-size: clamp(3.2rem, 10vw, 7rem); }
[data-theme-style=poster] .page-header .eyebrow { background: var(--w); }
[data-theme-style=poster] .post-detail .page-header .container { padding-block: 0; }
[data-theme-style=poster] :is(.page-header .lede, .breadcrumb ol, .breadcrumb a) { color: var(--k); }
[data-theme-style=poster] .breadcrumb li + li::before { color: var(--k); }
[data-theme-style=poster] .group-title { color: var(--k); font-size: 2.4rem; border-bottom: var(--frame); }
[data-theme-style=poster] .product-grid { justify-content: flex-start; gap: 36px 28px; }
[data-theme-style=poster] .product-hero img { width: 100%; }
[data-theme-style=poster] .product-card { overflow: hidden; }
[data-theme-style=poster] .product-card .product-thumb { margin: 0; border-bottom: var(--frame); border-radius: 0; aspect-ratio: 4/3; }
[data-theme-style=poster] .product-body { display: flex; flex-direction: column; flex: 1; padding: 18px 20px 22px; }
[data-theme-style=poster] .product-card .eyebrow { align-self: flex-start; font-size: .68rem; color: var(--k); }
[data-theme-style=poster] .product-card h3 { font-size: 2.1rem; }
[data-theme-style=poster] :is(.product-card h3 a, .post-card h3 a) { color: var(--k); }
[data-theme-style=poster] :is(.product-card h3 a, .post-card h3 a):hover { color: var(--r); }
[data-theme-style=poster] .product-tagline { color: var(--r); font-weight: 700; }
[data-theme-style=poster] .product-side h2 { color: var(--k); font-size: 1.6rem; }
[data-theme-style=poster] .feature-list li { border-top: 2px solid var(--k); }
[data-theme-style=poster] .related { border-top: var(--frame); }
[data-theme-style=poster] .post-grid { gap: 40px 28px; }
[data-theme-style=poster] .post-cat { display: inline-block; padding: 2px 9px 1px; font-size: .7rem; letter-spacing: .1em; }
[data-theme-style=poster] .post-meta { align-items: center; color: var(--ink-2); }
[data-theme-style=poster] .post-card h3 { font-size: 2rem; }

/* 9. Forms and contact */
[data-theme-style=poster] :is(.contact-form label, .enq-field) { font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
[data-theme-style=poster] :is(.contact-form :is(input, textarea), .enq-field :where(input, select)) { min-height: 48px; background: #FFFBF1; color: var(--k); border: var(--frame); border-radius: var(--radius); font-weight: 500; letter-spacing: 0; text-transform: none; }
[data-theme-style=poster] :is(.contact-form :is(input, textarea):focus, .enq-field :is(input, select):focus-visible) { outline: 3px solid var(--r); outline-offset: 2px; border-color: var(--k); }
[data-theme-style=poster] ::placeholder { color: var(--ink-2); opacity: 1; }
[data-theme-style=poster] .form-notice { border: var(--frame); font-weight: 600; }
[data-theme-style=poster] .contact-details dt { color: var(--r); font-size: 1.15rem; }
[data-theme-style=poster] .enquiry.layout-card .enquiry-form { box-shadow: 8px 8px 0 var(--k); }

/* 10. Float CTA and footer */
:root[data-theme-style=poster] .float-cta { height: 54px; background: var(--l); color: var(--w); border: var(--frame); border-radius: var(--radius); box-shadow: var(--hard); font-size: .82rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
:root[data-theme-style=poster] .float-cta:hover { background: var(--k); color: var(--w); }
[data-theme-style=poster] .float-cta:focus-visible { outline: 3px solid var(--g); box-shadow: var(--hard); }
[data-theme-style=poster] .site-footer { padding-top: clamp(40px, 6vw, 72px); background: var(--g); color: var(--k); border-top: var(--frame); font-size: .98rem; }
[data-theme-style=poster] .footer-grid { grid-template-columns: repeat(calc(var(--footer-cols, 4) - 1), 1fr); gap: 32px 40px; padding-bottom: 40px; }
[data-theme-style=poster] .footer-about { grid-column: 1 / -1; order: -1; }
[data-theme-style=poster] .site-footer .brand { display: block; width: auto; height: auto; overflow: visible; background: none; border: 0; border-radius: 0; box-shadow: none; }
[data-theme-style=poster] .site-footer .brand .wordmark { display: block; font-size: clamp(3.4rem, 15.4vw, 13.5rem); line-height: .8; white-space: nowrap; max-width: none; letter-spacing: -.005em; color: var(--r); text-shadow: .025em .025em 0 var(--k); }
[data-theme-style=poster] .site-footer .brand img { width: 180px; height: auto; padding: 0; }
[data-theme-style=poster] .footer-about p { max-width: 52ch; margin-top: 18px; font-size: 1.05rem; }
[data-theme-style=poster] .footer-col h2 { color: var(--k); font-size: 1.5rem; }
[data-theme-style=poster] :is(.footer-col a, .footer-contact a, .social a, .footer-bottom a) { color: var(--k); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
[data-theme-style=poster] :is(.footer-col a, .footer-contact a, .social a, .footer-bottom a):hover { color: var(--r); }
[data-theme-style=poster] .footer-bottom { color: var(--k); border-top: var(--frame); }

/* 11. Responsive */
@media (max-width: 1100px) {
  [data-theme-style=poster] .site-nav { gap: 14px; }
  [data-theme-style=poster] .site-nav > ul { gap: 2px 16px; }
  [data-theme-style=poster] .site-nav a { font-size: 1.12rem; }
  }
@media (min-width: 721px) and (max-width: 900px) { [data-theme-style=poster] .site-nav .nav-cta { display: none; } }
@media (max-width: 960px) {
  [data-theme-style=poster] .gallery-grid.layout-grid { grid-template-columns: repeat(2, 1fr); }
  [data-theme-style=poster] .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  :root[data-theme-style=poster] { --sticky-top: 59px; }
  [data-theme-style=poster] .nav-toggle { display: grid; }
  [data-theme-style=poster] .header-inner { min-height: 56px; gap: 10px; }
  [data-theme-style=poster] .site-header .brand { width: 64px; height: 64px; margin: 3px 0 -14px; box-shadow: 3px 3px 0 var(--k); }
  [data-theme-style=poster] .wordmark { font-size: .9rem; }
  [data-theme-style=poster] .open-status { min-width: 0; margin-right: 0 !important; padding: 4px 10px 3px; font-size: .68rem; }
  [data-theme-style=poster] .site-nav { padding: 8px var(--gutter) 22px; background: var(--r); border-bottom: var(--frame); }
  [data-theme-style=poster] .site-nav > ul > li > a { display: flex; padding: 12px 0; border-bottom: 2px solid rgba(244, 234, 216, .35); font-size: 1.6rem; }
  [data-theme-style=poster] .site-nav > ul > li > a[aria-current="page"] { padding-left: 14px; text-decoration: none; box-shadow: inset 6px 0 0 var(--g); }
  :root[data-theme-style=poster] .site-nav .nav-cta { width: 100%; margin-top: 14px; padding: 10px; font-size: 1.4rem; }
  [data-theme-style=poster] h2 { font-size: clamp(2.5rem, 12vw, 3.4rem); }
  [data-theme-style=poster] .marquee.size-xl .marquee-track { font-size: clamp(2.2rem, 11vw, 3.4rem); }
  [data-theme-style=poster] .marquee-track { gap: 0 .35em; }
  [data-theme-style=poster] .rail-track { --rail-w: min(72vw, 300px); }
  [data-theme-style=poster] .section-wrap[data-look~="stickers"] .rail-price { right: -4px; font-size: 1.35rem; }
  [data-theme-style=poster] :is(.menu-name, .menu-prices) { font-size: 1.4rem; }
  [data-theme-style=poster] .menu-thumb { width: 72px; height: 72px; }
  [data-theme-style=poster] .menu-item { padding-block: 12px; }
  [data-theme-style=poster] .menu-line { flex-wrap: nowrap; align-items: baseline; }
  [data-theme-style=poster] .menu-name { flex: 0 1 auto; }
  [data-theme-style=poster] .menu-leader { display: block; min-width: .8em; }
  [data-theme-style=poster] .menu-prices { flex: none; margin: 0; }
  [data-theme-style=poster] .subnav a:not(.btn) { padding: 0 12px; font-size: 1.1rem; }
  [data-theme-style=poster] .faq-list summary { font-size: 1.4rem; }
  [data-theme-style=poster] .float-cta { width: 56px; height: 56px; border-radius: 50%; }
  [data-theme-style=poster] .timeline-list time { font-size: 2rem; }
  [data-theme-style=poster] .feature-grid.has-photos li.has-photo { box-shadow: 4px 4px 0 var(--k); }
  [data-theme-style=poster] .section-wrap > .hero.hero-cover { background: var(--bg); }
  [data-theme-style=poster] .section-wrap > .hero.hero-cover .hero-bg { border-bottom: var(--frame); }
  [data-theme-style=poster] :is(.hero-cover .hero-text, .overlay-scrim .hero-text) { margin: -44px 0 28px; padding: 22px 20px 24px; background: var(--w); border: var(--frame); border-radius: var(--radius); box-shadow: 6px 6px 0 var(--k); }
  [data-theme-style=poster] .section-wrap > .hero.hero-cover .hero-text { padding-top: 22px; }
  [data-theme-style=poster] .section-wrap > .hero.hero-cover .hero-text :is(h1, .h1) { color: var(--k); font-size: clamp(3.1rem, 16vw, 4.6rem); text-shadow: .035em .035em 0 var(--g); }
  [data-theme-style=poster] .section-wrap > .hero.hero-cover .hero-text .lede { color: var(--ink-2); font-size: 1.05rem; }
}
@media (max-width: 420px) {
  [data-theme-style=poster] .footer-grid { grid-template-columns: 1fr; }
  [data-theme-style=poster] .menu-thumb { width: 56px; height: 56px; }
  [data-theme-style=poster] :is(.menu-name, .menu-prices) { font-size: 1.25rem; }
  [data-theme-style=poster] .menu-leader { min-width: 0; margin-inline: .3em; }
  [data-theme-style=poster] .actions .btn { flex: 1 1 100%; }
  [data-theme-style=poster] .site-header .brand { width: 58px; height: 58px; }
  [data-theme-style=poster] .wordmark { font-size: .82rem; }
}

/* 12. Motion: hover wobble and stamp-in; off for reduced motion and data-motion="off" */
@media (prefers-reduced-motion: no-preference) {
  @keyframes poster-wobble { 0% { transform: rotate(-3deg); } 30% { transform: rotate(3deg) scale(1.04); } 60% { transform: rotate(-5deg) scale(1.04); } 100% { transform: rotate(-3deg); } }
  @keyframes poster-stamp { 0% { transform: rotate(-9deg) scale(1.5); opacity: 0; } 60% { transform: rotate(-1deg) scale(.96); opacity: 1; } 100% { transform: rotate(-2deg) scale(1); opacity: 1; } }
  :root[data-theme-style=poster]:not([data-motion="off"]) .hero-cover .hl { animation: poster-stamp .55s .25s cubic-bezier(.2, .8, .3, 1) both; }
  :root[data-theme-style=poster]:not([data-motion="off"]) :is(.rail-card:hover .rail-price, .menu-item:hover .menu-tag) { animation: poster-wobble .5s ease-in-out; }
  :root[data-theme-style=poster]:not([data-motion="off"]) .rail-card:hover .rail-media { transform: translate(-3px, -3px); box-shadow: 8px 8px 0 var(--k); }
  :root[data-theme-style=poster]:not([data-motion="off"]) :is(.product-card, .feature-grid.has-photos li.has-photo):hover { transform: translate(-3px, -3px); box-shadow: 9px 9px 0 var(--k); }
  :root[data-theme-style=poster]:not([data-motion="off"]) .gallery-grid li:hover img { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--k); }
}

/* 13. Print */
@media print {
  [data-theme-style=poster] :is(.site-header, .footer-col, .float-cta, .section-wrap[data-type="subnav"], .cta-band) { display: none !important; }
  [data-theme-style=poster] body { background: #fff; }
}

/* QA: tables wrap instead of overflowing small screens */
[data-theme-style="poster"] .prose :is(th, td) { overflow-wrap: anywhere; }
@media (max-width: 600px) { [data-theme-style="poster"] .prose table { font-size: .8125rem; } [data-theme-style="poster"] .prose :is(th, td) { padding-inline: 6px; } }
