*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#f3efe7;
  --bg-warm:#ece7db;
  --text:#111827;
  --text-mid:#334155;
  --text-light:#64748b;
  --accent:#2b5fe0;
  --accent-light:#3e7dea;
  --accent-deep:#1742ba;
  --accent-glow:rgba(43,95,224,0.12);
  --brand-ink:#0b1533;
  --warm-border:rgba(11,21,51,0.08);
  --warm-border-soft:rgba(11,21,51,0.05);
  --warm-surface:#fbf8ef;
  --sage:#64948a;
  --cream:#e2e8f0;
  --warm-white:#f8fafc;
  --sand:#94a3b8;
  --charcoal:#0f172a;
  --border:rgba(15,23,42,0.06);
  --glass:rgba(255,255,255,0.55);
  --glass-border:rgba(255,255,255,0.25);
  --font-display:'Iowan Old Style','Palatino Linotype','Book Antiqua',Palatino,serif;
  --font-body:'Avenir Next','Segoe UI',Helvetica,Arial,sans-serif;
  --site-nav-height:72px;
  --global-role-notice-height:0px;
  --workspace-gap:16px;
  --workspace-surface-radius:18px;
  --workspace-surface-border:rgba(15,23,42,0.08);
}
body.has-global-role-notice{
  --global-role-notice-height:40px;
}
html{scroll-behavior:smooth;overflow-x:hidden;overscroll-behavior-x:none}
body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden;overscroll-behavior-x:none;line-height:1.6}
.skip-link{position:fixed;top:0.75rem;left:0.75rem;padding:0.6rem 0.85rem;border-radius:10px;background:#0f172a;color:#fff;text-decoration:none;transform:translateY(-140%);z-index:420;transition:transform 0.2s ease}
.skip-link:focus-visible{transform:translateY(0)}
[tabindex="-1"]:focus{outline:none}
.page{position:relative}
nav{position:fixed;top:0;left:0;right:0;width:100%;z-index:100;padding:0.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;background:rgba(243,239,231,0.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(11,21,51,0.06);transition:all 0.3s}
nav.scrolled{background:rgba(243,239,231,0.96);box-shadow:0 4px 20px rgba(11,21,51,0.04)}
.nav-logo{font-family:var(--font-display);font-weight:600;font-size:1.25rem;color:var(--text);text-decoration:none;letter-spacing:-0.02em;display:flex;align-items:center;gap:0.6rem}
.nav-logo span{color:#111827}
.nav-links{display:flex;gap:1.55rem;align-items:center;list-style:none}
.nav-links a{font-size:0.85rem;font-weight:400;color:var(--text-mid);text-decoration:none;transition:color 0.3s}
.nav-links a{min-height:44px;display:inline-flex;align-items:center}
.nav-links a:hover{color:var(--text)}
.nav-links a.is-active{color:var(--text)}
.nav-signin{font-size:0.8rem !important;font-weight:500 !important;color:var(--text) !important;background:rgba(255,255,255,0.85);padding:0.5rem 1rem;border-radius:999px;border:1px solid rgba(15,23,42,0.12);transition:all 0.25s !important}
.nav-signin:hover{background:#fff !important;border-color:rgba(15,23,42,0.2);transform:translateY(-1px)}
.nav-cart-link{display:inline-flex;align-items:center;gap:0.45rem;padding:0.5rem 0.85rem;border-radius:999px;border:1px solid rgba(15,23,42,0.12);background:rgba(255,255,255,0.8);color:var(--text) !important;text-decoration:none}
.nav-cart-link:hover{background:#fff;border-color:rgba(15,23,42,0.2);transform:translateY(-1px)}
.nav-cart-icon{width:1.05rem;height:1.05rem}
.nav-cart-text{font-size:0.82rem;font-weight:500}
.nav-cart-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;min-height:1.4rem;padding:0 0.38rem;border-radius:999px;background:var(--accent);color:#fff;font-size:0.72rem;font-weight:700;line-height:1}
.nav-cart-badge[hidden]{display:none}
.nav-dashboard{font-size:0.8rem !important;font-weight:500 !important;color:var(--text) !important;background:rgba(255,255,255,0.9);padding:0.5rem 1rem;border-radius:999px;border:1px solid rgba(15,23,42,0.12);transition:all 0.25s !important;text-decoration:none}
.nav-dashboard:hover{background:#fff !important;border-color:rgba(15,23,42,0.2);transform:translateY(-1px)}
.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--glass-border);background:rgba(255,255,255,0.7);border-radius:12px;cursor:pointer;padding:0}
.nav-toggle span{display:block;width:18px;height:1.8px;background:var(--charcoal);transition:transform 0.25s ease,opacity 0.25s ease}
.nav-toggle span+span{margin-top:5px}
nav.menu-open .nav-toggle span:nth-child(1){transform:translateY(6.8px) rotate(45deg)}
nav.menu-open .nav-toggle span:nth-child(2){opacity:0}
nav.menu-open .nav-toggle span:nth-child(3){transform:translateY(-6.8px) rotate(-45deg)}
.nav-cta{font-size:0.82rem !important;font-weight:500 !important;color:#fff !important;background:var(--accent);padding:0.55rem 1.5rem;border-radius:100px;transition:all 0.3s !important;box-shadow:0 2px 12px rgba(59,130,246,0.25)}
.nav-cta:hover{background:var(--accent-deep) !important;transform:translateY(-1px);box-shadow:0 4px 20px rgba(59,130,246,0.35) !important}
.hero{padding:10.35rem 3rem 2.8rem;text-align:center;max-width:940px;margin:0 auto;position:relative;min-height:calc(74vh - var(--global-role-notice-height));display:flex;flex-direction:column;justify-content:center}
.hero-tag{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.72rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);margin:0 auto 1.45rem;opacity:0;animation:fadeUp 0.8s ease 0.2s forwards;background:var(--accent-glow);padding:0.45rem 1rem;border-radius:100px;border:1px solid rgba(59,130,246,0.12)}
.hero-tag::before{content:'';width:6px;height:6px;background:var(--accent);border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}
@keyframes pulse-dot{0%,100%{opacity:0.5;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}
.hero h1{font-family:var(--font-display);font-weight:400;font-size:clamp(3rem,6.5vw,4.8rem);line-height:1.08;letter-spacing:-0.035em;margin-bottom:1.6rem;opacity:0;animation:fadeUp 0.8s ease 0.35s forwards}
.hero h1 em{font-style:italic;font-weight:300;color:var(--accent);background:linear-gradient(135deg,var(--accent),var(--accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-sub{font-size:1.1rem;line-height:1.75;color:var(--text-mid);max-width:600px;margin:0 auto 2.2rem;font-weight:300;opacity:0;animation:fadeUp 0.8s ease 0.5s forwards}
.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeUp 0.8s ease 0.65s forwards}
.btn-primary{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-body);font-size:0.88rem;font-weight:500;color:#fff;background:var(--charcoal);padding:0.85rem 2rem;border-radius:100px;border:none;cursor:pointer;text-decoration:none;transition:all 0.35s;position:relative;overflow:hidden}
.btn-primary::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(59,130,246,0.15),transparent);opacity:0;transition:opacity 0.35s}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 40px rgba(15,23,42,0.18)}
.btn-primary:hover::after{opacity:1}
.btn-primary svg{width:15px;height:15px;position:relative;z-index:1}
.btn-primary span{position:relative;z-index:1}
.btn-secondary{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-body);font-size:0.88rem;font-weight:500;color:var(--brand-ink);background:#fff;padding:0.85rem 2rem;border-radius:100px;border:1px solid var(--warm-border);cursor:pointer;text-decoration:none;transition:all 0.35s}
.btn-secondary:hover{border-color:var(--brand-ink);color:var(--brand-ink);transform:translateY(-1px);box-shadow:0 8px 20px rgba(11,21,51,0.08);background:#fff}
.icon{width:1em;height:1em;display:inline-block;vertical-align:middle;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.icon-right{transition:transform 0.2s ease}
.icon-left{transition:transform 0.2s ease}
a:hover .icon-right{transform:translateX(2px)}
a:hover .icon-left{transform:translateX(-2px)}
.trust-logos{display:flex;gap:0.8rem;justify-content:center;align-items:center;flex-wrap:wrap;opacity:1}
.trust-logo{display:inline-flex;align-items:center;min-height:32px;padding:0.45rem 0.9rem;border-radius:999px;border:1px solid rgba(15,23,42,0.08);background:rgba(255,255,255,0.78);font-size:0.84rem;font-weight:500;color:var(--text-mid)}
section{padding:5.5rem 3rem;max-width:1200px;margin:0 auto}
.app-route{display:none}
.app-route.active{display:block}
.home-categories{padding-top:1.1rem}
.home-categories-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin-top:2rem}
.home-category-card{border:1px solid rgba(15,23,42,0.08);border-radius:22px;padding:0;background:rgba(255,255,255,0.88);backdrop-filter:blur(12px) saturate(1.2);transition:box-shadow 0.2s ease,border-color 0.2s ease,transform 0.2s ease;display:flex;flex-direction:column;min-height:272px;overflow:hidden}
.home-category-card-link{text-decoration:none;color:inherit}
.home-category-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(15,23,42,0.08);border-color:rgba(59,130,246,0.16);background:#fff}
.home-category-card.is-clickable{cursor:pointer}
.home-category-card.is-clickable:focus-visible{outline:2px solid rgba(59,124,245,0.45);outline-offset:3px}
.home-category-swatches{display:grid;grid-template-columns:repeat(5,1fr);height:12px}
.home-category-swatch{display:block;height:12px}
.home-category-swatch--interior-0{background:#f6ead8}
.home-category-swatch--interior-1{background:#efe9de}
.home-category-swatch--interior-2{background:#dcead7}
.home-category-swatch--interior-3{background:#d8e6f2}
.home-category-swatch--interior-4{background:#e6d9e7}
.home-category-swatch--exterior-0{background:#d6dde7}
.home-category-swatch--exterior-1{background:#b3c0cf}
.home-category-swatch--exterior-2{background:#ebeae4}
.home-category-swatch--exterior-3{background:#998473}
.home-category-swatch--exterior-4{background:#7f8792}
.home-category-swatch--specialty-0{background:#fbfbf8}
.home-category-swatch--specialty-1{background:#1f3a6d}
.home-category-swatch--specialty-2{background:#1f5e54}
.home-category-swatch--specialty-3{background:#a93137}
.home-category-swatch--specialty-4{background:#dc9a52}
.home-category-swatch--prep-0{background:#f5f7fa}
.home-category-swatch--prep-1{background:#dbe3ec}
.home-category-swatch--prep-2{background:#ccd5df}
.home-category-swatch--prep-3{background:#f2ede6}
.home-category-swatch--prep-4{background:#b8c0c9}
.home-category-swatch--generic-0{background:#eef2f7}
.home-category-swatch--generic-1{background:#dbe7f2}
.home-category-swatch--generic-2{background:#ccd9e7}
.home-category-swatch--generic-3{background:#b9c8da}
.home-category-swatch--generic-4{background:#9eb0c5}
.catalog-error--centered{text-align:center;padding:2rem}
.home-category-card h3,.home-category-card p,.home-category-card .home-category-link{padding-left:1.4rem;padding-right:1.4rem}
.home-category-card h3{font-family:var(--font-display);font-size:1rem;line-height:1.25;letter-spacing:-0.01em;margin:0 0 0.45rem;padding-top:1.35rem}
.home-category-card p{font-size:0.84rem;line-height:1.6;color:var(--text-mid);font-weight:300;min-height:4rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.home-category-link{display:inline-flex;align-items:center;gap:0.35rem;margin-top:auto;font-size:0.8rem;font-weight:500;color:var(--text);text-decoration:none;padding-bottom:1.35rem;transition:transform 0.2s ease,color 0.2s ease}
.home-category-link:hover{color:var(--accent)}
.home-category-card:hover .home-category-link{transform:translateX(3px)}
.section-tag{font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:0.8rem}
.section-title{font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,4vw,2.8rem);line-height:1.12;letter-spacing:-0.025em;margin-bottom:0.8rem}
.section-desc{font-size:1rem;line-height:1.7;color:var(--text-mid);font-weight:300;max-width:560px}
.stat{text-align:center;position:relative;z-index:1}
.stat-num{font-family:var(--font-display);font-size:2.6rem;font-weight:400;letter-spacing:-0.03em;line-height:1;margin-bottom:0.4rem;background:linear-gradient(135deg,#fff,rgba(255,255,255,0.7));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stat-label{font-size:0.78rem;color:rgba(255,255,255,0.58);font-weight:300;max-width:145px;margin:0 auto}
.home-featured{padding-top:0.6rem}
.home-featured-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.6rem;flex-wrap:wrap}
.home-featured-link{display:inline-flex;align-items:center;gap:0.35rem;font-size:0.86rem;font-weight:500;color:var(--accent);text-decoration:none}
.home-featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.35rem;margin-top:2rem}
.home-cta{padding-top:3rem;padding-bottom:5rem}
.home-cta-actions{margin-top:1.8rem}
.products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:2rem}
.product-card{position:relative;border:1px solid rgba(15,23,42,0.08);border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,0.06);transition:transform 0.3s ease,box-shadow 0.3s ease,border-color 0.3s ease;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;min-height:100%}
.product-card[hidden]{display:none !important}
.product-card:hover{transform:translateY(-4px);box-shadow:0 28px 60px rgba(15,23,42,0.1);border-color:rgba(59,124,245,0.18)}
.product-card-body{padding:1.1rem 1.3rem 0.6rem;display:grid;gap:0.6rem;flex:1}
.product-card h3{font-family:var(--font-display);font-weight:500;font-size:1rem;letter-spacing:-0.01em;line-height:1.3}
.product-card-footer{padding:0 1.3rem 1.2rem;display:flex;align-items:flex-end;justify-content:space-between;gap:0.85rem}
.product-card-footer__meta{display:grid;gap:0.42rem;min-width:0}
.product-card-description{font-size:0.85rem;line-height:1.55;color:var(--text-mid);font-weight:400;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.65rem}
.product-card-pack-note{font-size:0.82rem;line-height:1.45;color:var(--text-mid)}
.product-category-tag{display:inline-flex;align-items:center;justify-content:flex-start;gap:0.35rem;width:max-content;max-width:100%;padding:0.28rem 0.65rem;border-radius:999px;background:rgba(15,23,42,0.05);color:var(--text-mid);font-size:0.7rem;letter-spacing:0.08em;text-transform:uppercase;font-weight:600}
.product-category-tag-detail{margin-bottom:0.25rem}
.product-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:0.35rem;margin-top:0.1rem}
.product-price-amount{font-size:1rem;font-weight:600;color:var(--charcoal);letter-spacing:-0.02em}
.product-price-unit{font-size:0.76rem;color:var(--text-light);font-weight:500}
.card-link{display:inline-flex;align-items:center;gap:0.35rem;font-size:0.8rem;font-weight:600;color:var(--accent);text-decoration:none;background:none;border:0;padding:0;cursor:pointer;white-space:nowrap}
.catalog-media{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(255,255,255,0.92),rgba(244,247,252,0.98));border-bottom:1px solid rgba(15,23,42,0.06)}
.catalog-media::before{content:'';position:absolute;inset:0;opacity:1}
.catalog-media.is-interior::before{background:linear-gradient(135deg,rgba(252,244,230,0.95),rgba(247,239,226,0.82))}
.catalog-media.is-exterior::before{background:linear-gradient(135deg,rgba(231,238,247,0.96),rgba(216,228,240,0.82))}
.catalog-media.is-specialty::before{background:linear-gradient(135deg,rgba(233,242,249,0.96),rgba(220,234,243,0.82))}
.catalog-media.is-prep::before{background:linear-gradient(135deg,rgba(240,243,247,0.98),rgba(228,234,241,0.86))}
.catalog-media.is-generic::before{background:linear-gradient(135deg,rgba(241,245,249,0.98),rgba(229,234,242,0.82))}
.catalog-media.has-image::before{opacity:0.38}
.catalog-media-card{height:170px}
.catalog-media-hero{min-height:320px;border:1px solid rgba(15,23,42,0.08);border-radius:28px;border-bottom:1px solid rgba(15,23,42,0.08)}
.catalog-media-application{aspect-ratio:10/7;border:1px solid rgba(15,23,42,0.08);border-radius:18px;border-bottom:1px solid rgba(15,23,42,0.08)}
.catalog-media-thumb{width:64px;height:64px;border:1px solid rgba(15,23,42,0.06);border-radius:18px;border-bottom:1px solid rgba(15,23,42,0.06);flex:none}
.catalog-media.has-image{background:linear-gradient(135deg,rgba(255,255,255,0.96),rgba(245,247,250,0.96))}
.catalog-media-card.has-image{padding:0.85rem 1rem 0.65rem}
.catalog-media-hero.has-image{padding:1.5rem}
.catalog-media-thumb.has-image{padding:0.3rem}
.catalog-media-image{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;object-position:center center;filter:drop-shadow(0 18px 32px rgba(15,23,42,0.12))}
.catalog-media-thumb.has-image .catalog-media-image{border-radius:14px;filter:drop-shadow(0 10px 16px rgba(15,23,42,0.12))}
.catalog-media-emblem{position:relative;z-index:1;width:64px;height:64px;border-radius:22px;border:1px solid rgba(15,23,42,0.08);background:rgba(255,255,255,0.7);display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,0.8)}
.catalog-media-emblem::before{content:'';width:24px;height:32px;border-radius:14px 14px 18px 18px;background:linear-gradient(180deg,rgba(59,124,245,0.18),rgba(59,124,245,0.34));display:block;transform:rotate(45deg)}
.catalog-media-emblem-core{display:block;width:14px;height:14px;border-radius:50%;background:rgba(255,255,255,0.8);box-shadow:0 0 0 6px rgba(255,255,255,0.45)}
.catalog-media-caption{position:relative;z-index:1;margin-top:0.9rem;font-size:0.78rem;color:var(--text-light);font-weight:500}
.product-detail-page{padding:calc(var(--site-nav-height) + 3.4rem) 3rem 5.6rem;max-width:1260px;margin:0 auto}
.cart-page{padding:7.4rem 3rem 5rem;max-width:840px;margin:0 auto}
.back-link{display:inline-flex;align-items:center;gap:0.35rem;font-size:0.82rem;color:var(--text-mid);text-decoration:none;margin-bottom:1rem}
.back-link:hover{color:var(--accent)}
.catalog-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:0.35rem;font-size:0.78rem;color:var(--text-light);margin-bottom:0.75rem}
.catalog-breadcrumb a{color:var(--text-light);text-decoration:none}
.catalog-breadcrumb a:hover{color:var(--accent)}
.catalog-breadcrumb-current{color:var(--text-mid)}
.product-detail-back-link{margin-bottom:1.25rem}
.product-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:2rem;align-items:start;margin-bottom:2rem}
.product-hero-copy{display:grid;gap:0.9rem}
.product-sub{font-size:1rem;line-height:1.65;color:var(--text-mid);font-weight:400}
.product-detail-price{display:flex;align-items:flex-end;flex-wrap:wrap;gap:0.45rem;margin-top:0.1rem}
.product-detail-price .product-price-amount{font-size:1.35rem}
.product-detail-price .product-price-unit{font-size:0.84rem}
.product-detail-availability{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}
.product-availability-badge{display:inline-flex;align-items:center;justify-content:center;padding:0.2rem 0.58rem;border-radius:999px;border:1px solid rgba(15,23,42,0.12);background:#fff;color:#334155;font-size:0.7rem;font-weight:700;line-height:1.2}
.product-availability-badge--in_stock{background:#f0fdf4;border-color:#86efac;color:#166534}
.product-availability-badge--low_stock{background:#fff7ed;border-color:#fdba74;color:#b45309}
.product-availability-badge--out_of_stock{background:#fef2f2;border-color:#fecaca;color:#b91c1c}
.product-availability-badge--pending{background:#f8fafc;border-color:#cbd5e1;color:#475569}
.product-hero-note{font-size:0.9rem;line-height:1.65;color:var(--text-mid);max-width:34rem}
.detail-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,0.85fr);gap:1.5rem}
.detail-panel{border:1px solid var(--warm-border);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(11,21,51,0.04);padding:1.5rem}
.detail-panel h3{font-family:var(--font-display);font-size:1.14rem;font-weight:500;letter-spacing:-0.01em;margin-bottom:0.45rem}
.detail-panel p{font-size:0.92rem;line-height:1.7;color:var(--text-mid);font-weight:400}
.detail-panel-purchase{padding:1.35rem}
.quote-context-note{font-size:0.78rem !important;color:var(--text-light) !important}
.product-detail-section{display:grid;gap:0.9rem;margin-top:1.4rem}
.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.9rem;margin-top:0.2rem}
.spec-grid-sheet{padding-top:0.1rem}
.spec-item{padding:0;border:0;border-radius:0;background:transparent}
.spec-item--full{grid-column:1/-1}
.spec-label{font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-light);font-weight:500;margin-bottom:0.25rem}
.spec-value{font-size:0.9rem;color:var(--text);line-height:1.55}
.features-list{margin-top:0.5rem;padding-left:1.05rem}
.features-list li{font-size:0.9rem;color:var(--text-mid);margin-bottom:0.35rem}
.product-detail-secondary-copy{margin-top:0.8rem}
.quote-actions{display:flex;gap:0.7rem;flex-wrap:wrap;margin-top:0.95rem}
.product-purchase-panel{display:grid;gap:0.85rem;margin-top:1rem}
.auth-google-pending{opacity:0.6}
.product-purchase-stock{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}
.quantity-field{display:grid;gap:0.45rem}
.quantity-label{font-size:0.76rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-light);font-weight:600}
.quantity-stepper{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;border:1px solid rgba(15,23,42,0.12);border-radius:999px;background:rgba(255,255,255,0.82);overflow:hidden}
.quantity-stepper-btn{min-height:44px;border:0;background:transparent;color:var(--text);font-size:1.1rem;cursor:pointer;transition:background 0.2s,color 0.2s}
.quantity-stepper-btn:hover{background:rgba(59,130,246,0.08);color:var(--accent)}
.quantity-stepper-input{width:100%;min-height:44px;border:0;background:transparent;text-align:center;font:inherit;font-size:1rem;color:var(--text);outline:none;-moz-appearance:textfield}
.quantity-stepper-input::-webkit-outer-spin-button,.quantity-stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.product-pack-select{width:100%;min-height:44px;border:1px solid rgba(15,23,42,0.12);border-radius:14px;background:rgba(255,255,255,0.92);padding:0 0.9rem;font:inherit;font-size:0.95rem;color:var(--text);outline:none;appearance:auto}
.quantity-hint{font-size:0.78rem !important;line-height:1.5 !important;color:var(--text-light) !important}
.product-add-to-cart{width:100%;justify-content:center}
.cart-route-body{margin-top:2rem}
.cart-shell{display:grid;gap:1.25rem}
.cart-route-meta{font-size:0.9rem;color:var(--text-mid)}
.cart-summary-panel{border:1px solid rgba(15,23,42,0.08);border-radius:18px;background:rgba(255,255,255,0.9);padding:1.2rem 1.25rem;display:grid;gap:0.95rem}
.cart-summary-panel--checkout{margin-top:0.35rem}
.cart-summary-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.cart-summary-copy h3{font-family:var(--font-display);font-size:1.2rem;font-weight:500;letter-spacing:-0.02em}
.cart-summary-copy h4{font-family:var(--font-display);font-size:1rem;font-weight:500;letter-spacing:-0.02em}
.cart-summary-copy p{font-size:0.9rem;line-height:1.55;color:var(--text-mid);max-width:32rem}
.cart-summary-total{display:grid;gap:0.2rem;justify-items:flex-end}
.cart-summary-total span{font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-light);font-weight:600}
.cart-summary-total strong{font-size:1.55rem;letter-spacing:-0.03em;color:var(--charcoal)}
.cart-actions{display:flex;align-items:center;gap:0.7rem;flex-wrap:wrap}
.cart-actions .btn-primary,.cart-actions .mini-btn{min-height:44px}
.cart-actions--checkout{align-items:center;justify-content:space-between}
.cart-checkout-link.is-disabled,.cart-checkout-link[aria-disabled="true"]{background:#94a3b8;box-shadow:none;cursor:not-allowed;pointer-events:none}
.cart-summary-note{font-size:0.78rem;color:#b45309}
.cart-items{display:grid;gap:1rem}
.cart-item{border:1px solid rgba(15,23,42,0.08);border-radius:22px;background:rgba(255,255,255,0.88);padding:1rem 1.05rem}
.cart-item-main{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:start;gap:0.9rem}
.cart-item-copy{display:grid;gap:0.22rem}
.cart-item-name{font-family:var(--font-display);font-size:1rem;font-weight:500;letter-spacing:-0.02em}
.cart-item-pack{font-size:0.82rem;color:var(--text-mid)}
.cart-item-status{display:inline-flex;align-items:center;gap:0.35rem;font-size:0.76rem;font-weight:600;color:#78350f;background:#fde68a;border:1px solid #f59e0b;border-radius:999px;padding:0.26rem 0.6rem;margin-top:0.35rem}
.cart-item-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;margin-top:0.85rem;padding-top:0.85rem;border-top:1px solid rgba(15,23,42,0.08)}
.cart-item-row__price{font-size:0.84rem;color:var(--text-mid)}
.cart-item-row__quantity{display:flex;align-items:center;justify-content:center}
.cart-item-row__total{text-align:right}
.commerce-line-item__price{font-size:0.84rem;color:var(--text-mid)}
.commerce-line-item__price.is-muted,.commerce-line-item__total.is-muted{color:#b45309}
.commerce-line-item__total{font-size:0.98rem;font-weight:600;color:var(--text)}
.cart-item .quantity-stepper{background:#fff;grid-template-columns:32px 60px 32px;border-radius:999px}
.cart-item .quantity-stepper-btn{min-height:36px;font-size:1rem}
.cart-item .quantity-stepper-input{min-height:36px;font-size:0.95rem}
.cart-remove-link{border:0;background:transparent;padding:0;color:#64748b;font-size:0.76rem;font-weight:600;cursor:pointer;text-decoration:none;justify-self:end}
.cart-remove-link:hover{color:#dc2626}
.cart-item-readonly .cart-item-main{grid-template-columns:64px minmax(0,1fr) auto}
.cart-item-readonly .cart-item-pack{font-size:0.84rem}
.cart-checkout-field{max-width:420px;margin:0}
.cart-checkout-note{min-height:1.2rem;margin-top:0.42rem;font-size:0.81rem;line-height:1.45;color:var(--text-mid);opacity:1;transition:opacity 0.15s ease,color 0.15s ease}
.cart-checkout-note.is-error{color:#dc2626}
.cart-checkout-field input.is-invalid{border:1.5px solid #dc2626;box-shadow:none}
.cart-submit-order{min-width:240px;justify-content:center}
.cart-submit-order.is-shaking{animation:cart-submit-shake 0.3s ease}
.cart-secondary-link{font-size:0.82rem;color:var(--text-mid);text-decoration:none}
.cart-secondary-link:hover{color:var(--accent)}
.cart-empty-panel{border:1px solid var(--glass-border);border-radius:22px;background:var(--glass);backdrop-filter:blur(16px) saturate(1.2);padding:1.9rem;display:grid;gap:0.85rem;justify-items:flex-start}
.cart-empty-panel h3{font-family:var(--font-display);font-size:1.4rem;font-weight:500;letter-spacing:-0.02em}
.cart-empty-panel p{font-size:0.95rem;line-height:1.7;color:var(--text-mid);max-width:36rem}
.cart-empty-actions{display:flex;gap:0.7rem;flex-wrap:wrap}
.checkout-feedback{border-color:rgba(239,68,68,0.18);background:rgba(255,255,255,0.94)}
.commerce-success-banner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0.9rem;align-items:center;padding:1rem 1.1rem;border:1px solid rgba(34,197,94,0.24);border-radius:18px;background:linear-gradient(135deg,rgba(240,253,244,0.96),rgba(236,253,245,0.92))}
.commerce-success-banner__icon{width:44px;height:44px;border-radius:999px;background:rgba(34,197,94,0.14);display:grid;place-items:center}
.commerce-success-banner__icon::before{content:'';width:14px;height:8px;border-left:3px solid #16a34a;border-bottom:3px solid #16a34a;transform:rotate(-45deg) translateY(-1px)}
.commerce-success-banner__copy{display:grid;gap:0.18rem}
.commerce-success-banner__copy h3{font-size:1.08rem;font-weight:600;color:#166534}
.commerce-success-banner__copy p{font-size:0.9rem;color:#166534}
.commerce-payment-panel{display:grid;gap:0.95rem;padding:1.15rem 1.2rem;border:1px solid var(--warm-border);border-radius:18px;background:var(--warm-surface)}
.commerce-payment-panel__head{display:grid;gap:0.15rem}
.commerce-payment-panel__head h4{font-size:1.02rem;font-weight:600;color:#0f172a}
.commerce-payment-panel__head p{font-size:0.84rem;color:#475569}
.commerce-payment-values{display:grid;gap:0.65rem}
.commerce-payment-value{display:grid;gap:0.12rem}
.commerce-payment-value span{font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:#64748b;font-weight:700}
.commerce-payment-value strong{font-size:1rem;font-weight:600;color:#0f172a}
.commerce-payment-steps{display:grid;gap:0.55rem;padding-left:1.05rem;margin:0}
.commerce-payment-steps li{font-size:0.86rem;line-height:1.5;color:#0f172a}
.commerce-guest-track-card{display:grid;gap:0.75rem;padding:1.05rem 1.15rem;border:1px solid var(--warm-border);border-left:3px solid var(--accent);border-radius:14px;background:var(--warm-surface)}
.commerce-guest-track-card__copy{display:grid;gap:0.24rem}
.commerce-guest-track-card__copy h4{font-size:1rem;font-weight:600;color:#0f172a}
.commerce-guest-track-card__copy p{font-size:0.81rem;line-height:1.55;color:#475569}
.commerce-guest-track-card__button{min-height:40px;justify-content:center;background:#2563eb;border-color:#2563eb;box-shadow:none;padding:0.68rem 1rem;font-size:0.82rem}
.commerce-guest-track-card__button:hover{background:#1d4ed8;border-color:#1d4ed8}
.commerce-guest-track-card__meta{font-size:0.68rem;color:#94a3b8}
.commerce-order-details{border:1px solid rgba(15,23,42,0.08);border-radius:18px;background:rgba(255,255,255,0.86);padding:0.2rem 1rem 1rem}
.commerce-order-details summary{cursor:pointer;list-style:none;padding:0.9rem 0;font-size:0.92rem;font-weight:600;color:#0f172a}
.commerce-order-details summary::-webkit-details-marker{display:none}
.commerce-order-details[open] summary{padding-bottom:0.8rem}
.commerce-next-step{display:grid;gap:0.25rem}
.commerce-next-step__link{font-size:0.9rem;font-weight:600;color:#1d4ed8;text-decoration:none}
.commerce-next-step__link:hover{color:#1e40af}
@keyframes cart-submit-shake{
  0%{transform:translateX(0)}
  20%{transform:translateX(-4px)}
  40%{transform:translateX(4px)}
  60%{transform:translateX(-2px)}
  80%{transform:translateX(2px)}
  100%{transform:translateX(0)}
}
.mini-btn{display:inline-flex;align-items:center;justify-content:center;padding:0.58rem 1rem;border-radius:999px;border:1px solid var(--cream);font-size:0.82rem;text-decoration:none;color:var(--text-mid);background:#fff;transition:all 0.2s}
.mini-btn{min-height:44px}
.mini-btn:hover{border-color:var(--accent);color:var(--accent)}
.related-products{display:grid;gap:0.9rem;margin-top:1rem}
.related-product-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:0.9rem;align-items:center;padding:0.75rem;border:1px solid rgba(15,23,42,0.08);border-radius:20px;background:#fff;color:inherit;text-decoration:none;transition:border-color 0.2s ease,box-shadow 0.2s ease,transform 0.2s ease}
.related-product-card:hover{border-color:rgba(59,124,245,0.18);box-shadow:0 12px 32px rgba(15,23,42,0.08);transform:translateY(-2px)}
.related-product-copy{display:grid;gap:0.28rem}
.related-product-title{font-size:0.92rem !important;font-weight:600 !important;color:var(--text) !important;line-height:1.35 !important}
.related-product-note{font-size:0.78rem !important;line-height:1.55 !important;color:var(--text-light) !important;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.related-product-price{display:flex;align-items:baseline;gap:0.35rem}
.related-product-price .product-price-amount{font-size:0.92rem}
.related-product-price .product-price-unit{font-size:0.74rem}
.related-products-empty{font-size:0.84rem !important;color:var(--text-light) !important}
.product-filters{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:1.4rem}
.product-filter{display:inline-flex;align-items:center;justify-content:center;gap:0.18rem;padding:0.5rem 0.95rem;border-radius:999px;border:1px solid var(--cream);background:rgba(255,255,255,0.9);color:var(--text-mid);text-decoration:none;font-size:0.78rem;font-weight:500;transition:all 0.2s}
.product-filter{min-height:44px}
.product-filter:hover{border-color:var(--accent);color:var(--accent)}
.product-filter.is-active{background:var(--accent);border-color:var(--accent);color:#fff}
.product-filter-count{opacity:0.72}
.process-section{padding:4.5rem 3rem 5.5rem;max-width:1200px;margin:0 auto}
.process-section{scroll-margin-top:100px}
.process-step{text-align:left;position:relative;padding:0 0.35rem}
.step-num{width:64px;height:64px;border-radius:50%;background:var(--warm-white);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin:0 0 0.85rem;font-family:var(--font-display);font-size:1.1rem;font-weight:500;color:var(--accent);position:relative;z-index:1;transition:all 0.4s cubic-bezier(0.23,1,0.32,1)}
.process-step:hover .step-num{background:var(--accent);color:#fff;border-color:var(--accent);transform:scale(1.1);box-shadow:0 8px 30px rgba(59,130,246,0.25)}
.step-icon-badge{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:rgba(59,130,246,0.1);color:var(--accent);margin-bottom:0.75rem}
.step-icon-badge svg{width:16px;height:16px}
.process-step h3{font-family:var(--font-display);font-weight:500;font-size:1.05rem;margin-bottom:0.4rem}
.process-step p{font-size:0.84rem;line-height:1.6;color:var(--text-mid);font-weight:300;max-width:230px;margin:0}
.testimonials{padding:7rem 3rem;max-width:1200px;margin:0 auto}
.testimonial{padding:2.5rem;border-radius:20px;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(12px);transition:all 0.4s cubic-bezier(0.23,1,0.32,1)}
.testimonial:hover{background:rgba(255,255,255,0.7);border-color:rgba(59,130,246,0.1);transform:translateY(-3px);box-shadow:0 15px 40px rgba(15,23,42,0.05)}
.testimonial-stars{margin-bottom:1rem;color:#f59e0b;font-size:0.85rem;letter-spacing:2px}
.testimonial-quote{font-family:var(--font-display);font-size:1.02rem;font-weight:400;font-style:italic;line-height:1.65;margin-bottom:1.6rem;color:var(--text)}
.testimonial-author{display:flex;align-items:center;gap:0.8rem}
.author-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--accent-glow),rgba(59,130,246,0.15));display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:0.8rem;font-weight:600;color:var(--accent)}
.author-name{font-size:0.85rem;font-weight:500}
.author-role{font-size:0.75rem;color:var(--text-light);font-weight:300}
.company-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.6rem}
.company-card{padding:2rem;border-radius:14px;background:#fff;border:1px solid var(--warm-border)}
.company-card h3{font-family:var(--font-display);font-size:1.2rem;font-weight:500;margin-bottom:0.6rem;letter-spacing:-0.01em}
.company-card p{font-size:0.9rem;line-height:1.68;color:var(--text-mid);font-weight:300}
.contact-section{padding:6.1rem 3rem 7rem;max-width:1200px;margin:0 auto}
.contact-head{display:grid;gap:0.55rem}
.contact-layout{margin-top:1.9rem;display:grid;grid-template-columns:minmax(0,520px) minmax(280px,360px);justify-content:space-between;gap:2.8rem;align-items:start}
.contact-form-column{min-width:0}
.contact-info-column{min-width:0}
.contact-card{border:1px solid var(--warm-border);border-radius:14px;background:#fff;padding:1.7rem 1.8rem}
.contact-card-form{min-height:760px;display:grid;align-content:start}
.contact-card-info{position:sticky;top:calc(var(--site-nav-height) + var(--global-role-notice-height) + 20px);display:grid;gap:1.2rem}
.contact-info-head{display:grid;gap:0.35rem}
.contact-info-head h3{font-family:var(--font-display);font-size:1.35rem;font-weight:500;letter-spacing:-0.02em;color:var(--text)}
.contact-info-head p{font-size:0.9rem;line-height:1.6;color:var(--text-mid)}
.contact-form-row{display:grid;gap:1rem}
.contact-form-row-split{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-field{margin-bottom:0.95rem}
.contact-field-label{display:flex;align-items:center;gap:0.28rem;flex-wrap:wrap;margin-bottom:0.45rem;font-size:0.82rem}
.contact-field-label.is-required{font-weight:500;color:var(--text)}
.contact-field-label.is-optional{font-weight:400;color:var(--text-mid)}
.field-required{color:#dc2626;font-weight:600}
.field-optional{font-size:0.75rem;color:var(--text-light);font-weight:400}
.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid rgba(148,163,184,0.42);background:rgba(255,255,255,0.92);border-radius:14px;padding:0.82rem 0.95rem;font-family:var(--font-body);font-size:16px;color:var(--text);outline:none;transition:border-color 0.15s ease,box-shadow 0.15s ease,background-color 0.15s ease}
.form-field input::placeholder,.form-field textarea::placeholder{color:#94a3b8}
.form-field input:hover:not(:focus),.form-field textarea:hover:not(:focus){border-color:rgba(100,116,139,0.48)}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,130,246,0.12)}
.form-field input.is-invalid,.form-field select.is-invalid,.form-field textarea.is-invalid{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,0.14)}
.form-field textarea{min-height:132px;resize:vertical}
.contact-native-select{position:absolute !important;left:-9999px !important;top:auto !important;width:1px !important;height:1px !important;opacity:0 !important;pointer-events:none !important}
.contact-inquiry-field{margin-bottom:1rem}
.contact-inquiry-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.9rem}
.contact-inquiry-option{border:1px solid rgba(148,163,184,0.28);border-radius:16px;background:rgba(255,255,255,0.78);padding:0.95rem 1rem;display:grid;gap:0.35rem;text-align:left;cursor:pointer;transition:border-color 0.15s ease,background-color 0.15s ease,box-shadow 0.15s ease,transform 0.15s ease;color:var(--text)}
.contact-inquiry-option:hover{border-color:var(--accent);background:var(--warm-surface);transform:translateY(-1px)}
.contact-inquiry-option:focus-visible{outline:none;border-color:rgba(59,130,246,0.7);box-shadow:0 0 0 3px rgba(59,130,246,0.14)}
.contact-inquiry-option strong{font-size:0.92rem;font-weight:600;letter-spacing:-0.01em}
.contact-inquiry-option span{font-size:0.79rem;line-height:1.55;color:var(--text-mid)}
.contact-inquiry-option.is-selected{border-color:rgba(59,130,246,0.72);background:rgba(219,234,254,0.65);box-shadow:0 0 0 1px rgba(59,130,246,0.2)}
.contact-inquiry-option.is-invalid,.contact-inquiry-options.is-invalid .contact-inquiry-option{border-color:rgba(239,68,68,0.55)}
.field-error{display:none;margin-top:0.45rem;color:#dc2626;font-size:0.76rem;line-height:1.45}
.field-error.is-visible{display:block}
.contact-submit-area{display:grid;gap:0.7rem;margin-top:0.55rem}
.contact-submit{width:100%;justify-content:center;min-height:48px;border-radius:12px}
.contact-submit[disabled]{opacity:0.7;cursor:wait}
.contact-secondary-link{display:inline-flex;align-items:center;gap:0.35rem;font-size:0.84rem;font-weight:500;color:var(--text-mid);text-decoration:none}
.contact-secondary-link:hover{color:var(--accent)}
.contact-form-banner{margin-bottom:1rem;padding:0.85rem 1rem;border-radius:14px;background:rgba(254,226,226,0.82);border:1px solid rgba(248,113,113,0.35);color:#991b1b;font-size:0.85rem;line-height:1.45}
.contact-form-banner[hidden]{display:none}
.contact-success-state{min-height:100%;display:grid;place-content:center;justify-items:center;gap:0.9rem;text-align:center;padding:1.4rem 0.6rem}
.contact-success-state[hidden]{display:none}
.contact-success-icon{width:56px;height:56px;border-radius:999px;display:grid;place-items:center;background:rgba(34,197,94,0.12);color:#15803d;font-size:1.4rem;font-weight:700}
.contact-success-state h3{font-family:var(--font-display);font-size:1.55rem;font-weight:500;letter-spacing:-0.02em;color:var(--text)}
.contact-success-copy{max-width:360px;font-size:0.92rem;line-height:1.65;color:var(--text-mid)}
.contact-success-reference{font-size:0.88rem;color:var(--text)}
.contact-success-meta{font-size:0.8rem;color:var(--text-light)}
.contact-success-actions{display:grid;gap:0.75rem;width:min(100%,320px);margin-top:0.3rem}
.contact-success-actions .btn-primary{width:100%;justify-content:center}
.contact-details{display:grid;grid-template-columns:1fr;gap:0}
.detail-item{padding:1rem 0}
.detail-item + .detail-item{border-top:1px solid rgba(15,23,42,0.08)}
.detail-title{font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-light);font-weight:600;margin-bottom:0.35rem}
.detail-text{font-size:0.9rem;color:var(--text);line-height:1.6}
.detail-role{display:block}
.detail-text a{color:var(--accent-deep);text-decoration:none}
.detail-text a:hover{color:var(--accent)}
.auth-page{padding:9rem 3rem 6.5rem;max-width:1200px;margin:0 auto;display:none;place-items:center}
.app-route.active.auth-page{display:grid}
.auth-shell{width:min(100%,372px);border:1px solid var(--warm-border);border-radius:12px;background:#fff;box-shadow:0 18px 36px rgba(11,21,51,0.08);overflow:hidden}
.auth-main{padding:1.7rem 1.55rem}
.auth-mark{width:42px;height:42px;border-radius:8px;background:#111827;display:grid;place-items:center;margin:0 auto 1.3rem}
.auth-mark svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.auth-title{font-family:var(--font-body);font-size:2rem;font-weight:600;letter-spacing:-0.03em;text-align:center;color:#0f172a;margin-bottom:0.45rem}
.auth-sub{font-size:0.9rem;line-height:1.5;color:#6b7280;text-align:center;margin-bottom:1.1rem}
.auth-social{display:grid;gap:0.5rem}
.auth-social-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:0.6rem;border:1px solid rgba(15,23,42,0.14);border-radius:10px;background:#f8fafc;color:#111827;font-size:0.92rem;font-weight:500;padding:0.62rem 0.7rem;cursor:pointer;transition:background 0.2s,border-color 0.2s;text-decoration:none}
.auth-social-btn:hover{background:#fff;border-color:rgba(15,23,42,0.2)}
.auth-social-badge{position:absolute;right:0.5rem;top:-0.38rem;padding:0.16rem 0.4rem;border-radius:999px;background:#e5e7eb;border:1px solid #cfd5df;color:#6b7280;font-size:0.7rem;font-weight:500}
.auth-social-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:0.92rem;line-height:1}
.auth-fields{display:grid;gap:0.82rem}
.auth-field label{display:block;font-size:0.83rem;font-weight:600;color:#111827;margin-bottom:0.35rem}
.auth-field input{width:100%;border:1px solid #c7cfdd;background:#fff;border-radius:10px;padding:0.67rem 0.78rem;font-size:16px;color:#111827;outline:none}
.auth-field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,0.12)}
.auth-submit{margin-top:1rem;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:0.4rem;border:1px solid #111827;background:linear-gradient(180deg,#3a3f4a,#1f2531);border-radius:10px;color:#fff;font-size:0.97rem;font-weight:500;padding:0.66rem 0.8rem;cursor:pointer;text-decoration:none}
.auth-submit .icon{width:0.9em;height:0.9em}
.auth-foot{border-top:1px solid rgba(15,23,42,0.1);padding:0.9rem 1.4rem;text-align:center;font-size:0.9rem;color:#6b7280}
.auth-foot a{color:#111827;text-decoration:none;font-weight:500}
.auth-foot a:hover{color:#3b82f6}
.auth-secured{border-top:1px solid rgba(15,23,42,0.1);padding:0.85rem 1.4rem;text-align:center;font-size:0.9rem;color:#6b7280}
.auth-secured strong{color:#6b7280;font-weight:600}
#signin .auth-secured strong{font-size:0.82em;font-weight:500}
#global-role-notice.global-role-notice{width:100%;max-width:none;margin:calc(var(--site-nav-height) + 0.35rem) 0 0;min-height:40px;padding:0 2.6rem;border-bottom:1px solid rgba(15,23,42,0.1);background:rgba(255,255,255,0.92);backdrop-filter:blur(10px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0.75rem}
#global-role-notice.global-role-notice[hidden]{display:none}
.global-role-notice[hidden]{display:none}
.global-role-notice[data-role-tone="super-admin"]{background:#fff7ed;border-color:#fdba74}
.global-role-notice[data-role-tone="admin"]{background:#eff6ff;border-color:#93c5fd}
.global-role-notice__body{display:flex;align-items:center;gap:0.4rem;min-width:0;white-space:nowrap}
.global-role-notice__body strong{font-size:0.78rem;color:#0f172a}
.global-role-notice__body span{font-size:0.76rem;color:#475569;overflow:hidden;text-overflow:ellipsis}
.global-role-notice__actions{display:flex;align-items:center;gap:0.45rem;flex-wrap:nowrap;justify-content:flex-end}
.global-role-notice__action{display:inline-flex;align-items:center;justify-content:center;gap:0.45rem;min-height:28px;padding:0.2rem 0.7rem;border-radius:999px;border:1px solid rgba(15,23,42,0.14);background:#fff;color:#0f172a;text-decoration:none;font-size:0.74rem;font-weight:600;white-space:nowrap}
.global-role-notice__action-label{display:inline-flex;align-items:center}
.global-role-notice__action-pill{display:inline-flex;align-items:center;justify-content:center;padding:0.08rem 0.48rem;border-radius:999px;background:rgba(37,99,235,0.11);color:#1d4ed8;font-size:0.68rem;font-weight:700;letter-spacing:0.01em}
.global-role-notice__action-pill[data-empty="true"]{background:rgba(148,163,184,0.18);color:#475569}
.global-role-notice__action--primary{border-color:#3b82f6;color:#1d4ed8}
.global-role-notice__action:hover{border-color:#3b82f6;color:#1d4ed8}
body.route-account-shell{background:#eef2f6}
body.route-account-shell footer{display:none}
body.route-account-shell nav{background:rgba(255,255,255,0.96);backdrop-filter:blur(20px)}
body.route-account-shell #global-role-notice.global-role-notice{position:fixed;top:var(--site-nav-height);left:0;right:0;z-index:95;margin:0;min-height:40px;padding:0 1.5rem;border-bottom:1px solid rgba(15,23,42,0.08);background:#edf4ff;backdrop-filter:blur(14px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0.75rem}
body.route-account-shell .global-role-notice[data-role-tone="super-admin"]{background:#fff5eb;border-color:#fdba74}
body.route-account-shell .global-role-notice[data-role-tone="admin"]{background:#edf4ff;border-color:#93c5fd}
body.route-account-shell .global-role-notice__body{display:flex;align-items:center;gap:0.4rem;min-width:0;white-space:nowrap}
body.route-account-shell .global-role-notice__body strong{font-size:0.78rem}
body.route-account-shell .global-role-notice__body span{font-size:0.76rem;overflow:hidden;text-overflow:ellipsis}
body.route-account-shell .global-role-notice__actions{gap:0.45rem;flex-wrap:nowrap}
body.route-account-shell .global-role-notice__action{min-height:28px;padding:0.2rem 0.7rem;font-size:0.74rem}
.account-page{padding:calc(var(--site-nav-height) + var(--global-role-notice-height)) 0 0;max-width:none;margin:0;min-height:calc(100dvh - (var(--site-nav-height) + var(--global-role-notice-height)));display:none;flex-direction:column;background:#fff}
.app-route.active.account-page{display:flex}
.account-shell{display:grid;grid-template-columns:248px 1fr;flex:1;min-height:calc(100dvh - (var(--site-nav-height) + var(--global-role-notice-height)));border:0;border-radius:0;background:#fff;overflow:hidden}
.account-sidebar{padding:0.5rem 1rem 1rem;border-right:1px solid rgba(15,23,42,0.08);display:flex;flex-direction:column;background:#f7f9fc;min-width:0}
.account-sidebar-main{display:grid;gap:1rem;min-height:0}
.account-head{display:grid;gap:0.35rem}
.account-head-row{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}
.account-head h2{font-size:1rem;font-weight:600;letter-spacing:-0.02em;color:#0f172a}
.account-role-badge{margin-top:0;display:inline-flex;align-items:center;justify-content:center;padding:0.18rem 0.55rem;border-radius:999px;border:1px solid rgba(15,23,42,0.12);background:#eef2f7;color:#334155;font-size:0.68rem;font-weight:700;letter-spacing:0.02em;text-transform:uppercase}
.account-role-badge[hidden]{display:none}
.account-role-badge[data-role-tone="super-admin"]{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.account-role-badge[data-role-tone="admin"]{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}
.account-version-badge{margin-top:0;display:inline-flex;align-items:center;justify-content:flex-start;padding:0;border:0;background:transparent;color:#94a3b8;font-size:0.72rem;font-weight:600;letter-spacing:0.01em}
.account-version-badge[hidden]{display:none}
.account-nav{margin-top:0;display:grid;gap:0.3rem}
.account-nav-item{width:100%;border:0;background:transparent;cursor:pointer;text-align:left;display:flex;align-items:center;gap:0.55rem;padding:0.58rem 0.65rem;border-radius:12px;font-size:0.84rem;font-weight:500;color:#6b7280;position:relative}
.account-nav-item[hidden]{display:none}
.account-nav-item svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.9;fill:none}
.account-nav-item.is-active{background:#fff;color:#111827;box-shadow:0 0 0 1px rgba(15,23,42,0.06)}
.account-nav-badge{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:1.3rem;height:1.3rem;padding:0 0.38rem;border-radius:999px;background:#dbeafe;border:1px solid #93c5fd;color:#1d4ed8;font-size:0.68rem;font-weight:700;line-height:1}
.account-nav-badge[hidden]{display:none}
.account-nav-item.has-unread-support::after{content:'';position:absolute;right:0.85rem;top:50%;width:8px;height:8px;border-radius:999px;background:#2563eb;transform:translateY(-50%);box-shadow:0 0 0 3px rgba(37,99,235,0.12)}
.account-sidebar-footer{margin-top:auto;padding-top:0.9rem;border-top:1px solid rgba(15,23,42,0.08);display:grid;gap:0.2rem}
.account-secured{font-size:0.7rem;color:#94a3b8}
.account-secured strong{font-size:1em;line-height:inherit;display:inline;transform:none}
.account-main{padding:0.5rem 1rem 1rem;background:#fff;min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:0.9rem}
.account-inactivity-banner{display:flex;align-items:center;gap:0.8rem;padding:0.85rem 1rem;border:1px solid rgba(245,158,11,0.22);border-radius:14px;background:linear-gradient(90deg,rgba(255,247,237,0.98),rgba(255,251,235,0.98));color:#9a3412;font-size:0.84rem;font-weight:600}
.account-inactivity-banner[hidden]{display:none}
.account-main h3{font-size:1rem;font-weight:500;letter-spacing:-0.01em;color:#0f172a;margin-bottom:0.9rem}
.account-tabs{display:flex;gap:1.2rem;margin-top:0.75rem;padding-bottom:0.45rem;border-bottom:1px solid rgba(15,23,42,0.1)}
.account-tab{border:0;background:transparent;cursor:pointer;font-size:0.88rem;color:#6b7280;padding:0 0 0.35rem}
.account-tab.is-active{color:#111827;font-weight:600;border-bottom:2px solid #111827}
.account-panel{display:none;padding:0;max-width:none;margin:0}
.account-panel.is-active{display:block}
.account-section{padding-top:0.95rem}
.account-section h4{font-size:0.92rem;color:#111827;margin-bottom:0.7rem}
.account-actions{display:flex;justify-content:space-between;gap:0.8rem;padding:0.6rem 0.12rem 0.2rem}
.account-action{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.86rem;color:#111827;background:none;border:0;padding:0;cursor:pointer;font:inherit}
.account-action svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.9;fill:none}
.account-divider{height:1px;background:rgba(15,23,42,0.1);margin:0.75rem 0 0.9rem}
.billing-pane{display:none}
.billing-pane.is-active{display:block}
.account-list{display:grid;gap:0.55rem}
.account-list-item{display:flex;justify-content:space-between;align-items:center;gap:0.6rem;padding:0.65rem 0.75rem;border:1px solid rgba(15,23,42,0.1);border-radius:10px;background:#fff;color:#111827;font-size:0.88rem;flex-wrap:wrap}
.account-note{font-size:0.82rem;color:#6b7280;margin-top:0.5rem}
.account-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.8rem}
.account-form .form-field{margin:0}
.account-form .form-field.full{grid-column:1/-1}
.account-form .form-field label,.account-field-heading,.review-rating-label{display:flex;align-items:baseline;gap:0.35rem;flex-wrap:wrap;font-size:0.72rem;font-weight:600;color:#64748b;margin:0 0 0.38rem}
.account-save{margin-top:0.85rem}
.profile-shell{display:grid;gap:0.95rem}
.profile-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:0.85rem;border-bottom:1px solid rgba(15,23,42,0.08)}
.profile-header h3{margin:0}
.profile-content{width:min(100%,640px);display:grid;gap:1rem}
.profile-identity{display:flex;align-items:center;gap:1rem;padding-top:0.1rem}
.profile-avatar{width:64px;height:64px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,#dbeafe 0%,#eff6ff 100%);border:1px solid rgba(96,165,250,0.28);color:#1d4ed8;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.75)}
.profile-avatar span{font-size:1.05rem;font-weight:700;letter-spacing:0.06em}
.profile-identity-copy{display:grid;gap:0.32rem;min-width:0}
.profile-identity-row{display:flex;align-items:center;gap:0.55rem;flex-wrap:wrap}
.profile-identity-row strong{font-size:1.08rem;color:#0f172a}
.profile-role-badge{display:inline-flex;align-items:center;justify-content:center;padding:0.18rem 0.55rem;border-radius:999px;border:1px solid rgba(15,23,42,0.12);background:#eef2f7;color:#334155;font-size:0.68rem;font-weight:700;letter-spacing:0.02em;text-transform:uppercase}
.profile-role-badge[hidden]{display:none}
.profile-role-badge[data-role-tone="super-admin"]{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.profile-role-badge[data-role-tone="admin"]{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}
.profile-role-badge[data-role-tone="user"]{background:#f8fafc;border-color:#cbd5e1;color:#475569}
.profile-identity-email{margin:0;font-size:0.82rem;color:#64748b;line-height:1.5}
.profile-form{display:grid;gap:1rem}
.profile-section{display:grid;gap:0.7rem}
.profile-section-label{margin:0;font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:#94a3b8;font-weight:700}
.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.9rem}
.profile-form-grid .full{grid-column:1/-1}
.profile-form .form-field{margin:0}
.profile-form .form-field label{display:flex;align-items:baseline;gap:0.35rem;flex-wrap:wrap;font-size:0.72rem;font-weight:600;color:#64748b;margin-bottom:0.38rem}
.profile-label-meta{font-size:0.68rem;font-weight:500;color:#94a3b8}
.profile-form .form-field input{background:#fff;border-color:rgba(15,23,42,0.12)}
.profile-readonly-field{display:grid;gap:0.38rem}
.profile-readonly-label{font-size:0.72rem;font-weight:600;color:#64748b}
.profile-readonly-value{display:grid;gap:0.16rem;padding:0.88rem 0.95rem;border:1px solid rgba(15,23,42,0.1);border-radius:14px;background:#f8fafc}
.profile-readonly-value strong{font-size:0.88rem;color:#0f172a}
.profile-readonly-value span{font-size:0.76rem;color:#64748b}
.profile-actions{display:grid;gap:0.65rem;padding-top:0.1rem}
.profile-inline-status{margin:0;padding:0.72rem 0.82rem;border-radius:12px;font-size:0.78rem;line-height:1.45;border:1px solid rgba(148,163,184,0.28);background:#f8fafc;color:#475569}
.profile-inline-status[hidden]{display:none}
.profile-inline-status[data-tone="success"]{border-color:#86efac;background:#f0fdf4;color:#166534}
.profile-inline-status[data-tone="error"]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}
.profile-action-row{display:flex;align-items:center;gap:0.85rem;flex-wrap:wrap}
.account-save.workspace-action{margin-top:0;min-height:42px;padding:0.58rem 1rem;font-size:0.8rem}
.account-save.workspace-action[disabled]{opacity:0.55;cursor:not-allowed;border-color:#93c5fd;background:#93c5fd;color:#eff6ff}
.profile-reset{border:0;background:transparent;padding:0;color:#64748b;font-size:0.8rem;font-weight:500;cursor:pointer}
.profile-reset:hover{color:#1d4ed8}
.profile-reset[disabled]{opacity:0.5;cursor:not-allowed}
.profile-reset[hidden]{display:none}
.profile-assignments-shell{display:grid;gap:0.7rem}
.profile-assignments-shell[hidden]{display:none}
.profile-assignments-divider{width:100%;justify-self:stretch;height:1px;background:rgba(148,163,184,0.34);margin:1.5rem 0 0}
.profile-assignments{gap:0.85rem}
.profile-assignments-head{display:grid;gap:0.32rem}
.profile-assignments-description{margin:0;font-size:0.78rem;line-height:1.5;color:#64748b}
.profile-assignments-state{margin:0;font-size:0.78rem;color:#94a3b8}
.profile-assignments-state[data-tone="error"]{color:#b91c1c}
.profile-assignments-content{display:grid;gap:0.85rem}
.profile-assignments-content[hidden]{display:none}
.profile-assignment-group{display:grid;gap:0.45rem}
.profile-assignment-copy{display:grid;gap:0.18rem}
.profile-assignment-copy h4{margin:0;font-size:0.8rem;font-weight:600;color:#0f172a}
.profile-assignment-copy p{margin:0;font-size:0.74rem;line-height:1.45;color:#94a3b8}
.profile-assignment-pills{display:flex;flex-wrap:wrap;gap:0.45rem}
.profile-assignment-pill{display:inline-flex;align-items:center;justify-content:center;padding:0.34rem 0.68rem;border-radius:999px;border:1px solid rgba(148,163,184,0.28);background:#f8fafc;color:#475569;font-size:0.76rem;font-weight:500;line-height:1.2}
.profile-assignment-pill--skill,.profile-assignment-pill--privilege{background:#f5f3ff;border-color:rgba(167,139,250,0.3);color:#5b21b6}
.profile-assignment-pill--default{background:#f8fafc;border-color:rgba(148,163,184,0.35);color:#475569}
.profile-assignment-pill--granted{background:#eff6ff;border-color:rgba(96,165,250,0.36);color:#1d4ed8}
.profile-assignment-empty{margin:0;font-size:0.76rem;line-height:1.45;color:#94a3b8}
.profile-assignment-action-rows{display:grid;gap:0.55rem}
.profile-assignment-action-row{display:grid;gap:0.32rem}
.profile-assignment-row-label{font-size:0.68rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#94a3b8}
.profile-assignments-link{justify-self:start;border:0;background:transparent;padding:0;color:#2563eb;font-size:0.8rem;font-weight:500;cursor:pointer}
.profile-assignments-link:hover{text-decoration:underline}
.account-switch{display:flex;justify-content:space-between;align-items:center;gap:0.65rem;padding:0.7rem 0.8rem;border:1px solid rgba(15,23,42,0.1);border-radius:10px;background:#fff;color:#111827;font-size:0.88rem;flex-wrap:wrap}
.account-switch button{border:1px solid #d1d7e2;background:#f1f5f9;color:#0f172a;border-radius:999px;padding:0.3rem 0.65rem;font-size:0.76rem;cursor:pointer}
.account-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);grid-template-areas:"snapshot actions" "categories products" "recent recent";gap:var(--workspace-gap);align-items:stretch}
.workspace-card{border:1px solid var(--workspace-surface-border);border-radius:var(--workspace-surface-radius);background:#fff;padding:1rem;scroll-margin-top:calc(var(--site-nav-height) + var(--global-role-notice-height) + 1rem);display:grid;gap:0.8rem;align-content:start;box-shadow:0 1px 2px rgba(15,23,42,0.02)}
.workspace-card h4{font-size:0.88rem;color:#111827;margin-bottom:0}
.workspace-actions{display:flex;gap:0.6rem;flex-wrap:wrap;align-content:start}
.workspace-action{display:inline-flex;align-items:center;justify-content:center;padding:0.5rem 0.82rem;border-radius:999px;border:1px solid rgba(15,23,42,0.15);background:#f8fafc;color:#111827;text-decoration:none;font-size:0.78rem;cursor:pointer;white-space:nowrap}
.workspace-action:hover{border-color:#3b82f6;color:#1d4ed8}
.workspace-action--active{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}
.workspace-action--primary{border-color:#2563eb;background:#2563eb;color:#fff}
.workspace-action--primary:hover{border-color:#1d4ed8;background:#1d4ed8;color:#fff}
.worker-queue-shell{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:calc(100dvh - (var(--site-nav-height) + var(--global-role-notice-height)) - 2rem);border:1px solid rgba(15,23,42,0.08);border-radius:18px;background:#fff;overflow:hidden}
.worker-queue-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.9rem 1.25rem;border-bottom:1px solid rgba(15,23,42,0.08)}
.worker-queue-head h3{margin:0;font-size:1rem;font-weight:500;color:#0f172a}
.worker-queue-tools{display:flex;align-items:flex-start;justify-content:flex-end;gap:0.85rem;flex:1;flex-wrap:wrap}
.worker-search-shell{position:relative;display:grid;gap:0.32rem;min-width:min(100%,320px)}
.worker-search-input-wrap{display:flex;align-items:center;gap:0.55rem;padding:0.55rem 0.75rem;border:1px solid rgba(148,163,184,0.45);border-radius:12px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}
.worker-search-input-wrap:focus-within{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,0.16)}
.worker-search-input-wrap svg{width:0.9rem;height:0.9rem;stroke:#64748b;stroke-width:1.8;fill:none;flex:0 0 auto}
.worker-search-input-wrap input{width:100%;border:0;background:transparent;padding:0;font:inherit;font-size:0.82rem;color:#0f172a;outline:none}
.worker-search-input-wrap input::placeholder{color:#94a3b8}
.worker-search-results{position:absolute;top:calc(100% + 0.28rem);left:0;right:0;z-index:15;display:grid;gap:0;border:1px solid rgba(15,23,42,0.12);border-radius:14px;background:#fff;box-shadow:0 20px 40px rgba(15,23,42,0.12);overflow:hidden}
.worker-search-results[hidden],.worker-inspector-view[hidden]{display:none!important}
.worker-search-results__state{padding:0.75rem 0.9rem;font-size:0.76rem;color:#64748b;background:#fff}
.worker-search-result{display:grid;gap:0.22rem;width:100%;padding:0.72rem 0.9rem;border:0;border-top:1px solid rgba(15,23,42,0.06);background:#fff;text-align:left;cursor:pointer}
.worker-search-result:first-child{border-top:0}
.worker-search-result:hover,.worker-search-result:focus-visible{background:#f8fbff;outline:none}
.worker-search-result__top,.worker-search-result__meta{display:flex;align-items:center;gap:0.45rem;flex-wrap:wrap}
.worker-search-result__top strong{font-size:0.8rem;color:#0f172a}
.worker-search-result__meta{font-size:0.72rem;color:#64748b}
.worker-view-tabs{display:flex;align-items:center;gap:0.45rem;flex-wrap:wrap;justify-content:flex-end}
.worker-view-tab{display:inline-flex;align-items:center;justify-content:center;padding:0.38rem 0.82rem;border-radius:999px;border:1px solid rgba(148,163,184,0.45);background:transparent;color:#64748b;font-size:0.76rem;font-weight:500;cursor:pointer;white-space:nowrap}
.worker-view-tab:hover{border-color:#60a5fa;color:#1d4ed8}
.worker-view-tab.is-active{background:#edf4ff;border-color:#93c5fd;color:#1d4ed8}
.worker-queue-viewport{height:100%;min-height:0;background:linear-gradient(180deg,#fbfcff 0%,#ffffff 18%)}
.worker-queue-view,.worker-list-view,.worker-inspector-view{width:100%;height:100%;min-height:0;max-width:none;margin:0;padding:0;justify-self:stretch;align-self:stretch}
.worker-queue-view[hidden],.worker-list-view[hidden],.worker-current-layout[hidden],.worker-empty-state[hidden],.worker-queue-summary[hidden]{display:none!important}
.worker-queue-summary{display:flex;align-items:center;gap:0.4rem;flex-wrap:wrap;padding:0.9rem 1.25rem 0;font-size:0.79rem;color:#94a3b8}
.worker-queue-summary strong{color:#1d4ed8;font-weight:700}
.worker-empty-state{height:100%;display:grid;place-content:center;justify-items:center;gap:0.9rem;padding:1.5rem;text-align:center}
.worker-empty-state__icon{width:3.15rem;height:3.4rem;border-radius:1rem;background:#edf4ff;position:relative;border:1px solid rgba(96,165,250,0.25)}
.worker-empty-state__icon::before{content:'';position:absolute;left:0.78rem;right:0.78rem;top:0.88rem;bottom:0.68rem;border:2px solid rgba(71,85,105,0.7);border-radius:0.55rem;background:#fff}
.worker-empty-state__icon::after{content:'';position:absolute;left:1.18rem;right:1.18rem;top:0.46rem;height:0.42rem;border-radius:999px;background:rgba(59,130,246,0.75)}
.worker-empty-state h4{margin:0;font-size:0.95rem;font-weight:600;color:#0f172a}
.worker-empty-state__actions{display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;justify-content:center}
.worker-empty-state__link{border:0;background:transparent;padding:0;color:#2563eb;font-size:0.82rem;font-weight:500;cursor:pointer}
.worker-empty-state__link:hover{text-decoration:underline}
.worker-empty-state__meta{margin:0;font-size:0.83rem;color:#64748b}
.worker-empty-state__meta strong{color:#1d4ed8;font-weight:700}
.worker-current-layout{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0}
.worker-case-strip{display:grid;gap:0.65rem;padding:0.8rem 1.25rem;border-bottom:1px solid rgba(15,23,42,0.08);background:#f8fafc}
.worker-case-strip__main{display:grid;gap:0.45rem;min-width:0;flex:1}
.worker-case-strip__main-row,.worker-case-strip__meta{display:flex;align-items:center;gap:0.45rem;flex-wrap:wrap;min-width:0}
.worker-case-strip__main strong{font-size:0.93rem;color:#0f172a}
.worker-case-strip__summary{font-size:0.8rem;color:#64748b}
.worker-case-strip__dot{color:#cbd5e1}
.worker-case-strip__meta{font-size:0.74rem;color:#64748b}
.worker-status-indicator{margin:0;display:inline-flex;align-items:center;gap:0.35rem;justify-self:start;padding:0.24rem 0.62rem;border-radius:999px;background:#eff6ff;border:1px solid rgba(147,197,253,0.65);font-size:0.72rem;color:#1d4ed8;white-space:nowrap}
.worker-current-columns{display:grid;grid-template-columns:minmax(0,1fr) 300px;height:100%;min-height:0}
.worker-current-main{min-height:0;overflow:auto;padding:1rem 1.25rem 1.25rem;display:grid;align-content:start;gap:1rem}
.worker-current-rail{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);border-left:1px solid rgba(15,23,42,0.08);background:#f8fafc}
.worker-section{display:grid;gap:0.7rem}
.worker-section-label{margin:0;font-size:0.68rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#94a3b8}
.worker-current-case,.worker-action-panel{display:grid;gap:0.85rem}
.worker-current-case{padding:1rem 1.05rem;border:1px solid rgba(15,23,42,0.08);border-radius:14px;background:#f8fafc}
.worker-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.75rem 1.5rem}
.worker-detail-field{display:grid;gap:0.18rem}
.worker-detail-field strong{font-size:0.68rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#94a3b8}
.worker-detail-field span{font-size:0.84rem;color:#0f172a;word-break:break-word}
.worker-detail-field span[data-tone="info"]{color:#1d4ed8}
.worker-action-surface{display:grid;gap:0.75rem;padding:0.9rem;border:1px solid rgba(15,23,42,0.08);border-left:4px solid transparent;border-radius:12px;background:#f8fafc}
.worker-action-surface--default{background:#f8fafc;border-left-color:#60a5fa}
.worker-action-surface--success{background:#f0fdf4;border-color:#86efac;border-left-color:#22c55e}
.worker-action-surface--warning{background:#fff7ed;border-color:#fdba74;border-left-color:#f59e0b}
.worker-action-surface__head{display:grid;gap:0.2rem}
.worker-action-surface__head h4{margin:0;font-size:0.84rem;color:#0f172a}
.worker-action-surface--success .worker-action-surface__head h4{color:#166534}
.worker-action-surface--warning .worker-action-surface__head h4{color:#9a3412}
.worker-action-surface__actions{display:flex;align-items:center;justify-content:flex-end;gap:0.55rem;flex-wrap:wrap}
.worker-action-cancel{display:inline-flex;align-items:center;justify-content:center;padding:0.45rem 0.8rem;border-radius:999px;border:1px solid rgba(15,23,42,0.14);background:#fff;color:#475569;font-size:0.78rem;cursor:pointer}
.worker-action-confirm{display:inline-flex;align-items:center;justify-content:center;padding:0.45rem 0.8rem;border-radius:999px;border:1px solid #2563eb;background:#2563eb;color:#fff;font-size:0.78rem;cursor:pointer}
.worker-action-confirm--success{border-color:#16a34a;background:#16a34a}
.worker-action-confirm--warning{border-color:#d97706;background:#d97706}
.worker-rail-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid rgba(15,23,42,0.08)}
.worker-rail-tab{border:0;border-bottom:2px solid transparent;background:#eef2f7;color:#64748b;font-size:0.76rem;padding:0.8rem 0.65rem;cursor:pointer}
.worker-rail-tab.is-active{background:#fff;color:#0f172a;font-weight:600;border-bottom-color:#3b82f6}
.worker-rail-panel{min-height:0;overflow:auto;padding:0.95rem}
.worker-case-note-list,.worker-case-activity-list{display:grid;gap:0.7rem}
.worker-case-note{display:grid;gap:0.35rem;padding:0.72rem;border:1px solid rgba(15,23,42,0.08);border-radius:10px;background:#fff}
.worker-case-note header,.worker-case-activity{display:flex;align-items:flex-start;justify-content:space-between;gap:0.7rem}
.worker-case-note header span,.worker-case-activity span{font-size:0.74rem;color:#64748b;white-space:nowrap}
.worker-case-note p{margin:0;color:#475569;line-height:1.5}
.worker-case-activity{padding:0.7rem 0;border-bottom:1px solid rgba(15,23,42,0.08);background:transparent}
.worker-case-activity:last-child{border-bottom:0;padding-bottom:0}
.worker-case-activity strong{display:block;color:#111827}
.worker-case-activity .account-note{margin-top:0.2rem;font-size:0.72rem;color:#94a3b8}
.worker-case-thread{min-height:0;max-height:200px;overflow:auto}
.worker-list-view{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;height:100%}
.worker-list-view__summary{padding:0.85rem 1.25rem 0.15rem}
.worker-list-view__list{min-height:0;overflow:auto;padding:0 1.25rem 0.85rem;display:grid;gap:0;align-content:start;grid-auto-rows:max-content}
.worker-list-count{margin:0;font-size:0.78rem;color:#94a3b8}
.worker-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;align-self:start;gap:1rem;padding:0.75rem 0;border-bottom:1px solid rgba(15,23,42,0.08)}
.worker-list-row:last-child{border-bottom:0}
.worker-list-row__main{display:grid;gap:0.22rem;min-width:0}
.worker-list-row__meta{display:flex;align-items:center;gap:0.45rem;flex-wrap:wrap}
.worker-list-row__meta strong{font-size:0.82rem;color:#0f172a}
.worker-list-row__support{font-size:0.76rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.worker-readonly-chip{display:inline-flex;align-items:center;justify-content:center;padding:0;color:#2563eb;font-size:0.74rem;font-weight:500;background:transparent;border:0}
.worker-case-strip .rbac-chip,.worker-list-row .rbac-chip,.worker-inspector-shell .rbac-chip{text-transform:none;letter-spacing:0;font-weight:600}
.worker-inspector-view,.worker-inspector-shell{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;height:100%}
.worker-case-strip--readonly{padding:0.78rem 1.25rem;background:linear-gradient(180deg,#f8fbff 0%,#f8fafc 100%)}
.worker-case-strip__row{display:flex;align-items:flex-start;justify-content:space-between;gap:0.9rem;flex-wrap:wrap}
.worker-inspector-strip__actions{display:flex;align-items:center;gap:0.8rem;flex-wrap:wrap;justify-content:flex-end}
.worker-inspector-strip__time{font-size:0.75rem;color:#94a3b8;white-space:nowrap}
.worker-inspector-main{padding-right:1.1rem}
.worker-current-case--readonly{background:#fff}
.worker-inspector-section-head{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;flex-wrap:wrap}
.worker-inspector-link{border:0;background:transparent;padding:0;color:#2563eb;font-size:0.78rem;font-weight:500;cursor:pointer}
.worker-inspector-link:hover{text-decoration:underline}
.worker-inspector-link--quiet{font-size:0.76rem;color:#64748b}
.worker-inspector-link--quiet:hover{color:#2563eb}
.worker-inspector-rail{background:#f8fafc}
.worker-inspector-activity-list{display:grid;gap:0.75rem}
.worker-inspector-activity-item{display:grid;gap:0.2rem;padding-bottom:0.75rem;border-bottom:1px solid rgba(15,23,42,0.08)}
.worker-inspector-activity-item:last-child{padding-bottom:0;border-bottom:0}
.worker-inspector-activity-item strong{font-size:0.82rem;color:#0f172a}
.worker-inspector-activity-item p{margin:0;font-size:0.78rem;color:#64748b;line-height:1.5}
.worker-inspector-activity-item--secondary strong,.worker-inspector-activity-item--secondary p{color:#94a3b8}
.worker-inspector-order-list{display:grid;gap:0.55rem}
.worker-inspector-order-item{display:flex;align-items:flex-start;justify-content:space-between;gap:0.7rem;padding-bottom:0.55rem;border-bottom:1px solid rgba(15,23,42,0.08)}
.worker-inspector-order-item:last-child{padding-bottom:0;border-bottom:0}
.worker-inspector-order-item strong{display:block;font-size:0.82rem;color:#0f172a}
.worker-inspector-order-item span{display:block;font-size:0.74rem;color:#64748b}
.worker-inspector-order-total{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;padding-top:0.7rem;border-top:1px solid rgba(15,23,42,0.08)}
.worker-inspector-order-total strong,.worker-inspector-order-total span{font-size:0.84rem;color:#0f172a}
.worker-search-shell .rbac-chip{text-transform:none;letter-spacing:0;font-weight:600}
.worker-case-empty{display:grid;place-items:start;padding:0.85rem;border:1px dashed rgba(15,23,42,0.14);border-radius:12px;background:#f8fafc}
.worker-case-kicker{margin:0;font-size:0.74rem;letter-spacing:0.08em;text-transform:uppercase;color:#64748b}
.worker-case-header{display:flex;align-items:flex-start;justify-content:space-between;gap:0.9rem;flex-wrap:wrap}
.worker-case-meta{display:grid;gap:0.25rem}
.worker-case-layout{display:grid;gap:0.95rem}
.worker-case-main,.worker-case-sidebar,.worker-case-summary-card,.worker-case-thread-card,.worker-case-overview-card,.worker-case-notes-card,.worker-case-activity-card{display:grid;gap:0.8rem}
.admin-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:0.8rem;flex-wrap:wrap;margin-bottom:0.7rem}
.admin-section-tabs{display:flex;flex-wrap:wrap;gap:0.45rem;margin:0 0 0.9rem}
.admin-section-tab{display:inline-flex;align-items:center;justify-content:center;padding:0.44rem 0.82rem;border-radius:999px;border:1px solid rgba(148,163,184,0.34);background:#f8fafc;color:#64748b;font-size:0.78rem;font-weight:600;cursor:pointer}
.admin-section-tab:hover{border-color:#93c5fd;color:#1d4ed8}
.admin-section-tab.is-active{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}
.admin-section[hidden]{display:none!important}
.admin-users-list{display:grid;gap:0.7rem}
.catalog-head-actions{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}
.admin-products-layout{display:grid;grid-template-columns:minmax(280px,0.72fr) minmax(0,1.28fr);gap:1rem;align-items:start}
.admin-products-sidebar{display:grid;gap:0.8rem;min-width:0}
.admin-products-list{display:grid;gap:0.7rem}
.catalog-toolbar{display:flex;align-items:center;gap:0.65rem;flex-wrap:wrap;margin:0.9rem 0 0.55rem}
.catalog-toolbar input{flex:1 1 280px;min-height:44px;padding:0.7rem 0.85rem;border-radius:12px;border:1px solid rgba(15,23,42,0.12);background:#fff;color:#0f172a;font:inherit}
.catalog-toolbar input:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,0.16)}
.catalog-toolbar__actions{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}
.catalog-pagination{display:flex;justify-content:center;margin-top:0.85rem}
.noscript-banner{margin:0;padding:0.75rem 1rem;background:#0f172a;color:#fff;font-size:0.9rem;text-align:center}
.sr-svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.form-field--honeypot{position:absolute;left:-9999px;top:-9999px}
.admin-product-row{display:grid;gap:0.7rem;padding:0.9rem;border:1px solid rgba(15,23,42,0.1);border-radius:14px;background:#f8fafc;cursor:pointer;transition:border-color 0.18s ease,background 0.18s ease,box-shadow 0.18s ease}
.admin-product-row:hover{border-color:#93c5fd;background:#f8fbff}
.admin-product-row.is-selected{border-color:#60a5fa;background:#eff6ff;box-shadow:0 10px 30px rgba(37,99,235,0.08)}
.admin-product-main{display:grid;gap:0.3rem;min-width:0}
.admin-product-main__headline{display:flex;align-items:center;gap:0.55rem;flex-wrap:wrap;min-width:0}
.admin-product-main strong{font-size:0.92rem;color:#0f172a}
.admin-product-main span{font-size:0.78rem;color:#64748b;word-break:break-word}
.admin-product-pack-summary{display:flex;align-items:center;justify-content:space-between;gap:0.7rem;flex-wrap:wrap}
.admin-product-pack-summary .account-note{margin:0}
.admin-product-editor{display:grid;gap:0.95rem;padding:1rem;border:1px solid rgba(15,23,42,0.1);border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);min-height:420px}
.admin-product-editor.is-loading{place-items:center}
.admin-product-editor__header{display:flex;align-items:flex-start;justify-content:space-between;gap:0.9rem;flex-wrap:wrap}
.admin-product-editor__headline{display:grid;gap:0.35rem}
.admin-product-editor__headline h4{margin:0;font-size:1rem;color:#0f172a}
.admin-product-editor__headline p{margin:0;font-size:0.8rem;color:#64748b}
.admin-product-editor__actions{display:flex;align-items:center;gap:0.55rem;flex-wrap:wrap}
.admin-product-editor__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.9rem}
.admin-product-editor__grid .form-field.full{grid-column:1/-1}
.admin-product-editor__grid input,
.admin-product-editor__grid textarea,
.admin-product-editor__grid select{width:100%;min-height:44px;padding:0.7rem 0.8rem;border-radius:12px;border:1px solid rgba(15,23,42,0.12);background:#fff;color:#0f172a;font:inherit}
.admin-product-editor__grid textarea{min-height:120px;resize:vertical}
.admin-product-editor__grid input:focus,
.admin-product-editor__grid textarea:focus,
.admin-product-editor__grid select:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,0.16)}
.admin-product-editor__section{display:grid;gap:0.8rem;padding-top:0.85rem;border-top:1px solid rgba(15,23,42,0.08)}
.admin-product-editor__section:first-of-type{padding-top:0;border-top:0}
.admin-product-editor__section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:0.8rem;flex-wrap:wrap}
.admin-product-editor__section-head h5{margin:0;font-size:0.84rem;color:#0f172a}
.admin-product-editor__section-head p{margin:0;font-size:0.76rem;color:#64748b}
.admin-product-pack-list{display:grid;gap:0.75rem}
.admin-product-pack-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,0.35fr) minmax(120px,0.28fr) auto auto;gap:0.7rem;align-items:end;padding:0.85rem;border:1px solid rgba(15,23,42,0.08);border-radius:14px;background:#fff}
.admin-product-pack-toggle{display:inline-flex;align-items:center;gap:0.45rem;font-size:0.8rem;color:#334155}
.admin-product-image-shell{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr);gap:0.9rem;align-items:start}
.admin-product-image-preview{aspect-ratio:1/1;border-radius:16px;border:1px solid rgba(15,23,42,0.1);background:#f8fafc;display:grid;place-items:center;overflow:hidden}
.admin-product-image-preview img{width:100%;height:100%;object-fit:cover}
.admin-product-image-placeholder{padding:1rem;text-align:center;font-size:0.78rem;color:#64748b}
.admin-product-image-meta{display:grid;gap:0.55rem}
.admin-product-image-meta input[type="file"]{padding:0.5rem;background:#fff}
.admin-product-image-meta .account-note{margin:0}
.admin-product-editor__footer{display:flex;align-items:center;justify-content:space-between;gap:0.8rem;flex-wrap:wrap;padding-top:0.85rem;border-top:1px solid rgba(15,23,42,0.08)}
.admin-product-editor__status{margin:0;font-size:0.78rem;color:#64748b}
.admin-product-editor__empty{display:grid;place-items:center;gap:0.65rem;padding:2rem 1rem;text-align:center;border:1px dashed rgba(15,23,42,0.14);border-radius:16px;background:#f8fafc}
.admin-product-save[disabled]{opacity:0.6;cursor:not-allowed}
.admin-user-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:0.8rem;align-items:center;padding:0.8rem;border:1px solid rgba(15,23,42,0.1);border-radius:12px;background:#f8fafc}
.admin-user-main{display:grid;gap:0.15rem;min-width:0}
.admin-user-main__headline{display:flex;align-items:center;gap:0.55rem;min-width:0;flex-wrap:wrap}
.admin-user-main strong{font-size:0.88rem;color:#0f172a}
.admin-user-main span{font-size:0.8rem;color:#64748b;word-break:break-word}
.admin-user-roles{display:flex;gap:0.4rem;flex-wrap:wrap}
.admin-user-actions{display:flex;justify-content:flex-end;align-items:center}
.rbac-chip{display:inline-flex;align-items:center;justify-content:center;padding:0.22rem 0.55rem;border-radius:999px;border:1px solid rgba(15,23,42,0.12);background:#fff;color:#334155;font-size:0.72rem;font-weight:700;letter-spacing:0.01em;text-transform:uppercase}
.rbac-chip--super-admin{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.rbac-chip--admin{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}
.rbac-chip--user{background:#f8fafc;border-color:#cbd5e1;color:#475569}
.rbac-chip--broken{background:#fef2f2;border-color:#fca5a5;color:#991b1b}
.rbac-chip--warning{background:#fff7ed;border-color:#fdba74;color:#b45309}
.rbac-chip--skill{background:#f0fdf4;border-color:#86efac;color:#166534}
.rbac-chip--resolved{background:#f0fdf4;border-color:#86efac;color:#166534}
.rbac-chip--progress{background:#eef2ff;border-color:#a5b4fc;color:#4338ca}
.admin-workers-list,.admin-cases-list{display:grid;gap:0.7rem}
.admin-worker-row,.admin-case-row{display:grid;gap:0.9rem;padding:0.85rem;border:1px solid rgba(15,23,42,0.1);border-radius:12px;background:#f8fafc}
.admin-worker-row{grid-template-columns:minmax(0,0.7fr) minmax(0,1.3fr)}
.admin-worker-skills{display:grid;gap:0.65rem}
.admin-worker-skill{display:grid;gap:0.45rem;padding:0.65rem;border:1px solid rgba(15,23,42,0.08);border-radius:10px;background:#fff}
.admin-worker-skill-head{display:flex;align-items:center;justify-content:space-between;gap:0.7rem;flex-wrap:wrap}
.admin-worker-privilege-add{display:grid;gap:0.45rem}
.admin-worker-privilege-add[open]{padding-top:0.1rem}
.admin-worker-privilege-toggle{display:inline-flex;align-items:center;gap:0.45rem;cursor:pointer;color:#1d4ed8;font-size:0.78rem;font-weight:600;list-style:none}
.admin-worker-privilege-toggle::-webkit-details-marker{display:none}
.admin-worker-privilege-actions{display:flex;gap:0.5rem;flex-wrap:wrap}
.admin-privilege-grid{display:flex;flex-wrap:wrap;gap:0.55rem}
.admin-privilege-option{display:inline-flex;align-items:center;gap:0.45rem;padding:0.45rem 0.65rem;border:1px solid rgba(15,23,42,0.12);border-radius:999px;background:#fff;font-size:0.78rem;color:#334155}
.admin-case-row{grid-template-columns:minmax(0,1.3fr) minmax(220px,0.7fr)}
.admin-case-main{display:grid;gap:0.5rem}
.admin-case-meta{display:grid;gap:0.15rem}
.admin-case-meta strong{font-size:0.9rem;color:#0f172a}
.admin-case-meta span{font-size:0.8rem;color:#64748b}
.presence-badge{display:inline-flex;align-items:center;gap:0.38rem;min-width:0;padding:0.16rem 0.46rem;border-radius:999px;background:#f8fafc;color:#475569;font-size:0.7rem;font-weight:700;letter-spacing:0.01em;white-space:nowrap}
.presence-badge--compact{padding:0;background:transparent;border-radius:0;color:#64748b;font-size:0.72rem}
.presence-badge__dot{width:0.48rem;height:0.48rem;border-radius:999px;background:#94a3b8;box-shadow:0 0 0 0.18rem rgba(148,163,184,0.12)}
.presence-badge[data-presence-status="online"]{background:rgba(34,197,94,0.1);color:#166534}
.presence-badge[data-presence-status="online"] .presence-badge__dot{background:#22c55e;box-shadow:0 0 0 0.18rem rgba(34,197,94,0.16)}
.presence-badge[data-presence-status="inactive"]{background:rgba(245,158,11,0.12);color:#9a3412}
.presence-badge[data-presence-status="inactive"] .presence-badge__dot{background:#f59e0b;box-shadow:0 0 0 0.18rem rgba(245,158,11,0.16)}
.presence-badge[data-presence-status="offline"]{background:rgba(148,163,184,0.12);color:#475569}
.presence-badge[data-presence-status="offline"] .presence-badge__dot{background:#94a3b8;box-shadow:0 0 0 0.18rem rgba(148,163,184,0.16)}
.presence-badge--compact[data-presence-status="online"],
.presence-badge--compact[data-presence-status="inactive"],
.presence-badge--compact[data-presence-status="offline"]{background:transparent}
.admin-case-chips{display:flex;gap:0.4rem;flex-wrap:wrap}
.admin-case-actions{display:grid;gap:0.55rem;align-content:start}
.admin-case-actions select{width:100%;padding:0.6rem 0.7rem;border-radius:10px;border:1px solid rgba(15,23,42,0.12);background:#fff;color:#111827}
.admin-case-action-row{display:flex;gap:0.55rem;flex-wrap:wrap}
.admin-case-assignments{display:grid;gap:0.45rem}
.admin-case-assignment{display:flex;justify-content:space-between;align-items:center;gap:0.6rem;padding:0.45rem 0.55rem;border:1px solid rgba(15,23,42,0.08);border-radius:10px;background:#fff;color:#334155;font-size:0.8rem;flex-wrap:wrap}
.mini-btn--chip{padding:0.2rem 0.5rem;font-size:0.72rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width: 960px){
  .worker-queue-head{align-items:stretch}
  .worker-queue-tools{justify-content:stretch}
  .worker-search-shell{min-width:100%}
  .worker-current-columns{grid-template-columns:minmax(0,1fr)}
  .worker-inspector-main{padding-right:0}
  .worker-inspector-strip__actions{justify-content:flex-start}
  .admin-products-layout{grid-template-columns:1fr}
  .admin-product-editor__grid{grid-template-columns:1fr}
  .admin-product-pack-row{grid-template-columns:1fr}
  .admin-product-image-shell{grid-template-columns:1fr}
  .catalog-toolbar{align-items:stretch}
  .catalog-toolbar__actions{width:100%}
}
.orders-layout{display:grid;grid-template-columns:minmax(320px,0.78fr) minmax(0,1.22fr);gap:1rem;height:clamp(540px,calc(100dvh - (var(--site-nav-height) + var(--global-role-notice-height)) - 12rem),760px);min-height:540px}
.orders-panel{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;padding:0;overflow:hidden}
.orders-panel-head{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;padding:0.95rem 1.05rem;border-bottom:1px solid rgba(15,23,42,0.08)}
.orders-panel-head h4{font-size:0.95rem;font-weight:500}
.orders-list,.orders-detail{min-height:0;overflow:auto;padding:0.9rem 1rem 1rem}
.orders-list{display:grid;gap:0.6rem;align-content:start}
.orders-list-row{position:relative;width:100%;justify-content:space-between;align-items:flex-start;text-align:left;cursor:pointer;flex-wrap:nowrap;border-radius:14px;padding:0.8rem 0.95rem;transition:border-color 0.2s ease,background 0.2s ease,box-shadow 0.2s ease,transform 0.2s ease}
.orders-list-row:hover{background:#f8fbff;border-color:rgba(96,165,250,0.35);transform:translateY(-1px)}
.orders-list-row.is-selected{border-color:#93c5fd;background:#eff6ff;box-shadow:inset 3px 0 0 #2563eb}
.orders-list-row.has-unread-reply{border-color:rgba(59,130,246,0.42);background:
  radial-gradient(circle at top right, rgba(96,165,250,0.2), transparent 38%),
  linear-gradient(180deg, #f7fbff 0%, #eef6ff 100%);
  box-shadow:0 0 0 1px rgba(96,165,250,0.14),0 12px 28px rgba(37,99,235,0.12)}
.orders-list-row.has-unread-reply::before{content:'';position:absolute;left:0.38rem;top:0.68rem;bottom:0.68rem;width:3px;border-radius:999px;background:linear-gradient(180deg,#60a5fa 0%,#2563eb 100%);box-shadow:0 0 14px rgba(37,99,235,0.28)}
.orders-list-row.has-unread-reply:hover{border-color:rgba(37,99,235,0.48);background:
  radial-gradient(circle at top right, rgba(96,165,250,0.24), transparent 40%),
  linear-gradient(180deg, #f8fbff 0%, #edf5ff 100%);
  box-shadow:0 0 0 1px rgba(96,165,250,0.2),0 16px 34px rgba(37,99,235,0.16)}
.orders-list-row.has-unread-reply.is-selected{border-color:#60a5fa;background:
  radial-gradient(circle at top right, rgba(96,165,250,0.24), transparent 42%),
  linear-gradient(180deg, #eef6ff 0%, #e0eeff 100%);
  box-shadow:inset 3px 0 0 #2563eb,0 0 0 1px rgba(96,165,250,0.16),0 16px 36px rgba(37,99,235,0.14)}
.orders-list-row__main{display:grid;gap:0.32rem;min-width:0;flex:1 1 auto}
.orders-list-row__top{display:flex;align-items:center;gap:0.5rem;min-width:0;flex-wrap:wrap}
.orders-row-title{font-size:0.84rem;font-weight:600;color:#0f172a;min-width:0}
.orders-row-more{font-size:0.72rem;color:#64748b}
.orders-row-meta{font-size:0.76rem;color:#64748b;line-height:1.45;word-break:break-word}
.orders-row-meta-dot{padding:0 0.32rem;color:#cbd5e1}
.orders-row-ref{color:#94a3b8}
.orders-list-row__aside{display:flex;justify-content:flex-end;align-items:center;gap:0.45rem;flex-shrink:0;padding-left:0.75rem;flex-wrap:wrap}
.orders-reply-badge{display:inline-flex;align-items:center;justify-content:center;gap:0.32rem;padding:0.18rem 0.56rem;border-radius:999px;background:#dbeafe;border:1px solid #93c5fd;color:#1d4ed8;font-size:0.68rem;font-weight:700;line-height:1.2;white-space:nowrap}
.orders-reply-badge::before{content:'';width:0.42rem;height:0.42rem;border-radius:999px;background:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,0.14)}
.orders-status-badge{display:inline-flex;align-items:center;justify-content:center;padding:0.18rem 0.62rem;border-radius:999px;border:1px solid rgba(148,163,184,0.34);background:#f8fafc;color:#475569;font-size:0.72rem;font-weight:600;line-height:1.2;white-space:nowrap}
.orders-status-badge--warning{background:#fff7ed;border-color:#fdba74;color:#c2410c}
.orders-status-badge--success{background:#f0fdf4;border-color:#86efac;color:#166534}
.orders-status-badge--info{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}
.orders-status-badge--danger{background:#fef2f2;border-color:#fecaca;color:#b91c1c}
.orders-empty-state{height:100%;display:grid;place-content:center;justify-items:center;gap:0.7rem;padding:1.5rem;text-align:center}
.orders-empty-state__icon{width:3.15rem;height:3.15rem;border-radius:1rem;border:1px solid rgba(148,163,184,0.3);background:linear-gradient(180deg,#f8fafc 0%,#eef2ff 100%);position:relative}
.orders-empty-state__icon::before,.orders-empty-state__icon::after{content:'';position:absolute;left:0.8rem;right:0.8rem;border-radius:999px;background:#94a3b8}
.orders-empty-state__icon::before{top:0.92rem;height:0.24rem}
.orders-empty-state__icon::after{top:1.5rem;height:0.24rem;right:1.15rem}
.orders-empty-state h4{margin:0;font-size:0.94rem;font-weight:600;color:#0f172a}
.orders-empty-state p{margin:0;font-size:0.81rem;line-height:1.55;color:#64748b;max-width:28rem}
.orders-empty-state p strong{color:#1d4ed8}
.orders-detail-shell{display:grid;gap:0.8rem;align-content:start;min-height:100%}
.orders-mobile-back{display:none}
.orders-detail-meta-line{display:flex;align-items:center;gap:0.45rem 0.75rem;flex-wrap:wrap;font-size:0.75rem;color:#64748b}
.orders-detail-meta-line span:last-child{font-weight:600;color:#334155}
.orders-detail-meta-line__ref{color:#94a3b8;font-family:"IBM Plex Mono","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;letter-spacing:0.08em}
.orders-detail-tabs{display:flex;align-items:center;gap:0.45rem;padding:0.24rem;border-radius:16px;background:#f8fafc;border:1px solid rgba(15,23,42,0.08)}
.orders-detail-tab{border:0;background:transparent;color:#64748b;font-size:0.8rem;font-weight:600;line-height:1.2;padding:0.62rem 0.9rem;border-radius:12px;cursor:pointer;transition:background 0.18s ease,color 0.18s ease,box-shadow 0.18s ease}
.orders-detail-tab.is-active{background:#fff;color:#0f172a;box-shadow:0 0 0 1px rgba(15,23,42,0.08)}
.orders-detail-tab.has-unread{color:#1d4ed8}
.orders-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:0.55rem;padding:0.12rem 0}
.orders-timeline-step{position:relative;display:grid;justify-items:center;gap:0.18rem;text-align:center;color:#94a3b8;font-size:0.7rem}
.orders-timeline-step::before{content:'';position:absolute;top:0.22rem;left:calc(50% + 0.52rem);width:calc(100% - 1.04rem);height:1px;background:rgba(148,163,184,0.32)}
.orders-timeline-step:last-child::before{display:none}
.orders-timeline-dot{width:0.52rem;height:0.52rem;border-radius:999px;background:#cbd5e1;border:2px solid #fff;box-shadow:0 0 0 1px rgba(148,163,184,0.28)}
.orders-timeline-step.is-complete,.orders-timeline-step.is-active{color:#0f172a}
.orders-timeline-step.is-complete::before{background:#86efac}
.orders-timeline-step.is-complete .orders-timeline-dot{background:#16a34a;box-shadow:0 0 0 1px rgba(34,197,94,0.18)}
.orders-timeline-step.is-active .orders-timeline-dot{background:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,0.12)}
.orders-timeline.is-cancelled .orders-timeline-step.is-cancelled,
.orders-timeline-step.is-cancelled{color:#991b1b}
.orders-timeline-step.is-cancelled .orders-timeline-dot{background:#dc2626;box-shadow:0 0 0 2px rgba(220,38,38,0.12)}
.orders-detail-section{display:grid;gap:0.55rem;padding:0.72rem 0.82rem;border:1px solid rgba(15,23,42,0.08);border-radius:14px;background:#fff}
.orders-detail-section--items{padding:0.55rem 0 0;border:0;border-top:1px solid rgba(15,23,42,0.08);border-radius:0;background:transparent}
.orders-detail-section__head{display:grid;gap:0.2rem}
.orders-detail-section__head h5,.orders-payment-panel__head h5{margin:0;font-size:0.82rem;font-weight:600;color:#0f172a}
.orders-status-history{display:grid;gap:0.6rem}
.orders-status-history__item{display:grid;gap:0.2rem;padding:0.72rem 0.78rem;border:1px solid rgba(15,23,42,0.08);border-radius:12px;background:#f8fafc}
.orders-status-history__item strong{font-size:0.82rem;color:#0f172a}
.orders-status-history__item p{margin:0;font-size:0.75rem;line-height:1.45;color:#64748b}
.orders-timeline-branch{display:flex;justify-content:flex-start}
.orders-items{display:grid;gap:0}
.orders-item-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:0.55rem 0;border-bottom:1px solid rgba(15,23,42,0.08)}
.orders-item-row:first-child{padding-top:0}
.orders-item-row:last-child{padding-bottom:0;border-bottom:0}
.orders-item-row__main,.orders-item-row__price{display:grid;gap:0.14rem}
.orders-item-row__main strong,.orders-item-row__price strong{font-size:0.82rem;color:#0f172a}
.orders-item-row__main span,.orders-item-row__price span{font-size:0.74rem;color:#64748b}
.orders-item-row__price{text-align:right;justify-items:end}
.orders-total-row{display:flex;justify-content:space-between;align-items:center;gap:0.8rem;padding-top:0.55rem;border-top:1px solid rgba(15,23,42,0.08);font-size:0.82rem;color:#334155}
.orders-total-row strong{font-size:0.9rem;color:#0f172a}
.orders-payment-panel{background:#eff6ff;border-color:rgba(96,165,250,0.26)}
.orders-payment-panel--success{background:#f0fdf4;border-color:#86efac}
.orders-payment-panel--pending{background:#f8fafc;border-color:rgba(148,163,184,0.3)}
.orders-payment-panel{gap:0.65rem}
.orders-payment-panel__head{display:flex;align-items:baseline;gap:0.38rem;flex-wrap:wrap}
.orders-payment-panel__head p{margin:0;font-size:0.76rem;line-height:1.4;color:#64748b}
.orders-payment-values{display:grid;gap:0.4rem}
.orders-payment-value{display:flex;align-items:baseline;gap:0.45rem;flex-wrap:wrap}
.orders-payment-value span{font-size:0.68rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#64748b}
.orders-payment-value strong{font-size:0.86rem;color:#0f172a}
.orders-payment-steps{margin:0;padding-left:1.05rem;display:grid;gap:0.28rem;font-size:0.78rem;line-height:1.45;color:#334155}
.orders-payment-note{margin:0;font-size:0.74rem;line-height:1.45;color:#64748b}
.orders-support-link{display:inline-flex;align-items:center;gap:0.35rem;color:#2563eb;text-decoration:none;font-size:0.8rem;font-weight:600;background:transparent;border:0;padding:0;cursor:pointer}
.orders-support-link:hover{text-decoration:underline}
.orders-support-empty{min-height:340px;display:grid;place-content:center;justify-items:center;gap:0.65rem;padding:1.5rem;text-align:center;border:1px dashed rgba(148,163,184,0.4);border-radius:18px;background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%)}
.orders-support-empty h5,.orders-support-pane__head h5{margin:0;font-size:0.96rem;font-weight:600;color:#0f172a}
.orders-support-empty p,.orders-support-pane__head p,.orders-support-follow-up p{margin:0;font-size:0.8rem;line-height:1.55;color:#64748b}
.orders-support-pane{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:420px;border:1px solid rgba(15,23,42,0.08);border-radius:18px;background:#fff;overflow:hidden}
.orders-support-pane--compose{grid-template-rows:auto minmax(0,1fr)}
.orders-support-pane__head{display:grid;gap:0.3rem;padding:1rem 1rem 0.1rem}
.orders-support-thread-pane{min-height:0;overflow:auto;padding:1rem;background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%)}
.orders-support-thread{display:grid;gap:0.65rem;align-content:start}
.orders-support-composer-wrap{padding:0.9rem 1rem 1rem;border-top:1px solid rgba(15,23,42,0.08);background:#fff}
.orders-support-composer{display:grid;gap:0.7rem}
.orders-support-composer--request{min-height:100%;grid-template-rows:auto minmax(0,1fr) auto;padding:0.4rem 1rem 1rem}
.orders-support-composer__reason{display:grid;gap:0.5rem}
.orders-support-composer__reason > label{font-size:0.73rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#64748b}
.orders-support-composer__message{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}
.orders-support-composer__message textarea{min-height:clamp(150px,22vh,220px)}
.orders-support-composer__prompt{display:grid;place-items:center;min-height:0;padding:0.35rem 0 0.1rem}
.orders-support-composer__prompt p{margin:0;font-size:0.8rem;line-height:1.5;color:#64748b;text-align:center}
.orders-support-composer__actions{display:flex;align-items:center;justify-content:space-between;gap:0.75rem}
.orders-support-note{margin:0;font-size:0.72rem;line-height:1.45;color:#94a3b8}
.orders-support-reason-stage{display:grid;gap:0.7rem;padding:0.85rem 0.95rem;border:1px solid rgba(148,163,184,0.22);border-radius:18px;background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%)}
.orders-support-reason-stage__copy{display:grid;gap:0.2rem}
.orders-support-reason-stage__copy strong{font-size:0.88rem;font-weight:600;color:#0f172a}
.orders-support-reason-stage__copy p{margin:0;font-size:0.77rem;line-height:1.5;color:#64748b}
.orders-support-reason-list{display:grid;gap:0.45rem}
.orders-support-reason-option{display:flex;align-items:center;justify-content:flex-start;padding:0.78rem 0.9rem;border-radius:14px;border:1px solid rgba(148,163,184,0.34);background:#fff;color:#334155;font-size:0.8rem;font-weight:500;text-align:left;cursor:pointer;transition:border-color 0.18s ease,background 0.18s ease,box-shadow 0.18s ease}
.orders-support-reason-option:hover{border-color:#93c5fd;background:#f8fbff}
.orders-support-reason-option.is-selected{border-color:#60a5fa;background:#eff6ff;box-shadow:inset 3px 0 0 #2563eb;color:#0f172a}
.orders-support-reason-summary{display:grid;gap:0.4rem;padding:0.8rem 0.9rem;border:1px solid rgba(37,99,235,0.16);border-radius:16px;background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%)}
.orders-support-reason-summary__content{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;flex-wrap:wrap}
.orders-support-reason-summary__eyebrow{font-size:0.68rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#64748b}
.orders-support-reason-summary__chip{display:inline-flex;align-items:center;gap:0.55rem;padding:0;border:0;background:transparent;color:#1d4ed8;cursor:pointer;font-size:0.78rem;font-weight:600}
.orders-support-reason-summary__chip:hover .orders-support-reason-summary__change{text-decoration:underline}
.orders-support-reason-summary__change{color:#2563eb}
.orders-support-reason-pill{display:inline-flex;align-items:center;justify-content:center;padding:0.16rem 0.55rem;border-radius:999px;background:#fff7ed;border:1px solid #fdba74;color:#c2410c;font-size:0.68rem;font-weight:700;line-height:1.2}
.orders-support-follow-up{display:grid;gap:0.55rem;padding:1rem;border-top:1px solid rgba(15,23,42,0.08);background:#fff}
.orders-support-thread .chat-item{max-width:76%}
.orders-support-thread .chat-bubble{display:grid;gap:0.45rem;white-space:normal}
.orders-support-thread .chat-bubble p{margin:0;white-space:pre-wrap}
.checkout-feedback--prices-changed{border-color:#fdba74;background:linear-gradient(180deg,#fff7ed 0%,#ffffff 100%)}
.checkout-feedback--prices-changed h3{color:#9a3412}
.checkout-feedback--inventory-changed{border-color:#93c5fd;background:linear-gradient(180deg,#eff6ff 0%,#ffffff 100%)}
.checkout-feedback--inventory-changed h3{color:#1d4ed8}
.checkout-feedback__list{display:grid;gap:0.45rem;margin:0;padding-left:1rem}
.checkout-feedback__list li{font-size:0.78rem;color:#7c2d12}
.cart-item--changed{border-color:rgba(245,158,11,0.42);background:linear-gradient(180deg,#fffaf0 0%,#ffffff 100%)}
.cart-item-price-change{display:inline-flex;align-items:center;gap:0.35rem;padding:0.16rem 0.46rem;border-radius:999px;background:#fff7ed;border:1px solid #fdba74;color:#b45309;font-size:0.7rem;font-weight:700;line-height:1.2}
.cart-item-stock{display:inline-flex;align-items:center;gap:0.35rem;padding:0.16rem 0.46rem;border-radius:999px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;font-size:0.7rem;font-weight:700;line-height:1.2}
/* ==========================================================================
   Messages — scoped .msgx-* design system
   Two-pane dashboard messaging: sidebar + thread, conversation list,
   message bubbles, composer, empty/picker states. Palette tuned for the
   account shell (#eef2f6 body, #fff surfaces, brand blue #2b5fe0).
   ========================================================================== */
#account-panel-messages{--msgx-surface:#fff;--msgx-ink:#0f172a;--msgx-ink-mid:#475569;--msgx-ink-soft:#94a3b8;--msgx-border:rgba(15,23,42,0.08);--msgx-border-soft:rgba(15,23,42,0.06);--msgx-hover:#f5f7fa;--msgx-active:#edf2ff;--msgx-rail:#2b5fe0;--msgx-brand:#2b5fe0;--msgx-brand-deep:#1742ba;--msgx-brand-soft:#e8efff;--msgx-online:#10b981;--msgx-away:#f59e0b;--msgx-offline:#cbd5e1;--msgx-unread:#2b5fe0}
.msgx{display:grid;grid-template-columns:340px minmax(0,1fr);gap:1rem;height:clamp(580px,calc(100dvh - (var(--site-nav-height) + var(--global-role-notice-height)) - 10rem),820px);min-height:580px}
.msgx-sidebar,.msgx-thread{display:flex;flex-direction:column;min-height:0;background:var(--msgx-surface);border:1px solid var(--msgx-border);border-radius:14px;box-shadow:0 1px 2px rgba(15,23,42,0.03);overflow:hidden}
/* Sidebar */
.msgx-sidebar__head{display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem;padding:1rem 1rem 0.85rem;border-bottom:1px solid var(--msgx-border-soft)}
.msgx-sidebar__titleblock{display:grid;gap:0.2rem;min-width:0}
.msgx-sidebar__title{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-0.01em;color:var(--msgx-ink)}
.msgx-sidebar__count{margin:0;font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--msgx-ink-soft);font-weight:600}
.msgx-icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--msgx-border);background:#fff;color:var(--msgx-ink-mid);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.16s,border-color 0.16s,color 0.16s,transform 0.16s}
.msgx-icon-btn:hover{background:var(--msgx-brand-soft);border-color:var(--msgx-brand);color:var(--msgx-brand);transform:translateY(-1px)}
.msgx-icon-btn:focus-visible{outline:2px solid rgba(43,95,224,0.4);outline-offset:2px}
.msgx-icon-btn svg{width:16px;height:16px}
.msgx-sidebar__search{position:relative;padding:0.75rem 1rem 0.4rem}
.msgx-sidebar__search-icon{position:absolute;left:1.6rem;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--msgx-ink-soft);pointer-events:none}
.msgx-sidebar__search-input{width:100%;min-height:38px;padding:0.5rem 0.75rem 0.5rem 2rem;border-radius:8px;border:1px solid var(--msgx-border);background:#f8fafc;font:inherit;font-size:0.84rem;color:var(--msgx-ink);transition:border-color 0.16s,box-shadow 0.16s}
.msgx-sidebar__search-input:focus{outline:none;border-color:var(--msgx-brand);background:#fff;box-shadow:0 0 0 3px rgba(43,95,224,0.14)}
.msgx-tabs{display:flex;gap:0.4rem;padding:0 1rem 0.75rem;border-bottom:1px solid var(--msgx-border-soft)}
.msgx-tab{flex:1 1 0;min-height:32px;padding:0.35rem 0.7rem;border:1px solid transparent;border-radius:8px;background:transparent;font:inherit;font-size:0.8rem;font-weight:500;color:var(--msgx-ink-mid);cursor:pointer;transition:background 0.16s,color 0.16s,border-color 0.16s}
.msgx-tab:hover{background:var(--msgx-hover);color:var(--msgx-ink)}
.msgx-tab.is-active{background:var(--msgx-brand-soft);color:var(--msgx-brand);font-weight:600}
.msgx-tab:focus-visible{outline:2px solid rgba(43,95,224,0.4);outline-offset:2px}
.msgx-sidebar__status{padding:0.5rem 1rem;font-size:0.76rem;color:var(--msgx-ink-soft)}
.msgx-sidebar__status[hidden]{display:none}
.msgx-list-scroll{flex:1;min-height:0;overflow:auto;padding:0.6rem 0.5rem 0.75rem;display:flex;flex-direction:column;gap:1rem;overscroll-behavior:contain}
.msgx-list-group[hidden]{display:none}
.msgx-list-group__label{margin:0 0 0.3rem 0.5rem;font-size:0.66rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--msgx-ink-soft);font-weight:700}
.msgx-list{display:flex;flex-direction:column;gap:0.1rem}
.msgx-list__empty{margin:0.3rem 0.5rem;font-size:0.78rem;color:var(--msgx-ink-soft)}
/* Conversation row (emitted by buildChatConversationRowMarkup) */
.msgx-row{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:0.7rem;align-items:center;width:100%;min-height:56px;padding:0.55rem 0.65rem;border-radius:10px;border:0;background:transparent;color:var(--msgx-ink);text-align:left;cursor:pointer;transition:background 0.14s}
.msgx-row:hover{background:var(--msgx-hover)}
.msgx-row.is-selected{background:var(--msgx-active)}
.msgx-row.is-selected::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--msgx-rail)}
.msgx-row:focus-visible{outline:2px solid rgba(43,95,224,0.4);outline-offset:-2px}
.msgx-row__main{display:grid;gap:0.12rem;min-width:0}
.msgx-row__line{display:flex;align-items:baseline;gap:0.45rem;min-width:0}
.msgx-row__name{flex:1;min-width:0;font-size:0.88rem;font-weight:500;color:var(--msgx-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msgx-row.has-unread .msgx-row__name{font-weight:700}
.msgx-row__time{font-size:0.7rem;color:var(--msgx-ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}
.msgx-row__preview{font-size:0.78rem;line-height:1.4;color:var(--msgx-ink-mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msgx-row.has-unread .msgx-row__preview{color:var(--msgx-ink)}
.msgx-row__badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 0.4rem;border-radius:999px;background:var(--msgx-unread);color:#fff;font-size:0.68rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.msgx-row__aside{display:flex;align-items:center;justify-content:flex-end}
/* Thread pane */
.msgx-thread__head{display:flex;align-items:center;justify-content:space-between;gap:0.85rem;padding:0.85rem 1.1rem;border-bottom:1px solid var(--msgx-border-soft);min-height:60px}
.msgx-thread__title{display:grid;gap:0.12rem;min-width:0}
.msgx-thread__title h4{margin:0;font-size:1rem;font-weight:600;color:var(--msgx-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msgx-thread__meta{margin:0;font-size:0.76rem;line-height:1.3;color:var(--msgx-ink-mid);display:flex;align-items:center;gap:0.4rem 0.55rem;flex-wrap:wrap}
.msgx-thread__meta:empty{display:none}
.msgx-ghost-btn{min-height:32px;padding:0.35rem 0.8rem;border:1px solid var(--msgx-border);border-radius:8px;background:#fff;color:var(--msgx-ink-mid);font:inherit;font-size:0.8rem;font-weight:500;cursor:pointer;transition:background 0.16s,color 0.16s,border-color 0.16s}
.msgx-ghost-btn:hover{background:var(--msgx-hover);color:var(--msgx-ink);border-color:var(--msgx-brand)}
.msgx-ghost-btn[hidden]{display:none}
/* Banner */
.msgx-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:0.85rem;padding:0.7rem 1.1rem;border-bottom:1px solid var(--msgx-border-soft);background:#fffbeb}
.msgx-banner[hidden]{display:none}
.msgx-banner[data-chat-thread-state="reconnecting"]{background:var(--msgx-brand-soft)}
.msgx-banner[data-chat-thread-state="degraded"]{background:#fff7ed}
.msgx-banner[data-chat-thread-state="unavailable-access-lost"]{background:#fef2f2}
.msgx-banner__copy{display:grid;gap:0.15rem}
.msgx-banner__copy strong{font-size:0.82rem;color:var(--msgx-ink)}
.msgx-banner__copy p{margin:0;font-size:0.76rem;color:var(--msgx-ink-mid);line-height:1.4}
/* Empty state */
.msgx-empty{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.85rem;padding:2rem;text-align:center}
.msgx-empty[hidden]{display:none}
.msgx-empty__glyph{width:120px;height:120px}
.msgx-empty__glyph svg{width:100%;height:100%}
.msgx-empty__title{margin:0;font-size:1.05rem;font-weight:600;color:var(--msgx-ink)}
.msgx-empty__body{margin:0;font-size:0.88rem;line-height:1.55;color:var(--msgx-ink-mid);max-width:28rem}
.msgx-empty__cta{display:inline-flex;align-items:center;gap:0.45rem;min-height:40px;padding:0.55rem 1.05rem;border:1px solid var(--msgx-brand);border-radius:999px;background:var(--msgx-brand);color:#fff;font:inherit;font-size:0.85rem;font-weight:600;cursor:pointer;transition:background 0.16s,box-shadow 0.16s,transform 0.16s;text-decoration:none}
.msgx-empty__cta:hover{background:var(--msgx-brand-deep);box-shadow:0 8px 18px rgba(43,95,224,0.22);transform:translateY(-1px)}
.msgx-empty__cta svg{width:14px;height:14px}
/* People picker */
.msgx-picker{flex:1;min-height:0;display:flex;flex-direction:column;gap:0.85rem;padding:1rem}
.msgx-picker[hidden]{display:none}
.msgx-picker__head{position:relative}
.msgx-picker__search-icon{position:absolute;left:0.75rem;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--msgx-ink-soft);pointer-events:none}
.msgx-picker__search-input{width:100%;min-height:40px;padding:0.55rem 0.85rem 0.55rem 2rem;border-radius:10px;border:1px solid var(--msgx-border);background:#f8fafc;font:inherit;font-size:0.86rem;color:var(--msgx-ink)}
.msgx-picker__search-input:focus{outline:none;border-color:var(--msgx-brand);background:#fff;box-shadow:0 0 0 3px rgba(43,95,224,0.14)}
.msgx-picker__status{margin:0;font-size:0.78rem;color:var(--msgx-ink-soft);min-height:1.1rem}
.msgx-picker__list{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:0.35rem;padding-right:0.25rem}
.msgx-picker-row{display:flex;align-items:center;justify-content:space-between;gap:0.8rem;width:100%;padding:0.7rem 0.85rem;border:1px solid var(--msgx-border-soft);border-radius:10px;background:#fff;color:var(--msgx-ink);text-align:left;cursor:pointer;transition:border-color 0.16s,background 0.16s,box-shadow 0.16s}
.msgx-picker-row:hover{border-color:var(--msgx-brand);background:var(--msgx-brand-soft);box-shadow:0 4px 12px rgba(43,95,224,0.08)}
.msgx-picker-row__body{display:flex;align-items:center;gap:0.75rem;min-width:0;flex:1}
.msgx-picker-row__text{display:grid;gap:0.1rem;min-width:0}
.msgx-picker-row__name{font-size:0.86rem;font-weight:600;color:var(--msgx-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msgx-picker-row__email{font-size:0.76rem;color:var(--msgx-ink-mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Thread scroll + shell */
.msgx-thread__shell{flex:1;min-height:0;display:flex;flex-direction:column}
.msgx-thread__shell[hidden]{display:none}
.msgx-thread__scroll{flex:1;min-height:0;overflow:auto;padding:1.1rem 1.25rem 0.5rem;background:#fff;overflow-anchor:none}
.msgx-thread__scroll[hidden]{display:none}
.msgx-thread__messages{display:flex;flex-direction:column;gap:0.85rem;align-items:stretch}
.msgx-thread__placeholder{display:grid;place-items:center;gap:0.6rem;min-height:200px;padding:1rem;text-align:center;color:var(--msgx-ink-soft);font-size:0.84rem}
/* Loading + meta-pill: scoped mappings for legacy class names still emitted by js/account.js
   (renderChatThreadLoadingState, buildChatThreadHeaderMeta) so the spinner and channel pill render. */
#account-panel-messages .chat-thread-loading{display:flex;flex:1;min-height:180px;align-items:center;justify-content:center;gap:0.6rem;padding:1.25rem;color:var(--msgx-ink-mid);font-size:0.84rem}
#account-panel-messages .chat-thread-loading__spinner{width:16px;height:16px;border-radius:999px;border:2px solid var(--msgx-brand-soft);border-top-color:var(--msgx-brand);animation:msgx-spin 0.8s linear infinite;flex:0 0 auto}
#account-panel-messages .chat-thread-kind{display:inline-flex;align-items:center;gap:0.3rem;padding:0.18rem 0.5rem;border-radius:999px;border:1px solid var(--msgx-border);background:var(--msgx-brand-soft);color:var(--msgx-brand-deep);font-size:0.66rem;line-height:1.2;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;white-space:nowrap}
@keyframes msgx-spin{to{transform:rotate(360deg)}}
/* Sidebar-wide no-results banner (toggled by applyMsgxSidebarFilters). */
.msgx-sidebar__no-results{margin:0.4rem 1rem 0.75rem;padding:0.5rem 0.75rem;font-size:0.78rem;color:var(--msgx-ink-mid);background:var(--msgx-hover);border:1px solid var(--msgx-border-soft);border-radius:8px}
.msgx-sidebar__no-results[hidden]{display:none}
/* Day divider (emitted by buildChatTimelineMarkup) */
.msgx-day{display:flex;align-items:center;gap:0.75rem;margin:0.4rem 0}
.msgx-day::before,.msgx-day::after{content:"";flex:1;height:1px;background:var(--msgx-border-soft)}
.msgx-day__label{padding:0.18rem 0.65rem;border-radius:999px;background:#fff;border:1px solid var(--msgx-border-soft);font-size:0.7rem;letter-spacing:0.05em;text-transform:uppercase;color:var(--msgx-ink-soft);font-weight:600}
/* Message group */
.msgx-msg{display:flex;flex-direction:column;gap:0.3rem;max-width:min(68%,34rem)}
.msgx-msg--self{align-self:flex-end;align-items:flex-end}
.msgx-msg__head{display:flex;align-items:baseline;gap:0.5rem;padding:0 0.2rem}
.msgx-msg--self .msgx-msg__head{flex-direction:row-reverse}
.msgx-msg__author{font-size:0.82rem;font-weight:600;color:var(--msgx-ink)}
.msgx-msg__time{font-size:0.7rem;color:var(--msgx-ink-soft);font-variant-numeric:tabular-nums}
.msgx-msg__bubbles{display:flex;flex-direction:column;gap:0.2rem;align-items:flex-start}
.msgx-msg--self .msgx-msg__bubbles{align-items:flex-end}
.msgx-msg__bubble{display:inline-block;width:auto;max-width:100%;padding:0.55rem 0.85rem;border-radius:14px;background:#f1f5f9;color:var(--msgx-ink);font-size:0.88rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.msgx-msg--self .msgx-msg__bubble{background:var(--msgx-brand);color:#fff}
.msgx-msg__bubble+.msgx-msg__bubble{border-top-left-radius:6px}
.msgx-msg--self .msgx-msg__bubble+.msgx-msg__bubble{border-top-left-radius:14px;border-top-right-radius:6px}
/* New messages pill */
.msgx-new-pill{align-self:center;margin:-0.4rem 0 0.4rem;display:inline-flex;align-items:center;gap:0.4rem;padding:0.4rem 0.9rem;border:0;border-radius:999px;background:var(--msgx-brand);color:#fff;font:inherit;font-size:0.78rem;font-weight:600;cursor:pointer;box-shadow:0 8px 18px rgba(43,95,224,0.25);transition:background 0.16s,transform 0.16s}
.msgx-new-pill:hover{background:var(--msgx-brand-deep);transform:translateY(-1px)}
.msgx-new-pill[hidden]{display:none}
.msgx-new-pill svg{width:12px;height:12px}
/* Composer */
.msgx-composer{display:flex;flex-direction:column;gap:0.5rem;padding:0.75rem 1.1rem 0.95rem;border-top:1px solid var(--msgx-border-soft);background:#fff}
.msgx-composer[hidden]{display:none}
.msgx-composer__field{display:flex}
.msgx-composer__field textarea{width:100%;min-height:44px;max-height:160px;resize:none;padding:0.65rem 0.85rem;border:1px solid var(--msgx-border);border-radius:10px;background:#f8fafc;font:inherit;font-size:0.9rem;line-height:1.5;color:var(--msgx-ink);transition:border-color 0.16s,box-shadow 0.16s,background 0.16s;overflow-y:hidden}
.msgx-composer__field textarea:focus{outline:none;border-color:var(--msgx-brand);background:#fff;box-shadow:0 0 0 3px rgba(43,95,224,0.14)}
.msgx-composer__field textarea:disabled{opacity:0.55;cursor:not-allowed}
.msgx-composer__bar{display:flex;align-items:center;justify-content:space-between;gap:0.75rem}
.msgx-composer__hint{margin:0;font-size:0.72rem;color:var(--msgx-ink-soft);line-height:1.4}
.msgx-composer__send{display:inline-flex;align-items:center;gap:0.4rem;min-height:36px;padding:0.45rem 1rem;border:0;border-radius:999px;background:var(--msgx-brand);color:#fff;font:inherit;font-size:0.84rem;font-weight:600;cursor:pointer;transition:background 0.16s,box-shadow 0.16s,transform 0.16s,opacity 0.16s}
.msgx-composer__send:hover:not(:disabled){background:var(--msgx-brand-deep);box-shadow:0 8px 18px rgba(43,95,224,0.22);transform:translateY(-1px)}
.msgx-composer__send:disabled{opacity:0.4;cursor:not-allowed;background:#94a3b8}
.msgx-composer__send svg{width:14px;height:14px}
/* Avatar (emitted by renderChatAvatar) */
.chat-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;background:#dbeafe;color:#1e3a8a;flex-shrink:0;font-size:0.8rem;font-weight:600;letter-spacing:0.02em}
.chat-avatar--compact{width:28px;height:28px;font-size:0.72rem}
.chat-avatar--channel{background:var(--msgx-brand-soft);color:var(--msgx-brand);border:1px solid rgba(43,95,224,0.2)}
.chat-avatar--palette-0{background:#fde5d1;color:#7c3f12}
.chat-avatar--palette-1{background:#d9e4fb;color:#1e3a8a}
.chat-avatar--palette-2{background:#d9ebd6;color:#1f4925}
.chat-avatar--palette-3{background:#e8d9f1;color:#4c1d72}
.chat-avatar--palette-4{background:#cce8e3;color:#115e4f}
.chat-avatar--palette-5{background:#f4d9b8;color:#7c3d06}
.chat-avatar--palette-6{background:#d9dbf1;color:#2f2e7a}
.chat-avatar--palette-7{background:#f1d4d9;color:#831a2e}
.chat-avatar__initials,.chat-avatar__glyph{font-size:inherit;font-weight:inherit}
.chat-avatar__presence{position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;border-radius:999px;border:2px solid #fff;background:var(--msgx-offline)}
.chat-avatar__presence[data-presence-status="online"]{background:var(--msgx-online)}
.chat-avatar__presence[data-presence-status="inactive"]{background:var(--msgx-away)}
.chat-avatar--compact .chat-avatar__presence{width:9px;height:9px;right:-1px;bottom:-1px;border-width:1.5px}
/* Responsive stacking */
@media (max-width:900px){
  .msgx{grid-template-columns:1fr;height:auto;min-height:0}
  .msgx-sidebar{max-height:52vh}
  .msgx-thread{min-height:60vh}
}
@media (prefers-reduced-motion:reduce){
  .msgx-row,.msgx-tab,.msgx-icon-btn,.msgx-ghost-btn,.msgx-empty__cta,.msgx-new-pill,.msgx-composer__send,.msgx-picker-row{transition:none !important}
}

@keyframes spin{to{transform:rotate(360deg)}}
.support-layout{display:grid;grid-template-columns:minmax(300px,0.76fr) minmax(0,1.24fr);gap:1rem;height:clamp(540px,calc(100dvh - (var(--site-nav-height) + var(--global-role-notice-height)) - 12rem),760px);min-height:540px}
.support-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;padding:0;overflow:hidden}
.support-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:0.85rem;padding:0.95rem 1.05rem;border-bottom:1px solid rgba(15,23,42,0.08)}
.support-panel-head h4{font-size:0.95rem;font-weight:500}
.support-panel-head--detail{align-items:center}
.support-thread-heading{display:grid;gap:0.32rem;min-width:0}
.support-thread-heading h4{margin:0}
.support-thread-meta{display:flex;align-items:center;gap:0.4rem 0.7rem;flex-wrap:wrap;font-size:0.75rem;color:#64748b}
.support-thread-meta span[data-support-ref="true"]{color:#94a3b8}
.support-inquiry-list{min-height:0;overflow:auto;padding:0.9rem 1rem 1rem;align-content:start}
.support-new-request{gap:0.35rem;min-height:38px;padding:0.48rem 0.9rem}
.support-new-request svg{width:14px;height:14px}
.support-list-row{width:100%;justify-content:space-between;align-items:flex-start;text-align:left;cursor:pointer;flex-wrap:nowrap;border-radius:14px;padding:0.8rem 0.95rem;transition:border-color 0.2s ease,background 0.2s ease,box-shadow 0.2s ease}
.support-list-row:hover{background:#f8fbff;border-color:rgba(96,165,250,0.35)}
.support-list-row.is-selected{border-color:#93c5fd;background:#eff6ff;box-shadow:inset 3px 0 0 #2563eb}
.support-list-row__main{display:grid;gap:0.28rem;min-width:0;flex:1 1 auto}
.support-list-row__title{font-size:0.84rem;font-weight:600;color:#0f172a}
.support-list-row__preview{font-size:0.76rem;color:#64748b;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.support-list-row__meta{font-size:0.72rem;color:#64748b;line-height:1.4;word-break:break-word}
.support-list-row__meta-dot{padding:0 0.32rem;color:#cbd5e1}
.support-list-row__ref{color:#94a3b8}
.support-list-row__aside{display:flex;justify-content:flex-end;flex-shrink:0;padding-left:0.75rem}
.support-pagination{display:flex;align-items:center;justify-content:center;gap:0.6rem;margin-top:0.6rem;text-align:center}
.support-pagination__info{margin:0 0.6rem;font-size:0.85rem}
.support-thread{min-height:0;overflow:auto;padding:1rem;display:grid;gap:0.75rem;align-content:start;background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%)}
.support-thread-empty{height:100%;display:grid;place-content:center;justify-items:center;gap:0.7rem;padding:1.5rem;text-align:center}
.support-thread-empty__icon{width:3rem;height:3rem;border-radius:1rem;border:1px solid rgba(148,163,184,0.28);background:linear-gradient(180deg,#f8fafc 0%,#eef2ff 100%);position:relative}
.support-thread-empty__icon::before,.support-thread-empty__icon::after{content:'';position:absolute;background:#94a3b8;border-radius:999px}
.support-thread-empty__icon::before{width:1.2rem;height:0.22rem;left:0.9rem;top:0.95rem}
.support-thread-empty__icon::after{width:1.45rem;height:0.22rem;left:0.75rem;top:1.45rem}
.support-thread-empty h5{margin:0;font-size:0.94rem;font-weight:600;color:#0f172a}
.support-thread-empty p{margin:0;font-size:0.81rem;line-height:1.55;color:#64748b;max-width:26rem}
.support-form{display:grid;gap:0.7rem}
.support-composer{padding:0.85rem 1rem 1rem;border-top:1px solid rgba(15,23,42,0.08);background:#fff}
.support-composer-shell{display:grid;gap:0.6rem;padding:0.72rem 0.78rem;border:1px solid rgba(15,23,42,0.12);border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,0.03)}
.support-form textarea{min-height:56px;max-height:120px;resize:vertical;border:0;padding:0;background:transparent}
.support-form textarea:focus{box-shadow:none}
.support-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:0.75rem}
.support-attach{position:relative;display:inline-flex;align-items:center}
.support-attach-trigger{width:36px;height:36px;border-radius:999px;border:1px solid rgba(15,23,42,0.1);background:#f8fafc;color:#475569;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.support-attach:hover .support-upload-note,.support-attach:focus-within .support-upload-note{opacity:1;transform:translateY(0);pointer-events:auto}
.support-upload-note{position:absolute;left:0;bottom:calc(100% + 0.45rem);width:min(18rem,70vw);margin:0;padding:0.55rem 0.65rem;border:1px solid rgba(15,23,42,0.12);border-radius:10px;background:#fff;font-size:0.72rem;line-height:1.45;color:#64748b;box-shadow:0 10px 28px rgba(15,23,42,0.12);opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity 0.18s ease,transform 0.18s ease}
.support-send-btn{margin-top:0;min-height:40px;padding:0.55rem 0.95rem}
.support-preview{display:grid;gap:0.45rem}
.support-preview-item{display:flex;align-items:center;gap:0.55rem;padding:0.45rem 0.55rem;border:1px solid rgba(15,23,42,0.12);border-radius:10px;background:#fff;flex-wrap:wrap}
.support-preview-media{width:56px;height:44px;border-radius:8px;overflow:hidden;background:#e2e8f0;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.support-preview-media img,.support-preview-media video{width:100%;height:100%;object-fit:cover}
.support-preview-label{font-size:0.74rem;color:#334155;line-height:1.4;min-width:0;word-break:break-word}
.support-preview-remove{margin-left:auto;padding:0.2rem 0.5rem;font-size:0.7rem}
.chat-item{max-width:74%}
.chat-item.admin{justify-self:start}
.chat-item.user{justify-self:end}
.chat-bubble{padding:0.62rem 0.72rem;border-radius:16px;font-size:0.8rem;line-height:1.48;white-space:pre-wrap;word-break:break-word}
.chat-item.admin .chat-bubble{background:#f8fafc;border:1px solid rgba(15,23,42,0.12);color:#0f172a}
.chat-item.user .chat-bubble{background:#2563eb;border:1px solid #1d4ed8;color:#fff}
.chat-meta{font-size:0.68rem;color:#64748b;margin-top:0.28rem}
.chat-item.user .chat-meta{text-align:right}
.chat-files{display:grid;gap:0.35rem;margin-top:0.35rem}
.chat-file{display:inline-flex;align-items:center;gap:0.35rem;padding:0.25rem 0.45rem;border-radius:8px;background:rgba(255,255,255,0.2);font-size:0.7rem}
.chat-item.admin .chat-file{background:#e2e8f0}
.toast{position:fixed;top:1.2rem;left:50%;transform:translateX(-50%) translateY(-10px);z-index:300;max-width:min(92vw,420px);padding:0.85rem 1.2rem;border-radius:12px;background:rgba(15,23,42,0.94);color:#fff;font-size:0.88rem;line-height:1.45;box-shadow:0 10px 28px rgba(15,23,42,0.28);opacity:0;pointer-events:none;transition:opacity 0.25s ease,transform 0.25s ease}
.toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}
.toast[hidden]{display:none}
footer{padding:3.5rem 3rem 2rem;max-width:1200px;margin:0 auto;border-top:1px solid var(--border)}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2.5rem;flex-wrap:wrap;gap:3rem}
.footer-brand{max-width:260px}
.footer-brand .nav-logo{display:inline-flex;margin-bottom:0.7rem}
.footer-brand p{font-size:0.83rem;color:var(--text-mid);line-height:1.6;font-weight:300}
.footer-cols{display:flex;gap:3.5rem}
.footer-col h4{font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-light);font-weight:500;margin-bottom:0.9rem}
.footer-col h4 a{color:inherit;text-decoration:none}
.footer-col h4 a:hover{color:var(--accent)}
.footer-col a{display:block;font-size:0.85rem;color:var(--text-mid);text-decoration:none;margin-bottom:0.5rem;transition:color 0.2s}
.footer-col a:hover{color:var(--accent)}
.footer-products-all{display:inline-flex !important;align-items:center;gap:0.35rem;font-weight:600}
.footer-item{display:block;font-size:0.85rem;color:var(--text-mid);margin-bottom:0.5rem}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:0.76rem;color:var(--text-light);font-weight:300;padding-top:1.8rem;border-top:1px solid var(--border)}
.catalog-browse-head{display:grid;gap:1.2rem}
.catalog-browse-toolbar,.reviews-toolbar{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-end;flex-wrap:wrap;margin-top:2rem}
.catalog-browse-filter,.reviews-filter-shell{display:grid;gap:0.45rem;min-width:min(280px,100%)}
.catalog-browse-label{font-size:0.82rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-light)}
.catalog-browse-filter select,.reviews-filter-shell select{width:100%;min-width:0;max-width:100%;box-sizing:border-box;min-height:48px;padding:0.85rem 1rem;border-radius:14px;border:1px solid var(--glass-border);background:rgba(255,255,255,0.9);font:inherit;color:var(--ink)}
.catalog-download-shell{display:grid;gap:0.5rem;justify-items:end}
.catalog-download-actions{display:flex;gap:0.75rem;flex-wrap:wrap}
.catalog-download-hint{margin:0;max-width:26rem;color:var(--text-mid);font-size:0.78rem;line-height:1.45;text-align:right}
.catalog-surface-status{margin:0;color:var(--text-mid);font-size:0.95rem;line-height:1.6}
.reviews-submit-panel{margin-top:2rem}
.catalog-browse-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:1.6rem}
.catalog-browse-card{display:grid;gap:1rem;padding:1.1rem;border:1px solid var(--glass-border);border-radius:24px;background:rgba(255,255,255,0.86);box-shadow:0 22px 50px rgba(15,23,42,0.08)}
.catalog-browse-card__media{text-decoration:none}
.catalog-browse-card__body{display:grid;gap:0.65rem}
.catalog-browse-card__body h3,.review-card__head h3{margin:0;font-size:1.05rem}
.catalog-browse-card__body h3 a,.review-card__product a{color:inherit;text-decoration:none}
.review-card__product span{display:inline-block}
.catalog-browse-card__copy,.review-card__body{margin:0;color:var(--text-mid);line-height:1.7}
.catalog-browse-card__price,.catalog-browse-card__packs,.review-card__product{margin:0}
.catalog-browse-card__packs{color:var(--ink-soft);font-size:0.94rem;line-height:1.6}
.catalog-browse-card__link{display:inline-flex;align-items:center;gap:0.35rem;width:max-content;color:var(--accent-deep);font-size:0.86rem;font-weight:600;text-decoration:none}
.reviews-summary{display:flex;gap:0.9rem;flex-wrap:wrap}
.reviews-summary-card{display:grid;gap:0.2rem;padding:0.95rem 1.1rem;border:1px solid var(--glass-border);border-radius:18px;background:rgba(255,255,255,0.9);min-width:150px}
.reviews-summary-card strong{font-size:1.35rem}
.reviews-summary-card span{color:var(--text-mid);font-size:0.88rem}
.reviews-list{display:grid;gap:1rem;margin-top:1.6rem}
.review-card{display:grid;gap:0.9rem;padding:1.25rem 1.35rem;border:1px solid var(--glass-border);border-radius:22px;background:rgba(255,255,255,0.9)}
.review-card__head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}
.review-card__meta{display:grid;justify-items:end;gap:0.35rem;color:var(--text-mid);font-size:0.9rem}
.review-stars{display:inline-flex;gap:0.12rem;font-size:1rem;color:#cbd5e1}
.review-star.is-filled{color:#f59e0b}
.review-card__product{color:var(--accent-blue);font-size:0.92rem}
.reviews-load-more-shell{display:flex;justify-content:center;margin-top:1.25rem}
.detail-panel-review{grid-column:1 / -1}
.detail-panel-review__head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:1rem}
.detail-panel-review__head h3,.detail-panel-review--success h3{margin-bottom:0.35rem}
.detail-panel-review__head p,.review-confirmation-copy{margin:0;color:var(--text-mid);line-height:1.7}
.review-form{display:grid;gap:1rem}
.review-rating-picker{display:flex;gap:0.45rem;flex-wrap:wrap}
.review-rating-star{width:44px;height:44px;border-radius:999px;border:1px solid rgba(245,158,11,0.3);background:rgba(255,255,255,0.9);color:#cbd5e1;font-size:1.4rem;line-height:1;cursor:pointer;transition:transform 0.16s ease,box-shadow 0.16s ease,color 0.16s ease,border-color 0.16s ease}
.review-rating-star.is-selected,.review-rating-star:hover{color:#f59e0b;border-color:rgba(245,158,11,0.65);box-shadow:0 12px 26px rgba(245,158,11,0.16);transform:translateY(-1px)}
.review-form-meta{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}
.review-form-actions{display:grid;gap:0.65rem}
.review-optional-label{font-weight:400;color:var(--text-mid)}
.review-confirmation-link{width:max-content}
.worker-inspector-order-list--review .worker-inspector-order-item--stacked{grid-template-columns:1fr}
.worker-inspector-order-item--stacked p{margin:0;color:var(--ink-soft);line-height:1.7}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.8s cubic-bezier(0.23,1,0.32,1),transform 0.8s cubic-bezier(0.23,1,0.32,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(59,130,246,0.15);border-radius:10px}
::-webkit-scrollbar-thumb:hover{background:rgba(59,130,246,0.3)}
*{scrollbar-color:rgba(59,130,246,0.26) transparent;scrollbar-width:thin}
@media(max-width:1200px){
  .hero,section,.process-section,.testimonials,.contact-section,.product-detail-page,.cart-page,.auth-page,footer{padding-left:2rem;padding-right:2rem}
  nav{width:100%}
  .hero{padding-top:9.6rem}
  .products-grid,.company-grid,.home-featured-grid{gap:1.4rem}
}
@media(max-width:1024px){
  nav{padding:0.95rem 1.35rem}
  .hero{padding:8.85rem 2rem 2.6rem;min-height:auto}
  section,.process-section,.testimonials,.contact-section,.product-detail-page,.cart-page,.auth-page,footer{padding-left:2rem;padding-right:2rem}
  .products-grid{grid-template-columns:repeat(2,1fr)}
  .catalog-browse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-featured-grid{grid-template-columns:repeat(2,1fr)}
  .company-grid{grid-template-columns:1fr 1fr}
  .contact-layout{grid-template-columns:1fr;gap:1.6rem}
  .contact-card-form{min-height:auto}
  .contact-card-info{position:static}
  .home-categories-grid{grid-template-columns:1fr 1fr}
  .product-hero{grid-template-columns:1fr}
  .detail-layout{grid-template-columns:1fr}
  body.route-account-shell #global-role-notice.global-role-notice{padding:0 1.25rem}
  .account-shell{grid-template-columns:1fr}
  .account-sidebar{border-right:0;border-bottom:1px solid rgba(15,23,42,0.1);gap:1.2rem;justify-content:flex-start}
  .account-shell{min-height:auto}
  .account-main{grid-template-rows:auto auto}
  .account-form{grid-template-columns:1fr}
  .account-grid,.support-layout,.orders-layout,.chat-layout{grid-template-columns:1fr}
  .account-grid{grid-template-areas:"snapshot" "actions" "categories" "products" "recent"}
  .worker-case-layout,.worker-current-columns{grid-template-columns:1fr}
  .admin-worker-row,.admin-case-row{grid-template-columns:1fr}
  .footer-top{flex-direction:column;gap:2rem}
  .footer-cols{width:100%;justify-content:space-between;gap:1.5rem}
  .nav-toggle{display:flex;flex-direction:column}
  .nav-links{position:fixed;top:72px;left:1rem;right:1rem;display:flex;flex-direction:column;align-items:stretch;gap:0.4rem;padding:1rem;background:rgba(243,239,231,0.98);backdrop-filter:blur(18px);border:1px solid var(--warm-border);border-radius:16px;box-shadow:0 20px 45px rgba(11,21,51,0.12);opacity:0;pointer-events:none;transform:translateY(-8px) scale(0.98);transform-origin:top right;transition:opacity 0.22s ease,transform 0.22s ease}
  .nav-links{visibility:hidden;max-height:calc(100vh - 90px);overflow-y:auto}
  .nav-links li{width:100%}
  .nav-links a{display:block;font-size:0.95rem;padding:0.65rem 0.8rem;border-radius:10px}
  .nav-links a:hover{background:rgba(59,130,246,0.08)}
  .nav-links .nav-cart-link,.nav-links .nav-dashboard{text-align:center;justify-content:center}
  .nav-links .nav-signin{text-align:center}
  .nav-links .nav-cta{display:block;text-align:center;margin-top:0.2rem}
  nav.menu-open .nav-links{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);visibility:visible}
  body.menu-open{overflow:hidden}
}
@media(max-width:768px){
  nav{padding:0.9rem 1.1rem}
  .hero{padding:8.4rem 1.25rem 2.2rem}
  .hero h1{font-size:clamp(2.3rem,11vw,3.25rem)}
  .hero-sub{font-size:0.98rem;line-height:1.65;margin-bottom:2.2rem}
  .hero-buttons{gap:0.8rem}
  .btn-primary,.btn-secondary{padding:0.8rem 1.5rem}
  .trust-logos{gap:0.6rem 0.7rem;opacity:1}
  section,.process-section,.testimonials,.contact-section,.product-detail-page,.cart-page,.auth-page,footer{padding-left:1.25rem;padding-right:1.25rem}
  section,.process-section,.testimonials,.contact-section,.cart-page{padding-top:4.4rem;padding-bottom:4.4rem}
  .cart-summary-total{justify-items:flex-start}
  .catalog-browse-toolbar,.reviews-toolbar,.detail-panel-review__head{align-items:stretch}
  .catalog-download-shell{justify-items:start}
  .contact-layout{gap:1.25rem}
  .contact-form-row-split,.contact-inquiry-options{grid-template-columns:1fr}
  .contact-success-actions{width:100%}
  .cart-item-main{grid-template-columns:56px minmax(0,1fr)}
  .cart-remove-link{justify-self:start}
  .cart-item-row{grid-template-columns:1fr;align-items:flex-start}
  .cart-item-row__quantity{justify-content:flex-start}
  .cart-item-row__total{text-align:left}
  .cart-actions--checkout{align-items:flex-start}
  .catalog-browse-grid{grid-template-columns:1fr}
  .products-grid,.home-categories-grid,.home-featured-grid{grid-template-columns:1fr}
  .company-grid{grid-template-columns:1fr}
  .process-step{padding:0}
  .stat-num{font-size:2.2rem}
  .spec-grid{grid-template-columns:1fr}
  .testimonial,.company-card,.contact-card,.detail-panel{padding:1.45rem}
  .footer-cols{display:grid;grid-template-columns:1fr 1fr}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:0.35rem}
  .auth-page{padding:7.6rem 1.25rem 4.2rem}
  #global-role-notice.global-role-notice{grid-template-columns:1fr;padding:0.55rem 1rem;align-items:start}
  .global-role-notice__body{white-space:normal;flex-wrap:wrap}
  .global-role-notice__actions{justify-content:flex-start;flex-wrap:wrap}
  body.route-account-shell #global-role-notice.global-role-notice{grid-template-columns:1fr;padding:0.55rem 1rem;align-items:start}
  body.route-account-shell .global-role-notice__body{white-space:normal;flex-wrap:wrap}
  body.route-account-shell .global-role-notice__actions{justify-content:flex-start;flex-wrap:wrap}
  .account-main{padding:0.5rem 1rem 1rem}
  .account-inactivity-banner{padding:0.75rem 0.9rem;font-size:0.8rem}
  .account-actions{flex-direction:column;align-items:flex-start}
  .account-head h2{font-size:1rem}
  .profile-content{width:100%}
  .profile-form-grid{grid-template-columns:1fr}
  .profile-identity{align-items:flex-start}
  .orders-layout{height:auto;min-height:0}
  .orders-list,.orders-detail{max-height:none}
  .orders-layout.is-mobile-detail-active{height:auto}
  .chat-layout{height:auto;min-height:0}
  .chat-panel{min-height:0}
  .chat-panel--list{max-height:320px}
  .chat-thread{min-height:240px;max-height:none}
  .chat-message-actions{align-items:flex-start}
  .orders-mobile-back{display:inline-flex;align-items:center;gap:0.45rem;justify-content:flex-start;width:max-content;max-width:100%;padding:0.2rem 0.1rem 0.35rem;border:0;background:transparent;color:#1d4ed8;font-size:0.8rem;font-weight:700;line-height:1.2;cursor:pointer}
  .orders-mobile-back span[aria-hidden="true"]{font-size:0.92rem;line-height:1}
  .orders-panel--detail{min-height:0}
  #orders-panel-list[hidden],#orders-panel-detail[hidden]{display:none !important}
  .support-layout{height:auto;min-height:0}
  .support-panel{height:auto}
  .support-thread{min-height:220px;max-height:none}
  .chat-conversation-row{grid-template-columns:auto minmax(0,1fr)}
  .chat-conversation-row__meta{grid-column:2;justify-items:start}
  .chat-message-group{max-width:100%}
  .worker-case-thread{min-height:220px;max-height:320px}
  .account-list-item .workspace-action{width:100%;justify-content:center}
  .admin-user-row{grid-template-columns:1fr}
  .admin-user-actions{justify-content:flex-start}
}
@media(max-width:560px){
  .auth-title{font-size:1.65rem}
  .auth-social-badge{display:none}
  .support-preview-media{width:100%;height:120px}
  .hero-tag{font-size:0.63rem;letter-spacing:0.11em;padding:0.38rem 0.75rem}
  .hero h1 br,.section-title br{display:none}
  .hero-buttons{width:100%}
  .btn-primary,.btn-secondary{width:100%;justify-content:center}
  .trust-logo{font-size:0.82rem}
  .footer-cols{grid-template-columns:1fr}
  .nav-links{left:0.65rem;right:0.65rem;top:68px}
  .worker-case-strip__meta{font-size:0.7rem;gap:0.35rem}
  .worker-case-strip__meta .case-chip,.worker-case-strip__meta .presence-badge,.worker-case-strip__meta .worker-case-strip__meta-link{max-width:100%}
}
@media(max-width:420px){
  .nav-inner{gap:0.6rem}
  .brand-lockup{min-width:0}
  .brand-wordmark{font-size:1rem}
  .nav-links{left:0.5rem;right:0.5rem;top:64px;padding:0.85rem}
  .nav-links a{font-size:0.9rem;padding:0.6rem 0.7rem}
  .worker-case-strip__meta{font-size:0.67rem}
}
@media (hover:none){
  .product-card:hover,.testimonial:hover,.company-card:hover,.btn-primary:hover,.btn-secondary:hover,.process-step:hover .step-num,.nav-cta:hover{transform:none;box-shadow:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-tag,.hero h1,.hero-sub,.hero-buttons,.reveal,.product-card,.testimonial,.company-card,.btn-primary,.btn-secondary{animation:none !important;transition-duration:0.01ms !important}
}

/* ==========================================================================
   Home redesign — scoped to body.route-home
   ========================================================================== */
body.route-home{
  --home-bg:#f3efe7;
  --home-bg-soft:#f5f2ea;
  --home-navy:#0b1533;
  --home-navy-2:#142044;
  --home-blue:#2b5fe0;
  --home-blue-deep:#1742ba;
  --home-blue-soft:#eaf0ff;
  --home-ink:#0b1533;
  --home-ink-mid:#3b4763;
  --home-ink-soft:#5d6a86;
  --home-border:rgba(11,21,51,0.10);
  --home-border-soft:rgba(11,21,51,0.06);
}
body.route-home .nav-cta{background:var(--home-blue);box-shadow:0 2px 10px rgba(43,95,224,0.25)}
body.route-home .nav-cta:hover{background:var(--home-blue-deep) !important;box-shadow:0 4px 18px rgba(43,95,224,0.32) !important}
body.route-home .nav-signin{color:var(--home-ink) !important}
body.route-home main.page{color:var(--home-ink)}
body.route-home section{max-width:1200px}
body.route-home .reveal{opacity:1 !important;transform:none !important;transition:none !important}
body.route-home .section-title{font-family:var(--font-display);color:var(--home-ink);font-weight:400;letter-spacing:-0.02em;line-height:1.08;font-size:clamp(1.9rem,3.4vw,2.5rem);margin:0 0 0.45rem}
body.route-home .section-desc{color:var(--home-ink-mid);font-weight:400;font-size:0.98rem;line-height:1.55;max-width:40rem;margin:0}

/* Hero */
body.route-home .hero{
  padding:calc(var(--site-nav-height) + 2.4rem) 2.6rem 2.4rem;
  max-width:1240px;
  min-height:auto;
  text-align:left;
  display:block;
}
body.route-home .hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:3rem;
  align-items:stretch;
}
body.route-home .hero-copy{max-width:540px;display:flex;flex-direction:column;gap:1.35rem;justify-content:center;animation:none}
body.route-home .hero-tag{
  display:inline-flex;align-items:center;gap:0.55rem;
  margin:0;padding:0;background:transparent;border:none;
  color:var(--home-blue);font-size:0.7rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;
  animation:none;opacity:1;
}
body.route-home .hero-tag::before{display:none}
body.route-home .hero-tag-dot{width:7px;height:7px;border-radius:50%;background:var(--home-blue);display:inline-block}
body.route-home .hero h1{
  font-family:var(--font-display);font-weight:400;
  font-size:clamp(2.8rem,5.8vw,4.4rem);
  line-height:1.0;letter-spacing:-0.028em;
  color:var(--home-ink);
  margin:0;
  animation:none;opacity:1;
}
body.route-home .hero h1 em{
  font-style:italic;font-weight:400;
  color:var(--home-blue);
  background:none;-webkit-text-fill-color:var(--home-blue);
  display:inline;
}
body.route-home .hero-sub{
  font-size:1.02rem;line-height:1.65;color:var(--home-ink-mid);
  font-weight:400;max-width:480px;margin:0;
  animation:none;opacity:1;
}
body.route-home .hero-buttons{margin:0;gap:0.75rem;animation:none;opacity:1;justify-content:flex-start}
body.route-home .btn-primary{
  background:var(--home-navy);color:#fff;
  padding:0.82rem 1.4rem;border-radius:999px;
  font-size:0.86rem;font-weight:500;
  box-shadow:none;transition:background 0.25s,transform 0.25s;
}
body.route-home .btn-primary:hover{background:var(--home-blue);transform:none;box-shadow:0 10px 24px rgba(43,95,224,0.22)}
body.route-home .btn-primary::after{display:none}
body.route-home .btn-secondary{
  background:#fff;color:var(--home-ink);
  border:1px solid var(--home-border);
  padding:0.82rem 1.4rem;border-radius:999px;
  font-size:0.86rem;font-weight:500;backdrop-filter:none;
}
body.route-home .btn-secondary:hover{background:#fff;border-color:var(--home-ink);color:var(--home-ink);transform:none;box-shadow:0 8px 20px rgba(11,21,51,0.08)}
body.route-home .hero-trust{margin-top:0.4rem;display:flex;flex-direction:column;gap:0.7rem}
body.route-home .hero-trust-label{font-size:0.66rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--home-ink-soft);font-weight:600;margin:0}
body.route-home .hero-trust-logos{display:flex;flex-wrap:wrap;gap:0.5rem}
body.route-home .trust-chip{
  display:inline-flex;align-items:center;gap:0.45rem;
  background:#fff;border:1px solid var(--home-border-soft);
  padding:0.42rem 0.85rem;border-radius:999px;
  font-size:0.78rem;color:var(--home-ink-mid);font-weight:500;
  box-shadow:0 1px 2px rgba(11,21,51,0.03);
}
body.route-home .trust-chip-dot{width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,#cfd9ec,#9cb0d4);display:inline-block;flex-shrink:0}
body.route-home .hero-visual{
  position:relative;aspect-ratio:4/4.4;border-radius:14px;overflow:hidden;
  background:
    linear-gradient(180deg,rgba(16,35,31,0.02),rgba(16,35,31,0.10)),
    url("/media/home/hero-paint-systems.png") center / cover no-repeat;
  box-shadow:0 24px 60px rgba(11,21,51,0.14);
}
body.route-home .hero-scene{display:none}

/* Stats band */
body.route-home .stats-band{padding:0 2.6rem;max-width:1240px;margin:1.4rem auto 1.4rem}
body.route-home .stats-band-inner{
  background:var(--home-navy);color:#fff;border-radius:10px;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  padding:1.9rem 1.4rem;gap:0;
  position:relative;overflow:hidden;
}
body.route-home .stats-band-inner::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 10% 50%,rgba(43,95,224,0.2),transparent 60%);pointer-events:none}
body.route-home .stat-item{
  display:flex;align-items:center;gap:1.1rem;
  padding:0 1.6rem;position:relative;
}
body.route-home .stat-item+.stat-item::before{
  content:"";position:absolute;left:0;top:15%;bottom:15%;width:1px;background:rgba(255,255,255,0.14);
}
body.route-home .stat-icon{width:28px;height:28px;stroke:#93b4d9;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
body.route-home .stat-num{
  font-family:var(--font-display);font-size:2.25rem;font-weight:500;color:#fff;
  letter-spacing:-0.02em;line-height:1;margin:0 0 0.2rem;
  background:none;-webkit-text-fill-color:#fff;
}
body.route-home .stat-label{font-size:0.84rem;color:#fff;opacity:1;font-weight:500;letter-spacing:0;max-width:none;margin:0}
body.route-home .stat-sub{font-size:0.74rem;color:rgba(255,255,255,0.58);margin-top:0.18rem}

/* Featured products */
body.route-home .home-featured{padding:3rem 2.6rem 2rem;max-width:1240px}
body.route-home .home-featured-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:1.6rem}
body.route-home .home-featured-intro{max-width:540px}
body.route-home .home-featured-link{
  color:var(--home-blue);font-weight:600;font-size:0.88rem;
  display:inline-flex;align-items:center;gap:0.35rem;text-decoration:none;
}
body.route-home .home-featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}
body.route-home .feature-card{
  background:#fff;border:1px solid var(--home-border-soft);border-radius:6px;
  text-decoration:none;color:var(--home-ink);
  display:flex;flex-direction:column;overflow:hidden;
  transition:transform 0.25s ease,box-shadow 0.25s ease;
}
body.route-home .feature-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(11,21,51,0.08)}
body.route-home .feature-card-media{
  aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;
  padding:0;position:relative;overflow:hidden;
}
body.route-home .feature-card[data-card-tint="sky"] .feature-card-media{background:linear-gradient(160deg,#dfe9f5 0%,#b6c9e0 100%)}
body.route-home .feature-card[data-card-tint="stone"] .feature-card-media{background:linear-gradient(160deg,#d4d0c8 0%,#aba6a0 100%)}
body.route-home .feature-card[data-card-tint="forest"] .feature-card-media{background:linear-gradient(160deg,#c5d2c6 0%,#90ac95 100%)}
body.route-home .feature-card[data-card-tint="sand"] .feature-card-media{background:linear-gradient(160deg,#eadfc6 0%,#cdb891 100%)}
body.route-home .feature-card-media img{
  width:100%;height:100%;
  object-fit:cover;object-position:50% 28%;
  transform:scale(1.35);transform-origin:50% 40%;
  filter:contrast(1.05) saturate(1.08);
}
body.route-home .feature-card-media::before{
  display:none;
}
body.route-home .feature-card[data-card-tint="sky"] .feature-card-media{color:#a5b8d2}
body.route-home .feature-card[data-card-tint="stone"] .feature-card-media{color:#a6a29a}
body.route-home .feature-card[data-card-tint="forest"] .feature-card-media{color:#789684}
body.route-home .feature-card[data-card-tint="sand"] .feature-card-media{color:#bfac86}
body.route-home .feature-card-media::after{
  display:none;
}
body.route-home .feature-card-body{padding:1.1rem 1.15rem 1.2rem;display:flex;flex-direction:column;gap:0.4rem;border-top:1px solid var(--home-border-soft)}
body.route-home .feature-card-cat{font-size:0.66rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--home-blue);font-weight:600;margin:0}
body.route-home .feature-card-name{font-family:var(--font-display);font-size:1.05rem;font-weight:500;letter-spacing:-0.01em;color:var(--home-ink);margin:0}
body.route-home .feature-card-desc{font-size:0.82rem;line-height:1.5;color:var(--home-ink-mid);margin:0 0 0.3rem;min-height:2.4rem}
body.route-home .feature-card-link{font-size:0.8rem;font-weight:600;color:var(--home-blue);display:inline-flex;align-items:center;gap:0.3rem;margin-top:auto}
body.route-home .feature-card:hover .feature-card-link svg{transform:translateX(2px)}

/* Why Pollar */
body.route-home .why-pollar{padding:2rem 2.6rem;max-width:1240px}
body.route-home .why-pollar-inner{
  background:#eee7d8;border:1px solid var(--home-border-soft);border-radius:4px;
  padding:2.6rem 2.4rem;
  display:grid;grid-template-columns:minmax(220px,0.9fr) minmax(0,2.8fr);gap:2.4rem;
}
body.route-home .why-pollar-intro h2{font-family:var(--font-display);font-weight:500;font-size:1.5rem;line-height:1.2;letter-spacing:-0.01em;color:var(--home-ink);margin:0 0 0.8rem}
body.route-home .why-pollar-rule{display:block;width:34px;height:2px;background:var(--home-ink);margin:0 0 1.05rem;border-radius:2px;opacity:0.7}
body.route-home .why-pollar-intro .section-desc{font-size:0.88rem;color:var(--home-ink-mid);line-height:1.55;max-width:300px}
body.route-home .why-pollar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
body.route-home .why-card{display:flex;flex-direction:column;gap:0.55rem;padding:0 1.2rem;position:relative}
body.route-home .why-card+.why-card::before{content:"";position:absolute;left:0;top:8%;bottom:8%;width:1px;background:rgba(11,21,51,0.1)}
body.route-home .why-icon{width:40px;height:40px;border-radius:10px;background:rgba(43,95,224,0.08);display:inline-flex;align-items:center;justify-content:center;margin-bottom:0.3rem}
body.route-home .why-icon svg{width:22px;height:22px;stroke:var(--home-blue);stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
body.route-home .why-card h3{font-family:var(--font-body);font-weight:600;font-size:0.95rem;color:var(--home-ink);margin:0;letter-spacing:-0.005em}
body.route-home .why-card p{font-size:0.82rem;line-height:1.55;color:var(--home-ink-mid);margin:0}

/* Process */
body.route-home .process-section{padding:3rem 2.6rem 3rem;max-width:1240px}
body.route-home .process-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:1.8rem}
body.route-home .process-head h2{margin:0}
body.route-home .process-lede{font-size:0.88rem;color:var(--home-ink-mid);margin:0;max-width:24rem;text-align:right}
body.route-home .process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;position:relative;padding-top:0.4rem}
body.route-home .process-line{position:absolute;left:calc(12.5%);right:calc(12.5%);top:calc(0.4rem + 16px);height:1px;background:rgba(11,21,51,0.12)}
body.route-home .process-step{
  text-align:left;position:relative;padding:0;z-index:1;
  display:flex;flex-direction:column;gap:0.35rem;
}
body.route-home .process-step::before{display:none}
body.route-home .step-num{
  width:36px;height:36px;border-radius:50%;
  background:var(--home-blue);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-body);font-size:0.98rem;font-weight:600;
  margin:0 0 0.75rem;border:4px solid var(--home-bg);
  letter-spacing:0;box-shadow:none;
}
body.route-home .process-step:hover .step-num{background:var(--home-blue-deep);transform:none;box-shadow:none}
body.route-home .process-step h3{font-family:var(--font-display);font-weight:500;font-size:1.02rem;color:var(--home-ink);margin:0 0 0.2rem;letter-spacing:-0.01em}
body.route-home .process-step p{font-size:0.84rem;line-height:1.5;color:var(--home-ink-mid);font-weight:400;max-width:14rem;margin:0}

/* Testimonial */
body.route-home .home-testimonial{padding:1rem 2.6rem 2rem;max-width:1240px}
body.route-home .testimonial-card{
  background:#fff;border:1px solid var(--home-border-soft);border-radius:6px;
  display:grid;grid-template-columns:minmax(280px,0.95fr) minmax(0,1.3fr);gap:0;
  overflow:hidden;min-height:260px;box-shadow:0 6px 22px rgba(11,21,51,0.04);
}
body.route-home .testimonial-project{
  position:relative;display:block;text-decoration:none;color:inherit;min-height:260px;overflow:hidden;
  background:url("/media/home/westlands-residences-project.png") center / cover no-repeat;
}
body.route-home .testimonial-project::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(16,35,31,0.02),rgba(16,35,31,0.18));
  pointer-events:none;
}
body.route-home .testimonial-scene{display:none}
body.route-home .testimonial-project-label{
  position:absolute;bottom:14px;left:14px;right:14px;
  background:#fff;border-radius:10px;padding:0.85rem 1rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  box-shadow:0 10px 26px rgba(11,21,51,0.18);
}
body.route-home .testimonial-project-label strong{display:block;font-family:var(--font-display);font-weight:500;font-size:0.98rem;color:var(--home-ink);margin-bottom:0.12rem;letter-spacing:-0.01em}
body.route-home .testimonial-project-label span{font-size:0.76rem;color:var(--home-ink-mid)}
body.route-home .testimonial-project-arrow{width:32px;height:32px;border-radius:50%;background:#f1ece1;display:inline-flex;align-items:center;justify-content:center;color:var(--home-ink);flex-shrink:0}
body.route-home .testimonial-project-arrow svg{width:14px;height:14px}
body.route-home .testimonial-quote{padding:2rem 2.4rem;display:flex;flex-direction:column;justify-content:center;gap:1.1rem;position:relative;border-left:1px solid rgba(11,21,51,0.08)}
body.route-home .testimonial-mark{font-family:'Georgia',var(--font-display);font-size:3.2rem;line-height:0.7;color:var(--home-blue);font-weight:400;display:block;margin-bottom:-0.4rem}
body.route-home .testimonial-quote p{font-size:0.98rem;line-height:1.55;color:var(--home-ink);font-weight:400;margin:0;max-width:38rem}
body.route-home .testimonial-attribution{display:flex;align-items:center;gap:0.85rem;margin-top:0.3rem}
body.route-home .testimonial-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#7a5e4b,#3a2a1d);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:0.88rem;font-weight:600;font-family:var(--font-body);flex-shrink:0;letter-spacing:0.02em}
body.route-home .testimonial-attribution strong{display:block;font-size:0.92rem;font-weight:600;color:var(--home-ink);margin-bottom:0.1rem}
body.route-home .testimonial-attribution span{font-size:0.78rem;color:var(--home-ink-mid)}

/* Closing CTA */
body.route-home .home-cta{padding:1rem 2.6rem 3rem;max-width:1240px}
body.route-home .home-cta-band{
  position:relative;overflow:hidden;
  background:
    linear-gradient(90deg,rgba(16,35,31,0.22) 0%,rgba(16,35,31,0.70) 42%,rgba(16,35,31,0.84) 100%),
    url("/media/home/finish-guidance-cta.png") center / cover no-repeat;
  color:#fff;
  border-radius:8px;padding:2.2rem 2rem 2.2rem 18rem;min-height:180px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;
}
body.route-home .home-cta-band::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 90% 10%,rgba(255,255,255,0.12),transparent 55%),
    linear-gradient(90deg,rgba(16,35,31,0),rgba(16,35,31,0.22));
  pointer-events:none;
}
body.route-home .home-cta-visual{display:none}
body.route-home .home-cta-visual svg{width:100%;height:100%}
body.route-home .home-cta-copy{max-width:460px;position:relative}
body.route-home .home-cta-copy h2{font-family:var(--font-display);font-weight:400;font-size:1.85rem;line-height:1.12;letter-spacing:-0.01em;margin:0 0 0.5rem;color:#fff}
body.route-home .home-cta-copy p{font-size:0.9rem;line-height:1.55;color:rgba(255,255,255,0.88);margin:0}
body.route-home .home-cta-actions{display:flex;flex-direction:column;gap:0.55rem;position:relative}
body.route-home .btn-cta-white{
  display:inline-flex;align-items:center;justify-content:center;gap:0.45rem;
  background:#fff;color:var(--home-blue);
  padding:0.78rem 1.35rem;border-radius:999px;
  font-size:0.85rem;font-weight:600;text-decoration:none;
  min-width:188px;transition:transform 0.2s ease,box-shadow 0.2s ease;
}
body.route-home .btn-cta-white:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(0,0,0,0.15)}
body.route-home .btn-cta-outline{
  display:inline-flex;align-items:center;justify-content:center;gap:0.45rem;
  background:transparent;color:#fff;
  padding:0.78rem 1.35rem;border-radius:999px;border:1px solid rgba(255,255,255,0.8);
  font-size:0.85rem;font-weight:600;text-decoration:none;
  min-width:188px;transition:background 0.2s ease;
}
body.route-home .btn-cta-outline:hover{background:rgba(255,255,255,0.1)}
body.route-home .btn-cta-white svg,body.route-home .btn-cta-outline svg{width:14px;height:14px}

/* Footer */
body.route-home footer{
  background:var(--home-bg);
  padding:3rem 2.6rem 1.4rem;max-width:1240px;margin:0 auto;
  border-top:1px solid var(--home-border-soft);
}
body.route-home .footer-top{display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(0,3fr);gap:2.8rem;align-items:flex-start;margin-bottom:2.2rem;flex-wrap:nowrap}
body.route-home .footer-cols{display:grid;grid-template-columns:0.9fr 1.2fr 0.9fr;gap:2.8rem;width:auto}
body.route-home .footer-brand{max-width:280px}
body.route-home .footer-brand .nav-logo{font-family:var(--font-display);color:var(--home-ink);font-size:1.05rem;font-weight:500}
body.route-home .footer-brand p{font-size:0.82rem;color:var(--home-ink-mid);margin:0.6rem 0 1rem}
body.route-home .footer-col h4{font-size:0.66rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--home-ink-soft);font-weight:600;margin-bottom:0.8rem}
body.route-home .footer-col h4 a{color:inherit}
body.route-home .footer-col a{display:block;font-size:0.84rem;color:var(--home-ink-mid);margin-bottom:0.42rem;text-decoration:none;transition:color 0.2s}
body.route-home .footer-col a:hover{color:var(--home-blue)}
body.route-home .footer-products-all{color:var(--home-blue) !important;font-weight:600;display:inline-flex !important;align-items:center;gap:0.3rem;margin-top:0.5rem}
body.route-home .footer-products-all svg{width:12px;height:12px}
body.route-home .footer-bottom{border-top:1px solid var(--home-border-soft);padding-top:1.2rem;font-size:0.76rem;color:var(--home-ink-soft)}

/* Responsive */
@media (max-width:1024px){
  body.route-home .hero-grid{grid-template-columns:1fr;gap:2rem}
  body.route-home .hero-visual{aspect-ratio:16/11;max-height:460px}
  body.route-home .home-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.route-home .stats-band-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem 0;padding:1.6rem}
  body.route-home .stat-item+.stat-item::before{display:none}
  body.route-home .why-pollar-inner{grid-template-columns:1fr;gap:1.6rem}
  body.route-home .why-pollar-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:0;border-left:0;border-top:1px solid rgba(11,21,51,0.1);padding-top:1.4rem}
  body.route-home .process-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem}
  body.route-home .process-line{display:none}
  body.route-home .testimonial-card{grid-template-columns:1fr}
  body.route-home .home-cta-band{padding:2rem;grid-template-columns:1fr;text-align:center;gap:1.4rem}
  body.route-home .home-cta-visual{position:relative;left:auto;top:auto;transform:none;width:180px;height:180px;margin:0 auto}
  body.route-home .home-cta-actions{align-items:center}
  body.route-home .footer-top{grid-template-columns:1fr;flex-wrap:wrap}
  body.route-home .footer-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem}
}
@media (max-width:640px){
  body.route-home .hero,body.route-home .stats-band,body.route-home .home-featured,body.route-home .why-pollar,body.route-home .process-section,body.route-home .home-testimonial,body.route-home .home-cta,body.route-home footer{padding-left:1.2rem;padding-right:1.2rem}
  body.route-home .hero h1{font-size:2.2rem}
  body.route-home .home-featured-grid{grid-template-columns:1fr}
  body.route-home .process-steps{grid-template-columns:1fr}
  body.route-home .process-head{flex-direction:column;align-items:flex-start}
  body.route-home .process-lede{text-align:left}
  body.route-home .footer-top{grid-template-columns:1fr}
  body.route-home .footer-cols{grid-template-columns:1fr}
}

/* Shared footer social row (rendered on home and products) */
/* ==========================================================================
   Products page redesign — scoped to body.route-products
   ========================================================================== */
body.route-products{
  --products-bg:#f2ede3;
  --products-panel:#fffdf7;
  --products-panel-warm:#f7f1e5;
  --products-ink:#10231f;
  --products-ink-mid:#53635d;
  --products-ink-soft:#748078;
  --products-accent:#2f766f;
  --products-accent-deep:#1f514a;
  --products-clay:#92583b;
  --products-ochre:#b99044;
  --products-border:rgba(31,55,48,0.12);
  --products-border-soft:rgba(31,55,48,0.08);
}
body.route-products .nav-cta{background:var(--products-accent);box-shadow:0 2px 10px rgba(31,81,74,0.22)}
body.route-products .nav-cta:hover{background:var(--products-accent-deep) !important;box-shadow:0 4px 18px rgba(31,81,74,0.28) !important}
body.route-products .nav-signin{color:var(--products-ink) !important}
body.route-products main.page{color:var(--products-ink)}
body.route-products .reveal{opacity:1 !important;transform:none !important;transition:none !important}

body.route-products #products{
  max-width:1360px;
  margin:0 auto;
  padding:calc(var(--site-nav-height) + 2rem) 2.6rem 3.4rem;
  text-align:left;
}

/* Header */
body.route-products .products-header{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,0.72fr);
  gap:clamp(1.4rem,3vw,2.6rem);
  align-items:center;
  margin-bottom:1rem;
  padding:clamp(1.2rem,2.4vw,1.7rem);
  border:1px solid var(--products-border-soft);
  border-radius:14px;
  background:
    linear-gradient(90deg,rgba(255,253,247,0.94),rgba(246,240,226,0.74)),
    repeating-linear-gradient(90deg,rgba(16,35,31,0.032) 0 1px,transparent 1px 34px);
  box-shadow:0 24px 70px rgba(67,91,79,0.08);
}
body.route-products .products-header-intro{max-width:760px;display:flex;flex-direction:column;justify-content:center;gap:0.6rem}
body.route-products .products-header-intro .section-tag{
  font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--products-accent-deep);font-weight:600;margin:0;
}
body.route-products .products-header-intro .section-title{
  font-family:var(--font-display);font-weight:400;
  font-size:clamp(2.15rem,3.6vw,3.2rem);line-height:1;letter-spacing:-0.035em;
  color:var(--products-ink);margin:0;
  max-width:15ch;
}
body.route-products .products-header-intro .section-desc{
  font-size:1rem;line-height:1.62;color:var(--products-ink-mid);
  font-weight:400;max-width:61ch;margin:0.35rem 0 0;
}
body.route-products .products-header-visual{
  position:relative;
  display:grid;
  align-content:center;
  gap:0.85rem;
  padding:0.95rem 1rem 1rem;
  border-left:3px solid var(--products-ochre);
  background:rgba(255,253,247,0.72);
  box-shadow:inset 1px 0 rgba(255,255,255,0.9);
}
body.route-products .products-header-visual::before{
  content:"";position:absolute;top:1rem;right:1rem;width:54px;height:10px;border-radius:999px;
  background:
    linear-gradient(90deg,var(--products-accent-deep) 0 40%,var(--products-clay) 40% 70%,rgba(185,144,68,0.5) 70%);
}
body.route-products .products-header-panel,
body.route-products .products-header-steps,
body.route-products .products-header-plant{display:none}
body.route-products .products-guide-kicker{
  margin:0;
  color:var(--products-clay);
  font-size:0.7rem;
  font-weight:600;
  letter-spacing:0.16em;
  text-transform:uppercase;
}
body.route-products .products-guide-list{
  display:grid;
  gap:0.75rem;
  margin:0;
  padding:0;
  list-style:none;
}
body.route-products .products-guide-list li{
  display:grid;
  grid-template-columns:2rem minmax(0,1fr);
  gap:0.7rem 0.8rem;
  align-items:start;
  padding-top:0.75rem;
  border-top:1px solid var(--products-border-soft);
}
body.route-products .products-guide-list li:first-child{border-top:0;padding-top:0}
body.route-products .products-guide-list span{
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  border-radius:7px;
  background:#edf5f1;
  color:var(--products-accent-deep);
  font-size:0.8rem;
  font-weight:600;
  font-variant-numeric:tabular-nums;
}
body.route-products .products-guide-list strong{
  display:block;
  grid-column:2;
  color:var(--products-ink);
  font-size:0.94rem;
  line-height:1.2;
}
body.route-products .products-guide-list em{
  display:block;
  grid-column:2;
  margin-top:0.22rem;
  color:var(--products-ink-mid);
  font-size:0.82rem;
  font-style:normal;
  line-height:1.45;
}

/* Filters row */
body.route-products .product-filters{
  display:flex;flex-wrap:wrap;gap:0.45rem;
  margin:0;
  padding:0.5rem;
  border:1px solid var(--products-border-soft);
  border-radius:12px 12px 0 0;
  background:rgba(255,253,247,0.62);
}
body.route-products .product-filter{
  display:inline-flex;align-items:center;gap:0.3rem;
  padding:0.5rem 0.85rem;border-radius:8px;
  border:1px solid transparent;background:transparent;
  color:var(--products-ink-mid);font-size:0.8rem;font-weight:500;
  text-decoration:none;min-height:40px;transition:border-color 0.2s,color 0.2s,background 0.2s,transform 0.2s ease;
}
body.route-products .product-filter:hover{background:#edf5f1;color:var(--products-accent-deep)}
body.route-products .product-filter.is-active{background:var(--products-accent);border-color:var(--products-accent);color:#fff}
body.route-products .product-filter-count{opacity:0.85;font-weight:500}

/* Utility row — count + sort */
body.route-products .products-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  margin:0 0 1rem;
  padding:0.7rem 0.85rem;
  border:1px solid var(--products-border-soft);
  border-top:0;
  border-radius:0 0 12px 12px;
  background:rgba(255,253,247,0.8);
}
body.route-products .products-toolbar-count{
  font-size:0.86rem;color:var(--products-ink-mid);margin:0;font-weight:400;
}
body.route-products .products-toolbar-sort{display:flex;align-items:center;gap:0.6rem}
body.route-products .products-toolbar-sort-label{
  font-size:0.84rem;color:var(--products-ink-soft);font-weight:500;
}
body.route-products .products-toolbar-sort-select{position:relative;display:inline-flex;align-items:center}
body.route-products .products-toolbar-sort-select select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background:#fffdf7;border:0;
  box-shadow:inset 0 0 0 1px var(--products-border);
  border-radius:8px;padding:0.5rem 2.1rem 0.5rem 0.85rem;
  font-family:var(--font-body);font-size:0.84rem;font-weight:500;color:var(--products-ink);
  min-height:44px;min-width:180px;cursor:pointer;
}
body.route-products .products-toolbar-sort-select select:focus-visible{outline:2px solid rgba(47,118,111,0.32);outline-offset:2px}
body.route-products .products-toolbar-sort-caret{
  position:absolute;right:0.7rem;top:50%;transform:translateY(-50%);
  width:14px;height:14px;color:var(--products-ink-mid);pointer-events:none;
}

/* Grid + cards */
body.route-products .products-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;margin:0;
}
body.route-products .product-card{
  background:rgba(255,253,247,0.88);
  border:1px solid var(--products-border-soft);border-radius:8px;
  box-shadow:none;overflow:hidden;cursor:pointer;
  display:flex;flex-direction:column;min-height:100%;
  transition:transform 0.25s ease,box-shadow 0.25s ease,border-color 0.25s ease;
}
body.route-products .product-card--lead{
  grid-column:span 2;
  display:grid;
  grid-template-columns:minmax(0,0.88fr) minmax(0,1.12fr);
  min-height:100%;
}
body.route-products .product-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 42px rgba(67,91,79,0.12);
  border-color:rgba(47,118,111,0.18);
}
body.route-products .product-card .catalog-media{
  height:auto;aspect-ratio:4/3;
  border:0;border-bottom:1px solid var(--products-border-soft);
  background:linear-gradient(160deg,#f1ece1 0%,#e5dcc8 100%);
  padding:1rem;
}
body.route-products .product-card--lead .catalog-media{
  min-height:100%;
  aspect-ratio:auto;
  border-bottom:0;
  border-right:1px solid var(--products-border-soft);
}
body.route-products .product-card .catalog-media.is-interior{background:linear-gradient(160deg,#f7efe0 0%,#e9dec6 100%)}
body.route-products .product-card .catalog-media.is-exterior{background:linear-gradient(160deg,#e5ecf4 0%,#cfdbe9 100%)}
body.route-products .product-card .catalog-media.is-specialty{background:linear-gradient(160deg,#e9eff6 0%,#d4dfec 100%)}
body.route-products .product-card .catalog-media.is-prep{background:linear-gradient(160deg,#eff1f5 0%,#d9dde4 100%)}
body.route-products .product-card .catalog-media.is-generic{background:linear-gradient(160deg,#f0eee7 0%,#ddd8ca 100%)}
body.route-products .product-card .catalog-media::before{display:none}
body.route-products .product-card .catalog-media-image{
  max-height:88%;object-fit:contain;
  filter:drop-shadow(0 14px 24px rgba(67,91,79,0.15));
  transition:transform 0.3s ease;
}
body.route-products .product-card:hover .catalog-media-image{transform:translateY(-2px) scale(1.02)}
body.route-products .product-card-body{
  padding:1rem 1rem 0.4rem;display:flex;flex-direction:column;gap:0.38rem;flex:1;
}
body.route-products .product-card-body .product-category-tag{
  background:transparent;padding:0;border-radius:0;
  color:var(--products-accent-deep);font-size:0.64rem;letter-spacing:0.15em;text-transform:uppercase;
  font-weight:600;margin:0 0 0.15rem;
}
body.route-products .product-card-body h3{
  font-family:var(--font-display);font-weight:500;
  font-size:1.13rem;line-height:1.16;letter-spacing:-0.015em;
  color:var(--products-ink);margin:0;
}
body.route-products .product-card--lead .product-card-body h3{
  font-size:clamp(1.55rem,2.6vw,2.1rem);
  line-height:1.04;
}
body.route-products .product-card-description{
  font-size:0.84rem;line-height:1.55;color:var(--products-ink-mid);font-weight:400;
  display:block;
  overflow:visible;
  min-height:3.9rem;
  margin:0;
}
body.route-products .product-card--lead .product-card-description{
  -webkit-line-clamp:3;
  max-width:38ch;
  font-size:0.92rem;
  line-height:1.62;
  min-height:4.45rem;
}
body.route-products .product-card-body .product-price{
  display:flex;align-items:baseline;gap:0.35rem;margin:0.25rem 0 0;flex-wrap:wrap;
}
body.route-products .product-card-body .product-price-amount{
  font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--products-ink);letter-spacing:-0.01em;
}
body.route-products .product-card-body .product-price-unit{
  font-size:0.78rem;color:var(--products-ink-soft);font-weight:500;
}
body.route-products .product-card-footer{
  padding:0 1rem 1rem;margin-top:0.35rem;
  display:flex;align-items:center;justify-content:flex-end;gap:0.75rem;
}
body.route-products .product-card-footer .product-availability-badge{margin-right:auto}
body.route-products .product-card--lead .product-card-footer{
  grid-column:2;
  align-self:end;
}
body.route-products .product-availability-badge{
  padding:0.24rem 0.65rem;font-size:0.7rem;font-weight:600;
  border-radius:999px;line-height:1.2;
}
body.route-products .product-availability-badge--in_stock{background:#eaf7ee;border-color:#b7e4c2;color:#1e7a3c}
body.route-products .product-availability-badge--low_stock{background:#fff4e6;border-color:#fdcf95;color:#a2540a}
body.route-products .product-availability-badge--out_of_stock{background:#fdecec;border-color:#fcbcbc;color:#a81a1a}
body.route-products .product-availability-badge--pending{background:#f2f4f8;border-color:#cfd6e1;color:#475569}
body.route-products .product-card-footer .card-link{
  color:var(--products-accent-deep);font-size:0.82rem;font-weight:500;
  display:inline-flex;align-items:center;gap:0.3rem;text-decoration:none;
}
body.route-products .product-card-footer .card-link svg{width:14px;height:14px}

/* CTA band — reuse home-cta-band styles scoped to products */
body.route-products .products-cta-shell{margin:2.6rem 0 0}
body.route-products .home-cta-band{
  position:relative;overflow:hidden;
  background:
    linear-gradient(90deg,rgba(16,35,31,0.38) 0%,rgba(16,35,31,0.74) 40%,rgba(16,35,31,0.84) 100%),
    url("/media/products/coating-guidance-cta.png") center / cover no-repeat;
  color:#fff;
  border-radius:8px;padding:2.4rem 2rem 2.4rem clamp(21rem,31vw,30rem);min-height:230px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;
}
body.route-products .home-cta-band::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 8% 38%,rgba(255,253,247,0.16),transparent 26%),
    linear-gradient(90deg,rgba(16,35,31,0.08),rgba(16,35,31,0.38));
  pointer-events:none;
}
body.route-products .home-cta-visual{
  display:none;
}
body.route-products .home-cta-copy{max-width:460px;position:relative;z-index:1}
body.route-products .home-cta-copy h2{font-family:var(--font-display);font-weight:400;font-size:1.85rem;line-height:1.12;letter-spacing:-0.01em;margin:0 0 0.5rem;color:#fff}
body.route-products .home-cta-copy p{font-size:0.9rem;line-height:1.55;color:rgba(255,255,255,0.88);margin:0}
body.route-products .home-cta-actions{display:flex;flex-direction:column;gap:0.55rem;position:relative;z-index:1}
body.route-products .btn-cta-white{
  display:inline-flex;align-items:center;justify-content:center;gap:0.45rem;
  background:#fff;color:var(--products-blue);
  padding:0.78rem 1.35rem;border-radius:999px;
  font-size:0.85rem;font-weight:600;text-decoration:none;
  min-width:200px;transition:transform 0.2s ease,box-shadow 0.2s ease;
}
body.route-products .btn-cta-white:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(0,0,0,0.15)}
body.route-products .btn-cta-outline{
  display:inline-flex;align-items:center;justify-content:center;gap:0.45rem;
  background:transparent;color:#fff;
  padding:0.78rem 1.35rem;border-radius:999px;border:1px solid rgba(255,255,255,0.8);
  font-size:0.85rem;font-weight:600;text-decoration:none;
  min-width:200px;transition:background 0.2s ease;
}
body.route-products .btn-cta-outline:hover{background:rgba(255,255,255,0.1)}
body.route-products .btn-cta-white svg,body.route-products .btn-cta-outline svg{width:14px;height:14px}

/* Footer — mirror home treatment */
body.route-products footer{
  background:var(--products-bg);
  padding:3rem 2.6rem 1.4rem;max-width:1360px;margin:0 auto;
  border-top:1px solid var(--products-border-soft);
}
body.route-products .footer-top{display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(0,3fr);gap:2.8rem;align-items:flex-start;margin-bottom:2.2rem}
body.route-products .footer-cols{display:grid;grid-template-columns:0.9fr 1.2fr 0.9fr;gap:2.8rem;width:auto}
body.route-products .footer-brand{max-width:280px}
body.route-products .footer-brand .nav-logo{font-family:var(--font-display);color:var(--products-ink);font-size:1.05rem;font-weight:500}
body.route-products .footer-brand p{font-size:0.82rem;color:var(--products-ink-mid);margin:0.6rem 0 0.9rem}
body.route-products .footer-col h4{font-size:0.66rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--products-ink-soft);font-weight:600;margin-bottom:0.8rem}
body.route-products .footer-col h4 a{color:inherit}
body.route-products .footer-col a{display:block;font-size:0.84rem;color:var(--products-ink-mid);margin-bottom:0.42rem;text-decoration:none;transition:color 0.2s}
body.route-products .footer-col a:hover{color:var(--products-blue)}
body.route-products .footer-products-all{color:var(--products-blue) !important;font-weight:600;display:inline-flex !important;align-items:center;gap:0.3rem;margin-top:0.5rem}
body.route-products .footer-products-all svg{width:12px;height:12px}
body.route-products .footer-bottom{
  border-top:1px solid var(--products-border-soft);padding-top:1.2rem;
  font-size:0.76rem;color:var(--products-ink-soft);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}

@media (max-width:1024px){
  body.route-products #products{padding-left:1.8rem;padding-right:1.8rem}
  body.route-products .products-header{grid-template-columns:minmax(0,1fr);gap:1.4rem}
  body.route-products .products-header-visual{aspect-ratio:auto;max-height:none}
  body.route-products .products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
  body.route-products .home-cta-band{padding:2rem;grid-template-columns:1fr;text-align:center;gap:1.4rem;background-position:center left}
  body.route-products .home-cta-visual{display:none}
  body.route-products .home-cta-actions{align-items:center}
  body.route-products .footer-top{grid-template-columns:1fr}
  body.route-products .footer-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem}
}
@media (max-width:640px){
  body.route-products #products,body.route-products footer{padding-left:1.2rem;padding-right:1.2rem}
  body.route-products .products-grid{grid-template-columns:1fr}
  body.route-products .product-card--lead{
    grid-column:span 1;
    grid-template-columns:1fr;
  }
  body.route-products .product-card--lead .catalog-media{
    min-height:auto;
    aspect-ratio:4/3;
    border-right:0;
    border-bottom:1px solid var(--products-border-soft);
  }
  body.route-products .products-toolbar{flex-direction:column;align-items:flex-start;gap:0.6rem}
  body.route-products .footer-cols{grid-template-columns:1fr}
  body.route-products .footer-bottom{flex-direction:column;align-items:flex-start;gap:0.4rem}
}

/* ==========================================================================
   Premium polish pass
   ========================================================================== */
:root{
  --accent:#2f766f;
  --accent-light:#3d8f82;
  --accent-deep:#1f514a;
  --accent-glow:rgba(47,118,111,0.13);
  --brand-clay:#92583b;
  --brand-clay-soft:#f1e5da;
  --brand-ochre:#b99044;
  --focus-ring:rgba(47,118,111,0.38);
}
body{
  background:
    radial-gradient(circle at 10% 8%,rgba(185,144,68,0.13),transparent 28rem),
    radial-gradient(circle at 86% 18%,rgba(47,118,111,0.12),transparent 30rem),
    linear-gradient(180deg,#f5f0e7 0%,#eee7dc 100%);
  font-variant-numeric:tabular-nums;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:0.25;
  background-image:
    radial-gradient(circle at 1px 1px,rgba(31,81,74,0.14) 1px,transparent 0),
    radial-gradient(circle at 2px 3px,rgba(146,88,59,0.08) 1px,transparent 0);
  background-size:22px 22px,34px 34px;
  mix-blend-mode:multiply;
}
.page{isolation:isolate}
.section-title,.hero h1,.auth-title{text-wrap:balance}
.section-desc,.hero-sub,.company-card p,.contact-info-head p,.review-card__body,.catalog-browse-card__copy{text-wrap:pretty}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--focus-ring);
  outline-offset:3px;
}
.btn-primary:active,.btn-secondary:active,.mini-btn:active,.nav-cta:active,.nav-signin:active,.product-filter:active,.contact-inquiry-option:active{
  transform:translateY(1px) scale(0.99);
}
.nav-links a.is-active{
  color:var(--brand-ink);
  position:relative;
}
.nav-links a.is-active:not(.nav-cta)::after{
  content:"";
  position:absolute;
  left:0.15rem;
  right:0.15rem;
  bottom:0.35rem;
  height:2px;
  border-radius:2px;
  background:var(--accent);
}
.nav-links .nav-cta.is-active{
  box-shadow:0 12px 26px rgba(47,118,111,0.16),inset 0 0 0 1px rgba(255,255,255,0.3);
}
.nav-cta,.nav-signin,.nav-cart-link,.nav-dashboard,.btn-primary,.btn-secondary,.mini-btn{
  border-radius:8px;
}
.nav-cta{
  background:var(--accent);
  box-shadow:0 12px 26px rgba(47,118,111,0.16);
}
.nav-cta:hover{
  background:var(--accent-deep) !important;
  box-shadow:0 14px 30px rgba(47,118,111,0.2) !important;
}
.product-category-tag,.product-filter,.product-availability-badge,.trust-chip,.nav-cart-badge{
  border-radius:7px;
}
.catalog-surface-status{
  border:1px solid rgba(31,81,74,0.11);
  background:rgba(255,255,255,0.58);
  border-radius:10px;
  padding:0.85rem 1rem;
}
.catalog-surface-status.is-ready{
  display:inline-flex;
  border-color:rgba(47,118,111,0.14);
  background:#edf5f1;
  color:#255d55;
}
.catalog-surface-status.is-empty{
  background:#f8f1e7;
  border-color:rgba(146,88,59,0.16);
  color:#7a4a32;
}
.catalog-surface-status.is-error{
  background:#fff1f0;
  border-color:rgba(185,28,28,0.16);
  color:#991b1b;
}
.catalog-surface-status.is-loading{
  color:transparent;
  min-height:4.85rem;
  position:relative;
  overflow:hidden;
}
.catalog-surface-status.is-loading::before{
  content:"";
  position:absolute;
  inset:0.85rem 1rem;
  background:
    linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,0.62),rgba(255,255,255,0)) -45% 0/36% 100% no-repeat,
    linear-gradient(#e6ded1,#e6ded1) 0 0/34% 0.75rem no-repeat,
    linear-gradient(#eee6db,#eee6db) 0 1.5rem/78% 0.7rem no-repeat,
    linear-gradient(#eee6db,#eee6db) 0 2.75rem/58% 0.7rem no-repeat;
  animation:surface-skeleton 1.25s ease-in-out infinite;
}
@keyframes surface-skeleton{
  to{background-position:145% 0,0 0,0 1.5rem,0 2.75rem}
}

body.route-home,
body.route-products{
  --home-bg:#f5f0e7;
  --home-bg-soft:#f9f5ee;
  --home-navy:#142522;
  --home-navy-2:#203a34;
  --home-blue:#2f766f;
  --home-blue-deep:#1f514a;
  --home-blue-soft:#e7f1ec;
  --home-ink:#10231f;
  --home-ink-mid:#42554f;
  --home-ink-soft:#687a74;
  --home-border:rgba(16,35,31,0.13);
  --home-border-soft:rgba(16,35,31,0.08);
  --products-bg:#f2ede3;
  --products-panel:#fffdf7;
  --products-panel-warm:#f7f1e5;
  --products-ink:#10231f;
  --products-ink-mid:#42554f;
  --products-ink-soft:#687a74;
  --products-accent:#2f766f;
  --products-accent-deep:#1f514a;
  --products-clay:#92583b;
  --products-ochre:#b99044;
  --products-blue:#2f766f;
  --products-blue-deep:#1f514a;
  --products-border:rgba(16,35,31,0.13);
  --products-border-soft:rgba(16,35,31,0.08);
}
body.route-home .hero-visual,
body.route-products .products-header-visual{
  box-shadow:0 24px 56px rgba(47,118,111,0.12);
}
body.route-home .hero-visual::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 14%,rgba(255,255,255,0.18),transparent 26%),
    radial-gradient(circle at 84% 82%,rgba(146,88,59,0.16),transparent 32%);
}
body.route-home .hero-tag,
body.route-products .products-header-intro .section-tag,
body.route-home .feature-card-cat,
body.route-products .product-card-body .product-category-tag,
body.route-home .home-featured-link,
body.route-products .product-card-footer .card-link{
  color:var(--accent-deep);
}
body.route-home .hero-tag-dot{
  border-radius:3px;
  background:var(--brand-ochre);
}
body.route-home .trust-chip{
  background:rgba(255,255,255,0.72);
  border-color:rgba(16,35,31,0.09);
  box-shadow:inset 0 1px rgba(255,255,255,0.85);
}
body.route-home .trust-chip-dot{
  border-radius:4px;
  background:linear-gradient(135deg,#d0b36d,#8ca879);
}
body.route-home .btn-primary,
body.route-products .btn-cta-white{
  border-radius:8px;
}
body.route-home .btn-primary:hover{
  color:#fff;
}
body.route-home .stats-band-inner{
  background:linear-gradient(135deg,#142522 0%,#203a34 100%);
}
body.route-home .stats-band-inner::before{
  background:
    radial-gradient(ellipse at 12% 50%,rgba(185,144,68,0.22),transparent 58%),
    radial-gradient(ellipse at 88% 10%,rgba(255,255,255,0.08),transparent 45%);
}
body.route-home .stat-icon{stroke:#b6c7b9}
body.route-home .why-pollar-inner{
  background:
    linear-gradient(135deg,rgba(255,255,255,0.36),rgba(255,255,255,0)),
    #eee5d7;
}
body.route-home .why-icon{
  background:rgba(47,118,111,0.1);
}
body.route-home .why-icon svg{stroke:var(--accent-deep)}
body.route-home .step-num,
body.route-products .product-filter.is-active{
  background:var(--accent);
  border-color:var(--accent);
}
body.route-home .process-step:hover .step-num,
body.route-products .product-filter.is-active:hover{
  background:var(--accent-deep);
}
body.route-home .testimonial-mark{
  color:var(--brand-clay);
}
body.route-home .testimonial-avatar{
  border-radius:12px;
  background:linear-gradient(135deg,#92583b,#1f514a);
}
body.route-home .home-cta-band{
  background:
    linear-gradient(90deg,rgba(16,35,31,0.22) 0%,rgba(16,35,31,0.70) 42%,rgba(16,35,31,0.84) 100%),
    url("/media/home/finish-guidance-cta.png") center / cover no-repeat;
  box-shadow:0 18px 44px rgba(31,81,74,0.22);
}
body.route-products .home-cta-band{
  box-shadow:0 18px 44px rgba(31,81,74,0.18);
}
body.route-home .btn-cta-white,
body.route-products .btn-cta-white{
  color:var(--accent-deep);
  border-radius:8px;
}
body.route-home .btn-cta-outline,
body.route-products .btn-cta-outline{
  border-radius:8px;
}
body.route-products .product-filter{
  border-radius:8px;
  box-shadow:inset 0 1px rgba(255,255,255,0.8);
}
body.route-products .product-filter:hover{
  background:#edf5f1;
  color:var(--accent-deep);
}
body.route-products .product-filter.is-active:hover,
body.route-products .product-filter.is-active:focus-visible{
  background:var(--accent-deep);
  border-color:var(--accent-deep);
  color:#fff;
}
body.route-products .products-toolbar-sort-select select{
  border-radius:8px;
}
body.route-products .product-card .catalog-media.is-interior{background:linear-gradient(160deg,#f7efe0 0%,#e7d6b6 100%)}
body.route-products .product-card .catalog-media.is-exterior{background:linear-gradient(160deg,#e5eee8 0%,#c8dbcf 100%)}
body.route-products .product-card .catalog-media.is-specialty{background:linear-gradient(160deg,#efe9de 0%,#d9c9b2 100%)}
body.route-products .product-card .catalog-media.is-prep{background:linear-gradient(160deg,#f0eee7 0%,#d9d5c9 100%)}
body.route-products .product-availability-badge{
  border-radius:7px;
}

body.route-catalog #catalog,
body.route-reviews #reviews,
body.route-about #about,
body.route-contact #contact{
  max-width:1240px;
  padding-top:calc(var(--site-nav-height) + 2.4rem);
  text-align:left;
}
body.route-catalog #catalog,
body.route-reviews #reviews{
  display:grid;
  grid-template-columns:minmax(220px,0.58fr) minmax(0,1.42fr);
  gap:1.4rem 2rem;
  align-items:start;
}
body.route-catalog #catalog{
  grid-template-columns:1fr;
  max-width:1240px;
  gap:1.1rem;
  text-align:left;
}
body.route-catalog .catalog-browse-head{
  --catalog-eyebrow-row:1.55rem;
  --catalog-title-row:3.25rem;
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,260px) max-content;
  gap:clamp(1.5rem,3vw,3rem);
  align-items:start;
  padding:clamp(1.1rem,2.2vw,1.55rem);
  border:1px solid rgba(16,35,31,0.09);
  border-radius:14px;
  background:
    linear-gradient(90deg,rgba(255,253,247,0.94),rgba(246,240,226,0.72)),
    repeating-linear-gradient(90deg,rgba(16,35,31,0.03) 0 1px,transparent 1px 32px);
  box-shadow:0 24px 70px rgba(67,91,79,0.08);
}
body.route-catalog .catalog-browse-intro{
  position:relative;
  display:grid;
  grid-template-rows:var(--catalog-title-row) auto;
  align-items:start;
  padding-top:var(--catalog-eyebrow-row);
}
body.route-catalog .catalog-browse-intro .section-tag,
body.route-catalog .catalog-browse-intro .section-title,
body.route-catalog .catalog-browse-intro .section-desc{
  margin-left:0;
  margin-right:0;
}
body.route-catalog .catalog-browse-intro .section-tag{
  position:absolute;
  top:0;
  left:0;
  margin:0;
}
body.route-catalog .catalog-browse-intro .section-title{
  margin:0;
  font-size:clamp(2.35rem,4.1vw,3rem);
  line-height:1.02;
  letter-spacing:-0.035em;
  color:#10231f;
}
body.route-catalog .catalog-browse-intro .section-desc{
  margin:0;
  max-width:42rem;
  color:#53635d;
  font-size:0.96rem;
  line-height:1.6;
  font-weight:400;
}
body.route-catalog #catalog>.section-tag,
body.route-catalog #catalog>.section-title,
body.route-catalog #catalog>.section-desc,
body.route-reviews #reviews>.section-tag,
body.route-reviews #reviews>.section-title,
body.route-reviews #reviews>.section-desc{
  grid-column:1;
}
body.route-catalog .catalog-browse-toolbar,
body.route-catalog #catalog-browse-status,
body.route-catalog #catalog-browse-grid,
body.route-reviews #reviews-submit-panel,
body.route-reviews .reviews-toolbar,
body.route-reviews #reviews-status,
body.route-reviews #reviews-list,
body.route-reviews .reviews-load-more-shell{
  grid-column:2;
}
body.route-catalog .catalog-browse-head,
body.route-catalog #catalog-browse-status,
body.route-catalog #catalog-browse-grid{
  grid-column:1 / -1;
}
body.route-catalog .section-tag,
body.route-reviews .section-tag,
body.route-about .section-tag{
  color:var(--accent-deep);
}
body.route-catalog .catalog-browse-toolbar,
body.route-reviews .reviews-toolbar{
  margin:0;
  padding:1rem;
  border:1px solid rgba(16,35,31,0.09);
  border-radius:12px;
  background:rgba(255,255,255,0.68);
  box-shadow:inset 0 1px rgba(255,255,255,0.85);
}
body.route-catalog .catalog-browse-toolbar{
  display:contents;
  align-items:start;
  gap:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
body.route-catalog .catalog-browse-filter{
  grid-column:2;
  display:grid;
  grid-template-rows:auto auto;
  align-items:start;
  min-width:0;
  overflow:hidden;
  padding:calc(var(--catalog-eyebrow-row) + 1.15rem) 0 0;
  border:0;
  border-radius:0;
  background:transparent;
}
body.route-catalog .catalog-browse-filter .catalog-browse-label{
  align-self:start;
  margin-bottom:0.55rem;
}
body.route-catalog .catalog-browse-filter select{
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:42px;
  padding:0.58rem 0.7rem;
  border:0;
  border-radius:8px;
  background:#fffdf7;
  box-shadow:inset 0 0 0 1px rgba(31,55,48,0.12);
}
body.route-catalog .catalog-browse-filter select:focus,
body.route-catalog .catalog-browse-filter select:focus-visible{
  outline:none;
  box-shadow:inset 0 0 0 1px rgba(44,119,109,0.42);
}
body.route-catalog .catalog-download-shell{
  grid-column:3;
  display:grid;
  grid-template-rows:var(--catalog-title-row) auto auto;
  align-items:start;
  justify-items:end;
  min-width:0;
  padding-top:var(--catalog-eyebrow-row);
}
body.route-catalog .catalog-download-actions{
  display:contents;
  justify-content:flex-end;
}
body.route-catalog .catalog-download-actions .btn-secondary:first-child{
  grid-row:1;
  margin-top:0.35rem;
}
body.route-catalog .catalog-download-actions .btn-secondary:nth-child(2){
  grid-row:2;
}
body.route-catalog .catalog-download-actions .btn-secondary{
  min-height:42px;
  padding:0.72rem 0.9rem;
  border-radius:10px;
  white-space:nowrap;
}
body.route-catalog .catalog-download-hint{
  grid-row:3;
  margin-top:0.55rem;
}
body.route-catalog #catalog-browse-status{
  grid-column:1;
  padding:0 0.2rem;
  color:#607069;
  font-size:0.88rem;
}
body.route-catalog .catalog-browse-grid{
  grid-column:1;
  grid-template-columns:1fr;
  gap:0.85rem;
  margin-top:0;
}
body.route-catalog .catalog-browse-card,
body.route-reviews .review-card,
body.route-reviews .reviews-summary-card,
body.route-about .company-card,
body.route-contact .contact-card{
  border:1px solid rgba(16,35,31,0.09);
  border-radius:10px;
  background:rgba(255,255,255,0.74);
  box-shadow:0 18px 42px rgba(47,118,111,0.08);
}
body.route-catalog .catalog-browse-card{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:0;
  min-height:178px;
  padding:0;
  overflow:hidden;
  cursor:pointer;
  transition:transform 0.18s ease,box-shadow 0.18s ease,border-color 0.18s ease;
}
body.route-catalog .catalog-browse-card:focus-visible{
  outline:3px solid rgba(44,119,109,0.28);
  outline-offset:3px;
}
body.route-catalog .catalog-browse-card:hover{
  transform:translateY(-2px);
  border-color:rgba(44,119,109,0.24);
  box-shadow:0 24px 54px rgba(47,118,111,0.12);
}
body.route-catalog .catalog-browse-card__media{
  display:block;
  height:100%;
  min-height:178px;
}
body.route-catalog .catalog-browse-card__body{
  align-content:center;
  grid-template-columns:minmax(0,520px) minmax(150px,1fr);
  gap:0.42rem clamp(1.25rem,4vw,3.25rem);
  padding:1.1rem 1.15rem;
}
body.route-catalog .catalog-browse-card__body .product-category-tag,
body.route-catalog .catalog-browse-card__body h3,
body.route-catalog .catalog-browse-card__copy,
body.route-catalog .catalog-browse-card__link{
  grid-column:1;
}
body.route-catalog .catalog-browse-card__body h3{
  font-family:var(--font-display);
  font-size:clamp(1.2rem,2vw,1.45rem);
  line-height:1.08;
  letter-spacing:-0.02em;
}
body.route-catalog .catalog-browse-card__copy{
  display:-webkit-box;
  max-width:56ch;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  font-size:0.94rem;
  line-height:1.55;
}
body.route-catalog .catalog-browse-card__meta{
  grid-column:2;
  grid-row:1 / span 4;
  display:grid;
  align-content:center;
  justify-items:end;
  gap:0.4rem;
  min-width:150px;
  max-width:220px;
  justify-self:end;
  text-align:right;
}
body.route-catalog .catalog-browse-card__price{
  display:flex;
  gap:0.35rem;
  align-items:baseline;
  justify-content:flex-end;
}
body.route-catalog .catalog-browse-card__packs{
  max-width:16rem;
  color:#607069;
  font-size:0.8rem;
  line-height:1.45;
}
body.route-catalog .catalog-browse-card__link{
  margin-top:0.12rem;
  padding:0.38rem 0.56rem;
  border:1px solid rgba(44,119,109,0.18);
  border-radius:8px;
  background:rgba(44,119,109,0.045);
  color:#183c35;
  font-size:0.86rem;
  font-weight:600;
  transition:background 0.18s ease,border-color 0.18s ease,transform 0.18s ease;
}
body.route-catalog .catalog-browse-card:hover .catalog-browse-card__link,
body.route-catalog .catalog-browse-card__link:focus-visible{
  background:#183c35;
  border-color:#183c35;
  color:#fffdf7;
  transform:translateX(2px);
}
body.route-catalog .catalog-media-card{
  isolation:isolate;
  height:100%;
  min-height:178px;
  border:0;
  border-right:1px solid rgba(31,55,48,0.08);
  border-bottom:0;
  background:
    radial-gradient(circle at 50% 72%,rgba(185,138,69,0.16),transparent 34%),
    linear-gradient(145deg,#fbf7ed,#eee7d9);
}
body.route-catalog .catalog-media-card::before{
  opacity:0;
}
body.route-catalog .catalog-media-card::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,253,247,0.18),rgba(251,247,237,0.28)),
    radial-gradient(circle at 50% 74%,rgba(16,35,31,0.1),transparent 34%);
  mix-blend-mode:soft-light;
}
body.route-catalog .catalog-media-card.has-image{
  padding:0;
}
body.route-catalog .catalog-media-card.has-image .catalog-media-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 58%;
  filter:saturate(0.86) contrast(0.98) brightness(1.03);
  transform:scale(1.02);
  transition:transform 0.2s ease,filter 0.2s ease;
}
body.route-catalog .catalog-browse-card:hover .catalog-media-card.has-image .catalog-media-image{
  transform:scale(1.055);
  filter:saturate(0.9) contrast(1) brightness(1.04);
}
body.route-reviews .reviews-summary-card strong,
body.route-catalog .catalog-browse-card__price .product-price-amount{
  font-family:var(--font-display);
  letter-spacing:-0.02em;
}
body.route-reviews .review-card__head h3{
  font-family:var(--font-display);
  font-weight:500;
  letter-spacing:-0.01em;
}
body.route-reviews .review-stars{
  color:#d6d1c6;
}
body.route-reviews .review-star.is-filled{
  color:var(--brand-ochre);
}
body.route-about .company-grid{
  grid-template-columns:1.1fr 0.95fr 1.25fr;
  align-items:start;
}
body.route-about .company-card:nth-child(2){
  margin-top:2.2rem;
}
body.route-about .company-card:nth-child(3){
  margin-top:0.7rem;
}

/* About route editorial redesign */
body.route-about{
  --about-bg:#f1eadc;
  --about-ink:#10231f;
  --about-muted:#5b6b64;
  --about-green:#2f766f;
  --about-green-deep:#1f514a;
  --about-clay:#9a6042;
  --about-ochre:#b99044;
  --about-paper:#fffaf0;
  --about-border:rgba(16,35,31,0.12);
  background:
    radial-gradient(circle at 8% 18%,rgba(185,144,68,0.18),transparent 24rem),
    radial-gradient(circle at 92% 10%,rgba(47,118,111,0.12),transparent 28rem),
    var(--about-bg);
}
body.route-about #about{
  max-width:none;
  position:relative;
  padding:calc(var(--site-nav-height) + 2.1rem) clamp(1.25rem,4vw,4.5rem) 7.2rem;
  color:var(--about-ink);
  text-align:left;
  isolation:isolate;
  opacity:1 !important;
  transform:none !important;
}
body.route-about #about::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:0.36;
  background-image:
    linear-gradient(rgba(16,35,31,0.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(16,35,31,0.045) 1px,transparent 1px);
  background-size:40px 40px;
  mask-image:linear-gradient(180deg,#000 0%,transparent 82%);
}
body.route-about .about-hero,
body.route-about .company-grid,
body.route-about .about-proof-quote,
body.route-about .about-process-band{
  width:min(1260px,100%);
  margin-left:auto;
  margin-right:auto;
}
body.route-about .about-hero{
  display:grid;
  grid-template-columns:minmax(0,0.9fr) minmax(360px,0.62fr);
  gap:clamp(1.2rem,3vw,2.5rem);
  align-items:stretch;
}
body.route-about .about-hero-copy{
  position:relative;
  display:grid;
  align-content:center;
  min-height:clamp(18rem,28vw,22rem);
  padding:clamp(1.4rem,2.6vw,2.25rem);
  border:1px solid var(--about-border);
  border-radius:12px;
  background:
    linear-gradient(135deg,rgba(255,250,240,0.92),rgba(241,234,220,0.74)),
    radial-gradient(circle at 85% 18%,rgba(47,118,111,0.12),transparent 32%);
  box-shadow:0 26px 70px rgba(31,81,74,0.12);
  overflow:hidden;
}
body.route-about .about-hero-copy::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:0.42rem;
  background:linear-gradient(180deg,var(--about-green-deep),var(--about-green),var(--about-clay));
}
body.route-about .section-tag{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  margin:0 0 0.75rem;
  color:var(--about-clay);
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.02em;
  text-transform:none;
}
body.route-about .section-tag::before{
  content:"";
  width:0.55rem;
  height:0.55rem;
  border-radius:2px;
  background:var(--about-ochre);
}
body.route-about #about .section-title{
  max-width:24ch;
  margin:0;
  color:var(--about-ink);
  font-size:clamp(2.65rem,4.2vw,3.55rem);
  line-height:0.98;
  letter-spacing:0;
  text-wrap:balance;
}
body.route-about #about .section-desc{
  max-width:46rem;
  margin:1rem 0 0;
  color:var(--about-muted);
  font-size:clamp(1rem,1.3vw,1.16rem);
  line-height:1.7;
}
body.route-about .about-hero-visual{
  position:relative;
  display:block;
  margin:0;
  height:clamp(18rem,28vw,22rem);
  border-radius:12px;
  border:1px solid var(--about-border);
  background:rgba(255,250,240,0.78);
  overflow:hidden;
  box-shadow:0 26px 70px rgba(31,81,74,0.12);
}
body.route-about .about-hero-visual img{
  display:block;
  width:100%;
  height:100%;
  min-height:100%;
  object-fit:cover;
  filter:saturate(0.92) contrast(1.03);
}
body.route-about .about-hero-visual figcaption{
  position:absolute;
  left:1rem;
  right:1rem;
  bottom:1rem;
  padding:0.75rem 0.85rem;
  color:var(--about-ink);
  font-size:0.78rem;
  line-height:1.55;
  border:1px solid rgba(255,250,240,0.54);
  border-radius:8px;
  background:rgba(255,250,240,0.76);
  backdrop-filter:blur(12px);
}
body.route-about .company-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(0.9rem,2vw,1.4rem);
  align-items:stretch;
  margin-top:1.4rem;
}
body.route-about .company-card{
  position:relative;
  display:grid;
  grid-template-rows:auto auto 1fr;
  gap:0.7rem;
  min-height:16.5rem;
  padding:1.35rem;
  border:1px solid var(--about-border);
  border-radius:10px;
  background:rgba(255,250,240,0.78);
  box-shadow:0 18px 42px rgba(31,81,74,0.08);
  overflow:hidden;
}
body.route-about .company-card::after{
  content:"";
  position:absolute;
  inset:auto 1.35rem 1.35rem 1.35rem;
  height:1px;
  background:rgba(16,35,31,0.12);
}
body.route-about .company-card:nth-child(2){
  margin-top:0;
}
body.route-about .company-card:nth-child(3){
  margin-top:0;
}
body.route-about .about-card-index{
  color:var(--about-clay);
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:0.06em;
}
body.route-about .company-card h3{
  max-width:14ch;
  margin:0;
  color:var(--about-ink);
  font-family:var(--font-display);
  font-size:clamp(1.45rem,2vw,2rem);
  font-weight:500;
  line-height:1.04;
  letter-spacing:0;
  text-wrap:balance;
}
body.route-about .company-card p{
  max-width:32rem;
  margin:0;
  color:var(--about-muted);
  font-size:0.92rem;
  line-height:1.66;
}
body.route-about .about-proof-quote{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,0.34fr);
  gap:clamp(1.25rem,3vw,2rem);
  align-items:end;
  margin-top:1.35rem;
  padding:1.35rem;
  border:1px solid var(--about-border);
  border-radius:12px;
  background:
    linear-gradient(135deg,rgba(255,250,240,0.86),rgba(238,231,217,0.72)),
    radial-gradient(circle at 92% 18%,rgba(47,118,111,0.13),transparent 34%);
  box-shadow:0 18px 42px rgba(31,81,74,0.08);
}
body.route-about .about-proof-quote p{
  margin:0;
  color:var(--about-ink);
  font-family:var(--font-display);
  font-size:clamp(1.55rem,2.6vw,2.55rem);
  font-weight:500;
  line-height:1.08;
  letter-spacing:0;
  text-wrap:balance;
}
body.route-about .about-proof-quote footer{
  display:grid;
  gap:0.35rem;
  padding:0;
  max-width:none;
  margin:0;
  border:0;
}
body.route-about .about-proof-quote strong{
  color:var(--about-ink);
  font-size:0.94rem;
}
body.route-about .about-proof-quote span{
  color:var(--about-muted);
  font-size:0.82rem;
  line-height:1.45;
}
body.route-about .about-proof-quote a,
body.route-about .about-secondary-link{
  display:inline-flex;
  align-items:center;
  gap:0.35rem;
  width:max-content;
  color:var(--about-green-deep);
  font-size:0.84rem;
  font-weight:700;
  text-decoration:none;
}
body.route-about .about-proof-quote a{
  margin-top:0.55rem;
}
body.route-about .about-proof-quote a:hover,
body.route-about .about-secondary-link:hover{
  color:var(--about-clay);
}
body.route-about .about-process-band{
  display:grid;
  grid-template-columns:minmax(240px,0.42fr) minmax(0,1fr);
  gap:clamp(1.25rem,3vw,2rem);
  align-items:start;
  margin-top:1.35rem;
  padding:clamp(1.4rem,3vw,2.4rem);
  border:1px solid var(--about-border);
  border-radius:12px;
  background:rgba(31,81,74,0.1);
}
body.route-about .about-process-band h3{
  margin:0;
  color:var(--about-ink);
  font-family:var(--font-display);
  font-size:clamp(1.8rem,3.2vw,3rem);
  font-weight:500;
  line-height:1.02;
  letter-spacing:0;
}
body.route-about .about-process-head{
  display:grid;
  gap:0.8rem;
}
body.route-about .about-process-head p{
  max-width:24rem;
  margin:0;
  color:var(--about-muted);
  font-size:0.92rem;
  line-height:1.62;
}
body.route-about .about-process-band ol{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0.9rem;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:about-step;
}
body.route-about .about-process-band li{
  counter-increment:about-step;
  display:grid;
  gap:0.45rem;
  padding:1.1rem;
  border-radius:8px;
  background:rgba(255,250,240,0.72);
  color:var(--about-muted);
  font-size:0.92rem;
  line-height:1.55;
}
body.route-about .about-process-band li::before{
  content:counter(about-step,decimal-leading-zero);
  color:var(--about-green-deep);
  font-weight:700;
  font-size:0.78rem;
  letter-spacing:0.06em;
}
body.route-about .about-process-band span{
  display:block;
}
body.route-about .about-actions{
  grid-column:2;
  display:flex;
  align-items:center;
  gap:0.9rem;
  flex-wrap:wrap;
  margin-top:-0.8rem;
}
body.route-about .about-actions .btn-primary{
  border-radius:8px;
  background:var(--about-green-deep);
  box-shadow:0 16px 34px rgba(31,81,74,0.22);
}
body.route-contact .contact-layout{
  align-items:start;
}
body.route-contact .contact-card-form{
  min-height:auto;
}
body.route-contact input,
body.route-contact textarea,
body.route-contact select{
  border-radius:8px;
  background:#fffdf8;
}
body.route-contact .contact-inquiry-option{
  border-radius:8px;
  background:#fffdf8;
}
body.route-contact .contact-inquiry-option.is-selected,
body.route-contact .contact-inquiry-option[aria-checked="true"]{
  border-color:rgba(47,118,111,0.36);
  background:#edf5f1;
  box-shadow:inset 3px 0 0 var(--accent);
}

/* Contact route premium redesign */
body.route-contact{
  --contact-bg:#f4eddf;
  --contact-ink:#10231f;
  --contact-muted:#53665f;
  --contact-soft:#e8ddca;
  --contact-paper:#fffcf5;
  --contact-green:#2f766f;
  --contact-green-deep:#1f514a;
  --contact-clay:#92583b;
  --contact-ochre:#b99044;
  --contact-border:rgba(16,35,31,0.12);
  --contact-shadow:0 26px 70px rgba(31,81,74,0.13);
  background:
    radial-gradient(circle at 18% 12%,rgba(185,144,68,0.18),transparent 30rem),
    radial-gradient(circle at 84% 4%,rgba(47,118,111,0.12),transparent 32rem),
    var(--contact-bg);
}
body.route-contact #contact{
  max-width:none;
  position:relative;
  padding:calc(var(--site-nav-height) + 1.55rem) clamp(1.25rem,4vw,4.5rem) 6.4rem;
  color:var(--contact-ink);
  isolation:isolate;
}
body.route-contact #contact::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:0.42;
  background-image:
    linear-gradient(rgba(16,35,31,0.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(16,35,31,0.045) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(180deg,#000 0%,transparent 74%);
}
body.route-contact .back-link{
  width:fit-content;
  margin:0 auto 1rem max(calc((100% - 1260px) / 2),0px);
  padding:0.46rem 0.72rem;
  border:1px solid rgba(16,35,31,0.1);
  border-radius:8px;
  background:rgba(255,252,245,0.62);
  color:var(--contact-muted);
  font-size:0.82rem;
}
body.route-contact #contact-back-product:not([data-back-route]){
  display:none;
}
body.route-contact .contact-head,
body.route-contact .contact-layout{
  width:min(1260px,100%);
  margin-left:auto;
  margin-right:auto;
}
body.route-contact .contact-head{
  grid-template-columns:minmax(320px,0.76fr) minmax(420px,1fr);
  gap:clamp(1.25rem,3vw,3rem);
  align-items:stretch;
  position:relative;
  padding:clamp(1rem,2vw,1.45rem) clamp(1.2rem,2.6vw,2rem);
  border:1px solid rgba(16,35,31,0.1);
  border-radius:12px;
  background:
    linear-gradient(135deg,rgba(255,252,245,0.9),rgba(244,237,223,0.72)),
    radial-gradient(circle at 92% 12%,rgba(47,118,111,0.12),transparent 32%);
  box-shadow:0 24px 56px rgba(31,81,74,0.09);
  overflow:hidden;
}
body.route-contact .contact-head::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:0.42rem;
  background:linear-gradient(180deg,var(--contact-green-deep),var(--contact-green),var(--contact-clay));
}
body.route-contact .contact-head-copy{
  display:grid;
  gap:0.42rem;
  align-content:center;
  padding-left:clamp(0.2rem,1vw,0.7rem);
  position:relative;
  z-index:1;
}
body.route-contact .contact-kicker{
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  color:var(--contact-clay);
  font-size:0.7rem;
  font-weight:700;
  letter-spacing:0.02em;
  text-transform:none;
}
body.route-contact .contact-kicker::before{
  content:"";
  width:0.55rem;
  height:0.55rem;
  border-radius:2px;
  background:var(--contact-ochre);
}
body.route-contact #contact-page-title{
  font-size:clamp(2.2rem,3vw,3rem);
  line-height:0.96;
  letter-spacing:0;
  color:var(--contact-ink);
  max-width:13ch;
  margin:0;
  text-wrap:balance;
}
body.route-contact #contact-page-description{
  max-width:38rem;
  margin:0;
  color:var(--contact-muted);
  font-size:clamp(0.92rem,1.05vw,1rem);
  line-height:1.55;
}
body.route-contact .contact-response-card{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-self:stretch;
  padding:0 0 0 clamp(1.05rem,1.6vw,1.45rem);
  border-left:1px solid rgba(16,35,31,0.12);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.route-contact .contact-response-card::after{
  content:"";
  position:absolute;
  left:clamp(1.05rem,1.6vw,1.45rem);
  right:0;
  bottom:-0.7rem;
  height:1px;
  background:rgba(16,35,31,0.14);
  border-radius:0;
}
body.route-contact .contact-response-mark{
  display:inline-block;
  width:0.85rem;
  height:0.85rem;
  margin:0 0 0.5rem;
  border-radius:3px;
  background:
    linear-gradient(90deg,rgba(255,255,255,0.56),transparent 42%),
    linear-gradient(135deg,var(--contact-green-deep),var(--contact-green));
  box-shadow:none;
}
body.route-contact .contact-response-card h3{
  font-family:var(--font-display);
  color:var(--contact-ink);
  font-size:clamp(1.08rem,1.45vw,1.42rem);
  font-weight:500;
  line-height:1.1;
  letter-spacing:0;
  margin:0 0 0.58rem;
  text-wrap:balance;
}
body.route-contact .contact-response-card ul{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0.55rem;
  margin:0 0 0.72rem;
  padding:0;
  list-style:none;
}
body.route-contact .contact-response-card li{
  position:relative;
  padding-left:1rem;
  color:var(--contact-muted);
  font-size:0.82rem;
  line-height:1.42;
}
body.route-contact .contact-response-card li::before{
  content:"";
  position:absolute;
  left:0;
  top:0.68em;
  width:0.36rem;
  height:0.36rem;
  border-radius:2px;
  background:var(--contact-green);
}
body.route-contact .contact-response-card strong{
  display:block;
  color:var(--contact-ink);
  font-size:0.78rem;
  font-weight:700;
}
body.route-contact .contact-layout{
  margin-top:1.35rem;
  grid-template-columns:minmax(0,1fr) minmax(340px,390px);
  gap:clamp(1.25rem,3vw,2rem);
  align-items:start;
}
body.route-contact .contact-card{
  border:1px solid var(--contact-border);
  border-radius:10px;
  background:rgba(255,252,245,0.82);
  box-shadow:var(--contact-shadow);
}
body.route-contact .contact-card-form{
  padding:clamp(1.4rem,3vw,2.5rem);
  overflow:hidden;
}
body.route-contact .contact-card-form::before{
  content:"";
  display:block;
  height:0.42rem;
  margin:calc(clamp(1.4rem,3vw,2.5rem) * -1) calc(clamp(1.4rem,3vw,2.5rem) * -1) 1.8rem;
  background:linear-gradient(90deg,var(--contact-green-deep),var(--contact-green),var(--contact-clay));
}
body.route-contact .contact-form-intro{
  display:grid;
  gap:0.4rem;
  max-width:38rem;
  margin-bottom:1.55rem;
}
body.route-contact .contact-form-intro h3{
  font-family:var(--font-display);
  font-size:clamp(1.55rem,2.4vw,2.2rem);
  line-height:1.04;
  letter-spacing:0;
  color:var(--contact-ink);
  margin:0;
}
body.route-contact .contact-form-intro p:last-child{
  color:var(--contact-muted);
  font-size:0.96rem;
  line-height:1.68;
  margin:0;
  max-width:52rem;
}
body.route-contact .contact-card-form form{
  display:grid;
  gap:0.1rem;
}
body.route-contact .contact-form-row-split{
  grid-template-columns:1fr;
}
body.route-contact .form-field{
  margin-bottom:1.05rem;
}
body.route-contact .contact-field-label{
  color:var(--contact-ink);
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:0.01em;
}
body.route-contact .field-optional{
  color:rgba(83,102,95,0.78);
}
body.route-contact input,
body.route-contact textarea,
body.route-contact select{
  border:1px solid rgba(16,35,31,0.15);
  border-radius:8px;
  background:rgba(255,255,255,0.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.92);
}
body.route-contact input:hover:not(:focus),
body.route-contact textarea:hover:not(:focus){
  border-color:rgba(47,118,111,0.38);
  background:#fff;
}
body.route-contact input:focus,
body.route-contact textarea:focus,
body.route-contact select:focus{
  border-color:var(--contact-green);
  box-shadow:0 0 0 4px rgba(47,118,111,0.13),inset 0 1px 0 rgba(255,255,255,0.92);
}
body.route-contact .contact-inquiry-options{
  gap:0.75rem;
}
body.route-contact .contact-inquiry-option{
  position:relative;
  min-height:116px;
  padding-right:2.85rem;
  border-radius:9px;
  border-color:rgba(16,35,31,0.13);
  background:rgba(255,255,255,0.68);
  box-shadow:inset 0 1px rgba(255,255,255,0.92);
  transition:transform 0.22s ease,border-color 0.22s ease,background-color 0.22s ease,box-shadow 0.22s ease;
}
body.route-contact .contact-inquiry-option:hover{
  border-color:rgba(47,118,111,0.36);
  background:#fffdf8;
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(31,81,74,0.1);
}
body.route-contact .contact-inquiry-option:active,
body.route-contact .contact-submit:active,
body.route-contact .contact-secondary-link:active{
  transform:translateY(1px);
}
body.route-contact .contact-inquiry-option strong{
  color:var(--contact-ink);
}
body.route-contact .contact-inquiry-option span{
  color:var(--contact-muted);
}
body.route-contact .contact-inquiry-option.is-selected,
body.route-contact .contact-inquiry-option[aria-checked="true"]{
  border-color:rgba(31,81,74,0.72);
  background:linear-gradient(135deg,#e2f0ea,#f7fbf8);
  box-shadow:inset 5px 0 0 var(--contact-green-deep),0 14px 30px rgba(31,81,74,0.14);
}
body.route-contact .contact-inquiry-option.is-selected::after,
body.route-contact .contact-inquiry-option[aria-checked="true"]::after{
  content:"\2713";
  position:absolute;
  top:0.85rem;
  right:0.85rem;
  width:1.35rem;
  height:1.35rem;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--contact-green-deep);
  color:#fff;
  font-size:0.82rem;
  font-weight:700;
}
body.route-contact .contact-optional-details{
  margin:0 0 1.05rem;
  border:1px solid rgba(16,35,31,0.1);
  border-radius:9px;
  background:rgba(255,255,255,0.46);
  overflow:hidden;
}
body.route-contact .contact-optional-details summary{
  cursor:pointer;
  padding:0.9rem 1rem;
  color:var(--contact-ink);
  font-size:0.86rem;
  font-weight:700;
  list-style:none;
}
body.route-contact .contact-optional-details summary::-webkit-details-marker{
  display:none;
}
body.route-contact .contact-optional-details summary::after{
  content:"+";
  float:right;
  color:var(--contact-green-deep);
}
body.route-contact .contact-optional-details[open] summary::after{
  content:"-";
}
body.route-contact .contact-optional-details .contact-form-row{
  padding:0 1rem 1rem;
  gap:0;
}
body.route-contact .contact-submit{
  justify-self:start;
  width:auto;
  min-width:min(100%,280px);
  border-radius:8px;
  background:var(--contact-green-deep);
  box-shadow:0 16px 34px rgba(31,81,74,0.22);
}
body.route-contact .contact-submit:hover{
  background:var(--contact-green);
  box-shadow:0 18px 38px rgba(31,81,74,0.27);
}
body.route-contact .contact-secondary-link{
  justify-self:start;
  color:var(--contact-muted);
}
body.route-contact .contact-secondary-link:hover{
  color:var(--contact-green-deep);
}
body.route-contact .contact-submit-note{
  max-width:42rem;
  margin:0 0 0.35rem;
  color:var(--contact-muted);
  font-size:0.84rem;
  line-height:1.6;
}
body.route-contact .contact-card-info{
  padding:1.35rem 1.45rem 0;
  overflow:hidden;
  gap:0;
}
body.route-contact .contact-material-image{
  margin:0 -1.45rem;
  aspect-ratio:16/9;
  background:#d8cbb8;
  overflow:hidden;
  border-top:1px solid rgba(16,35,31,0.08);
  border-bottom:1px solid rgba(16,35,31,0.08);
}
body.route-contact .contact-material-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(0.92) contrast(1.03);
  transform:scale(1.03);
}
body.route-contact .contact-info-head,
body.route-contact .contact-details,
body.route-contact .contact-spec-list{
  padding-left:0;
  padding-right:0;
}
body.route-contact .contact-info-head{
  padding-top:0;
  padding-bottom:1rem;
}
body.route-contact .contact-info-head h3{
  color:var(--contact-ink);
  font-size:clamp(1.45rem,2.4vw,2.2rem);
  letter-spacing:0;
  margin:0;
}
body.route-contact .contact-info-head p{
  color:var(--contact-muted);
  font-size:0.9rem;
}
body.route-contact .detail-item{
  padding:0.95rem 0;
  border-color:rgba(16,35,31,0.1);
}
body.route-contact .detail-title{
  color:var(--contact-clay);
  font-size:0.78rem;
  letter-spacing:0.01em;
  text-transform:none;
  font-weight:700;
}
body.route-contact .detail-text{
  color:var(--contact-ink);
}
body.route-contact .detail-text a{
  color:var(--contact-green-deep);
  text-decoration-thickness:1px;
  text-underline-offset:0.22em;
}
body.route-contact .detail-text a:hover{
  color:var(--contact-clay);
}
body.route-contact .contact-spec-list{
  margin:0 -1.45rem;
  padding:1rem 1.45rem 1.35rem;
  background:rgba(47,118,111,0.08);
  border-top:1px solid rgba(16,35,31,0.08);
}
body.route-contact .contact-spec-list ul{
  display:grid;
  gap:0.55rem;
  margin:0.75rem 0 0;
  padding:0;
  list-style:none;
}
body.route-contact .contact-spec-list li{
  position:relative;
  padding-left:1.05rem;
  color:var(--contact-muted);
  font-size:0.84rem;
  line-height:1.55;
}
body.route-contact .contact-spec-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:0.66em;
  width:0.38rem;
  height:0.38rem;
  border-radius:2px;
  background:var(--contact-green);
}
body.route-contact .contact-form-banner{
  border-radius:8px;
}
body.route-contact .contact-success-icon{
  border-radius:12px;
}
body.route-contact .footer-quote-link{
  display:none;
}
body:not(.route-contact) .footer-contact-alt{
  display:none;
}

@media (max-width:980px){
  body.route-contact .contact-head,
  body.route-contact .contact-layout{
    grid-template-columns:1fr;
  }
  body.route-contact .contact-head{
    gap:1rem;
  }
  body.route-contact .contact-card-info{
    position:static;
  }
  body.route-contact .contact-response-card{
    padding:0.95rem 0 0;
    border-left:0;
    border-top:1px solid rgba(16,35,31,0.12);
  }
  body.route-contact .contact-response-card ul{
    grid-template-columns:1fr;
  }
  body.route-contact .contact-response-card::after{
    display:none;
  }
  body.route-contact #contact-page-title{
    max-width:15ch;
  }
}
@media (max-width:640px){
  body.route-contact #contact{
    padding-top:calc(var(--site-nav-height) + 1.25rem);
    padding-bottom:5rem;
  }
  body.route-contact #contact-page-title{
    font-size:clamp(2.2rem,12vw,3rem);
  }
  body.route-contact .contact-card-form{
    padding:1.2rem;
  }
  body.route-contact .contact-head{
    padding:1.2rem;
  }
  body.route-contact .contact-response-card{
    padding:1.2rem 0 0;
  }
  body.route-contact .contact-submit{
    width:100%;
  }
  body.route-contact .contact-card-form::before{
    margin:-1.2rem -1.2rem 1.45rem;
  }
  body.route-contact .contact-inquiry-option{
    min-height:auto;
  }
  body.route-contact .contact-info-head,
  body.route-contact .contact-details,
  body.route-contact .contact-spec-list{
    padding-left:1.15rem;
    padding-right:1.15rem;
  }
  body.route-contact .contact-card-info{
    padding:1.15rem 1.15rem 0;
  }
  body.route-contact .contact-material-image,
  body.route-contact .contact-spec-list{
    margin-left:-1.15rem;
    margin-right:-1.15rem;
  }
}
body.route-home footer,
body.route-products footer{
  border-top-color:rgba(16,35,31,0.1);
}
body.route-home .footer-col a[href^="mailto:"],
body.route-products .footer-col a[href^="mailto:"]{
  color:var(--home-ink-soft);
}

body.route-reviews #reviews{
  --reviews-ink:#10231f;
  --reviews-muted:#66736d;
  --reviews-paper:#fbf7ed;
  --reviews-surface:#fffdf7;
  --reviews-line:rgba(31,55,48,0.12);
  --reviews-wash:rgba(93,120,104,0.11);
  display:block;
  max-width:1280px;
  padding:calc(var(--site-nav-height) + 1.15rem) clamp(1.25rem,3vw,3rem) 5.8rem;
  position:relative;
  color:var(--reviews-ink);
}
body.route-reviews #reviews::before{
  content:'';
  position:absolute;
  inset:calc(var(--site-nav-height) + 0.55rem) clamp(1.25rem,3vw,3rem) auto;
  height:clamp(128px,17vw,190px);
  border-radius:14px;
  background:
    linear-gradient(90deg,rgba(251,247,237,0.96),rgba(251,247,237,0.74)),
    repeating-linear-gradient(90deg,rgba(16,35,31,0.045) 0 1px,transparent 1px 34px),
    repeating-linear-gradient(0deg,rgba(16,35,31,0.035) 0 1px,transparent 1px 34px);
  box-shadow:inset 0 1px rgba(255,255,255,0.78);
  pointer-events:none;
  z-index:-1;
}
body.route-reviews .reviews-masthead{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:0;
  align-items:center;
  min-height:clamp(128px,17vw,190px);
  padding:clamp(1.15rem,2.7vw,2rem) clamp(0.25rem,2vw,2rem);
}
body.route-reviews .reviews-masthead__copy{
  max-width:1040px;
}
body.route-reviews .section-tag{
  color:#4f6d61;
  letter-spacing:0.2em;
  margin-bottom:0.55rem;
}
body.route-reviews #reviews .section-title{
  max-width:16ch;
  margin-bottom:0.55rem;
  font-size:clamp(2.25rem,4vw,2.85rem);
  line-height:1.03;
  letter-spacing:-0.035em;
  color:var(--reviews-ink);
  text-wrap:balance;
}
body.route-reviews #reviews .section-desc{
  max-width:72rem;
  color:#53635d;
  font-size:0.98rem;
  line-height:1.62;
  font-weight:400;
}
body.route-reviews .reviews-layout{
  display:grid;
  grid-template-columns:minmax(0,1.42fr) minmax(280px,0.62fr);
  grid-template-areas:
    'toolbar toolbar'
    'feed compose';
  gap:clamp(0.95rem,1.8vw,1.2rem) clamp(1.2rem,2.2vw,1.8rem);
  align-items:start;
}
body.route-reviews .reviews-compose-panel,
body.route-reviews .reviews-feed-panel{
  border:1px solid var(--reviews-line);
  border-radius:14px;
  background:rgba(255,253,247,0.88);
  box-shadow:0 24px 70px rgba(67,91,79,0.1);
}
body.route-reviews .reviews-compose-panel{
  grid-area:compose;
  position:sticky;
  top:calc(var(--site-nav-height) + var(--global-role-notice-height) + 1.2rem);
  padding:clamp(1.15rem,2.4vw,1.65rem);
}
body.route-reviews .reviews-feed-panel{
  grid-area:feed;
  padding:clamp(1rem,2.2vw,1.4rem);
  background:
    linear-gradient(180deg,rgba(255,253,247,0.94),rgba(246,240,226,0.7)),
    repeating-linear-gradient(90deg,rgba(16,35,31,0.03) 0 1px,transparent 1px 28px);
}
body.route-reviews #reviews-submit-panel{
  margin:0;
}
body.route-reviews .detail-panel-review--standalone{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.route-reviews .detail-panel-review__head{
  display:block;
  margin-bottom:1.2rem;
}
body.route-reviews .detail-panel-review__head h3,
body.route-reviews .detail-panel-review--success h3{
  margin:0 0 0.45rem;
  font-size:clamp(1.35rem,2.2vw,1.65rem);
  line-height:1.08;
  color:var(--reviews-ink);
}
body.route-reviews .detail-panel-review__head p,
body.route-reviews .review-confirmation-copy{
  max-width:34rem;
  color:#607069;
  font-size:0.94rem;
  line-height:1.7;
}
body.route-reviews .review-form{
  gap:0.92rem;
}
body.route-reviews .form-field{
  margin:0;
}
body.route-reviews .form-field label,
body.route-reviews .review-rating-label{
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
  color:#364943;
}
body.route-reviews .form-field input,
body.route-reviews .form-field select,
body.route-reviews .form-field textarea{
  border-color:rgba(31,55,48,0.18);
  border-radius:10px;
  background:rgba(255,255,255,0.7);
  box-shadow:inset 0 1px rgba(255,255,255,0.9);
}
body.route-reviews .form-field input:hover:not(:focus),
body.route-reviews .form-field select:hover:not(:focus),
body.route-reviews .form-field textarea:hover:not(:focus){
  border-color:rgba(31,55,48,0.32);
}
body.route-reviews .form-field input:focus,
body.route-reviews .form-field select:focus,
body.route-reviews .form-field textarea:focus{
  border-color:#2c776d;
  box-shadow:0 0 0 3px rgba(44,119,109,0.13);
}
body.route-reviews .review-rating-picker{
  gap:0.52rem;
}
body.route-reviews .review-rating-helper{
  margin:-0.2rem 0 0.45rem;
  color:#77827d;
  font-size:0.78rem;
}
body.route-reviews .review-rating-star{
  width:46px;
  height:46px;
  border-radius:10px;
  border-color:rgba(185,138,69,0.26);
  background:#fffdf7;
  color:#b8aa96;
  font-size:1.55rem;
  box-shadow:inset 0 -1px rgba(31,55,48,0.08);
  transform:translateY(0);
}
body.route-reviews .review-rating-star.is-selected,
body.route-reviews .review-rating-star.is-previewed,
body.route-reviews .review-rating-star:hover{
  color:#9f681f;
  background:#fff6df;
  border-color:rgba(178,120,36,0.68);
  box-shadow:0 12px 24px rgba(178,120,36,0.16);
  transform:translateY(-1px);
}
body.route-reviews .review-rating-star:active{
  transform:translateY(0) scale(0.98);
}
body.route-reviews .review-form-actions .btn-primary{
  width:100%;
  justify-content:center;
  border-radius:10px;
  background:#10231f;
}
body.route-reviews .review-form-actions .btn-primary:hover{
  background:#183c35;
}
body.route-reviews .review-posting-identity{
  display:flex;
  align-items:baseline;
  gap:0.4rem;
  padding:0.1rem 0 0.25rem;
  border:0;
  border-radius:0;
  background:transparent;
}
body.route-reviews .review-posting-identity span{
  color:#77827d;
  font-size:0.8rem;
}
body.route-reviews .review-posting-identity strong{
  color:#10231f;
  font-size:0.98rem;
  line-height:1.25;
  overflow-wrap:anywhere;
}
body.route-reviews .quantity-hint,
body.route-reviews .review-form-meta{
  color:#77827d;
  font-size:0.78rem;
}
body.route-reviews .reviews-toolbar{
  grid-area:toolbar;
  display:grid;
  grid-template-columns:minmax(210px,0.42fr) minmax(220px,0.36fr) minmax(260px,1fr);
  gap:1rem;
  align-items:stretch;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.route-reviews .reviews-filter-shell{
  min-width:0;
  padding:0.95rem;
  border:1px solid var(--reviews-line);
  border-radius:12px;
  background:rgba(255,255,255,0.62);
}
body.route-reviews .reviews-publishing-note{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:0.32rem;
  min-width:0;
  padding:0.85rem 0.95rem;
  border:1px solid rgba(31,55,48,0.08);
  border-radius:12px;
  background:rgba(255,255,255,0.42);
}
body.route-reviews .catalog-browse-label,
body.route-reviews .reviews-feed-kicker{
  color:#4f6d61;
  font-size:0.68rem;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
}
body.route-reviews .reviews-filter-shell select{
  min-height:42px;
  padding:0.58rem 0.7rem;
  border:0;
  border-radius:8px;
  background:#fffdf7;
  box-shadow:inset 0 0 0 1px rgba(31,55,48,0.12);
}
body.route-reviews .reviews-summary{
  display:block;
}
body.route-reviews .reviews-summary-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:0.8rem;
  min-width:0;
  height:100%;
  padding:0.9rem 1rem;
  border:1px solid var(--reviews-line);
  border-radius:12px;
  background:rgba(255,255,255,0.62);
  color:var(--reviews-ink);
  box-shadow:inset 0 1px rgba(255,255,255,0.9);
}
body.route-reviews .reviews-summary-card strong{
  color:#10231f;
  font-size:clamp(1.55rem,2.9vw,2rem);
  line-height:0.95;
  font-variant-numeric:tabular-nums;
}
body.route-reviews .reviews-summary-card span{
  color:#607069;
  font-size:0.78rem;
  text-align:right;
}
body.route-reviews .reviews-summary-card b{
  color:#263a34;
  font:inherit;
}
body.route-reviews .reviews-feed-kicker{
  margin:0;
}
body.route-reviews .reviews-publishing-note p:not(.reviews-feed-kicker){
  margin:0;
  color:#607069;
  font-size:0.86rem;
  line-height:1.45;
}
body.route-reviews #reviews-status{
  margin:0 0 1rem;
  color:#596961;
  font-size:0.88rem;
  text-align:right;
}
body.route-reviews #reviews-status[hidden]{
  display:none;
}
body.route-reviews #reviews-status.is-loading,
body.route-reviews #reviews-status.is-empty,
body.route-reviews #reviews-status.is-error{
  width:100%;
  margin-top:0.85rem;
  padding:1rem;
  border-radius:12px;
  text-align:left;
  background:rgba(255,253,247,0.78);
  border:1px solid var(--reviews-line);
}
body.route-reviews .reviews-list{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:0.9rem;
  margin-top:0;
}
body.route-reviews .review-card{
  position:relative;
  display:grid;
  gap:0.9rem;
  padding:1.05rem 1.1rem 1.05rem 1.35rem;
  border:0;
  border-radius:12px;
  background:rgba(255,253,247,0.82);
  box-shadow:inset 3px 0 #b98a45,0 12px 32px rgba(67,91,79,0.07);
}
body.route-reviews .review-card:nth-child(even){
  background:rgba(255,255,255,0.74);
}
body.route-reviews .review-card__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:1rem;
}
body.route-reviews .review-card__head h3{
  font-size:1.26rem;
  line-height:1.15;
  color:var(--reviews-ink);
}
body.route-reviews .review-card__product{
  margin-top:0.2rem;
  color:#5f786d;
  font-size:0.84rem;
}
body.route-reviews .review-card__product a{
  color:inherit;
  border-bottom:1px solid rgba(95,120,109,0.35);
}
body.route-reviews .review-card__meta{
  justify-items:end;
  gap:0.2rem;
  color:#718078;
  font-size:0.8rem;
  font-variant-numeric:tabular-nums;
}
body.route-reviews .review-stars{
  color:#d8d1c5;
  font-size:0.98rem;
  letter-spacing:0.03em;
}
body.route-reviews .review-star.is-filled{
  color:#b27824;
}
body.route-reviews .review-card__body{
  max-width:64ch;
  color:#33443e;
  font-size:0.98rem;
  line-height:1.72;
  overflow-wrap:anywhere;
}
body.route-reviews .reviews-load-more-shell{
  justify-content:flex-start;
  margin-top:1rem;
}
body.route-reviews .reviews-load-more-shell .btn-secondary{
  border-radius:10px;
}
body.route-reviews .reviews-load-more-shell .btn-secondary[hidden]{
  display:none;
}

@media (max-width:900px){
  body.route-catalog #catalog,
  body.route-reviews #reviews{
    grid-template-columns:1fr;
  }
  body.route-catalog #catalog>.section-tag,
  body.route-catalog #catalog>.section-title,
  body.route-catalog #catalog>.section-desc,
  body.route-catalog .catalog-browse-toolbar,
  body.route-catalog #catalog-browse-status,
  body.route-catalog #catalog-browse-grid,
  body.route-reviews #reviews>.section-tag,
  body.route-reviews #reviews>.section-title,
  body.route-reviews #reviews>.section-desc,
  body.route-reviews #reviews-submit-panel,
  body.route-reviews .reviews-toolbar,
  body.route-reviews #reviews-status,
  body.route-reviews #reviews-list,
  body.route-reviews .reviews-load-more-shell{
    grid-column:1;
  }
  body.route-catalog .catalog-browse-grid,
  body.route-about .company-grid{
    grid-template-columns:1fr;
  }
  body.route-catalog .catalog-browse-head,
  body.route-catalog .catalog-browse-toolbar{
    grid-template-columns:1fr;
  }
  body.route-catalog .catalog-browse-head{
    --catalog-eyebrow-row:0;
    --catalog-title-row:auto;
  }
  body.route-catalog .catalog-browse-toolbar{
    display:grid;
    gap:1rem;
  }
  body.route-catalog .catalog-browse-intro,
  body.route-catalog .catalog-browse-filter,
  body.route-catalog .catalog-download-shell{
    grid-column:1;
    padding-top:0;
  }
  body.route-catalog .catalog-browse-intro{
    display:block;
  }
  body.route-catalog .catalog-browse-intro .section-tag{
    position:static;
    margin-bottom:0.55rem;
  }
  body.route-catalog .catalog-browse-filter,
  body.route-catalog .catalog-download-shell{
    grid-template-rows:auto;
  }
  body.route-catalog .catalog-download-actions{
    display:grid;
    gap:0.65rem;
  }
  body.route-catalog .catalog-download-actions .btn-secondary:first-child,
  body.route-catalog .catalog-download-actions .btn-secondary:nth-child(2),
  body.route-catalog .catalog-download-hint{
    grid-row:auto;
  }
  body.route-catalog .catalog-download-shell,
  body.route-catalog .catalog-download-actions{
    justify-items:start;
    justify-content:flex-start;
  }
  body.route-catalog .catalog-download-hint{
    text-align:left;
  }
  body.route-catalog .catalog-browse-card{
    grid-template-columns:150px minmax(0,1fr);
  }
  body.route-catalog .catalog-browse-card__body{
    grid-template-columns:1fr;
  }
  body.route-catalog .catalog-browse-card__meta{
    grid-column:1;
    grid-row:auto;
    justify-items:start;
    text-align:left;
  }
  body.route-catalog .catalog-browse-card__price{
    justify-content:flex-start;
  }
  body.route-about .about-hero,
  body.route-about .about-proof-quote,
  body.route-about .about-process-band{
    grid-template-columns:1fr;
  }
  body.route-about .about-hero-copy{
    min-height:auto;
  }
  body.route-about .about-hero-visual{
    aspect-ratio:16/10;
  }
  body.route-about .about-process-band ol{
    grid-template-columns:1fr;
  }
  body.route-about .about-actions{
    grid-column:1;
    margin-top:0;
  }
  body.route-about .company-card:nth-child(2),
  body.route-about .company-card:nth-child(3){
    margin-top:0;
  }
  body.route-reviews #reviews{
    padding-top:calc(var(--site-nav-height) + 1rem);
  }
  body.route-reviews #reviews::before{
    inset:calc(var(--site-nav-height) + 0.6rem) 1.25rem auto;
    height:260px;
  }
  body.route-reviews .reviews-masthead,
  body.route-reviews .reviews-toolbar{
    grid-template-columns:minmax(0,1fr);
  }
  body.route-reviews .reviews-layout{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      'toolbar'
      'feed'
      'compose';
  }
  body.route-reviews .reviews-masthead{
    min-height:auto;
    padding:2rem 0.25rem 1.25rem;
  }
  body.route-reviews .reviews-compose-panel{
    position:relative;
    top:auto;
    margin-top:0;
  }
  body.route-reviews #reviews-status{
    text-align:left;
  }
}
@media (max-width:640px){
  body.route-about #about{
    padding-top:calc(var(--site-nav-height) + 1.4rem);
    padding-bottom:5.4rem;
  }
  body.route-about .about-hero-copy,
  body.route-about .company-card,
  body.route-about .about-proof-quote,
  body.route-about .about-process-band{
    padding:1.2rem;
  }
  body.route-about #about .section-title{
    font-size:clamp(2.55rem,14vw,4rem);
  }
  body.route-about .about-proof-quote p{
    font-size:clamp(1.35rem,8vw,2rem);
  }
  body.route-about .company-card{
    min-height:auto;
  }
  body.route-catalog .catalog-browse-card{
    grid-template-columns:1fr;
  }
  body.route-catalog .catalog-browse-card__media,
  body.route-catalog .catalog-media-card{
    min-height:180px;
  }
  body.route-catalog .catalog-media-card{
    border-right:0;
    border-bottom:1px solid rgba(31,55,48,0.08);
  }
  body.route-catalog .catalog-download-actions .btn-secondary{
    width:100%;
    justify-content:center;
  }
  body.route-reviews .reviews-summary,
  body.route-reviews .review-card__head{
    grid-template-columns:1fr;
  }
  body.route-reviews .review-card__meta{
    justify-items:start;
  }
}
