/* Shared Atlas tokens. Higher root specificity lets this layer precede legacy page styles. */
@font-face{font-family:Geist;src:url('/static/fonts/geist-ui-4dbea6b591.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Bricolage Grotesque';src:url('/static/fonts/bricolage-grotesque-ui-8d62dfb6e2.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
html:root {
  --sans:Geist,Arial,sans-serif;
  --heading:'Bricolage Grotesque',Geist,Arial,sans-serif;
  --ink:#183f35; --body:#3d5548; --muted:#53684c;
  --ground:#f5f6f0; --surface:#ffffff; --line:#d1dace; --line-soft:#e8ede3;
  --field:#7b8c74; --chip:#e5eadf;
  --action:#1a4739; --action-hover:#10372b; --focus:#315ed3;
  --blue:var(--action); --blue-dark:var(--action-hover); --blue-soft:#edf4e8; --blue-line:#becfb5; --mark:#e1edcf;
  --footer-text:#dbe5d4; --footer-dim:#c0cdb8; --footer-line:#3b5949; --accent-on-dark:#c2e99e;
  --r-sm:4px; --r-md:6px; --r-lg:8px;
  --tblr-font-sans-serif:var(--sans); --tblr-primary:#1a4739; --tblr-primary-rgb:26,71,57;
  --tblr-body-bg:var(--ground); --tblr-body-color:var(--ink); --tblr-border-color:var(--line);
  font-family:var(--sans); color:var(--ink); background:var(--ground);
}
body { font-family:var(--sans); }
body h1:not(.pn),body h2:not(.pn),body h3:not(.pn),body .h1:not(.pn),body .h2:not(.pn),body .h3:not(.pn) {
  font-family:var(--heading); font-weight:550; letter-spacing:-.015em; overflow-wrap:anywhere;
}
body .home-concept h1,body .home-concept h2,body .home-concept h3 { font-weight:500; }
body .pn,body .mono,body .price,body .concept-product-grid h3 { font-family:var(--mono,ui-monospace,monospace); font-variant-numeric:tabular-nums; }
body .pn { white-space:normal; overflow-wrap:anywhere; }
body .btn-primary { background-color:var(--action); border-color:var(--action); color:#fff; }
body .btn-primary:hover { background-color:var(--action-hover); border-color:var(--action-hover); }
body .btn { white-space:normal; text-align:center; max-width:100%; }
body .btn:focus-visible,body a:focus-visible,body input:focus-visible,body select:focus-visible,body textarea:focus-visible,body summary:focus-visible {
  outline:3px solid var(--focus); outline-offset:3px;
}
body .input,body .select,body .textarea { accent-color:var(--action); }
body .site-header,body .topbar,body .site-footer { font-family:var(--sans); }
body .topbar a,body .site-header .search .input { font-family:var(--sans); }
body .site-header .menu-head { font-family:var(--heading); }
body .logo-word { font-family:var(--heading); font-weight:650; font-size:26px; letter-spacing:.01em; line-height:1; color:var(--ink); font-optical-sizing:auto; }
body .footer-logo { color:#edf4e8; }
body .site-header .logo,body .footer-brand { gap:8px; }
body .topbar-facts > span:nth-child(3) { display:none; }
body:has(#portal-features[data-paypal="false"]) .paymark[title="PayPal"] { display:none; }
body:has(#portal-features[data-card="false"]) .paymark:not(.paymark-text):not([title="PayPal"]) { display:none; }
body .guide-card .h3,body .guide-card .body-text { overflow-wrap:anywhere; }
body .article-product-card .pn { white-space:normal; }
body .article-page .h1 { letter-spacing:-.015em; }
body .account-narrow { width:100%; }
body .delivery-quote,body .delivery-customs { border-radius:var(--r-md); }
.catalogue-pagination { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:20px 0 8px; font-size:13px; }
.catalogue-pagination a { display:inline-flex; align-items:center; min-height:44px; padding:8px 14px; border:1px solid var(--line); border-radius:var(--r-sm); text-decoration:none; }
.catalogue-pagination a:hover { border-color:var(--action); background:var(--chip); }
.result-range { font-size:12px; color:var(--muted); font-weight:400; margin-left:8px; }
/* Operational screens share the identity while retaining status and error colours. */
.portal-admin .navbar-vertical { background:var(--ink); }
.portal-admin .navbar-vertical .nav-link { color:#e9f0e4; }
.portal-admin .navbar-vertical .nav-link:hover,.portal-admin .navbar-vertical .nav-link.active { background:#ffffff12; color:#fff; }
.portal-admin .navbar-brand a { display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.portal-admin .navbar-brand .logo-word { color:#edf4e8; }
.portal-workspace-label { font:500 11px var(--sans); letter-spacing:.05em; }
.portal-admin .page-wrapper { min-width:0; }
.portal-admin .card { border-color:var(--line); }
.portal-signin-brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; }
.purchase-portal .purchase-header { background:var(--ink); align-items:center; padding:18px max(24px,4vw); gap:24px; }
.purchase-header .purchase-brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.purchase-header .logo-word { color:#edf4e8; }
.purchase-portal .purchase-main { max-width:1280px; }
.purchase-portal h1 { font-size:clamp(28px,3.4vw,42px); line-height:1.15; }
.purchase-portal .lede { color:var(--muted); }
.purchase-portal section,.purchase-portal article { border-color:var(--line); border-radius:var(--r-md); }
.purchase-portal article { background:#f8faf4; }
.purchase-portal a { color:var(--action); }
.purchase-portal .purchase-header a { color:#edf4e8; }
.purchase-portal button { background:var(--action); min-height:44px; }
.purchase-portal button:hover { background:var(--action-hover); }
.purchase-portal input:not([type=checkbox]),.purchase-portal textarea,.purchase-portal select { border-color:var(--field); min-height:44px; }
.purchase-portal table { font-size:13px; }
.purchase-portal th { background:var(--chip); }
.purchase-portal :is(td,th) { border-color:var(--line); }
@media(max-width:700px) {
  body .logo-word { font-size:23px; }
  .result-range { display:block; margin:4px 0 0; }
  .purchase-header .purchase-brand { flex-wrap:wrap; }
  .portal-admin .page-header { padding-inline:12px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .home-concept a,.home-concept button,.btn { transition:none; }
}
/* Legible captions and actions across the original home-page variants. */
body .concept-kicker,body .search-index,body .department-index,body .atlas-origin,
body .atlas-origin strong,body .illustration-note,body .atlas-note,body .atlas-note small,
body .concept-product-top,body .concept-product-type,body .concept-product-title,
body .atlas-department > p,body .atlas-search > p,body .concept-guides a > span {
  font-size:12px; line-height:1.6; color:var(--muted);
}
body .concept-button,body .concept-text-link,body .signal-hero-links,body .concept-category-links a { font-size:13px; }
body .concept-product-grid h3 { font-size:clamp(14px,1.3vw,17px); overflow-wrap:anywhere; }
body .concept-product-title { min-height:0; }
body .concept-product-bottom .price,body .concept-product-bottom .stock { font-size:13px; }
.portal-skip-link { position:absolute; left:-10000px; top:8px; padding:10px 16px; background:var(--ink); color:#fff; z-index:2000; }
.portal-skip-link:focus { left:12px; }
.portal-admin-login .form-control,.portal-admin-login .btn { min-height:44px; }
.purchase-portal .purchase-signin { max-width:480px; margin:28px auto; padding:28px; }
.purchase-portal .purchase-signin h1 { font-size:30px; }
.purchase-portal .purchase-signin label { font-size:14px; }
.purchase-portal .purchase-signin button { width:100%; }
.portal-admin .form-control,.portal-admin .form-select,.portal-admin-login .form-control { border-color:var(--field); }
body #cc-main {
  --cc-font-family:var(--sans); --cc-primary-color:var(--ink); --cc-secondary-color:var(--body);
  --cc-btn-primary-bg:var(--action); --cc-btn-primary-border-color:var(--action);
  --cc-btn-primary-hover-bg:var(--action-hover); --cc-btn-primary-hover-border-color:var(--action-hover);
  --cc-btn-secondary-bg:var(--chip); --cc-btn-secondary-color:var(--ink);
  --cc-btn-secondary-border-color:var(--line); --cc-btn-secondary-hover-bg:#dbe6d2;
  --cc-modal-border-radius:var(--r-md); --cc-btn-border-radius:var(--r-sm);
  --cc-toggle-on-bg:var(--action); --cc-toggle-on-knob-bg:#fff;
}
body #cc-main button:focus-visible,body #cc-main a:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
body .request-status:not(:empty)::before { content:""; display:inline-block; width:13px; height:13px; margin-right:8px; vertical-align:-2px; border:2px solid var(--line); border-top-color:var(--action); border-radius:50%; animation:portal-wait .8s linear infinite; }
@keyframes portal-wait { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) {
  body #cc-main { --cc-modal-transition-duration:0s; }
  body .request-status:not(:empty)::before { animation:none; }
}
