/* =========================================================
   Gallina India – stylesheet v12 ("Daylight" redesign)
   Concept: light passing through blue-tinted polycarbonate.
   - Gallina blue from the logo, deep sheet-blue for dark bands
   - fine vertical "rib" texture = multiwall sheet cells
   - light-sheen sweep on images, logo diamond as marker
   No animation libraries: CSS + a small IntersectionObserver in site.js
   ========================================================= */

/* ===== 1. Tokens ===== */
:root{
  --blue:#004990;--blue-2:#0a62b8;--deep:#06294B;--deeper:#041c34;
  --ink:#0f2236;--body-copy:#47576a;--steel:#5b6876;--muted:#6b7a89;
  --line:#dbe4ee;--line-2:#c9d6e3;--opal:#eef3f8;--opal-2:#e2ebf4;--white:#fff;
  --glow:#7fd8ff;
  --font:'Archivo','Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif;
  --r-xl:30px;--r-lg:22px;--r-md:16px;--r-sm:10px;--r-pill:999px;
  --ease:cubic-bezier(.22,.8,.24,1);
  --sh-1:0 1px 2px rgba(6,41,75,.06),0 10px 30px -14px rgba(6,41,75,.22);
  --sh-2:0 2px 4px rgba(6,41,75,.05),0 34px 70px -30px rgba(6,41,75,.45);
  --ribs:repeating-linear-gradient(90deg,rgba(255,255,255,.075) 0 1px,transparent 1px 13px);
  --ribs-ink:repeating-linear-gradient(90deg,rgba(0,73,144,.09) 0 1px,transparent 1px 13px);
  --header-h:84px;--gutter:clamp(20px,4vw,48px);--frame:clamp(8px,1.1vw,16px);
  --section:clamp(72px,9vw,128px);
  --arrow-w:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --arrow-b:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23004990' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --arrow-d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306294B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --dl:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E");
  --plus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23004990' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}

/* ===== 2. Base ===== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 20px);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:17.5px;line-height:1.65;color:var(--ink);background:#fff;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
main,.site-footer{overflow-x:hidden}
@supports (overflow-x:clip){body,main{overflow-x:clip}}
img,svg,video{max-width:100%;height:auto}
img{display:block}
h1,h2,h3,h4{font-family:var(--font);line-height:1.08;overflow-wrap:break-word;margin:0}
p{overflow-wrap:break-word}
a{color:inherit}
button{font:inherit;color:inherit}
::selection{background:var(--blue);color:#fff}
.container{width:min(1260px,calc(100% - 2 * var(--gutter)));margin-inline:auto}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-60px;z-index:4000;background:var(--blue);color:#fff;padding:10px 18px;border-radius:var(--r-pill);text-decoration:none;transition:top .2s}
.skip-link:focus{top:12px}
:focus-visible{outline:2px solid var(--blue-2);outline-offset:3px}
body.menu-open,body.lb-open{overflow:hidden}

/* Display type: expanded width is the brand voice */
.home-title,.section-head h2,.split-copy h2,.cta-box h2,.hero h1,.hero-title,.inner-hero h1,.prose h2,.application h3,.product-icon-card h3,.news-body h3,.sitemap-grid h2,.icon-list b,.stat b,.stat-grid b{font-stretch:118%;font-variation-settings:"wdth" 118;letter-spacing:-.025em;font-weight:700}

/* Kickers: sentence case with the logo's diamond as marker */
.eyebrow,.home-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;font-size:14.5px;font-weight:600;letter-spacing:.005em;color:var(--blue);line-height:1.3}
.eyebrow::before,.home-kicker::before{content:'';width:8px;height:8px;flex-shrink:0;background:currentColor;transform:rotate(45deg);border-radius:1.5px}

/* ===== 3. Buttons & links ===== */
.outline-btn,.solid-btn,.header-cta{--chip:var(--blue);--chip-arrow:var(--arrow-w);position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:14px;padding:7px 7px 7px 24px;min-height:52px;border-radius:var(--r-pill);font-size:15.5px;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;border:1.5px solid var(--blue);color:var(--blue);background:transparent;transition:color .45s var(--ease),border-color .45s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease);-webkit-tap-highlight-color:transparent;text-align:left}
.outline-btn::before,.solid-btn::before,.header-cta::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--blue);transform:translateX(-101%);transition:transform .55s var(--ease)}
.outline-btn::after,.solid-btn::after,.header-cta::after{content:'';flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--chip-arrow) center/16px no-repeat,var(--chip);transition:background-color .45s var(--ease),transform .45s var(--ease)}
.outline-btn:hover,.outline-btn:focus-visible{color:#fff;transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(0,73,144,.55)}
.outline-btn:hover::before,.outline-btn:focus-visible::before,.solid-btn:hover::before,.solid-btn:focus-visible::before,.header-cta:hover::before,.header-cta:focus-visible::before{transform:none}
.outline-btn:hover::after,.outline-btn:focus-visible::after{--chip:#fff;--chip-arrow:var(--arrow-b);transform:rotate(-45deg)}
.solid-btn{background:var(--blue);color:#fff;--chip:#fff;--chip-arrow:var(--arrow-b)}
.solid-btn::before{background:var(--deep)}
.solid-btn:hover,.solid-btn:focus-visible{border-color:var(--deep);transform:translateY(-2px);box-shadow:0 16px 32px -14px rgba(6,41,75,.6)}
.solid-btn:hover::after,.solid-btn:focus-visible::after{transform:rotate(-45deg)}
.outline-btn.on-dark{border-color:rgba(255,255,255,.5);color:#fff;--chip:#fff;--chip-arrow:var(--arrow-d);background:rgba(255,255,255,.07);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.outline-btn.on-dark::before{background:#fff}
.outline-btn.on-dark:hover,.outline-btn.on-dark:focus-visible{color:var(--deep);border-color:#fff;box-shadow:0 16px 36px -16px rgba(0,0,0,.6)}
.outline-btn.on-dark:hover::after,.outline-btn.on-dark:focus-visible::after{--chip:var(--blue);--chip-arrow:var(--arrow-w)}

.text-link{color:var(--blue);font-weight:600;text-decoration:none;padding-bottom:3px;background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat,linear-gradient(rgba(0,73,144,.25),rgba(0,73,144,.25)) 0 100%/100% 1px no-repeat;transition:background-size .45s var(--ease),color .2s}
.text-link:hover,.text-link:focus-visible{background-size:100% 2px,100% 1px}
.text-link::after{content:'';display:inline-block;width:14px;height:14px;margin-left:6px;vertical-align:-1px;background:var(--arrow-b) center/14px no-repeat;transition:transform .35s var(--ease)}
.text-link:hover::after{transform:translateX(4px)}

/* ===== 4. Top bar ===== */
.topbar{background:var(--deeper);color:#b9cadb;font-size:13.5px;line-height:1;position:relative;z-index:1001}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:40px;padding-block:6px}
.topbar-contact{display:flex;align-items:center;gap:26px;margin:0}
.topbar a{color:#d3e0ec;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:color .25s}
.topbar a:hover{color:var(--glow)}
.topbar-contact svg{width:15px;height:15px;color:var(--glow)}
.topbar-sites{display:flex;align-items:center;gap:12px}
.topbar-sites ul{display:flex;gap:10px;list-style:none;margin:0;padding:0}
.topbar-sites img{display:block;height:18px;width:auto;border-radius:3px;box-shadow:0 0 0 1px rgba(255,255,255,.22);transition:transform .3s var(--ease)}
.topbar-sites a:hover img,.topbar-sites a:focus-visible img{transform:translateY(-2px) scale(1.06)}
.topbar-label{color:#8ea4b9;font-size:13px}

/* ===== 5. Header & navigation ===== */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);border-bottom:1px solid transparent;transition:box-shadow .4s var(--ease),border-color .4s,background .4s}
.site-header.is-scrolled{background:rgba(255,255,255,.95);border-bottom-color:rgba(6,41,75,.07);box-shadow:0 12px 34px -20px rgba(6,41,75,.35)}
.nav-wrap{min-height:var(--header-h);display:flex;align-items:stretch;gap:22px}
.brand{display:inline-flex;align-items:center;text-decoration:none;flex-shrink:0;transition:opacity .25s}
.brand:hover{opacity:.82}
.brand-logo{display:block;height:50px;width:auto;max-width:none}
.desktop-nav{margin-left:auto;display:flex;align-items:stretch}
.nav-list{display:flex;align-items:stretch;margin:0;padding:0;list-style:none}
.nav-item{position:relative;display:flex;align-items:stretch}
.nav-link{position:relative;display:flex;align-items:center;gap:7px;padding:0 13px;color:var(--ink);text-decoration:none;font-size:15px;font-weight:550;white-space:nowrap;transition:color .25s}
.nav-link::before{content:'';position:absolute;left:13px;right:13px;bottom:22px;height:2px;border-radius:2px;background:var(--blue);transform:scaleX(0);transition:transform .4s var(--ease)}
.nav-item:hover>.nav-link,.nav-item.is-open>.nav-link,.nav-item.is-active>.nav-link{color:var(--blue)}
.nav-item:hover>.nav-link::before,.nav-item.is-open>.nav-link::before,.nav-item.is-active>.nav-link::before{transform:scaleX(1)}
.has-dropdown>.nav-link::after{content:'';width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);margin-top:-4px;opacity:.6;transition:transform .35s var(--ease),margin .35s var(--ease)}
.has-dropdown:hover>.nav-link::after,.has-dropdown.is-open>.nav-link::after{transform:rotate(225deg);margin-top:3px}

.dropdown,.flyout{position:absolute;margin:0;padding:10px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-2);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s var(--ease),transform .35s var(--ease),visibility .28s}
.dropdown{left:-10px;top:calc(100% - 8px);min-width:340px;transform:translateY(10px)}
.dropdown::before{content:'';position:absolute;left:0;right:0;top:-12px;height:12px}
.has-dropdown:hover>.dropdown,.has-dropdown:focus-within>.dropdown,.has-dropdown.is-open>.dropdown{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.dropdown li{position:relative}
.dropdown a{position:relative;display:block;padding:11px 40px 11px 14px;border-radius:var(--r-sm);color:var(--ink);text-decoration:none;font-size:14.5px;font-weight:500;line-height:1.35;white-space:normal;transition:background .25s,color .25s,padding .35s var(--ease)}
.dropdown a:not([aria-haspopup])::after{content:'';position:absolute;right:14px;top:50%;width:14px;height:14px;margin-top:-7px;background:var(--arrow-b) center/14px no-repeat;opacity:0;transform:translateX(-8px);transition:opacity .25s,transform .35s var(--ease)}
.dropdown a:hover,.dropdown a:focus-visible{background:var(--opal);color:var(--blue);padding-left:18px;outline:none}
.dropdown a:not([aria-haspopup]):hover::after,.dropdown a:not([aria-haspopup]):focus-visible::after{opacity:1;transform:none}
.dropdown a[aria-current="page"],.dropdown li.is-active>a{color:var(--blue);font-weight:650;background:var(--opal)}
.has-flyout>a::after{content:'';position:absolute;right:16px;top:50%;width:6px;height:6px;border-right:1.6px solid currentColor;border-top:1.6px solid currentColor;transform:translateY(-50%) rotate(45deg);opacity:.55}
.flyout{left:calc(100% + 10px);top:-10px;min-width:300px;transform:translateX(-8px)}
.flyout::before{content:'';position:absolute;top:0;bottom:0;left:-12px;width:12px}
.has-flyout:hover>.flyout,.has-flyout:focus-within>.flyout,.has-flyout.is-open>.flyout{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.has-flyout:hover>a,.has-flyout.is-open>a{background:var(--opal);color:var(--blue)}

.header-cta{display:none;align-self:center;min-height:46px;padding:5px 5px 5px 20px;font-size:14.5px;gap:12px;color:#fff;background:var(--blue);--chip:#fff;--chip-arrow:var(--arrow-b);flex-shrink:0}
.header-cta::after{width:34px;height:34px}
.header-cta::before{background:var(--deep)}
.header-cta:hover::after,.header-cta:focus-visible::after{transform:rotate(-45deg)}
@media (min-width:1440px){.header-cta{display:inline-flex}}

.menu-toggle{display:none;margin-left:auto;align-self:center;width:50px;height:50px;border:0;border-radius:50%;background:var(--opal);align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;padding:0;transition:background .3s}
.menu-toggle span{width:20px;height:2px;border-radius:2px;background:var(--ink);transition:transform .35s var(--ease),width .35s var(--ease)}
.menu-toggle span:nth-child(2){width:14px;transform:translateX(3px)}
.menu-toggle:hover{background:var(--opal-2)}
.menu-toggle:hover span:nth-child(2){width:20px;transform:none}

.mobile-nav{position:fixed;z-index:1100;right:0;top:0;height:100%;height:100dvh;width:min(420px,92vw);background:#fff;transform:translateX(105%);transition:transform .5s var(--ease);box-shadow:-30px 0 80px rgba(4,28,52,.25);display:flex;flex-direction:column;padding:20px 26px 30px;overflow-y:auto;overscroll-behavior:contain;border-radius:var(--r-lg) 0 0 var(--r-lg)}
.mobile-nav[hidden]{display:none}
.mobile-nav.open{transform:none}
.mobile-nav-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.mobile-nav-top .brand-logo{height:40px}
.menu-close{border:0;background:var(--opal);border-radius:50%;font-size:28px;font-weight:300;line-height:1;cursor:pointer;width:46px;height:46px;display:grid;place-items:center;flex-shrink:0;transition:background .3s,transform .4s var(--ease)}
.menu-close:hover{background:var(--opal-2);transform:rotate(90deg)}
.mobile-list,.mobile-sub{list-style:none;margin:0;padding:0}
.mobile-list>li{border-bottom:1px solid var(--line)}
.mobile-nav .mobile-list>li{opacity:0;transform:translateX(24px);transition:opacity .45s var(--ease),transform .55s var(--ease)}
.mobile-nav.open .mobile-list>li{opacity:1;transform:none}
.mobile-nav.open .mobile-list>li:nth-child(2){transition-delay:.04s}.mobile-nav.open .mobile-list>li:nth-child(3){transition-delay:.08s}.mobile-nav.open .mobile-list>li:nth-child(4){transition-delay:.12s}.mobile-nav.open .mobile-list>li:nth-child(5){transition-delay:.16s}.mobile-nav.open .mobile-list>li:nth-child(6){transition-delay:.2s}.mobile-nav.open .mobile-list>li:nth-child(7){transition-delay:.24s}.mobile-nav.open .mobile-list>li:nth-child(8){transition-delay:.28s}
.mobile-list>li>a,.mobile-list>li>.mobile-row>a{display:block;flex:1;padding:15px 0;color:var(--ink);text-decoration:none;font-size:19px;font-weight:650;font-variation-settings:"wdth" 110;letter-spacing:-.01em;transition:color .25s,padding .35s var(--ease)}
.mobile-list>li>a:hover,.mobile-list>li>.mobile-row>a:hover{color:var(--blue);padding-left:6px}
.mobile-list>li.is-active>a,.mobile-list>li.is-active>.mobile-row>a{color:var(--blue)}
.mobile-row{display:flex;align-items:center}
.sub-toggle{width:44px;height:44px;border:0;border-radius:50%;background:transparent;cursor:pointer;position:relative;flex-shrink:0;transition:background .25s}
.sub-toggle:hover{background:var(--opal)}
.sub-toggle::before{content:'';position:absolute;left:50%;top:50%;width:8px;height:8px;border-right:1.8px solid var(--ink);border-bottom:1.8px solid var(--ink);transform:translate(-50%,-70%) rotate(45deg);transition:transform .35s var(--ease)}
.sub-toggle[aria-expanded="true"]::before{transform:translate(-50%,-30%) rotate(225deg)}
.mobile-sub{padding:0 0 12px}
.mobile-sub a{display:block;flex:1;padding:9px 0 9px 16px;color:var(--steel);text-decoration:none;border-left:2px solid var(--line);font-size:16px;font-weight:500;transition:color .25s,padding .3s var(--ease),border-color .25s}
.mobile-sub a[aria-current="page"],.mobile-sub a:hover,.mobile-sub li.is-active>.mobile-row>a{color:var(--blue);border-left-color:var(--blue);padding-left:20px}
.mobile-sub .mobile-sub{padding:0 0 6px 14px}
.mobile-sub .sub-toggle{width:40px;height:40px}
.mobile-sites{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.mobile-sites p{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--steel)}
.mobile-sites ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.mobile-sites a{display:flex;align-items:center;gap:12px;padding:8px 0;color:var(--ink);text-decoration:none;font-weight:500;transition:color .25s}
.mobile-sites a:hover{color:var(--blue)}
.mobile-sites img{height:16px;width:auto;border-radius:2px;box-shadow:0 0 0 1px var(--line)}
.mobile-cta{margin-top:26px;align-self:flex-start}
.nav-overlay{position:fixed;z-index:1050;inset:0;background:rgba(4,28,52,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .4s}
.nav-overlay.open{opacity:1}
.nav-overlay[hidden]{display:none}

/* ===== 6. Hero frames (shared) ===== */
.hero,.inner-hero{position:relative;padding:var(--frame) var(--frame) 0}
.hero-frame{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--r-xl);background:var(--deep);color:#fff}
.hero-media{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.hero-ribs,.intro-ribs,.statement-ribs,.split-ribs,.cta-ribs,.footer-ribs{position:absolute;pointer-events:none;background:var(--ribs)}
.hero-lead{max-width:600px;margin:22px 0 0;font-size:clamp(17px,1.35vw,20px);line-height:1.55;color:#d6e3ef}

/* Inner page hero */
.inner-hero .hero-frame{min-height:clamp(380px,50vh,540px);display:flex;align-items:flex-end}
.inner-hero .hero-media{transform:scale(1.08);animation:heroZoom 1.8s var(--ease) forwards}
.inner-hero .hero-frame::after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(100deg,rgba(4,28,52,.94) 0%,rgba(6,41,75,.8) 38%,rgba(0,73,144,.28) 75%,rgba(0,73,144,.05) 100%),linear-gradient(0deg,rgba(4,28,52,.55),transparent 55%)}
.inner-hero .hero-ribs{z-index:1;top:0;bottom:0;right:0;width:min(34%,420px);-webkit-mask:linear-gradient(90deg,transparent,#000 50%);mask:linear-gradient(90deg,transparent,#000 50%)}
.inner-hero-in{position:relative;z-index:2;padding:clamp(64px,8vw,104px) 0 clamp(44px,5vw,64px)}
.inner-hero h1{font-size:clamp(34px,5.2vw,74px);line-height:1.02;max-width:18ch}
.inner-hero .eyebrow{color:var(--glow)}
.breadcrumb ol{list-style:none;margin:0 0 30px;padding:7px 16px;display:inline-flex;flex-wrap:wrap;gap:4px 10px;font-size:13.5px;line-height:1.5;color:#c4d5e6;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:100%}
.breadcrumb li{display:inline-flex;align-items:center;gap:10px;min-width:0}
.breadcrumb li+li::before{content:'';width:5px;height:5px;flex-shrink:0;background:var(--glow);transform:rotate(45deg);opacity:.75}
.breadcrumb a{color:#fff;text-decoration:none;transition:color .25s}
.breadcrumb a:hover{color:var(--glow)}
@keyframes heroZoom{to{transform:scale(1)}}

/* Split headline words (site.js wraps words in .w > span) */
[data-split] .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
[data-split] .w>span{display:inline-block}
.motion .inner-hero [data-split] .w>span{transform:translateY(105%);animation:wordUp .9s var(--ease) forwards;animation-delay:calc(.15s + var(--i,0) * .07s)}
.motion .inner-hero .breadcrumb,.motion .inner-hero .eyebrow,.motion .inner-hero .hero-lead{opacity:0;animation:fadeUp .9s var(--ease) forwards}
.motion .inner-hero .eyebrow{animation-delay:.1s}
.motion .inner-hero .hero-lead{animation-delay:.45s}
@keyframes wordUp{to{transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.inner-hero h1.is-long{font-size:clamp(28px,3.7vw,54px);line-height:1.06;max-width:24ch}

/* ===== 7. Home hero slider ===== */
.hero-slider .hero-frame{display:grid;min-height:clamp(620px,calc(100vh - var(--header-h) - 40px - var(--frame)),900px);min-height:clamp(620px,calc(100svh - var(--header-h) - 40px - var(--frame)),900px)}
.hero-slides{display:grid;grid-area:1/1}
.hero-slide{position:relative;grid-area:1/1;display:flex;flex-direction:column;justify-content:center;visibility:hidden;z-index:1;clip-path:inset(0 0 0 100%);transition:clip-path 0s linear 1.3s,visibility 0s linear 1.3s}
.hero-slide.is-active{visibility:visible;z-index:2;clip-path:inset(0 0 0 0);transition:clip-path 1.25s cubic-bezier(.77,0,.18,1)}
.hero-slide::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(95deg,rgba(4,28,52,.92) 0%,rgba(6,41,75,.72) 40%,rgba(6,41,75,.18) 72%,rgba(6,41,75,.05) 100%),linear-gradient(0deg,rgba(4,28,52,.85) 0%,rgba(4,28,52,0) 42%)}
.hero-slide .hero-media{transform:scale(1.14);transition:transform 0s linear 1.3s}
.hero-slide.is-active .hero-media{transform:scale(1);transition:transform 8s cubic-bezier(.2,.6,.3,1)}
.hero-in{position:relative;z-index:3;width:min(1260px,calc(100% - 2 * var(--gutter)));padding:60px 0 170px}
.hero-slide .eyebrow{color:var(--glow)}
.hero h1,.hero-title{font-size:clamp(40px,6.4vw,96px);line-height:.98;max-width:13ch;color:#fff}
.hero-title{max-width:16ch;font-size:clamp(38px,5.6vw,84px)}
.hero-place{display:flex;align-items:center;gap:12px;margin-top:18px;font-size:clamp(15px,1.4vw,19px);font-weight:500;font-stretch:100%;font-variation-settings:"wdth" 100;letter-spacing:.01em;color:#cfe0ee;line-height:1.3}
.hero-place::before{content:'';width:34px;height:1.5px;background:var(--glow);flex-shrink:0}
.hero-actions{margin:34px 0 0}
/* staged entrance of slide copy (animations re-run each time a slide becomes active) */
.hero-slide .eyebrow,.hero-slide .hero-lead,.hero-slide .hero-actions,.hero-slide .hero-place{opacity:0}
.hero-slide.is-active .eyebrow{animation:fadeUp .8s var(--ease) .45s both}
.hero-slide.is-active .hero-place{animation:fadeUp .8s var(--ease) .85s both}
.hero-slide.is-active .hero-lead{animation:fadeUp .8s var(--ease) .95s both}
.hero-slide.is-active .hero-actions{animation:fadeUp .8s var(--ease) 1.08s both}
.hero-slide [data-split] .w>span{transform:translateY(108%)}
.hero-slide.is-active [data-split] .w>span{transform:none;animation:wordUp2 1s var(--ease) both;animation-delay:calc(.5s + var(--i,0) * .07s)}
@keyframes wordUp2{from{transform:translateY(108%)}to{transform:none}}
html:not(.js) .hero-slide [data-split] .w>span{transform:none}

.hero-slider .hero-ribs{z-index:3;top:0;right:0;bottom:0;width:30%;-webkit-mask:linear-gradient(90deg,transparent,rgba(0,0,0,.7));mask:linear-gradient(90deg,transparent,rgba(0,0,0,.7))}
.hero-count{position:absolute;z-index:4;top:clamp(26px,4vw,48px);right:clamp(26px,4vw,56px);display:flex;align-items:flex-start;gap:8px;line-height:.8;pointer-events:none}
.hero-count b{font-size:clamp(70px,9vw,150px);font-weight:800;font-stretch:125%;font-variation-settings:"wdth" 125;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.55);letter-spacing:-.04em}
.hero-count span{font-size:15px;font-weight:600;color:rgba(255,255,255,.7);padding-top:8px}
.hero-count.tick b{animation:countTick .7s var(--ease)}
@keyframes countTick{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

.hero-next{position:absolute;z-index:5;right:clamp(18px,2.4vw,32px);bottom:104px;display:flex;align-items:center;gap:16px;width:340px;padding:10px 12px 10px 10px;border:1px solid rgba(255,255,255,.2);border-radius:var(--r-md);background:rgba(6,41,75,.4) var(--ribs);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff;text-align:left;cursor:pointer;transition:transform .45s var(--ease),background-color .35s,border-color .35s}
.hero-next:hover{transform:translateY(-4px);background-color:rgba(0,73,144,.55);border-color:rgba(127,216,255,.5)}
.hero-next-img{width:94px;height:68px;flex-shrink:0;overflow:hidden;border-radius:var(--r-sm)}
.hero-next-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.hero-next:hover .hero-next-img img{transform:scale(1.12)}
.hero-next-text{display:flex;flex-direction:column;min-width:0;flex:1}
.hero-next-text b{font-size:15px;font-weight:650;line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hero-next-text span{font-size:13px;color:#b9cfe2;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-next-arrow{width:38px;height:38px;flex-shrink:0;border-radius:50%;background:var(--arrow-d) center/16px no-repeat,#fff;transition:transform .45s var(--ease)}
.hero-next:hover .hero-next-arrow{transform:translateX(3px) rotate(-45deg)}
.hero-next.swap .hero-next-img,.hero-next.swap .hero-next-text{animation:fadeUp .6s var(--ease)}

.hero-bar{position:absolute;left:0;right:0;bottom:0;z-index:5;border-top:1px solid rgba(255,255,255,.14);background:linear-gradient(0deg,rgba(4,28,52,.55),rgba(4,28,52,.25));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.hero-bar-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px;padding-block:12px}
.hero-quick{display:flex;flex-wrap:wrap;gap:8px}
.hero-quick a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid rgba(255,255,255,.22);border-radius:var(--r-pill);color:#fff;text-decoration:none;font-size:14px;font-weight:550;white-space:nowrap;background:rgba(255,255,255,.04);transition:background .3s,border-color .3s,color .3s,transform .35s var(--ease)}
.hero-quick a span{color:var(--glow);transition:transform .35s var(--ease)}
.hero-quick a:hover{background:#fff;color:var(--deep);border-color:#fff;transform:translateY(-2px)}
.hero-quick a:hover span{color:var(--blue);transform:translateX(4px)}
.hero-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}
.hero-dots{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.hero-dot{position:relative;background:none;border:0;padding:10px 5px;cursor:pointer;color:rgba(255,255,255,.5);font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;transition:color .3s}
.hero-dot span{display:block;transition:transform .35s var(--ease)}
.hero-dot::after{content:'';position:absolute;left:5px;right:5px;bottom:4px;height:2px;border-radius:2px;background:var(--glow);transform:scaleX(0);transition:transform .45s var(--ease)}
.hero-dot:hover{color:#fff}
.hero-dot:hover span{transform:translateY(-2px)}
.hero-dot.is-active{color:#fff}
.hero-dot.is-active::after{transform:scaleX(1)}
.hero-arrow,.hero-pause{width:44px;height:44px;border:1px solid rgba(255,255,255,.32);border-radius:50%;background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:background .3s,border-color .3s,color .3s,transform .35s var(--ease)}
.hero-arrow:hover,.hero-pause:hover{background:#fff;color:var(--deep);border-color:#fff}
.hero-arrow.prev:hover{transform:translateX(-2px)}
.hero-arrow.next:hover{transform:translateX(2px)}
.hero-arrow::before{content:'';width:9px;height:9px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:4px}
.hero-arrow.next::before{transform:rotate(-135deg);margin-left:-4px}
.hero-pause::before{content:'';width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.hero-pause[aria-pressed="true"]::before{width:0;height:0;border-style:solid;border-width:7px 0 7px 11px;border-color:transparent transparent transparent currentColor;margin-left:3px}
.hero-dot:focus-visible,.hero-arrow:focus-visible,.hero-pause:focus-visible,.hero-quick a:focus-visible{outline:2px solid var(--glow);outline-offset:2px}
.hero-progress{position:absolute;left:0;right:0;bottom:0;height:3px;z-index:6}
.hero-progress span{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--blue-2),var(--glow))}
.hero-progress.run span{animation:heroProgress var(--hero-delay,6.5s) linear forwards}
@keyframes heroProgress{to{transform:scaleX(1)}}

/* ===== 8. Home sections ===== */
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:clamp(36px,4.5vw,60px)}
.section-head h2{font-size:clamp(32px,4.2vw,58px);line-height:1.02;max-width:20ch}
.section-head>div{flex:1;min-width:0}
.section-head>p{max-width:420px;margin:0;color:var(--body-copy);font-size:17px}
.section-head .home-kicker{margin-bottom:14px}

.home-about{padding:var(--section) 0}
.home-intro{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(44px,6.5vw,104px);align-items:center}
.home-title{font-size:clamp(38px,5vw,70px);line-height:1;margin:0 0 30px;max-width:12ch}
.home-copy p{max-width:60ch;color:var(--body-copy);margin:0 0 18px}
.home-copy p:last-child{margin:30px 0 0}
.intro-media{position:relative;margin:0 26px 26px 0;isolation:isolate}
.intro-image{position:relative;z-index:1;width:100%;height:clamp(420px,46vw,640px);object-fit:cover;border-radius:var(--r-lg);background:var(--opal);box-shadow:var(--sh-2)}
.intro-ribs{z-index:0;right:-26px;bottom:-26px;width:72%;height:76%;border-radius:var(--r-lg);background:var(--ribs),linear-gradient(140deg,var(--blue),var(--deep))}

.band-statement{padding:0 var(--frame) var(--section)}
.band-statement .container{width:auto;max-width:none}
.statement-panel{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--r-xl);padding:clamp(52px,8vw,120px) max(var(--gutter),calc((100% - 1260px) / 2));background:radial-gradient(120% 140% at 100% 0%,rgba(127,216,255,.22),transparent 45%),linear-gradient(125deg,var(--deeper) 0%,var(--deep) 45%,var(--blue) 100%);color:#fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,6vw,96px);align-items:center}
.statement-ribs{inset:0;z-index:-1;-webkit-mask:radial-gradient(70% 90% at 100% 0%,#000,transparent 75%);mask:radial-gradient(70% 90% at 100% 0%,#000,transparent 75%)}
.statement-panel .section-head{margin:0;display:block}
.statement-panel .section-head h2{font-size:clamp(32px,4vw,58px);max-width:14ch}
.editorial-card p{margin:0;font-size:clamp(17px,1.35vw,20.5px);line-height:1.65;color:#d4e2ef}
.editorial-card a{color:#fff;font-weight:600;text-decoration:none;background:linear-gradient(var(--glow),var(--glow)) 0 100%/100% 1.5px no-repeat;transition:background-size .35s var(--ease),color .25s}
.editorial-card a:hover{color:var(--glow);background-size:100% 3px}

.home-products{padding:0 0 var(--section)}
.product-icon-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.product-icon-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .4s}
.pcard-media{position:relative;display:block;aspect-ratio:4/3.1;overflow:hidden;background:var(--opal)}
.pcard-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1s var(--ease)}
.pcard-media::after,.gallery-item::after,.news-media::after,.application::before,.split-media::after{content:'';position:absolute;z-index:2;top:0;bottom:0;left:-80%;width:50%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.32),transparent);transform:skewX(-18deg);pointer-events:none;opacity:0}
.pcard-body{display:flex;flex-direction:column;flex:1;padding:24px 24px 22px}
.product-icon-card h3{font-size:clamp(22px,1.9vw,27px);margin:0 0 10px;transition:color .3s}
.product-icon-card p{color:var(--body-copy);font-size:15.5px;line-height:1.55;margin:0 0 22px;flex:1}
.product-icon-card .card-link{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--line);font-size:14.5px;font-weight:650;color:var(--blue)}
.product-icon-card .card-link::after{content:'';width:38px;height:38px;border-radius:50%;background:var(--arrow-b) center/16px no-repeat,var(--opal);transition:background-color .4s var(--ease),transform .45s var(--ease)}
.product-icon-card:hover,.product-icon-card:focus-visible{transform:translateY(-8px);border-color:rgba(0,73,144,.35);box-shadow:var(--sh-2)}
.product-icon-card:hover .pcard-media img,.product-icon-card:focus-visible .pcard-media img{transform:scale(1.1)}
.product-icon-card:hover h3{color:var(--blue)}
.product-icon-card:hover .card-link::after,.product-icon-card:focus-visible .card-link::after{background:var(--arrow-w) center/16px no-repeat,var(--blue);transform:rotate(-45deg)}
.product-icon-card:hover .pcard-media::after,.gallery-item:hover::after,.news-card:hover .news-media::after,.application:hover::before,.split-media:hover::after{animation:sheen 1.1s var(--ease)}
@keyframes sheen{0%{left:-80%;opacity:0}15%{opacity:1}100%{left:130%;opacity:0}}

.band-why{position:relative;padding:var(--section) 0;background:var(--opal);overflow:hidden;isolation:isolate}
.band-why::before{content:'';position:absolute;z-index:-1;inset:0 0 auto auto;width:55%;height:100%;background:var(--ribs-ink);-webkit-mask:linear-gradient(200deg,#000,transparent 60%);mask:linear-gradient(200deg,#000,transparent 60%)}
.icon-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none}
.icon-list li{position:relative;display:flex;flex-direction:column;padding:30px 26px 28px;background:#fff;border-radius:var(--r-md);border:1px solid rgba(0,73,144,.08);overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.icon-list li::after{content:'';position:absolute;left:0;bottom:0;height:3px;width:100%;background:linear-gradient(90deg,var(--blue),var(--glow));transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.icon-list .icon-glyph{position:relative;display:grid;place-items:center;width:54px;height:54px;margin:4px 0 26px 4px;color:var(--blue)}
.icon-list .icon-glyph::before{content:'';position:absolute;inset:4px;border-radius:12px;background:var(--opal);transform:rotate(45deg);transition:background .45s var(--ease),transform .7s var(--ease)}
.icon-list .icon-glyph svg{position:relative;width:26px;height:26px;transition:color .3s}
.icon-list b{display:block;font-size:20px;margin-bottom:8px;line-height:1.15}
.icon-list span:not(.icon-glyph){color:var(--body-copy);font-size:15.5px;line-height:1.55}
.icon-list li:hover{transform:translateY(-6px);box-shadow:var(--sh-1)}
.icon-list li:hover::after{transform:scaleX(1)}
.icon-list li:hover .icon-glyph{color:#fff}
.icon-list li:hover .icon-glyph::before{background:var(--blue);transform:rotate(135deg)}

.split-feature{padding:calc(var(--section) * .5) 0}
.split-feature+.split-feature{padding-top:calc(var(--section) * .35)}
.band-why+.split-feature{padding-top:var(--section)}
.split-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center}
.split-media{position:relative;grid-column:1/9;grid-row:1;margin:0;overflow:hidden;border-radius:var(--r-xl);background:var(--opal)}
.split-media img{width:100%;height:clamp(420px,46vw,640px);object-fit:cover;transition:transform 1.4s var(--ease)}
.split-media:hover img{transform:scale(1.05)}
.split-copy{position:relative;grid-column:7/13;grid-row:1;z-index:2;overflow:hidden;isolation:isolate;padding:clamp(34px,4.4vw,64px);border-radius:var(--r-lg);background:linear-gradient(150deg,var(--deep),var(--deeper));color:#fff;box-shadow:var(--sh-2)}
.split-ribs{z-index:-1;inset:0 0 0 auto;width:45%;-webkit-mask:linear-gradient(90deg,transparent,#000);mask:linear-gradient(90deg,transparent,#000)}
.split-copy .eyebrow{color:var(--glow)}
.split-copy h2{font-size:clamp(30px,3.4vw,50px);line-height:1.02;margin:0 0 20px}
.split-copy p{color:#cfdeeb;margin:0 0 16px;max-width:52ch}
.split-copy p a:not([class]){color:#fff;font-weight:600;text-decoration-color:var(--glow);text-underline-offset:4px;transition:color .25s}
.split-copy p a:not([class]):hover{color:var(--glow)}
.split-feature.is-reverse .split-media{grid-column:5/13}
.split-feature.is-reverse .split-copy{grid-column:1/7}
.split-copy.light{background:#fff;color:var(--ink);border:1px solid var(--line)}
.split-copy.light .eyebrow{color:var(--blue)}
.split-copy.light p{color:var(--body-copy)}
.split-copy.light p:last-child{margin:26px 0 0}
.stat-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:30px;border-top:1px solid rgba(255,255,255,.16)}
.stat{padding:22px 18px 4px 0}
.stat:nth-child(even){padding-left:22px;border-left:1px solid rgba(255,255,255,.16)}
.stat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.16)}
.stat b{display:block;font-size:clamp(32px,3.3vw,48px);line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.stat span{display:block;margin-top:8px;font-size:14.5px;color:#9fbad2}

.applications{padding:var(--section) 0 calc(var(--section) + 40px)}
.application-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.application{position:relative;margin:0;aspect-ratio:3/4;overflow:hidden;isolation:isolate;border-radius:var(--r-lg);background:var(--deep)}
.application:nth-child(2){transform:translateY(48px)}
.application img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.application::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(4,28,52,.92) 0%,rgba(4,28,52,.35) 45%,transparent 70%);transition:opacity .5s}
.application figcaption{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:clamp(22px,2.4vw,32px);color:#fff}
.application figcaption::before{content:'';display:block;width:40px;height:2px;margin-bottom:18px;background:var(--glow);transition:width .6s var(--ease)}
.application h3{font-size:clamp(22px,2vw,28px);margin:0 0 10px;line-height:1.08}
.application p{margin:0;font-size:15.5px;line-height:1.5;color:#d2e1ee;max-width:34ch}
.application:hover img{transform:scale(1.08)}
.application:hover figcaption::before{width:100%}

.home-projects{padding:0 0 var(--section)}
.home-projects .section-head>p .text-link{display:inline-block;margin-top:10px}

/* ===== 9. Inner page layout ===== */
.page-content{padding:clamp(64px,7vw,104px) 0}
.page-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:clamp(40px,5vw,72px);align-items:start}
.page-layout.no-aside{grid-template-columns:minmax(0,1fr)}
.page-main{min-width:0}

/* ---- Prose ---- */
.prose{font-size:17.5px;color:var(--body-copy)}
.prose>*:first-child{margin-top:0}
.prose h2{position:relative;font-size:clamp(28px,3vw,42px);line-height:1.06;color:var(--ink);margin:80px 0 24px;padding-top:26px}
.prose h2::before{content:'';position:absolute;left:0;top:0;width:56px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--blue),var(--glow))}
.prose h3{font-size:clamp(21px,1.8vw,25px);font-weight:650;font-variation-settings:"wdth" 108;letter-spacing:-.01em;line-height:1.2;color:var(--ink);margin:48px 0 14px}
.prose h4{font-size:18px;font-weight:650;color:var(--ink);margin:30px 0 10px;line-height:1.3}
.prose p{margin:0 0 18px;max-width:76ch}
.prose .lead{font-size:clamp(19px,1.6vw,23px);line-height:1.55;color:var(--ink);max-width:none;font-weight:450;margin-bottom:24px}
.prose a:not([class]){color:var(--blue);font-weight:550;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:rgba(0,73,144,.35);transition:text-decoration-color .25s,color .25s}
.prose a:not([class]):hover{text-decoration-color:var(--blue);color:var(--blue-2)}
.prose strong,.prose b{color:var(--ink);font-weight:650}
.prose ul:not([class]),.prose ol:not([class]){margin:0 0 22px;padding:0;list-style:none}
.prose ul:not([class]) li{position:relative;padding-left:26px;margin:9px 0}
.prose ul:not([class]) li::before{content:'';position:absolute;left:3px;top:.62em;width:8px;height:8px;border-radius:1.5px;background:var(--blue);transform:rotate(45deg)}
.prose ol:not([class]){counter-reset:n}
.prose ol:not([class]) li{counter-increment:n;position:relative;padding-left:44px;margin:12px 0;min-height:30px}
.prose ol:not([class]) li::before{content:counter(n);position:absolute;left:0;top:0;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--opal);color:var(--blue);font-weight:700;font-size:14px}
.prose hr{border:0;height:1px;background:linear-gradient(90deg,var(--line),transparent);margin:64px 0}
.prose figure{position:relative;margin:36px 0}
.prose figure img{width:100%;height:auto;border-radius:var(--r-lg);background:var(--opal);transition:transform 1.2s var(--ease)}
.prose>figure:not(.inline-figure){overflow:hidden;border-radius:var(--r-lg)}
.prose>figure:not(.inline-figure):hover img{transform:scale(1.03)}
.prose figcaption{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);margin-top:14px}
.prose figcaption::before{content:'';width:7px;height:7px;flex-shrink:0;background:var(--blue);transform:rotate(45deg);border-radius:1px}
.prose figure.inline-figure img,.profile-figure img{width:auto;max-width:100%;border-radius:var(--r-md)}
.prose figure.inline-figure{padding:22px;background:var(--opal);border-radius:var(--r-lg)}
.profile-figure img{background:#fff!important;border:1px solid var(--line);padding:12px}

/* stat tiles (inner pages) */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:36px 0 18px}
.stat-grid div{position:relative;overflow:hidden;padding:24px 22px 22px;border-radius:var(--r-md);background:linear-gradient(150deg,var(--deep),var(--blue));color:#fff;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.stat-grid div::before{content:'';position:absolute;inset:0;background:var(--ribs);-webkit-mask:linear-gradient(90deg,transparent 30%,#000);mask:linear-gradient(90deg,transparent 30%,#000);pointer-events:none}
.stat-grid div:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.stat-grid b{position:relative;display:block;font-size:clamp(24px,2.3vw,32px);line-height:1.08;color:#fff}
.stat-grid span{position:relative;display:block;margin-top:8px;font-size:14.5px;color:#c4d8ea;line-height:1.4}

/* two-column blocks, panels */
.split-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:32px 0}
.split-2:first-child{margin-top:0}
.panel{position:relative;padding:30px 28px 20px;background:var(--opal);border-radius:var(--r-lg);border:1px solid transparent;transition:border-color .4s,background .4s,transform .45s var(--ease),box-shadow .45s var(--ease)}
.panel:hover{background:#fff;border-color:var(--line);box-shadow:var(--sh-1);transform:translateY(-3px)}
.panel h3,.panel h4{margin-top:0}
.panel ul:not([class]){margin-bottom:10px}
.split-2 .raw-list{margin:16px 0 10px}
.split-2 .raw-list a{padding:12px 16px;font-size:15.5px}
.split-2 .table-wrap{margin:0 0 12px}

.media-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:34px;align-items:center;padding:30px 0;border-top:1px solid var(--line)}
.media-row:last-child{border-bottom:1px solid var(--line)}
.media-row figure{margin:0;overflow:hidden;border-radius:var(--r-md)}
.media-row figure img{border-radius:var(--r-md)}
.media-row h3{margin-top:0}
.media-row .result{display:block;margin-top:10px;color:var(--blue);font-weight:650}

.callout{position:relative;overflow:hidden;margin:44px 0;padding:34px 36px;border-radius:var(--r-lg);background:linear-gradient(135deg,var(--deep),var(--blue));color:#fff;font-size:clamp(20px,1.9vw,26px);font-weight:500;font-variation-settings:"wdth" 108;line-height:1.35;letter-spacing:-.01em}
.callout::after{content:'';position:absolute;inset:0;background:var(--ribs);-webkit-mask:linear-gradient(90deg,transparent 40%,#000);mask:linear-gradient(90deg,transparent 40%,#000);pointer-events:none}
.note{position:relative;margin:28px 0;padding:22px 26px 22px 64px;background:var(--opal);border-radius:var(--r-md);color:var(--ink);max-width:none!important}
.note::before{content:'i';position:absolute;left:22px;top:22px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:14px;font-weight:800;font-style:normal;line-height:1}

.badge-link{display:inline-block;margin:10px 0}
.badge-link img{max-height:54px;width:auto}
.badge-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:22px 0}
.badge-row img{height:56px;width:auto;transition:transform .35s var(--ease)}
.badge-row a:hover img{transform:translateY(-3px)}
.badge-row .badge-text{font-size:14px;font-weight:650}
.figure-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:26px 0}
.figure-pair figure{margin:0}
.figure-pair img{width:100%;height:auto;background:var(--opal);border-radius:var(--r-md)}

.prop-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;margin:10px 0 28px;padding:0}
.prop-list.single{grid-template-columns:1fr}
.prop-list div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);transition:background .25s,padding .3s var(--ease)}
.prop-list div:hover{background:var(--opal);padding-inline:10px}
.prop-list dt{color:var(--ink);font-weight:600}
.prop-list dd{margin:0;text-align:right}
.prop-list dd small{display:block;color:var(--muted);font-size:13px}

/* ---- Tables ---- */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:22px 0 36px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;box-shadow:var(--sh-1);scrollbar-width:thin}
.table-wrap:focus-visible{outline:2px solid var(--blue-2)}
.data-table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.4;color:var(--ink)}
.data-table caption{caption-side:top;text-align:left;padding:15px 18px;font-size:16px;font-weight:700;font-variation-settings:"wdth" 108;background:var(--opal);border-bottom:1px solid var(--line)}
.data-table th,.data-table td{border:1px solid var(--line);padding:10px 12px;text-align:center;vertical-align:middle}
.data-table thead th{background:var(--deep);color:#fff;font-weight:600;border-color:rgba(255,255,255,.12)}
.data-table tbody th{text-align:left;font-weight:600;background:#f7fafc;white-space:nowrap}
.data-table tbody tr{transition:background .2s}
.data-table tbody tr:hover td,.data-table tbody tr:hover th{background:#eaf2fa}
.data-table tr.group-row th,.data-table .group-row th{background:var(--opal-2)!important;color:var(--blue);text-align:left;font-weight:700;font-size:13px;letter-spacing:.02em;white-space:normal}
.data-table td.na{color:#a9b6c3}
.data-table td.wide{text-align:left}
.data-table.wide-table{min-width:980px}
.data-table.key-value th{width:42%}
.data-table.key-value td{text-align:left}
.data-table.grouped{min-width:520px}
.group-meta{display:inline-block;margin-left:10px;font-weight:500;color:var(--muted);font-size:13px;text-transform:none;letter-spacing:0}
.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin:24px 0 36px}
.table-grid .table-wrap{margin:0}
.table-note{font-size:14px;color:var(--muted)}

/* ---- Tabs (segmented control) ---- */
.tabs{margin:44px 0 10px}
.tab-list{display:flex;gap:4px;overflow-x:auto;padding:5px;margin-bottom:30px;border-radius:var(--r-pill);background:var(--opal);scrollbar-width:none;width:max-content;max-width:100%}
.tab-list::-webkit-scrollbar{display:none}
.tab{flex-shrink:0;background:none;border:0;border-radius:var(--r-pill);padding:11px 20px;font-weight:600;font-size:14.5px;color:var(--steel);cursor:pointer;white-space:nowrap;transition:color .3s,background .35s var(--ease),box-shadow .35s}
.tab:hover{color:var(--blue)}
.tab[aria-selected="true"]{color:#fff;background:var(--blue);box-shadow:0 8px 20px -10px rgba(0,73,144,.8)}
.tab-panel+.tab-panel{margin-top:56px}
.tabs-ready .tab-panel+.tab-panel{margin-top:0}
.tabs-ready .tab-panel:not([hidden]){animation:fadeUp .5s var(--ease)}
.tabs-ready .tab-heading{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.tab-heading{margin-top:0!important}
.tab-panel .split-2{margin-top:0}

/* ---- Accessory / rule cards ---- */
.accessory-grid,.rule-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:26px 0;padding:0;list-style:none}
.accessory-grid li,.rule-grid li{display:flex;gap:18px;align-items:flex-start;margin:0;padding:22px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);transition:border-color .35s,transform .45s var(--ease),box-shadow .45s var(--ease)}
.accessory-grid li:hover,.rule-grid li:hover{border-color:rgba(0,73,144,.35);transform:translateY(-4px);box-shadow:var(--sh-1)}
.accessory-grid img{width:78px;height:82px;object-fit:contain;flex-shrink:0;background:var(--opal);border-radius:var(--r-sm);padding:4px}
.accessory-grid h4{margin:0 0 6px;font-size:16.5px}
.accessory-grid p,.rule-grid p{margin:0;font-size:15px;line-height:1.5}
.rule-grid h3{font-size:17.5px;margin:0 0 6px!important}
.rule-icon{flex-shrink:0;width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:var(--opal);color:var(--blue);transition:background .35s,color .35s,transform .5s var(--ease)}
.rule-icon svg{width:26px;height:26px}
.rule-grid li:hover .rule-icon{background:var(--blue);color:#fff;transform:rotate(-6deg)}

/* Chemical resistance */
.chem-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0}
.chem-card .table-wrap{margin:0;height:100%}
.chem-card .data-table td,.chem-card .data-table th{text-align:left}
.chem-card .data-table tbody th{white-space:normal;font-weight:500;background:#fff}
.chem{display:inline-block;padding:3px 10px;border-radius:var(--r-pill);font-size:12.5px;font-weight:650;line-height:1.4}
.chem-ok{background:#e3f4e9;color:#1e6b3a}
.chem-warn{background:#fdf0d9;color:#8a5a0c}
.chem-bad{background:#fbe4e1;color:#9b2c22}
.chem-legend{list-style:none;padding:0;margin:20px 0;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;color:var(--muted)}
.chem-legend li{display:flex;align-items:center;gap:8px;margin:0}

/* Product cards (arcoPlus overview) */
.product-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0}
.product-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;overflow:hidden;text-decoration:none;color:var(--ink)!important;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .4s}
.product-card:hover{transform:translateY(-6px);border-color:rgba(0,73,144,.35);box-shadow:var(--sh-2)}
.product-card-img{display:block;background:var(--opal);padding:20px;aspect-ratio:16/7;overflow:hidden}
.product-card-img img{width:100%;height:100%;object-fit:contain;transition:transform .8s var(--ease)}
.product-card:hover .product-card-img img{transform:scale(1.06)}
.product-card-body{display:flex;flex-direction:column;gap:6px;padding:22px 24px 24px}
.product-card-body b{font-size:19px;font-weight:700;font-variation-settings:"wdth" 110}
.product-card-body small{color:var(--muted);font-size:14px}
.product-card-body .text-link{margin-top:10px;align-self:flex-start}

/* ---- FAQ accordion ---- */
.faq-group+.faq-group{margin-top:56px}
.faq-group>h2:first-child{margin-top:0}
.faq-list{display:grid;gap:10px}
.faq-list details{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;transition:border-color .3s,box-shadow .35s,background .3s}
.faq-list details:hover{border-color:rgba(0,73,144,.3)}
.faq-list details[open]{background:var(--opal);border-color:transparent}
.faq-list summary{cursor:pointer;list-style:none;padding:20px 66px 20px 24px;position:relative;font-size:18px;font-weight:650;line-height:1.35;color:var(--ink);transition:color .25s}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'';position:absolute;right:18px;top:50%;width:34px;height:34px;margin-top:-17px;border-radius:50%;background:var(--plus) center/16px no-repeat,var(--opal);transition:transform .45s var(--ease),background-color .3s}
.faq-list details[open] summary::after{transform:rotate(135deg);background-color:#fff}
.faq-list summary:hover{color:var(--blue)}
.faq-answer{padding:0 24px 22px}
.faq-list details[open] .faq-answer{animation:fadeUp .45s var(--ease)}

/* ---- Link / download lists ---- */
.raw-list{display:grid;gap:10px;margin:24px 0;padding:0;list-style:none}
.raw-list li{margin:0}
.raw-list a{position:relative;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px 18px 24px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;color:var(--ink);text-decoration:none;font-weight:600;overflow:hidden;isolation:isolate;transition:border-color .35s,color .35s,transform .45s var(--ease),box-shadow .45s}
.raw-list a::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--opal);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.raw-list a::after{content:'';width:34px;height:34px;flex-shrink:0;border-radius:50%;background:var(--arrow-b) center/15px no-repeat,var(--opal);transition:background-color .35s,transform .45s var(--ease)}
.raw-list a:hover{border-color:rgba(0,73,144,.35);color:var(--blue);box-shadow:var(--sh-1)}
.raw-list a:hover::before{transform:none}
.raw-list a:hover::after{background:var(--arrow-w) center/15px no-repeat,var(--blue);transform:rotate(-45deg)}
.raw-list a[aria-current="page"]{border-color:var(--blue);color:var(--blue)}
.raw-list small{display:block;margin-top:2px;color:var(--muted);font-weight:450;font-size:14px}
.download-list a{padding-block:20px}
.download-list a::after{width:44px;height:44px;border-radius:12px;background:var(--dl) center/18px no-repeat,var(--blue)}
.download-list a:hover::after{background:var(--dl) center/18px no-repeat,var(--deep);transform:translateY(2px)}

.sitemap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.sitemap-grid section{padding:28px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;transition:box-shadow .4s,border-color .4s}
.sitemap-grid section:hover{box-shadow:var(--sh-1);border-color:rgba(0,73,144,.3)}
.sitemap-grid h2{font-size:24px;margin:0 0 16px;padding-top:0}
.sitemap-grid h2::before{display:none}
.sitemap-grid h2 a{text-decoration:none;color:inherit}
.sitemap-grid h2 a:hover{color:var(--blue)}
.sitemap-grid ul ul{margin:6px 0 6px 18px}

/* ---- Gallery ---- */
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0;padding:0;list-style:none}
.gallery-grid li{margin:0;padding:0}
.gallery-grid li::before{display:none}
.gallery-item{position:relative;display:block;height:100%;aspect-ratio:4/3;overflow:hidden;isolation:isolate;border-radius:var(--r-md);background:var(--opal);cursor:zoom-in}
.gallery-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.01);transition:transform 1s var(--ease)}
.gallery-item::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(4,28,52,.88),rgba(4,28,52,.1) 55%,transparent);opacity:0;transition:opacity .5s var(--ease)}
.gallery-cap{position:absolute;z-index:3;left:0;right:56px;bottom:0;padding:16px 18px;color:#fff;font-size:14.5px;font-weight:550;line-height:1.35;opacity:0;transform:translateY(12px);transition:opacity .45s var(--ease),transform .55s var(--ease)}
.gallery-zoom{position:absolute;z-index:3;right:12px;bottom:12px;width:38px;height:38px;border-radius:50%;background:#fff var(--plus) center/16px no-repeat;opacity:0;transform:scale(.6) rotate(-90deg);transition:opacity .4s,transform .55s var(--ease)}
.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.08)}
.gallery-item:hover::before,.gallery-item:focus-visible::before{opacity:1}
.gallery-item:hover .gallery-cap,.gallery-item:focus-visible .gallery-cap{opacity:1;transform:none}
.gallery-item:hover .gallery-zoom,.gallery-item:focus-visible .gallery-zoom{opacity:1;transform:none}
.gallery-item:focus-visible{outline:3px solid var(--blue-2);outline-offset:3px}
/* Bento layouts: home featured projects and project gallery page */
.home-projects .gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(170px,17vw,250px);gap:14px;margin:0}
.home-projects .gallery-grid li:nth-child(1){grid-column:span 2;grid-row:span 2}
.home-projects .gallery-grid li:nth-child(8){grid-column:span 2}
.gallery-bento{grid-auto-rows:clamp(150px,15vw,230px);grid-auto-flow:dense}
.gallery-bento li:nth-child(6n+1){grid-column:span 2;grid-row:span 2}
.gallery-bento li:last-child:nth-child(6n+5){grid-column:span 2}
.home-projects .gallery-item,.gallery-bento .gallery-item{aspect-ratio:auto;height:100%;border-radius:var(--r-lg)}
.home-projects .gallery-grid li:nth-child(1) .gallery-cap,.gallery-bento li:nth-child(6n+1) .gallery-cap{font-size:17px;padding:22px 24px}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:3000;background:rgba(4,20,38,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:70px 90px;opacity:0;transition:opacity .35s var(--ease)}
.lightbox[hidden]{display:none}
.lightbox.open{opacity:1}
.lb-stage{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;transform:scale(.96);transition:transform .5s var(--ease)}
.lightbox.open .lb-stage{transform:none}
.lb-img{max-width:min(1400px,100%);max-height:calc(100vh - 180px);max-height:calc(100dvh - 180px);width:auto;height:auto;object-fit:contain;border-radius:var(--r-md);background:var(--deep);box-shadow:0 40px 90px rgba(0,0,0,.55);transition:opacity .3s,transform .4s var(--ease)}
.lb-img.loading{opacity:.25;transform:scale(.98)}
.lb-caption{display:flex;gap:18px;justify-content:space-between;align-items:center;width:100%;color:#d9e6f1;font-size:15px;padding-top:16px}
.lb-count{flex-shrink:0;padding:4px 12px;border-radius:var(--r-pill);background:rgba(255,255,255,.1);color:#bcd0e2;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.lb-btn{position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;cursor:pointer;width:54px;height:54px;display:grid;place-items:center;transition:background .3s,border-color .3s,transform .4s var(--ease)}
.lb-btn:hover{background:var(--blue);border-color:var(--blue)}
.lb-close{top:18px;right:18px;font-size:30px;font-weight:300;line-height:1}
.lb-close:hover{transform:rotate(90deg)}
.lb-prev,.lb-next{top:50%;margin-top:-27px}
.lb-prev{left:18px}.lb-next{right:18px}
.lb-prev:hover{transform:translateX(-3px)}.lb-next:hover{transform:translateX(3px)}
.lb-prev::before,.lb-next::before{content:'';width:11px;height:11px;border-top:2px solid #fff;border-right:2px solid #fff}
.lb-prev::before{transform:translateX(3px) rotate(-135deg)}
.lb-next::before{transform:translateX(-3px) rotate(45deg)}

/* ---- Empty state, archive note ---- */
.empty-state{padding:44px;border:1.5px dashed var(--line-2);border-radius:var(--r-lg);background:var(--opal)}
.empty-state h2{margin-top:0!important;padding-top:0}
.empty-state h2::before{display:none}
.archive-note{margin:0 0 24px;padding:14px 20px;background:var(--opal);border-radius:var(--r-md)}
.archive-list .count{color:var(--muted);font-size:14px}

/* ---- News & blog cards ---- */
.news-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.news-list>li{margin:0;display:flex}
.news-card{display:flex;flex-direction:column;width:100%;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;overflow:hidden;transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .4s}
.news-card:hover,.news-card:focus-within{transform:translateY(-6px);border-color:rgba(0,73,144,.3);box-shadow:var(--sh-2)}
.news-media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;isolation:isolate;background:var(--deep)}
.news-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.news-media::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(4,28,52,.35),transparent 40%);pointer-events:none}
.news-card:hover .news-media img{transform:scale(1.08)}
.date-chip{position:absolute;z-index:3;left:16px;top:16px;display:flex;flex-direction:column;align-items:center;min-width:66px;padding:8px 10px 9px;border-radius:14px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--steel);font-size:11.5px;font-weight:600;line-height:1.1;text-align:center;box-shadow:0 10px 24px -12px rgba(4,28,52,.5);transition:transform .5s var(--ease),background .3s,color .3s}
.date-chip b{font-size:26px;font-weight:800;font-variation-settings:"wdth" 118;color:var(--blue);line-height:1;margin-bottom:3px;transition:color .3s}
.news-card:hover .date-chip{transform:translateY(-3px);background:var(--blue);color:#d5e6f6}
.news-card:hover .date-chip b{color:#fff}
.news-badge{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;color:#fff;background:var(--ribs),linear-gradient(135deg,var(--deeper),var(--blue))}
.news-badge .brand-main{font-size:15px;font-weight:600;letter-spacing:.08em;color:#bcd3e8}
.news-badge .brand-main b{color:#fff;margin-right:6px}
.news-badge-text{margin-top:8px;font-size:24px;font-weight:700;font-variation-settings:"wdth" 118;color:var(--glow);line-height:1.15}
.news-body{display:flex;flex-direction:column;flex:1;padding:24px 26px 26px}
.news-body h3{font-size:clamp(20px,1.7vw,24px);line-height:1.15;margin:4px 0 12px}
.news-body h3 a{color:var(--ink);text-decoration:none;background:linear-gradient(var(--blue),var(--blue)) 0 100%/0 2px no-repeat;transition:background-size .5s var(--ease),color .3s}
.news-body h3 a:hover{color:var(--blue);background-size:100% 2px}
.news-body p{color:var(--body-copy);margin:0 0 18px;font-size:16px;line-height:1.6}
.news-body p:not(.news-meta){flex:1}
.news-body .text-link{align-self:flex-start}
.news-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 6px;font-size:13px;font-weight:600;color:var(--blue)}
.news-meta time,.news-meta span{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--r-pill);background:var(--opal);color:var(--blue)}
.news-meta span{color:var(--steel)}
.news-meta a{color:inherit;text-decoration:none}
.news-meta a:hover{color:var(--blue)}
.news-article>.news-meta{margin-bottom:24px}
.news-article h2{margin-top:10px}
.news-article>figure:first-of-type{margin-top:0}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:60px 0 28px;padding-top:30px;border-top:1px solid var(--line)}
.post-nav-link{position:relative;display:block;padding:20px 22px 20px 64px;border:1px solid var(--line);border-radius:var(--r-md);text-decoration:none;color:var(--ink)!important;font-weight:600;line-height:1.35;transition:border-color .35s,background .35s,transform .45s var(--ease),box-shadow .45s}
.post-nav-link::before{content:'';position:absolute;left:18px;top:50%;width:32px;height:32px;margin-top:-16px;border-radius:50%;background:var(--arrow-b) center/14px no-repeat,var(--opal);transform:scaleX(-1);transition:background-color .3s,transform .45s var(--ease)}
.post-nav-link.next{text-align:right;padding:20px 64px 20px 22px}
.post-nav-link.next::before{left:auto;right:18px;transform:none}
.post-nav-link span{display:block;font-size:13px;font-weight:700;color:var(--blue);margin-bottom:6px}
.post-nav-link:hover{border-color:rgba(0,73,144,.35);box-shadow:var(--sh-1);transform:translateY(-3px)}
.post-nav-link:hover::before{background:var(--arrow-w) center/14px no-repeat,var(--blue)}
.post-nav-link.prev:hover::before{transform:scaleX(-1) translateX(3px)}
.post-nav-link.next:hover::before{transform:translateX(3px)}

/* ---- Forms ---- */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px;margin:30px 0;padding:clamp(24px,3vw,38px);border-radius:var(--r-lg);background:var(--opal)}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-weight:600;color:var(--ink);font-size:15px}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:16.5px;color:var(--ink);padding:14px 16px;border:1.5px solid transparent;border-radius:var(--r-sm);background:#fff;box-shadow:0 1px 2px rgba(6,41,75,.06);transition:border-color .3s,box-shadow .3s;-webkit-appearance:none;appearance:none}
.field select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23004990' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center/18px no-repeat;padding-right:44px}
.field textarea{min-height:160px;resize:vertical}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--line-2)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,73,144,.14)}
.form-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.form-msg{padding:16px 20px;margin:20px 0;border-radius:var(--r-md);border-left:4px solid #2d8a5b;background:#e6f4ec;color:var(--ink)}
.form-msg.error{border-left-color:#b3452c;background:#fbeeea}
.field-error{color:#b3452c;font-size:14.5px}
.field [aria-invalid="true"]{border-color:#b3452c}
.hp{position:absolute;left:-9999px}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:10px 0 40px}
.contact-card{position:relative;overflow:hidden;padding:28px 28px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color .35s,transform .45s var(--ease),box-shadow .45s}
.contact-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--blue),var(--glow));transform:scaleY(0);transform-origin:top;transition:transform .55s var(--ease)}
.contact-card:hover{border-color:rgba(0,73,144,.3);transform:translateY(-4px);box-shadow:var(--sh-1)}
.contact-card:hover::before{transform:none}
.contact-card h3{margin:0 0 12px;font-size:21px}
.contact-card p{margin:0 0 8px}
.contact-card a{word-break:break-word}

/* ===== 10. Sidebar ===== */
.page-aside{position:sticky;top:calc(var(--header-h) + 24px);display:grid;gap:18px}
.sidebar-block{border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;overflow:hidden}
.sidebar-title{display:flex;align-items:center;gap:10px;font-size:15.5px;font-weight:700;font-variation-settings:"wdth" 110;color:var(--ink);margin:0;padding:20px 22px 14px}
.sidebar-title::before{content:'';width:8px;height:8px;flex-shrink:0;border-radius:1.5px;background:var(--blue);transform:rotate(45deg)}
.related-list,.recent-news{list-style:none;margin:0;padding:0 10px 10px}
.related-list li,.recent-news li{margin:0}
.related-item{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:var(--r-md);text-decoration:none;color:var(--ink);transition:background .3s}
.related-item:hover,.related-item[aria-current="page"]{background:var(--opal)}
.related-thumb{width:62px;height:62px;flex-shrink:0;background:var(--opal);overflow:hidden;border-radius:12px}
.related-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.related-item:hover .related-thumb img{transform:scale(1.12)}
.related-text{display:flex;flex-direction:column;min-width:0}
.related-text strong{font-size:16px;font-weight:650;line-height:1.3;transition:color .25s}
.related-text span{font-size:13.5px;color:var(--muted);line-height:1.35;margin-top:3px}
.related-item:hover strong,.related-item[aria-current="page"] strong{color:var(--blue)}
.recent-news a{display:block;padding:11px 12px;border-radius:var(--r-sm);color:var(--ink);text-decoration:none;font-size:15.5px;font-weight:500;line-height:1.35;transition:background .25s,color .25s,padding .35s var(--ease)}
.recent-news a:hover{background:var(--opal);color:var(--blue);padding-left:16px}
.recent-news a[aria-current="page"]{background:var(--opal);color:var(--blue);font-weight:650}
.recent-news time{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:3px}
.sidebar-card{padding-bottom:22px}
.sidebar-card p{margin:0 22px 16px;font-size:15.5px;color:var(--body-copy);line-height:1.55}
.sidebar-card .text-link,.sidebar-card .outline-btn{margin-left:22px}
.sidebar-card.is-dark{position:relative;background:var(--ribs),linear-gradient(150deg,var(--deep),var(--blue));border-color:transparent}
.sidebar-card.is-dark .sidebar-title{color:#fff}
.sidebar-card.is-dark .sidebar-title::before{background:var(--glow)}
.sidebar-card.is-dark p{color:#cfe0ee}

/* ===== 11. CTA band ===== */
.cta-strip{padding:0 0 var(--section)}
.page-content+.cta-strip{padding-top:0}
.cta-box{position:relative;overflow:hidden;isolation:isolate;display:flex;justify-content:space-between;align-items:center;gap:40px;padding:clamp(40px,6vw,80px);border-radius:var(--r-xl);background:linear-gradient(120deg,var(--deeper),var(--deep) 45%,var(--blue));color:#fff}
.cta-ribs{inset:0;z-index:-1;-webkit-mask:linear-gradient(90deg,transparent 35%,#000);mask:linear-gradient(90deg,transparent 35%,#000)}
.cta-glow{position:absolute;z-index:-1;right:-10%;top:-60%;width:60%;height:200%;background:radial-gradient(closest-side,rgba(127,216,255,.35),transparent);pointer-events:none;animation:glowDrift 12s ease-in-out infinite alternate}
@keyframes glowDrift{to{transform:translate(-18%,12%)}}
.cta-box .eyebrow{color:var(--glow)}
.cta-box h2{font-size:clamp(30px,4.2vw,58px);line-height:1;margin:0 0 16px;max-width:16ch}
.cta-copy>p:not(.eyebrow){margin:0;color:#cfe0ee;max-width:52ch;font-size:17.5px}
.cta-box .outline-btn{flex-shrink:0}

/* ===== 12. Footer ===== */
.site-footer{position:relative;overflow:hidden;isolation:isolate;margin:0 var(--frame) var(--frame);padding:clamp(64px,7vw,96px) 0 0;border-radius:var(--r-xl);background:linear-gradient(180deg,var(--deep),var(--deeper));color:#c4d4e2}
.footer-ribs{inset:0 0 auto auto;z-index:-1;width:50%;height:70%;-webkit-mask:radial-gradient(80% 90% at 100% 0%,#000,transparent 70%);mask:radial-gradient(80% 90% at 100% 0%,#000,transparent 70%)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.35fr;gap:40px}
.footer-brand{display:inline-flex;margin-bottom:22px}
.footer-logo{height:56px;width:auto}
.footer-grid p{max-width:360px;color:#9fb6ca;margin:0;font-size:15.5px;line-height:1.6}
.footer-title{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700;font-variation-settings:"wdth" 112;color:#fff;margin:0 0 18px}
.footer-title::before{content:'';width:6px;height:6px;flex-shrink:0;border-radius:1px;background:var(--glow);transform:rotate(45deg)}
.footer-grid ul,.footer-links ul{list-style:none;margin:0;padding:0}
.footer-grid li a,.footer-links li a{position:relative;display:inline-flex;align-items:center;gap:8px;margin:5px 0;color:#b8cadb;text-decoration:none;font-size:15.5px;transition:color .3s,transform .4s var(--ease)}
.footer-grid li a::after,.footer-links li a::after{content:'';position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--glow);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.footer-grid li a:hover,.footer-links li a:hover{color:#fff;transform:translateX(4px)}
.footer-grid li a:hover::after,.footer-links li a:hover::after{transform:scaleX(1);transform-origin:left}
.footer-faq{margin-top:28px;padding:20px 22px;border-radius:var(--r-md);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.footer-faq .footer-title{margin-bottom:8px}
.footer-faq a{color:#fff;text-decoration:underline;text-decoration-color:var(--glow);text-underline-offset:3px;transition:color .25s}
.footer-faq a:hover{color:var(--glow)}
.footer-address{font-style:normal;color:#9fb6ca;font-size:15px;line-height:1.75;margin-bottom:12px}
.footer-address strong{color:#fff;font-weight:600}
.footer-address a{color:#cfe0ee;text-decoration:none;transition:color .25s}
.footer-address a:hover{color:var(--glow)}
.footer-address a[href^='tel:']{white-space:nowrap}
.footer-links{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:40px;margin-top:48px;padding-top:44px;border-top:1px solid rgba(255,255,255,.1)}
.footer-links li a{font-size:15px}
.footer-links li a img{height:15px;width:auto;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.2)}
.social-links{display:flex;flex-direction:column}
.social-links a{gap:10px}
.social-links svg{width:32px;height:32px;padding:7px;border-radius:50%;background:rgba(255,255,255,.08);transition:background .3s,color .3s,transform .45s var(--ease)}
.social-links a:hover svg{background:var(--glow);color:var(--deep);transform:rotate(-8deg)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 20px;margin-top:52px;padding:22px 0 26px;border-top:1px solid rgba(255,255,255,.1);color:#89a2b8;font-size:14px}
.footer-legal{display:flex;flex-wrap:wrap;gap:6px 24px}
.footer-legal a{color:#b8cadb;text-decoration:none;transition:color .25s}
.footer-legal a:hover{color:var(--glow)}

/* ===== 13. Scroll reveal (only when JS + motion allowed) ===== */
.motion [data-aos]{opacity:0;transition:opacity .9s var(--ease),transform 1.1s var(--ease),clip-path 1.3s var(--ease);transition-delay:var(--d,0s)}
.motion [data-aos="fade-up"]{transform:translateY(38px)}
.motion [data-aos="fade-down"]{transform:translateY(-30px)}
.motion [data-aos="fade-left"]{transform:translateX(56px)}
.motion [data-aos="fade-right"]{transform:translateX(-56px)}
.motion [data-aos="zoom-in"]{transform:scale(.94)}
.motion [data-aos="fade"]{transform:none}
.motion [data-aos="reveal"]{opacity:1;clip-path:inset(0 0 100% 0)}
.motion [data-aos="reveal"] img{transform:scale(1.18);transition:transform 1.6s var(--ease)}
.motion [data-aos].is-in{opacity:1;transform:none}
.motion [data-aos="reveal"].is-in{clip-path:inset(-80px -80px -80px -80px)}
.motion [data-aos="reveal"].is-in img{transform:none}
.motion .application[data-aos]:nth-child(2).is-in{transform:translateY(48px)}
.motion .application[data-aos]:nth-child(2){transform:translateY(86px)}
/* once revealed, hand transitions back to hover effects */
.motion [data-aos].is-done{transition-delay:0s}
.motion .product-icon-card.is-done,.motion .news-card,.motion .icon-list li.is-done{transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .4s,opacity .4s}

/* ===== 14. Responsive ===== */
@media (max-width:960px){.motion [data-aos="fade-left"],.motion [data-aos="fade-right"]{transform:translateY(38px)}}
@media (max-width:1320px){
  .nav-link{padding:0 10px;font-size:14.5px}
  .nav-link::before{left:10px;right:10px}
  .nav-wrap{gap:16px}
  .brand-logo{height:46px}
}
@media (max-width:1180px){
  .nav-link{padding:0 8px;font-size:14px;gap:5px}
  .nav-link::before{left:8px;right:8px}
  .brand-logo{height:42px}
  .page-layout{grid-template-columns:minmax(0,1fr) 300px}
  .footer-grid{grid-template-columns:repeat(4,1fr)}
  .footer-about{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px 40px;align-items:start}
  .footer-about .footer-faq{margin-top:0}
  .footer-brand{grid-column:1/-1}
}
@media (max-width:1100px){
  :root{--header-h:76px}
  .desktop-nav,.header-cta{display:none!important}
  .menu-toggle{display:flex}
  .brand-logo{height:46px}
  .product-icon-grid,.icon-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-next{display:none}
  .hero-bar-in{flex-direction:column;align-items:flex-start;gap:12px;padding-block:16px}
  .hero-in{padding-bottom:200px}
  .hero-controls{width:100%}
  .hero-pause{margin-left:auto}
  .split-media{grid-column:1/10}
  .split-copy{grid-column:5/13}
  .split-feature.is-reverse .split-media{grid-column:4/13}
  .split-feature.is-reverse .split-copy{grid-column:1/9}
}
@media (max-width:960px){
  .page-layout{grid-template-columns:minmax(0,1fr);gap:56px}
  .page-aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .page-aside .sidebar-block:has(.related-list){grid-column:1/-1}
  .page-aside .related-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-intro{grid-template-columns:1fr}
  .intro-image{height:clamp(340px,60vw,520px)}
  .statement-panel{grid-template-columns:1fr}
  .split-grid{display:block}
  .split-media img{height:clamp(320px,60vw,480px)}
  .split-copy{margin:-90px 18px 0}
  .split-feature.is-reverse .split-copy{margin:-90px 18px 0}
  .application-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .application:nth-child(2),.motion .application[data-aos]:nth-child(2).is-in{transform:none}
  .motion .application[data-aos]:nth-child(2){transform:translateY(38px)}
  .application:nth-child(3){grid-column:1/-1;aspect-ratio:16/9}
  .applications{padding-bottom:var(--section)}
  .home-projects .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(150px,30vw,260px)}
  .home-projects .gallery-grid li:nth-child(8){grid-column:span 2}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .footer-about{grid-template-columns:1fr}
  .footer-links{grid-template-columns:1fr 1fr}
  .footer-links nav:nth-child(2){grid-column:1/-1;order:3}
  .media-row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}
  .hero-count{display:none}
  .cta-box{flex-direction:column;align-items:flex-start}
}
@media (max-width:720px){
  .topbar-contact a:last-child,.topbar-label{display:none}
  .topbar-in{min-height:36px}
  .split-2,.form-grid,.contact-grid,.prop-list,.chem-grid,.product-cards,.figure-pair{grid-template-columns:1fr}
  .page-aside,.page-aside .related-list{grid-template-columns:1fr}
  .media-row{grid-template-columns:1fr;gap:18px}
  .news-list{grid-template-columns:1fr}
  .post-nav{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gallery-bento li:nth-child(6n+1){grid-column:span 2;grid-row:span 1}
  .gallery-bento{grid-auto-rows:clamp(130px,36vw,220px)}
  .gallery-cap{display:none}
  .gallery-zoom{opacity:1;transform:none;width:32px;height:32px;right:8px;bottom:8px;background-size:14px}
  .lightbox{padding:64px 12px 84px}
  .lb-prev,.lb-next{top:auto;bottom:16px;margin-top:0;width:50px;height:50px}
  .lb-prev{left:auto;right:80px}
  .lb-next{right:16px}
  .lb-img{max-height:calc(100dvh - 200px)}
  .lb-caption{font-size:14px;padding-right:0;flex-wrap:wrap}
  .hero-dots{display:none}
  .hero-controls::after{content:attr(data-count);order:2;margin-left:4px;color:#d9e6f1;font-size:14px;font-weight:650;font-variant-numeric:tabular-nums}
  .hero-arrow.prev{order:1}.hero-arrow.next{order:3}.hero-pause{order:4}
  .hero-quick{gap:6px}
  .hero-quick a{padding:7px 13px;font-size:13px}
  .tab{padding:10px 15px;font-size:14px}
  .group-meta{display:block;margin:2px 0 0}
  .badge-row img{height:46px}
  .rule-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  :root{--header-h:70px}
  body{font-size:16.5px}
  .brand-logo{height:38px}
  .menu-toggle{width:46px;height:46px}
  .hero-slider .hero-frame{min-height:600px}
  .hero-in{padding:56px 0 230px}
  .hero h1,.hero-title{font-size:clamp(34px,10vw,48px)}
  .hero-lead{font-size:16.5px}
  .inner-hero .hero-frame{min-height:0}
  .inner-hero-in{padding:44px 0 36px}
  .breadcrumb ol{margin-bottom:22px;font-size:12.5px}
  .prose{font-size:16.5px}
  .prose h2{margin-top:56px}
  .callout{padding:24px}
  .section-head{display:block}
  .section-head h2{margin-bottom:16px}
  .product-icon-grid,.icon-list,.application-grid{grid-template-columns:1fr}
  .application{aspect-ratio:4/4.4}
  .application:nth-child(3){grid-column:auto;aspect-ratio:4/4.4}
  .split-copy,.split-feature.is-reverse .split-copy{margin:-60px 10px 0;padding:30px 24px}
  .stat b{font-size:30px}
  .stat:nth-child(even){padding-left:16px}
  .intro-media{margin:0 16px 16px 0}
  .intro-ribs{right:-16px;bottom:-16px}
  .home-projects .gallery-grid{gap:10px}
  .cta-box{padding:36px 26px}
  .empty-state,.panel{padding:24px 20px 16px}
  .form-grid{padding:22px 18px}
  .footer-grid,.footer-links{grid-template-columns:1fr;gap:34px}
  .footer-links nav:nth-child(2){grid-column:auto}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .faq-list summary{font-size:16.5px;padding:18px 58px 18px 18px}
  .faq-answer{padding:0 18px 18px}
  .news-body{padding:20px}
  .date-chip{left:12px;top:12px}
  .outline-btn,.solid-btn{font-size:15px}
}
@media (max-width:400px){
  .topbar{font-size:12.5px}
  .topbar-sites ul{gap:7px}
  .topbar-sites img{height:15px}
  .hero-quick a:nth-child(n+3){display:none}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .accessory-grid li,.rule-grid li{padding:16px}
  .data-table{font-size:13px}
  .data-table th,.data-table td{padding:8px 9px}
}

/* ===== 15. Hover only on hover-capable devices (no sticky hover on touch) ===== */
@media (hover:none){
  .product-icon-card:hover,.icon-list li:hover,.news-card:hover,.panel:hover,.contact-card:hover,.accessory-grid li:hover,.rule-grid li:hover,.stat-grid div:hover{transform:none}
}

/* ===== 16. Reduced motion ===== */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-delay:0s!important;scroll-behavior:auto!important}
  .hero-slide .hero-media,.inner-hero .hero-media{transform:none!important}
  .hero-progress,.cta-glow{display:none}
}

/* ===== 17. Print ===== */
@media print{
  .topbar,.site-header,.mobile-nav,.nav-overlay,.hero-bar,.hero-next,.page-aside,.cta-strip,.lightbox{display:none!important}
  .hero-frame,.site-footer{border-radius:0}
  [data-aos]{opacity:1!important;transform:none!important;clip-path:none!important}
}
