/* QuantaFinder — "sky" colours for the cinema theme, after Amro's reference: bright blue,
   near-black type, one red accent. Loaded after cinema.css and overrides its dark palette. */
:root {
  --paper: #58BDF2;
  --white: #F2FAFF;
  --stage: #CDEBFB;
  --panel: #DDF2FD;
  --ink: #0B1424;
  --ink-2: #16243A;
  --ink-3: #22344F;
  --steel: #2E4A66;
  --steel-light: #5E7D99;
  --rule: rgba(11,20,36,.14);
  --rule-strong: rgba(11,20,36,.26);
  --photon: #E8384F;
  --photon-hover: #D02A41;
  --photon-tint: #FFE1E6;
  --photon-ink: #0B1424;
  --ok: #0F6B47; --ok-tint: #D8F3E6;
  --wait: #7A4A00; --wait-tint: #FFEFC9;
  --danger: #B42318; --danger-tint: #FDE2E0;
}
html, body { background: #58BDF2; }
body { background: linear-gradient(180deg, #4FB4F0 0%, #6FC8F6 40%, #9BDCF9 100%) fixed; color: var(--ink); }
body::before { background: radial-gradient(45% 40% at 20% 15%, rgba(255,255,255,.55), transparent 60%), radial-gradient(35% 30% at 80% 25%, rgba(0,190,255,.35), transparent 60%), radial-gradient(45% 40% at 60% 85%, rgba(255,255,255,.35), transparent 60%); filter: blur(50px); }
.grain { opacity: .05; mix-blend-mode: multiply; }
.vignette { background: radial-gradient(120% 90% at 50% 40%, transparent 60%, rgba(10,60,110,.28) 100%); }
.scroll-line { background: linear-gradient(90deg, #0B1424, #E8384F); box-shadow: none; }
a { color: var(--ink); text-decoration: underline; text-decoration-color: rgba(11,20,36,.35); }
a:hover { color: #E8384F; text-decoration-color: #E8384F; }
.section-head h2::before { color: #E8384F; }
.section-head > a { color: var(--ink); }
.section-tight::before { background: linear-gradient(90deg, rgba(0,0,0,0), rgba(11,20,36,.18) 8%, rgba(11,20,36,.18) 92%, rgba(0,0,0,0)); }
.section-tight::after { background: radial-gradient(ellipse at center, #fff 0%, rgba(255,255,255,.95) 22%, rgba(232,56,79,.75) 48%, rgba(232,56,79,0) 72%); }
.header-main::after { background: linear-gradient(90deg, rgba(232,56,79,0), rgba(232,56,79,.9) 30%, #fff 50%, rgba(232,56,79,.9) 70%, rgba(232,56,79,0)); }

/* header: light glass, dark type */
.site-header { background: rgba(255,255,255,.42); color: var(--ink); border-bottom: 1px solid rgba(255,255,255,.5); }
.header-main { border-bottom: 1px solid rgba(255,255,255,.35); }
.brand { color: var(--ink); }
.search { background: rgba(255,255,255,.7); }
.search:focus-within { background: #fff; box-shadow: 0 0 0 3px rgba(232,56,79,.35); }
.search-q, .search:focus-within .search-q { color: var(--ink); }
.search-q::placeholder { color: #4A6A88; }
.search-dept { color: var(--ink); border-right-color: rgba(11,20,36,.15); }
.search-go, .search:focus-within .search-go { color: var(--ink); }
.search-go:hover { background: rgba(11,20,36,.08); }
.tool, .all-depts, .dept-links a, .dept-extra a, .menu-btn { color: var(--ink); }
.tool:hover, .all-depts:hover, .all-depts[aria-expanded="true"], .dept-links a:hover, .dept-extra a:hover, .dept-links a[aria-current="page"], .dept-extra a[aria-current="page"] { color: var(--ink); background: rgba(255,255,255,.6); }
.tool-small { color: #2E4A66; }
.cart-count { background: #E8384F; color: #fff; }
.dept-bar { border-top-color: rgba(255,255,255,.35); }
.dept-extra { border-left-color: rgba(11,20,36,.15); }
.sale-bar { background: rgba(255,255,255,.3); border-bottom-color: rgba(255,255,255,.4); color: var(--ink); }
.sale-tag { color: #E8384F; }
.sale-link { color: var(--ink); }
.acct-panel, .mega, .drawer-panel { background: #F2FAFF; color: var(--ink); box-shadow: 0 24px 60px rgba(10,60,110,.3); }
.acct-panel a:not(.btn):hover, .acct-panel button:hover, .drawer-panel li a:hover { background: rgba(11,20,36,.06); }
.drawer-head { background: #F2FAFF; border-bottom-color: rgba(11,20,36,.1); color: var(--ink); }
.drawer-head a, .drawer-close, .mega-col h2 a, .drawer-panel li a { color: var(--ink); }
.mega-col li a { color: var(--steel); }
@media (max-width: 900px) { .menu-btn { color: var(--ink); } .dept-extra { border-right-color: rgba(11,20,36,.15); } }

/* hero on the blue: dark machine, dark type */
.lab { color: var(--ink); }
.lab::before { background: radial-gradient(55% 60% at 68% 55%, rgba(255,255,255,.35), transparent 70%); }
.lab::after { background: #0B1424; box-shadow: 0 calc(min(84vh, 860px) - 14px) 0 0 #0B1424; }
.lab-eyebrow, .lab-eyebrow .typed, .lab-eyebrow .typed::after { color: var(--ink); }
.lab-live { background: #E8384F; box-shadow: 0 0 0 0 rgba(232,56,79,.5); }
.lab-copy h1 { color: var(--ink); background: linear-gradient(100deg, #0B1424 0%, #0B1424 42%, #E8384F 50%, #16243A 56%, #0B1424 64%, #0B1424 100%); background-size: 260% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.lab-copy p { color: #16243A; }
.lab-copy .btn-outline-light { background: rgba(255,255,255,.35); border-color: rgba(11,20,36,.35); color: var(--ink); }
.lab-copy .btn-outline-light:hover { border-color: var(--ink); }
.lab-steps { border-top-color: rgba(11,20,36,.18); }
.lab-steps li { color: #2E4A66; }
.lab-steps strong { color: var(--ink); }
.lab-steps li::before { border-color: rgba(11,20,36,.35); color: var(--ink); }
.lab-steps li.is-on::before { background: #E8384F; border-color: #E8384F; color: #fff; box-shadow: 0 0 0 4px rgba(232,56,79,.2), 0 0 18px rgba(232,56,79,.5); }
.lab-racklabel { color: #16243A; }
.lab-racklabel strong { color: var(--ink); }
.lab-price, .lab-status { color: #E8384F; }
.lab-cat { border-color: rgba(11,20,36,.3); color: var(--ink); }
.lab-cat:hover { border-color: var(--ink); color: var(--ink); }
.lab-cat.is-on { background: var(--ink); border-color: var(--ink); color: #fff; }
.lab-btn { border-color: rgba(11,20,36,.35); color: var(--ink); }
.lab-btn:hover { background: rgba(255,255,255,.5); }
.lab-open { color: var(--ink); }
.lab-open:hover { color: #E8384F; }
.lab-made { opacity: .7; box-shadow: 0 8px 0 -4px rgba(10,60,110,.35), 0 12px 16px -8px rgba(10,60,110,.45); }
.lab-made.is-fresh { box-shadow: 0 8px 0 -4px rgba(10,60,110,.35), 0 0 0 2px #E8384F, 0 0 24px 4px rgba(232,56,79,.45); }
.lab-bed { box-shadow: 0 70px 100px -30px rgba(10,60,110,.7), inset 0 0 0 1px rgba(255,255,255,.08); }
.lab-job.is-cutting .lab-slab { box-shadow: 0 0 0 2px rgba(232,56,79,.9), 0 0 50px 10px rgba(255,255,255,.5); }
.lab-beam { background: linear-gradient(to bottom, #fff, #E8384F 30%, rgba(232,56,79,.85) 70%, rgba(232,56,79,.2)); box-shadow: 0 0 10px 2px rgba(232,56,79,.8), 0 0 30px 8px rgba(255,255,255,.5); }
.lab-head.is-on .lab-dot { box-shadow: 0 0 10px 4px rgba(232,56,79,.9); }
.lab-sparks i { box-shadow: 0 0 8px 2px rgba(232,56,79,.9); }
.lab-tray .lab-blank { background-color: #E6F4FC; }
.spot { background: radial-gradient(circle, rgba(255,255,255,.5) 0%, rgba(255,255,255,.2) 35%, rgba(255,255,255,0) 70%); mix-blend-mode: soft-light; }

/* surfaces: white glass, dark type, red actions */
.card-media, .dept-tile figure, .stage, .demo-stage, .thumb, .upload-thumb { background: linear-gradient(160deg, #FFFFFF, #E6F4FC); box-shadow: inset 0 0 0 1px rgba(255,255,255,.8), 0 10px 30px -14px rgba(10,60,110,.45); }
.card-media.tilt:hover { box-shadow: 0 34px 60px -28px rgba(10,60,110,.7), 0 0 0 2px rgba(232,56,79,.6); }
.card-title a, .dept-tile span, .card-price .price { color: var(--ink); }
.card-title a:hover, .dept-tile:hover span { color: #E8384F; }
.card-price { color: #2E4A66; }
.deals-tile figure { background: linear-gradient(135deg, #0B1424, #E8384F); }
.panel, .form-card, .co-section, .progress, .summary, .buybox, .customize, .empty-results, .filters-panel, .order-card, .mega-side, .care-reply, .demo, .cta-band { background: rgba(255,255,255,.55); box-shadow: inset 0 0 0 1px rgba(255,255,255,.8); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.rail-section { background: transparent; box-shadow: none; }
.biz-band { background: linear-gradient(135deg, #0B1424, #16243A); color: #fff; box-shadow: none; }
.demo-choice { background: rgba(255,255,255,.7); border-color: rgba(255,255,255,.9); color: var(--ink); }
.demo-choice[aria-pressed="true"] { background: var(--ink); color: #fff; border-color: var(--ink); }
.btn, .btn-light { background: #E8384F; border-color: #E8384F; color: #fff; }
.btn:hover, .btn-light:hover { background: #D02A41; border-color: #D02A41; color: #fff; box-shadow: 0 10px 30px -10px rgba(232,56,79,.7); }
.btn-secondary, .cta-band .btn-secondary { background: rgba(255,255,255,.75); border-color: rgba(255,255,255,.9); color: var(--ink); }
.btn-secondary:hover, .cta-band .btn-secondary:hover { background: #fff; border-color: var(--ink); color: var(--ink); }
.btn-ink, .btn-buy-now { background: var(--ink); border-color: var(--ink); color: #fff; }
.btn-ink:hover, .btn-buy-now:hover { background: #000; border-color: #000; color: #fff; }
.btn-google { background: #fff; color: var(--ink); }
.btn-google:hover { background: #fff; border-color: var(--ink); color: var(--ink); }
.pdp-badges li { background: rgba(255,255,255,.7); color: var(--ink); }
.size-btn > span, .pill > span { background: rgba(255,255,255,.7); border-color: rgba(255,255,255,.9); color: var(--ink); }
.size-btn input:checked + span { background: #fff; border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.pill input:checked + span { background: var(--ink); color: #fff; border-color: var(--ink); }
.bulk table, .specs { background: rgba(255,255,255,.6); border-color: rgba(255,255,255,.9); }
.bulk thead th { background: rgba(255,255,255,.5); }
.bulk tr.is-current td { background: #FFE1E6; }
.buybox .biz-link { background: rgba(255,255,255,.7); color: var(--ink); }
.buybox .biz-link strong { color: #E8384F; }
.stepper { background: #fff; border-color: rgba(11,20,36,.2); }
.stepper button { background: #EAF4FB; color: var(--ink); }
.stepper input { color: var(--ink); }
.input, input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], input[type="url"], input[type="date"], input[type="search"], select, textarea, .customize input[type="text"], .customize textarea, .form-card input, .form-card select, .form-card textarea, .panel input, .panel select, .panel textarea, .co-section input, .co-section select, .co-section textarea { background: #fff; border-color: rgba(11,20,36,.2); color: var(--ink); }
select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230B1424' stroke-width='2'/%3E%3C/svg%3E"); }
input::placeholder, textarea::placeholder { color: #6A8AA8; }
input:focus, select:focus, textarea:focus { border-color: #E8384F; box-shadow: 0 0 0 3px rgba(232,56,79,.25); }
.upload-row, .dropzone { background: rgba(255,255,255,.6); border-color: rgba(11,20,36,.25); }
.radio-card { background: rgba(255,255,255,.7); border-color: rgba(255,255,255,.9); }
.radio-card:has(input:checked) { background: #FFE1E6; border-color: #E8384F; box-shadow: inset 0 0 0 1px #E8384F; }
.or-rule span { background: #F2FAFF; }
.active-filters a, .filter-bar a { background: rgba(255,255,255,.7); border-color: rgba(255,255,255,.9); color: var(--ink); }
.filter-bar a[aria-current="true"] { background: var(--ink); color: #fff; border-color: var(--ink); }
.filter-group a, .crumbs a { color: var(--ink); }
.filter-group a:hover, .filter-group a[aria-current="page"], .filter-group a.is-on { color: #E8384F; }
.filters-head { background: #F2FAFF; }
.mosaic-label { background: rgba(255,255,255,.9); color: var(--ink); }
.badge-muted { background: rgba(11,20,36,.08); color: var(--steel); }
.badge-info { background: #FFE1E6; color: #B3213A; }
.notice-success { background: var(--ok-tint); border-color: #A9DCC6; color: #0F4F36; }
.notice-error { background: var(--danger-tint); border-color: #F3B9B3; color: #7A1A12; }
.notice-info { background: #FFE1E6; border-color: #F5B8C2; color: #8A1B2E; }
.notice-wait { background: var(--wait-tint); border-color: #F1D497; color: #5C3800; }
.data-table th, .data-table td, .review { border-color: rgba(11,20,36,.12); }
.timeline li::before { background: #E8384F; }
.steps li::before { color: #E8384F; }
.check-list li::before { border-color: #E8384F; }
.progress li::before { background: #fff; border-color: rgba(11,20,36,.3); }
.progress li::after, .timeline li::after { background: rgba(11,20,36,.2); }
.stars { color: rgba(11,20,36,.2); }
.stars .star.is-on { color: #E8384F; }
.check input, .radio-card input { accent-color: #E8384F; }

/* footer: end credits on navy */
.site-footer { background: #0B1424; color: #9FB3C8; border-top: 0; }
.footer-trust { border-bottom-color: rgba(255,255,255,.1); }
.trust-row p { color: #9FB3C8; }
.trust-row strong, .footer-grid h2 { color: #fff; }
.site-footer a { color: #C7D6E4; }
.site-footer a:hover { color: #fff; }
.footer-bottom { border-top-color: rgba(255,255,255,.1); color: #9FB3C8; }
.footer-brand img { height: 84px; width: auto; filter: drop-shadow(0 2px 6px rgba(0,0,0,.25)); }

/* ===== calmer: fewer effects, more air, the colour tone of the reference ===== */
body { background: linear-gradient(135deg, #1D5FA6 0%, #3E9EE3 28%, #74C8F5 58%, #B9E6FB 100%) fixed; }
body::before { background: radial-gradient(40% 35% at 85% 10%, rgba(255,255,255,.45), transparent 60%), radial-gradient(45% 40% at 30% 95%, rgba(255,255,255,.35), transparent 60%); filter: blur(60px); animation-duration: 40s; }
.grain, .vignette, .scroll-line, .dust, .spot { display: none !important; }
.section-head h2::before { display: none; }
.section-tight::before, .section-tight::after, .header-main::after { display: none; }
.section-tight { padding: clamp(40px, 5vw, 72px) 0; }
.section-tight[style] { padding-top: clamp(40px, 5vw, 72px) !important; }
.section-head h2 { font-size: clamp(1.9rem, 1.3rem + 1.8vw, 2.8rem); }
.sale-bar { display: none; }
.lab { min-height: min(78vh, 800px); padding-top: clamp(28px, 4vw, 56px); }
.lab::after { display: none; }
.lab-eyebrow { font-size: 10px; }
.lab-copy h1 { background: none; -webkit-text-fill-color: var(--ink); color: var(--ink); animation: none; }
.cine-enter .lab-copy h1 { animation: title-in 1.4s cubic-bezier(.2,.8,.2,1) both; }
.lab-sale { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; padding: 6px 12px 6px 8px; border-radius: 980px; background: rgba(255,255,255,.55); color: var(--ink); font-size: 13px; font-weight: 600; text-decoration: none; box-shadow: inset 0 0 0 1px rgba(255,255,255,.8); }
.lab-sale b { background: #E8384F; color: #fff; border-radius: 980px; padding: 3px 8px; font-size: 12px; }
.lab-sale:hover { background: #fff; color: var(--ink); text-decoration: none; }
.lab-copy .btn-light { animation: none; }
.lab-cats { display: none; }
.lab-rack { grid-auto-columns: 54px; }
.card-rating, .card-price .was { display: none; }

/* header: one row, big air, dark type on glass */
.site-header { background: rgba(255,255,255,.5); backdrop-filter: blur(20px) saturate(140%); -webkit-backdrop-filter: blur(20px) saturate(140%); border-bottom: 1px solid rgba(255,255,255,.55); }
.header-main { border-bottom: 0; }
.header-row { grid-template-columns: auto auto minmax(0, 1fr) auto auto; min-height: 64px; gap: 28px; }
.brand img { height: 24px; }
.dept-bar { position: static; background: transparent; border: 0; }
.dept-bar .dept-links { display: flex; gap: 2px; height: auto; overflow: visible; flex-wrap: nowrap; }
.dept-links a, .all-depts { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 980px; color: var(--ink); opacity: 1; font-size: 14px; font-weight: 600; text-decoration: none; border: 0; }
.dept-links a:hover, .all-depts:hover, .all-depts[aria-expanded="true"], .dept-links a[aria-current="page"] { background: rgba(255,255,255,.7); color: var(--ink); }
.all-depts .caret { width: 10px; height: 8px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.search { justify-self: end; width: 240px; max-width: 32vw; height: 38px; }
.search:focus-within { width: 320px; }
.search-q { padding: 0 14px !important; }
.header-tools { gap: 2px; }
.tool { flex-direction: row; gap: 8px; min-height: 40px; padding: 4px 12px; }
.tool-icon { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.tool-small { display: none; }
.tool-big { font-size: 14px; }
.cart-icon { width: 26px; height: 22px; }
.cart-icon svg { width: 26px; height: 22px; }
.cart-count { left: 13px; top: -6px; min-width: 18px; height: 18px; font-size: 11px; }
.mega { position: absolute; left: 0; right: 0; top: 100%; background: #F6FBFF; color: var(--ink); border-top: 1px solid rgba(11,20,36,.08); box-shadow: 0 30px 60px rgba(10,60,110,.28); }
.mega-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 32px 0 36px; }
.mega-col h2 { font-size: 15px; }
.mega-col h2 a { color: var(--ink); text-decoration: none; }
.mega-col li a { color: #2E4A66; text-decoration: none; }
.mega-col li a:hover, .mega-col h2 a:hover { color: #E8384F; text-decoration: none; }
.mega-col .mega-all { color: var(--ink); }
.mega-side { background: rgba(11,20,36,.04); }
@media (max-width: 1100px) { .header-row { gap: 16px; } .dept-links a, .all-depts { padding: 8px 9px; font-size: 13px; } }
@media (max-width: 900px) {
  .header-row { grid-template-columns: auto auto 1fr auto; grid-template-areas: "menu brand . tools" "search search search search"; }
  .dept-bar { display: none; }
  .search { width: 100%; max-width: none; justify-self: stretch; }
  .search:focus-within { width: 100%; }
}

/* footer in the red of the dot */
.site-footer { background: linear-gradient(160deg, #C8233B 0%, #8E1226 55%, #4A0A15 100%); color: #FFD9DF; }
.footer-trust { border-bottom-color: rgba(255,255,255,.18); }
.trust-row p, .footer-brand p, .footer-bottom { color: #FFD9DF; }
.trust-row strong, .footer-grid h2 { color: #fff; }
.site-footer a { color: #FFEDEF; }
.site-footer a:hover { color: #fff; text-decoration-color: #fff; }
.footer-bottom { border-top-color: rgba(255,255,255,.18); }
/* the Shop menu must paint above the page content */
.site-header { z-index: 40; }
.mega { z-index: 41; }

/* business page: what we make, for whom */
.biz-hero h1 { font-size: clamp(2rem, 1.4rem + 2vw, 3.2rem); max-width: 20ch; letter-spacing: -.03em; }
.biz-offer { padding: 8px 0 40px; }
.biz-offer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.biz-offer-card { display: flex; flex-direction: column; gap: 8px; padding: 22px; border-radius: 20px; background: rgba(255,255,255,.6); box-shadow: inset 0 0 0 1px rgba(255,255,255,.85); color: var(--ink); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.biz-offer-card:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px rgba(255,255,255,.95), 0 24px 40px -24px rgba(10,60,110,.5); text-decoration: none; color: var(--ink); }
.biz-offer-card h3 { margin: 0; font-size: 1.125rem; font-weight: 700; }
.biz-offer-card p { margin: 0; font-size: .9375rem; color: #16243A; line-height: 1.5; }
.biz-offer-card span { margin-top: auto; padding-top: 8px; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #E8384F; }
.biz-terms { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 20px; font-size: .9rem; color: #16243A; }
.biz-terms strong { color: var(--ink); }
@media (max-width: 1000px) { .biz-offer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .biz-terms { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .biz-offer-grid, .biz-terms { grid-template-columns: 1fr; } }

/* lighter footer red, like the buttons; dropdown arrows dark on white */
.site-footer { background: linear-gradient(160deg, #F04A60 0%, #E8384F 45%, #C8233B 100%); color: #FFE9EC; }
.trust-row p, .footer-brand p, .footer-bottom { color: #FFE9EC; }
.site-footer a { color: #fff; }
.footer-trust, .footer-bottom { border-color: rgba(255,255,255,.25); }
.toolbar select, select { background-color: #fff; color: var(--ink); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230B1424' stroke-width='2'/%3E%3C/svg%3E"); }
.toolbar select:focus { box-shadow: 0 0 0 3px rgba(232,56,79,.25); }
.toolbar label { color: var(--ink); }
.toolbar .result-count, .toolbar .result-count strong { color: var(--ink); }
.listing-head p { color: #16243A; }
/* dropdown arrow: one arrow, not a pattern (a background shorthand above had reset the repeat) */
select { background-repeat: no-repeat !important; background-position: right 14px center !important; }
/* business: small vs large quantity */
.biz-choose { padding: 6px 0 26px; }
.biz-choose-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 14px; }
.biz-choice { display: flex; flex-direction: column; gap: 8px; padding: 24px; border-radius: 22px; background: rgba(255,255,255,.6); box-shadow: inset 0 0 0 1px rgba(255,255,255,.85); color: var(--ink); text-decoration: none; transition: transform .2s, box-shadow .2s; }
.biz-choice:hover { transform: translateY(-3px); text-decoration: none; color: var(--ink); box-shadow: inset 0 0 0 1px rgba(255,255,255,.95), 0 24px 40px -24px rgba(10,60,110,.5); }
.biz-choice.is-main { background: var(--ink); color: #fff; box-shadow: none; }
.biz-choice.is-main:hover { color: #fff; }
.biz-choice-k { font: 600 11px/1 ui-monospace, "SFMono-Regular", Menlo, monospace; letter-spacing: .2em; text-transform: uppercase; color: #E8384F; }
.biz-choice strong { font-size: 1.35rem; letter-spacing: -.02em; }
.biz-choice p { margin: 0; font-size: .95rem; line-height: 1.5; color: inherit; opacity: .85; }
.biz-choice-go { margin-top: auto; padding-top: 6px; font-weight: 700; }
.biz-choice.is-main .biz-choice-go { color: #FF9FAE; }
.biz-offer-card[data-biz-cat] { cursor: pointer; }
@media (max-width: 800px) { .biz-choose-grid { grid-template-columns: 1fr; } }

/* ---------- Home: customer reviews ---------- */
.home-reviews { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.home-review { background: rgba(255,255,255,.55); box-shadow: inset 0 0 0 1px rgba(255,255,255,.8); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-radius: 18px; padding: 20px 22px; display: grid; gap: 6px; align-content: start; }
.home-review .review-title { margin: 2px 0 0; }
.home-review-body { margin: 0; color: #0B1424; }
.home-review .small { margin: 4px 0 0; }
.section-head .review-summary { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: #3E4B5E; }

/* ---------- Menu drawer: full height, bigger, easy to read ---------- */
.drawer { z-index: 200; }
.drawer-panel { width: min(400px, 92vw); height: 100%; font-size: 1.05rem; }
.drawer-head { padding: 18px 20px; }
.drawer-head p { font-size: 1.1rem; }
.drawer-panel h2 { font-size: 1.25rem; margin: 22px 20px 8px; }
.drawer-panel li a { padding: 14px 20px; font-size: 1.05rem; }
.drawer-close svg { width: 26px; height: 26px; }

/* ---------- Home: logo film band (plays once when scrolled into view, rests on the logo) ---------- */
.brand-band { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); align-items: center; gap: clamp(20px, 4vw, 56px); background: linear-gradient(135deg, #0B1424, #12224A); color: #fff; border-radius: 28px; padding: clamp(16px, 3vw, 32px); overflow: hidden; }
.brand-film { position: relative; aspect-ratio: 1; border-radius: 20px; overflow: hidden; background: #0A1838; }
.brand-film video { display: block; width: 100%; height: 100%; object-fit: cover; }
.brand-replay { position: absolute; right: 12px; bottom: 12px; padding: 7px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,.35); background: rgba(11,20,36,.55); color: #fff; font: inherit; font-size: var(--fs-sm); cursor: pointer; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.brand-replay:hover { border-color: #fff; }
.brand-copy h2 { color: #fff; font-size: var(--fs-2xl); line-height: 1; margin: 0 0 14px; }
.brand-copy p { color: rgba(255,255,255,.8); max-width: 48ch; margin: 0 0 20px; }
.brand-copy .actions { display: flex; gap: 10px; flex-wrap: wrap; }
.brand-band .btn-light { background: #fff; border-color: #fff; color: #0B1424; }
.brand-band .btn-outline-light { border-color: rgba(255,255,255,.45); color: #fff; }
.brand-band .btn-outline-light:hover { border-color: #fff; }
@media (max-width: 700px) { .brand-band { grid-template-columns: 1fr; } .brand-film { max-width: 420px; width: 100%; margin: 0 auto; } }

/* ---------- Header: animated QF logo (replays every ~14 s, rests on the logo 3.5 s) + name ---------- */
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.brand picture { display: block; line-height: 0; flex: none; }
.brand .brand-anim { height: 52px; width: auto; aspect-ratio: 140 / 94; max-width: none; filter: drop-shadow(0 1px 2px rgba(11,20,36,.35)); }
.brand-word { font-weight: 700; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--ink); white-space: nowrap; }
@media (max-width: 900px) { .brand .brand-anim { height: 38px; } .brand-word { font-size: 11px; letter-spacing: .12em; } }
@media (max-width: 480px) { .brand-word { display: none; } }
