:root {
  --ink: #13202e;
  --ink-muted: #5e6771;
  --paper: #fcfcfb;
  --panel: #f1f3f2;
  --line: #d7ddda;
  --accent: #f07c00;
  --accent-ink: #1c160e;
  --navy: #13283b;
  --max: 1180px;
  --shadow: 0 18px 50px rgba(19, 32, 46, .12);
  --radius: 0;
  --card-radius: 16px;
  --card-hover-shadow: 0 22px 52px rgba(19, 32, 46, .14);
  --hero-surface: var(--navy);
  --header-surface: color-mix(in srgb, var(--paper) 94%, transparent);
}

[data-theme="industrial_dark"] { --ink: #f4f7f5; --ink-muted: #bcc5c0; --paper: #102019; --panel: #172a22; --line: #31463b; --navy: #e9f1ec; --shadow: 0 22px 58px rgba(0, 0, 0, .34); }
[data-theme="blue_steel"] { --ink: #10243a; --ink-muted: #536575; --paper: #f4f8fb; --panel: #e7eef4; --line: #cad7e1; --navy: #173958; }
[data-theme="atelier_warm"] { --ink: #342b25; --ink-muted: #75695e; --paper: #fffaf3; --panel: #f4e8d7; --line: #ddcbb8; --navy: #3d3028; --hero-surface: #3d3028; --shadow: 0 18px 48px rgba(74, 49, 30, .14); --radius: 18px; }
[data-theme="graphite_copper"] { --ink: #f4f0ea; --ink-muted: #c3bbb1; --paper: #17191d; --panel: #22252a; --line: #3b3e42; --navy: #f5f0e7; --hero-surface: #101215; --shadow: 0 22px 58px rgba(0, 0, 0, .38); --radius: 4px; }
[data-theme="arctic_grid"] { --ink: #102a44; --ink-muted: #5f7181; --paper: #fafdff; --panel: #eaf4f8; --line: #c9e0e8; --navy: #0f3b5c; --hero-surface: #0f3b5c; --shadow: 0 18px 42px rgba(15, 59, 92, .11); --radius: 12px; --max: 1240px; }
[data-theme="forest_craft"] { --ink: #1d3025; --ink-muted: #607168; --paper: #fbfcf7; --panel: #e9efe5; --line: #cbd7c9; --navy: #294231; --hero-surface: #294231; --shadow: 0 18px 46px rgba(38, 68, 48, .13); --radius: 22px; }
[data-theme="midnight_signal"] { --ink: #eaf1f8; --ink-muted: #aebdca; --paper: #101826; --panel: #192537; --line: #314258; --navy: #f5f8fb; --hero-surface: linear-gradient(118deg, #101826 0%, #152c46 66%, #183e54 100%); --shadow: 0 24px 62px rgba(0, 0, 0, .38); --radius: 10px; }
[data-theme="linen_studio"] { --ink: #213041; --ink-muted: #67717c; --paper: #fffdf9; --panel: #f7f0e7; --line: #e5d9cb; --navy: #24364b; --hero-surface: #24364b; --shadow: 0 18px 44px rgba(53, 43, 32, .11); --card-radius: 20px; }
[data-theme="porcelain_blue"] { --ink: #162d45; --ink-muted: #627386; --paper: #fcfeff; --panel: #eff5f8; --line: #d6e3ea; --navy: #1a405d; --hero-surface: #1a405d; --shadow: 0 18px 46px rgba(22, 61, 88, .12); --card-radius: 18px; }
[data-theme="white_canvas"] { --ink: #20242a; --ink-muted: #68717b; --paper: #ffffff; --panel: #f4f6f7; --line: #dce1e5; --navy: #26384b; --hero-surface: #26384b; --shadow: 0 18px 46px rgba(32, 36, 42, .10); --card-radius: 14px; }
[data-theme="pure_white"] { --ink: #26313b; --ink-muted: #66717a; --paper: #ffffff; --panel: #ffffff; --line: #e0e5e9; --navy: #ffffff; --hero-surface: #ffffff; --shadow: 0 15px 42px rgba(32, 44, 54, .08); --card-radius: 14px; }
[data-theme="slate_white"] { --ink: #263542; --ink-muted: #61707c; --paper: #ffffff; --panel: #f1f4f6; --line: #d9e0e5; --navy: #ffffff; --hero-surface: #ffffff; --shadow: 0 16px 42px rgba(31, 48, 61, .09); --card-radius: 16px; }

[data-theme="atelier_warm"] .hero { background-image: radial-gradient(circle at 82% 18%, rgba(240, 124, 0, .23), transparent 27%), linear-gradient(120deg, #3d3028, #5b4637); }
[data-theme="atelier_warm"] .eyebrow { letter-spacing: .15em; }
[data-theme="atelier_warm"] .site-header { box-shadow: 0 8px 24px rgba(74, 49, 30, .07); }
[data-theme="graphite_copper"] .hero { background-image: linear-gradient(135deg, rgba(240, 124, 0, .12) 1px, transparent 1px), linear-gradient(45deg, rgba(240, 124, 0, .06) 1px, transparent 1px); background-size: 28px 28px, 28px 28px; }
[data-theme="graphite_copper"] .product-card, [data-theme="graphite_copper"] .article-card { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .025); }
[data-theme="arctic_grid"] .hero { background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 42px 42px; }
[data-theme="arctic_grid"] .section-heading { max-width: 720px; border-left: 4px solid var(--accent); padding-left: 18px; }
[data-theme="forest_craft"] .hero { background-image: radial-gradient(circle at 12% 10%, rgba(240, 124, 0, .14), transparent 26%), linear-gradient(130deg, #294231, #385d43); }
[data-theme="forest_craft"] .section-heading { max-width: 720px; }
[data-theme="midnight_signal"] .hero::after { background: radial-gradient(circle at 78% 26%, rgba(240, 124, 0, .21), transparent 26%); opacity: 1; }
[data-theme="midnight_signal"] .site-header { border-bottom-color: rgba(174, 189, 202, .22); }
[data-theme="linen_studio"] .hero { background-image: radial-gradient(circle at 82% 16%, rgba(240, 124, 0, .19), transparent 25%), linear-gradient(124deg, #24364b, #38516b); }
[data-theme="porcelain_blue"] .hero { background-image: linear-gradient(135deg, rgba(240, 124, 0, .12) 1px, transparent 1px), linear-gradient(45deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 34px 34px; }
[data-theme="white_canvas"] .section-heading { border-left: 3px solid var(--accent); padding-left: 16px; }
[data-theme="pure_white"] .hero, [data-theme="slate_white"] .hero { color: var(--ink); border-bottom: 1px solid var(--line); }
[data-theme="pure_white"] .hero::after, [data-theme="slate_white"] .hero::after { display: none; }
[data-theme="pure_white"] .hero__media::after, [data-theme="slate_white"] .hero__media::after { background: linear-gradient(90deg, var(--hero-surface) 0%, rgba(255,255,255,.35) 48%, rgba(255,255,255,.08) 100%); }
[data-theme="pure_white"] .hero__copy, [data-theme="slate_white"] .hero__copy { color: var(--ink-muted); }
[data-theme="pure_white"] .hero__control, [data-theme="slate_white"] .hero__control { color: var(--ink); border-color: var(--line); background: rgba(255,255,255,.6); }
[data-theme="pure_white"] .hero__status, [data-theme="slate_white"] .hero__status { color: var(--ink-muted); }

@keyframes sevana-hero { from { opacity: .98; } to { opacity: 1; } }
@keyframes sevana-hero-first { from { opacity: .99; } to { opacity: 1; } }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Open Sans", Arial, Helvetica, sans-serif; line-height: 1.6; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.08; letter-spacing: -.035em; }
h1 { font-size: clamp(2.1rem, 4.2vw, 3.6rem); max-width: 14ch; margin-bottom: 1.2rem; }
h2 { font-size: clamp(1.9rem, 3vw, 3rem); margin-bottom: .85rem; }
h3 { font-size: 1.35rem; margin-bottom: .55rem; }
pre { white-space: pre-wrap; font: inherit; }
.container { width: min(var(--max), calc(100% - 48px)); margin-inline: auto; }
.narrow { width: min(740px, calc(100% - 48px)); }
.skip-link { position: fixed; left: .75rem; top: .75rem; z-index: 100; background: var(--accent); color: var(--accent-ink); padding: .6rem .8rem; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.site-header { position: sticky; top: 0; z-index: 20; background: var(--header-surface); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.site-header__inner { min-height: 94px; display: flex; align-items: center; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 9px; font-weight: 800; letter-spacing: .11em; font-size: .91rem; }
.brand__mark { width: 22px; height: 22px; background: var(--accent); display: inline-block; clip-path: polygon(0 0, 100% 0, 70% 100%, 0 100%); }
.brand__image { width: auto; object-fit: contain; object-position: left center; }
.site-header .brand__image { height: 58px; max-width: min(320px, 48vw); }
.site-nav { display: flex; align-items: center; gap: clamp(15px, 2vw, 29px); margin-left: auto; font-size: .91rem; color: var(--ink-muted); }
.site-nav a:hover, .text-link:hover { color: var(--accent); }
.header-contact { border: 1px solid var(--ink); padding: .6rem .85rem; font-size: .82rem; font-weight: 700; transition: background .18s ease, color .18s ease; }
.header-contact:hover { background: var(--ink); color: var(--paper); }
.hero { background: var(--hero-surface); color: #fff; min-height: 620px; display: grid; align-items: center; position: relative; overflow: hidden; }
.hero::after { content: ""; position: absolute; inset: 0 -9% 0 57%; background: linear-gradient(135deg, transparent 0 28%, rgba(240,124,0,.95) 28% 30%, transparent 30%); opacity: .75; pointer-events: none; }
.hero__content { position: relative; z-index: 1; padding-block: 110px; }
.hero__slides { width: 100%; min-height: inherit; }
.hero__slide { min-height: inherit; display: grid; align-items: center; position: relative; }
.hero__media { position: absolute; inset: 0 0 0 47%; overflow: hidden; z-index: 0; }
.hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--hero-surface) 0%, transparent 28%, rgba(0,0,0,.16) 100%); }
.hero__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hero__slide-link { position: absolute; inset: 0; z-index: 2; }
.hero__slide--linked { cursor: pointer; }
.hero__slide--linked .hero__content { pointer-events: none; }
.hero--slider .hero__slides { position: relative; }
.hero--slider .hero__slide { position: absolute; inset: 0; width: 100%; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .38s cubic-bezier(.23,1,.32,1), visibility 0s linear .38s; }
.hero--slider .hero__slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; }
.hero__controls { position: absolute; z-index: 5; top: 24px; right: 0; bottom: auto; left: 0; display: flex; justify-content: flex-end; align-items: center; gap: .55rem; pointer-events: none; }
.hero__control, .hero__status { pointer-events: auto; }
.hero__control { width: 50px; height: 42px;   border-radius: 6px; border: 0px solid rgba(255,255,255,.68); color: #fff; background: rgba(10,18,26,.4); font-size: 1.75rem; line-height: 1; cursor: pointer; transition: color .18s ease, background .18s ease; }
.hero__control:hover, .hero__control:focus-visible { color: var(--accent-ink); background: var(--accent); outline: 0; }
.hero__status { min-width: 48px; margin: 0; color: rgba(255,255,255,.82); font-size: .8rem; text-align: center; }
.hero__copy { max-width: 54ch; color: rgba(255,255,255,.78); font-size: 1.12rem; margin-bottom: 2rem; }
.eyebrow { color: var(--accent); text-transform: uppercase; font-size: 1.5rem; font-weight: 800; letter-spacing: .15em; margin-bottom: 1rem; }
/* Hand-typeable accent divider for Managed Page / Blog body content
   (<hr class="accent-line accent-line--short">, etc.) - !important on the
   core visual properties is deliberate insurance against exactly the kind
   of silent override that made an earlier inline-styled <hr> render black
   instead of orange; the modifier classes control length since "width" is
   intentionally not in HtmlSanitizer's allowed inline style properties. */
.accent-line { display: block; width: 100%; height: 3px !important; margin: 2rem 0 !important; border: none !important; border-radius: 999px !important; background-color: var(--accent) !important; }
.accent-line--short { width: 60px !important; }
.accent-line--medium { width: 160px !important; }
.accent-line--full { width: 100% !important; }
/* Freeform static display card for body_html - deliberately NOT wrapped in
   <a> (no link) and deliberately NOT included in the hover-lift selector
   further down this file (no hover/transform on mouseover), unlike
   product-card/article-card. The admin writes whatever markup they want
   inside (headings, paragraphs, .eyebrow, .accent-line, etc.) - there's no
   fixed title/description/link structure like the card-builder cards have.
   Meant to sit inside the existing .card-grid wrapper for the 3-up desktop
   / 2-up tablet / 1-up mobile layout, same breakpoints as product-card. */
.accent-display-card { display: block; border-radius: var(--card-radius); background: var(--paper); overflow: hidden; padding: 24px; }
.accent-display-card > :first-child { margin-top: 0; }
.accent-display-card > :last-child { margin-bottom: 0; }
.accent-display-card--accent { border: 1px solid var(--line); border-top: 4px solid var(--accent); }
.accent-display-card--plain { border: 1px solid var(--line); }
.accent-display-card--compact { padding: 20px; }
.accent-display-card--large { padding: clamp(28px, 4vw, 40px); }
/* Blog listing pagination - same 42px/6px-radius rounded-rectangle shape as
   .hero__control, adapted for a light background (numbers use var(--line)
   border instead of the hero's translucent-dark one). Numbered boxes hide
   on mobile per spec; prev/next arrows stay visible at every width. */
.pagination { display: flex; align-items: center; justify-content: center; gap: .5rem; margin-top: 48px; flex-wrap: wrap; }
.pagination__numbers { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.pagination__link, .pagination__arrow { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 .5rem; border-radius: 6px; border: 1px solid var(--line); color: var(--ink); background: var(--paper); font-weight: 700; font-size: .92rem; cursor: pointer; transition: color .18s ease, background .18s ease, border-color .18s ease; }
.pagination__arrow { font-size: 1.2rem; }
a.pagination__link:hover, a.pagination__link:focus-visible, a.pagination__arrow:hover, a.pagination__arrow:focus-visible { border-color: var(--accent); background: var(--accent); color: var(--accent-ink); outline: 0; }
.pagination__link.is-current { background: var(--ink); border-color: var(--ink); color: var(--paper); cursor: default; }
.pagination__arrow[aria-disabled="true"] { opacity: .35; cursor: default; }
@media (max-width: 560px) { .pagination__numbers { display: none; } }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 47px; padding: .65rem 1.1rem; font-weight: 800; font-size: .88rem; transition: transform .16s cubic-bezier(.23,1,.32,1), background .16s ease; }
.button:active { transform: scale(.97); }
.button--accent { background: var(--accent); color: var(--accent-ink); }
.button--accent:hover { background: #f4a645; }
.button--quiet { border: 1px solid var(--ink); color: var(--ink); }
.button--quiet:hover { background: var(--ink); color: var(--paper); }
.section { padding-block: clamp(58px, 9vw, 110px); }
.section--tint { background: var(--panel); }
.section--event { background: var(--accent); color: var(--accent-ink); padding-block: 32px; }
.section-heading { display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: end; margin-bottom: 34px; }
.section-heading h2 { grid-row: 2; margin: 0; }
.section-heading .text-link { grid-column: 2; grid-row: 1 / 3; align-self: center; }
.text-link { font-size: .89rem; font-weight: 800; text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.card-grid, .category-grid, .industry-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.product-card, .article-card { border-top: 2px solid var(--ink); background: var(--paper); overflow: hidden; border-radius: var(--radius); }
.product-card img, .article-card img { aspect-ratio: 16/9; object-fit: cover; width: 100%; background: var(--panel); }
.product-card > div, .article-card > div { padding: 20px; }
.product-card p:not(.eyebrow), .article-card p:not(.eyebrow) { color: var(--ink-muted); font-size: .94rem; }
.category-card { border: 1px solid var(--line); border-radius: var(--radius); min-height: 270px; display: flex; flex-direction: column; overflow: hidden; transition: transform .18s cubic-bezier(.23,1,.32,1), box-shadow .18s ease; }
.category-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.category-card img { width: 100%; height: 160px; object-fit: cover; }
.category-card__body { padding: 22px; display: block; }
.category-card__body p, .industry-card p { color: var(--ink-muted); }
.industry-card { background: var(--panel); border-left: 3px solid var(--accent); border-radius: var(--radius); min-height: 205px; display: flex; flex-direction: column; overflow: hidden; }
.industry-card img { width: 100%; height: 160px; object-fit: cover; }
.industry-card__body { display: block; padding: 28px; }
.event-box { display: flex; align-items: center; justify-content: space-between; gap: 26px; border-radius: var(--radius); }
.event-box h2 { margin-bottom: .5rem; max-width: 26ch; }
.event-box .eyebrow { color: var(--accent-ink); }
.page-intro, .product-intro { padding-block: 84px 60px; background: var(--panel); }
.page-intro { position: relative; overflow: hidden; }
.page-intro__content { position: relative; z-index: 1; }
.page-intro--image { display: grid; align-items: center; min-height: 330px; color: #fff; background: var(--hero-surface); }
.page-intro--image .eyebrow { color: var(--accent); }
.page-intro--image .page-intro__content > p:last-child { color: rgba(255,255,255,.82); max-width: 60ch; }
.page-intro__image { position: absolute; inset: 0 0 0 42%; width: 58%; height: 100%; object-fit: cover; }
.page-intro--image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--hero-surface) 0%, var(--hero-surface) 33%, rgba(19,32,46,.38) 65%, rgba(19,32,46,.12) 100%); }
.page-intro[data-hero-size="small"] h1 { font-size: clamp(2.1rem, 4.2vw, 3.6rem); }
.page-intro[data-hero-size="medium"] h1 { font-size: clamp(2.1rem, 4.2vw, 3.6rem); }
.page-intro[data-hero-size="large"] h1 { font-size: clamp(2.1rem, 4.2vw, 3.6rem); }
.breadcrumbs { display: flex; gap: 8px; flex-wrap: wrap; font-size: .83rem; color: var(--ink-muted); margin-bottom: 26px; }
.breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }
.media-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.media-grid img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.media-grid figcaption { padding-top: 7px; font-size: .84rem; color: var(--ink-muted); }
.product-detail { display: grid; grid-template-columns: 1.4fr .6fr; gap: clamp(38px, 7vw, 92px); }
.product-detail aside { border-top: 2px solid var(--accent); padding-top: 18px; }
.product-detail article, .rich-content { font-size: 1.04rem;  text-align: justify; }
.product-detail article p, .rich-content p { margin-bottom: 1.2rem; }
.product-media-gallery, .product-detail, .product-videos, .product-disclosures, .product-catalogues, .related-products, .related-blogs { padding-block: clamp(29px, 4.5vw, 55px); }
.product-disclosure + .product-disclosure { margin-top: clamp(29px, 4.5vw, 55px); }
.product-disclosures .product-disclosure { width: 100%; }
.product-disclosures .product-disclosure > details { display: block; width: 100%; margin: 0; padding: 0; border: 0; }
.product-disclosures .product-disclosure > details > summary.product-disclosure__summary { display: block; box-sizing: border-box; width: 100%; min-width: 0; margin: 0; padding: 0 0 .42rem; border: 0; border-bottom: 1px solid #F07C00; cursor: pointer; list-style: none; }
.product-disclosures .product-disclosure > details > summary.product-disclosure__summary::-webkit-details-marker { display: none; }
.product-disclosures .product-disclosure > details > summary.product-disclosure__summary::marker { content: ""; font-size: 0; }
.product-disclosures .product-disclosure > details > summary.product-disclosure__summary > .product-disclosure__heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; margin: 0; color: var(--ink); font-size: clamp(1.3rem, 2vw, 2.5rem); font-weight: 700; letter-spacing: -.035em; line-height: 1.08; }
.product-disclosures .product-disclosure > details > summary.product-disclosure__summary > .product-disclosure__heading > .product-disclosure__title { min-width: 0; }
.product-disclosures .product-disclosure > details > summary.product-disclosure__summary > .product-disclosure__heading > .product-disclosure__marker { flex: 0 0 auto; display: inline-block; min-width: 1ch; margin-left: 1rem; color: #F07C00 !important; font-weight: 400; text-align: center; }
.product-disclosures .product-disclosure > details[open] > summary.product-disclosure__summary > .product-disclosure__heading > .product-disclosure__marker { font-size: 0; }
.product-disclosures .product-disclosure > details[open] > summary.product-disclosure__summary > .product-disclosure__heading > .product-disclosure__marker::after { content: "−"; color: #F07C00; font-size: clamp(1.9rem, 3vw, 3rem); line-height: 1.08; }
.product-disclosures .product-disclosure > details > :not(summary) { margin-top: 1rem; }
.product-detail { padding-bottom: clamp(14px, 2.25vw, 28px); }
.product-videos { padding-block: clamp(14px, 2.25vw, 28px); }
.product-disclosures { padding-top: clamp(14px, 2.25vw, 28px); }
.video-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.video-frame { aspect-ratio: 16/9; background: var(--ink); }
.video-frame iframe { border: 0; width: 100%; height: 100%; }
.feature-image { margin-top: 48px; }
.feature-image img { width: 100%; max-height: 560px; object-fit: cover; }
.event-list { border-top: 1px solid var(--line); }
.event-row { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.event-row h2 { font-size: 1.55rem; margin: 0; }
.event-row p:last-child { margin-bottom: 0; color: var(--ink-muted); }
.empty-state { color: var(--ink-muted); border: 1px dashed var(--line); padding: 28px; }
.client-strip { height: 120px; display: grid; align-items: center; background: var(--paper); border-top: 1px solid var(--line); }
.client-strip__inner { display: grid; grid-template-columns: 190px 1fr; gap: 32px; align-items: center; }
.client-strip__inner > p { margin: 0; font-size: .76rem; text-transform: uppercase; letter-spacing: .11em; font-weight: 800; color: var(--ink-muted); }
.client-strip__logos { overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.client-strip__logos img { width: min(120px, 15vw); height: 42px; object-fit: contain; }
.site-footer { background: var(--navy); color: #fff; padding-top: 54px; }
.site-footer__inner { display: grid; grid-template-columns: 1.5fr .7fr auto; gap: 46px; padding-bottom: 46px; }
.site-footer p { color: rgba(255,255,255,.65); max-width: 40ch; }
.brand--footer { color: #fff; margin-bottom: 18px; }
.brand--footer .brand__image { height: 32px; max-width: min(185px, 48vw); }
.site-footer nav { display: grid; gap: 9px; align-content: start; color: rgba(255,255,255,.8); font-size: .9rem; }
.site-footer nav a:hover { color: var(--accent); }
.social-links { display: flex; gap: 8px; align-items: start; }
.social-links a { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.44); filter: grayscale(1); transition: border-color .18s ease, filter .18s ease, transform .18s cubic-bezier(.23,1,.32,1); }
.social-links img { width: 17px; height: 17px; object-fit: contain; }
.social-links a:hover { border-color: var(--accent); filter: grayscale(0); transform: translateY(-2px); }
.site-footer__bottom { border-top: 1px solid rgba(255,255,255,.18); padding-block: 15px; font-size: .78rem; }
.site-footer__bottom p { margin: 0; }
.whatsapp-float { position: fixed; right: 22px; bottom: 24px; z-index: 15; height: 120px; width: 120px; border-radius: 50%; display: grid; place-items: center; background: #2c7b4f; color: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.25); font-size: 1rem; font-weight: 900; letter-spacing: .04em; transition: transform .16s cubic-bezier(.23,1,.32,1); }
.whatsapp-float:hover { transform: translateY(-3px); }
.whatsapp-float--image { background: transparent; box-shadow: none; border-radius: 0; overflow: visible; }
.whatsapp-float--image img { width: 120px; height: 120px; object-fit: contain; }
.quick-contact-float { position: fixed; right: 22px; bottom: 88px; z-index: 15; background: var(--ink); color: var(--paper); padding: .55rem .75rem; font-size: .72rem; font-weight: 800; box-shadow: 0 8px 24px rgba(0,0,0,.15); }
.quick-contact-float--image { background: transparent; box-shadow: none; padding: 0; }
.quick-contact-float--image img { max-width: 180px; max-height: 64px; object-fit: contain; }
.contact-layout { display:grid; grid-template-columns:.65fr 1.35fr; gap:clamp(36px,8vw,100px); }.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.contact-form label { display:grid; gap:7px; font-size:.82rem; font-weight:800; }.contact-form input,.contact-form textarea { width:100%; padding:.76rem .8rem; border:1px solid var(--line); background:var(--paper); color:var(--ink); }.contact-form input:focus,.contact-form textarea:focus { outline:2px solid var(--accent); outline-offset:1px; }.contact-form .field-wide { grid-column:1/-1; }.contact-form .consent { grid-template-columns:auto 1fr; align-items:start; font-weight:400; }.contact-form .consent input { width:18px; height:18px; margin-top:2px; }.honey { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }.form-notice { grid-column:1/-1; margin:0; padding:10px 12px; border-left:3px solid; }.form-notice--success { background:#eaf7ef; border-color:#247147; color:#1b4a31; }.form-notice--error { background:#fff0ef; border-color:#a22e21; color:#7c231b; }
.testimonial-list { display:grid; gap:24px; }.testimonial-card { display:grid; grid-template-columns:1fr; margin:0; border-top:2px solid var(--ink); background:var(--paper); }.testimonial-card--with-media { grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); }.testimonial-card__media { display:grid; align-content:start; gap:12px; background:var(--panel); }.testimonial-card__media > img { width:100%; aspect-ratio:4/3; object-fit:cover; }.testimonial-card__content { padding:clamp(24px,4vw,48px); display:grid; align-content:space-between; gap:26px; }.testimonial-card__content > p { margin:0; color:var(--ink); font-size:clamp(1.08rem,2vw,1.38rem); line-height:1.6; }.testimonial-card footer { display:grid; gap:3px; color:var(--ink-muted); }.testimonial-card footer strong { color:var(--ink); }.career-list { border-top:1px solid var(--line); }.career-row { display:grid; grid-template-columns:170px 1fr auto; align-items:center; gap:24px; padding:20px 0; border-bottom:1px solid var(--line); }.career-row > img { width:170px; aspect-ratio:4/3; object-fit:cover; }.career-row h2 { font-size:1.55rem; margin:0; }.career-row p:last-child { margin-bottom:0; color:var(--ink-muted); }.key-contact-grid, .branch-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.support-links-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:20px; }
.support-link-card { display:grid; gap:10px; padding:24px; background:var(--paper); text-decoration:none; color:inherit; position:relative; }
.support-link-card img { width:44px; height:44px; object-fit:contain; }
.support-link-card h3 { margin:0; font-size:1.05rem; }
.support-link-card p { margin:0; color:var(--ink-muted); font-size:.92rem; }
.support-link-card__arrow { position:absolute; top:20px; right:20px; color:var(--accent); font-size:1.1rem; }.key-contact-card { display:grid; grid-template-columns:86px 1fr; gap:16px; padding:20px; background:var(--paper); border-top:2px solid var(--ink); }.key-contact-card > img { width:86px; height:86px; border-radius:50%; object-fit:cover; }.key-contact-card h3, .branch-card h3 { margin-bottom:.45rem; }.key-contact-card p { margin-bottom:.35rem; font-size:.9rem; word-break:break-word; }.key-contact-card a, .branch-card a, .branch-dialog a { text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:3px; }.branch-card { padding:24px; border:1px solid var(--line); background:var(--paper); display:grid; align-content:space-between; gap:18px; }.branch-card p { color:var(--ink-muted); white-space:pre-line; margin:0; }.branch-open { padding:0; border:0; background:transparent; color:var(--ink); text-align:left; cursor:pointer; }.branch-dialog { width:min(940px,calc(100% - 32px)); padding:0; border:0; background:var(--paper); color:var(--ink); box-shadow:var(--shadow); }.branch-dialog::backdrop { background:rgba(11,20,28,.72); }.branch-dialog__header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 26px; border-bottom:1px solid var(--line); }.branch-dialog__header h2 { margin:0; font-size:1.5rem; }.branch-close { width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--line); background:var(--paper); color:var(--ink); font-size:1.45rem; cursor:pointer; }.branch-dialog__body { display:grid; gap:24px; padding:26px; }.map-frame { width:100%; aspect-ratio:16/8; background:var(--panel); }.map-frame iframe { width:100%; height:100%; border:0; }.map-frame--site { aspect-ratio:16/6; }.branch-contact { display:grid; grid-template-columns:100px 1fr; align-items:center; gap:18px; }.branch-contact img { width:100px; height:100px; object-fit:cover; border-radius:50%; }.branch-contact h3 { margin:0 0 .4rem; }.branch-contact p, .branch-address, .branch-notes { margin:0; color:var(--ink-muted); }

@media (max-width: 820px) { .site-header__inner { min-height: auto; padding-block: 16px; flex-wrap: wrap; gap: 14px; } .site-header .brand__image { height: 48px; max-width: 56vw; } .brand--footer .brand__image { height: 28px; max-width: 200px; } .site-nav { order: 3; width: 100%; overflow-x: auto; padding-bottom: 2px; gap: 20px; } .header-contact { margin-left: auto; } .hero { min-height: 520px; } .hero::after { inset: auto -18% -21% 32%; height: 300px; } .card-grid, .category-grid, .industry-grid, .key-contact-grid, .branch-grid { grid-template-columns: 1fr 1fr; } .testimonial-card { grid-template-columns:1fr; }.testimonial-card__media { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }.career-row { grid-template-columns:130px 1fr auto; }.career-row > img { width:130px; }.client-strip { height: 96px; } .client-strip__inner { grid-template-columns: 1fr; gap: 8px; } .client-strip__logos { gap: 18px; } .client-strip__inner > p { font-size: .68rem; } .site-footer__inner { grid-template-columns: 1fr 1fr; gap: 30px; } .social-links { grid-column: 1 / -1; } }
@media (max-width: 560px) { .container, .narrow { width: min(100% - 32px, var(--max)); } h1 { font-size: clamp(2.35rem, 13vw, 3.5rem); } .card-grid, .category-grid, .industry-grid, .media-grid, .video-grid, .product-detail, .contact-layout, .contact-form, .key-contact-grid, .branch-grid { grid-template-columns: 1fr; } .section-heading { display: block; } .section-heading .text-link { display: inline-block; margin-top: .4rem; } .event-box, .event-row { align-items: flex-start; flex-direction: column; } .career-row { grid-template-columns:1fr; align-items:start; }.career-row > img { width:100%; max-width:none; aspect-ratio:16/8; }.key-contact-card { grid-template-columns:76px 1fr; }.key-contact-card > img { width:76px; height:76px; }.testimonial-card__media { grid-template-columns:1fr; }.branch-dialog__header,.branch-dialog__body { padding:20px; }.branch-contact { grid-template-columns:76px 1fr; }.branch-contact img { width:76px; height:76px; }.map-frame,.map-frame--site { aspect-ratio:4/3; }.site-footer__inner { grid-template-columns: 1fr; } .site-nav { font-size: .82rem; } .client-strip__logos img { width: 72px; height: 30px; } .whatsapp-float { right: 14px; bottom: 15px; } }

@media (prefers-reduced-motion: reduce) { .hero--slider .hero__slide { animation: none; } .hero--slider .hero__slide:first-child { opacity: 1; } }
@media (max-width: 820px) { .hero__media { inset: 38% 0 0 0; opacity: .58; } .hero__media::after { background: linear-gradient(180deg, var(--hero-surface) 0%, rgba(0,0,0,.22) 100%); } .page-intro--image { min-height: 430px; align-items: start; } .page-intro__image { inset: 40% 0 0; width: 100%; height: 60%; } .page-intro--image::after { background: linear-gradient(180deg, var(--hero-surface) 0%, var(--hero-surface) 35%, rgba(19,32,46,.28) 100%); } }

/* Shared public-content cards: restrained rounding on all screens, lift only for precise hover devices. */
.product-card, .article-card, .category-card, .industry-card, .event-row, .career-row, .key-contact-card, .branch-card, .support-link-card { border-radius: var(--card-radius); border: 1px solid var(--line); background: var(--paper); overflow: hidden; transition: transform .18s cubic-bezier(.23,1,.32,1), box-shadow .18s ease, border-color .18s ease; }
.product-card, .article-card, .key-contact-card, .branch-card, .support-link-card { border-top: 3px solid var(--accent); }
.industry-card, .event-row, .career-row { border-left: 3px solid var(--accent); }
.product-card > div, .article-card > div { padding: 20px; }
.event-list, .career-list { display: grid; gap: 16px; border: 0; }
.event-row { padding: 26px; }
.career-row { padding: 20px; border-bottom: 1px solid var(--line); }
.career-row > img { border-radius: calc(var(--card-radius) - 6px); }
.key-contact-card { border-top-width: 3px; }
.branch-card { border-top-width: 3px; }
.testimonial-card { border: 1px solid var(--line); border-top: 3px solid var(--accent); border-radius: var(--card-radius); overflow: hidden; box-shadow: 0 8px 24px rgba(19,32,46,.05); }
.branch-dialog { border-radius: var(--card-radius); overflow: hidden auto; max-height: min(94vh, 900px); }
.branch-dialog .map-frame { aspect-ratio: 16 / 5; }
.response-popup { width: min(420px, calc(100% - 32px)); padding: 0; border: 0; border-radius: var(--card-radius); background: var(--paper); color: var(--ink); box-shadow: var(--shadow); }
.response-popup::backdrop { background: rgba(11,20,28,.72); }
.response-popup__body { padding: 32px 28px; text-align: center; display: grid; gap: 14px; justify-items: center; }
.response-popup__body h2 { margin: 0; font-size: 1.3rem; }
.response-popup__body p { margin: 0; color: var(--ink-muted); }
.response-popup--error .response-popup__body h2 { color: #b3261e; }
.response-popup__body button { padding: .75rem 2rem; margin-top: 6px; }
.branch-dialog__body { gap: 18px; }
.branch-close { border-radius: 50%; }
.map-frame--site { border-radius: var(--card-radius); overflow: hidden; box-shadow: var(--shadow); }
.client-strip__logos a img { padding: 6px; border: 1px solid transparent; border-radius: 10px; transition: background .18s ease, border-color .18s ease; }
.client-strip__logos a:hover img { border-color: var(--line); background: var(--panel); }
@media (hover: hover) and (pointer: fine) { .product-card:hover, .article-card:hover, .category-card:hover, .industry-card:hover, .event-row:hover, .career-row:hover, .key-contact-card:hover, .branch-card:hover, .support-link-card:hover { transform: translateY(-4px); box-shadow: var(--card-hover-shadow); border-color: color-mix(in srgb, var(--accent) 34%, var(--line)); } }

/* Brand refinements: a restrained #F07C00 accent, with the hero stripe reserved for Arctic Grid only. */
[data-theme="charcoal_gray"] { --ink: #242424; --ink-muted: #62676b; --paper: #ffffff; --panel: #f1f2f2; --line: #d9ddde; --navy: #363636; --hero-surface: #363636; --shadow: 0 18px 48px rgba(36,36,36,.12); --card-radius: 16px; }
[data-theme="carbon_black"] { --ink: #171717; --ink-muted: #5f6265; --paper: #ffffff; --panel: #f4f4f4; --line: #dcdcdc; --navy: #101010; --hero-surface: #101010; --shadow: 0 18px 48px rgba(0,0,0,.14); --card-radius: 14px; }
[data-theme="charcoal_gray"] .hero, [data-theme="carbon_black"] .hero { background-image: none; }
.hero::after { display: none; background: linear-gradient(135deg, transparent 0 28%, rgba(240,124,0,.95) 28% 30%, transparent 30%); }
[data-theme="arctic_grid"] .hero::after { display: block; }
.button, .header-contact { border: 1px solid var(--ink); border-radius: 999px; background: var(--paper); color: var(--ink); }
.button { padding-inline: 1.2rem; }
.button--accent, .button--quiet { border-color: var(--ink); background: var(--paper); color: var(--ink); }
.button:hover, .button:focus-visible, .header-contact:hover, .header-contact:focus-visible { border-color: var(--accent); background: var(--accent); color: var(--accent-ink); outline: 0; }
.header-contact { padding: .66rem 1rem; font: inherit; font-weight: 800; cursor: pointer; }
.branch-open { justify-self: start; min-height: 42px; padding: .55rem 1rem; border: 1px solid var(--ink); border-radius: 999px; background: var(--paper); color: var(--ink); font: inherit; font-size: .84rem; font-weight: 800; cursor: pointer; }
.branch-open:hover, .branch-open:focus-visible { border-color: var(--accent); background: var(--accent); color: var(--accent-ink); outline: 0; }
.branch-close { border-color: var(--ink); border-radius: 50%; background: var(--paper); color: var(--ink); }
.contact-jumps { display: flex; flex-wrap: wrap; gap: .75rem; padding-block: 28px 0; }
.contact-jumps .button { min-height: 42px; font-size: .8rem; }
.site-nav-toggle, .quick-contact-close { border: 1px solid var(--ink); border-radius: 999px; color: var(--ink); background: var(--paper); }
.site-nav-toggle:hover, .site-nav-toggle:focus-visible, .quick-contact-close:hover, .quick-contact-close:focus-visible, .hero__control:hover, .hero__control:focus-visible { border-color: var(--accent); color: var(--accent-ink); background: var(--accent); outline: 0; }
#key-contacts, #office-locations, #send-message, #map { scroll-margin-top: 118px; }
.product-card:focus-within, .article-card:focus-within, .category-card:focus-within, .industry-card:focus-within, .event-row:focus-within, .career-row:focus-within, .key-contact-card:focus-within, .branch-card:focus-within, .support-link-card:focus-within { box-shadow: var(--card-hover-shadow); border-color: var(--accent); }

/* Simple, always-on client-logo marquee. The logo list is rendered twice (see
   SiteRenderer::clientScroller). Scrolling itself is driven by JS (site.js) using
   real, live-measured pixel widths and native scrollLeft -- not a CSS transform
   percentage -- so it can't drift out of sync with whatever the browser actually
   renders. This file only sets up the box; no animation or keyframes live here. */
.client-strip__logos { justify-content: flex-start; overflow: hidden; scrollbar-width: none; }
.client-strip__logos::-webkit-scrollbar { display: none; }
.client-strip__track { display: flex; width: max-content; }
.client-strip__logo-group { display: flex; flex: none; align-items: center; gap: 28px; padding-right: 28px; }
@media (max-width: 820px) { .client-strip__logo-group { gap: 18px; padding-right: 18px; } }
@media (prefers-reduced-motion: reduce) { .client-strip__logos { overflow-x: auto; } }

/* Submit-button loading state: blocks repeated clicks, animates while the form posts. */
.button.is-submitting, .button:disabled { opacity: .7; cursor: default; pointer-events: none; }
.button.is-submitting { position: relative; padding-left: 2.4rem; }
.button.is-submitting::before {
  content: '';
  position: absolute;
  left: 1rem;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  border: 2px solid currentColor;
  border-top-color: transparent;
  animation: sevana-button-spin .7s linear infinite;
}
@keyframes sevana-button-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .button.is-submitting::before { animation: none; } }
