
:root {
  
  color-scheme: light only;
  --tpk-color-brand-primary: #009b74;
  --tpk-color-action: #009B74;
  --tpk-color-action-hover: #009B74;
  --tpk-color-background: #ffffff;
  --tpk-color-surface: #f7f9f8;
  --tpk-color-text: #111111;
  --tpk-color-muted: #666666;
  --tpk-color-border: #e6e9ed;
  --tpk-color-focus: #009b74;
  --tpk-font-sans: Inter, "PingFang SC", "Microsoft YaHei", sans-serif;
  --tpk-content-max: 1360px;
  --tpk-page-gutter: clamp(18px, 3vw, 40px);
  --tpk-section-y: clamp(56px, 7vw, 112px);
  --tpk-reading-max: 68ch;
	--tpk-motion-fast: .22s;
	--tpk-motion-standard: .35s;
	--tpk-motion-emphasis: .75s;
	--tpk-underline-gap: 2px;
	--tpk-underline-thickness: 1px;
	--tpk-underline-duration: .95s;
	/* V23.28: underline sweep rhythm (confirmed 2026-09-11, UI参数标准_动画节奏_20260911_v01.md).
	   In fast / out slow = the fade breathing feel. Do NOT reuse --ease here (that is for
	   large-panel motion like dialogs). */
	--tpk-underline-in: .45s cubic-bezier(.33, 1, .68, 1);
	--tpk-underline-out: .7s cubic-bezier(.4, 0, .2, 1);
	--tpk-fade-lag: .05s;
	--tpk-fade-soft: rgba(0, 155, 116, .09);
	--tpk-footer-background: #080a09;
	--tpk-footer-text: #f2f5f4;
	--tpk-footer-muted: #a9b1af;
	--tpk-footer-subtle: #7f8986;
	--tpk-footer-border: rgba(255, 255, 255, .12);
	--tpk-footer-hover: #55d0b0;
  --tpk-header-height: 72px;
  --tpk-radius-none: 0;
  --tpk-radius-control: 10px;
  --tpk-radius-card: 10px;
  --tpk-radius-pill: 999px;
  --tpk-space-1: 4px;
  --tpk-space-2: 8px;
  --tpk-space-3: 12px;
  --tpk-space-4: 16px;
  --tpk-space-5: 24px;
  --tpk-space-6: 32px;
  --tpk-space-7: 48px;
  --tpk-space-8: 72px;
  --tpk-space-9: 96px;
  --shadow: 0 18px 46px rgba(16, 24, 40, .04);
  --shadow-soft: 0 14px 34px rgba(16, 24, 40, .035);
  --shadow-dark: 0 24px 56px rgba(16, 24, 40, .16);
  --shadow-circle: 0 8px 22px rgba(16, 24, 40, .12);
  --shadow-pill-light: var(--shadow);
  --shadow-pill-ink: 0 14px 34px rgba(16, 24, 40, .16);
  --tpk-shadow-soft: var(--shadow-soft);
  --tpk-green: #009B74;
  --tpk-text-primary: var(--tpk-color-text);
  --radius-card: var(--tpk-radius-card);
  --radius-pill: var(--tpk-radius-pill);
  --tpk-header-height-desktop: 80px;
  --tpk-header-height-sticky: 68px;
  --tpk-header-height-tablet: 72px;
  --tpk-header-height-mobile: 64px;
  --tpk-transition-standard: 0.35s ease;
  --tpk-transition-sticky: 0.45s cubic-bezier(0.16, 1, 0.3, 1);
  --image-scale-hero: 1.012;
  --image-scale-case: 1.024;
  --image-scale-product: 1.035;
  --image-duration-hero: 1.28s;
  --image-duration-case: 1.18s;
  --image-duration-product: .7s;
  --ease-image: cubic-bezier(.16, 1, .3, 1);
  --ease: cubic-bezier(.16, 1, .3, 1);
}


html { font-family: var(--tpk-font-sans); font-synthesis: none; text-rendering: optimizeLegibility; }
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-family: var(--tpk-font-sans);
}

body {
  min-width: 320px;
  margin: 0;
  background: var(--tpk-color-background);
  color: var(--tpk-color-text);
  font-size: 16px;
  line-height: 1.65;
  letter-spacing: -.15px;
}

img,
picture,
video,
iframe {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-underline-offset: var(--tpk-underline-gap);
}

:focus-visible {
  outline: 2px solid var(--tpk-color-focus);
  outline-offset: 3px;
}

h1, h2, h3, h4 { margin: 0 0 0.65em; color: var(--tpk-color-text); font-weight: 680; line-height: 1.12; text-wrap: balance; }
h1 { font-size: clamp(40px, 6vw, 72px); letter-spacing: -0.04em; }
h2 { font-size: clamp(30px, 4vw, 48px); letter-spacing: -0.03em; }
h3 { font-size: clamp(24px, 3vw, 32px); letter-spacing: -0.02em; }
h4 { font-size: 20px; }
p, ul, ol { margin: 0 0 1.25em; }
.tpk-text-muted { color: var(--tpk-color-muted); }
.tpk-text-small { font-size: 14px; }

.tpk-main,
.tpk-page,
.tpk-page-content,
.tpk-section,
.tpk-full,
.alignfull {
  width: 100%;
  max-width: none;
}

.tpk-container,
.alignwide {
  width: min(
    calc(100% - var(--tpk-page-gutter) - var(--tpk-page-gutter)),
    var(--tpk-content-max)
  );
  margin-inline: auto;
}

.tpk-section {
  padding-block: var(--tpk-section-y);
}

.tpk-full,
.alignfull {
  margin-inline: 0;
}

.tpk-media-full {
  overflow: clip;
}

.tpk-media-full > :is(img, picture, video, iframe),
.tpk-media-full > picture > img {
  width: 100%;
  max-width: none;
}

.tpk-page--legacy-html .tpk-page-content,
.tpk-page--full-canvas .tpk-page-content {
  width: 100%;
  max-width: none;
}

.tpk-reading {
  max-width: var(--tpk-reading-max);
}

.tpk-stack {
  display: grid;
  gap: var(--tpk-space-5);
}

.tpk-cluster {
  display: flex;
  flex-wrap: wrap;
  gap: var(--tpk-space-4);
  align-items: center;
}

.tpk-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--tpk-space-5);
}

.tpk-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 12px 18px; border: 1px solid transparent; border-radius: var(--tpk-radius-control); font-weight: 680; line-height: 1; white-space: nowrap; text-decoration: none; cursor: pointer; }
.tpk-button--primary { background: var(--tpk-color-action); color: #ffffff; }
.tpk-button--primary:hover { background: var(--tpk-color-action-hover); }
.tpk-button--secondary { border-color: var(--tpk-color-border); background: transparent; color: var(--tpk-color-text); }
.tpk-button--text { min-height: auto; padding: 4px 0; border-radius: 0; color: var(--tpk-color-action); }
.tpk-button:active { transform: translateY(1px); }

.tpk-card { display: grid; gap: var(--tpk-space-4); overflow: hidden; border-radius: var(--tpk-radius-card); background: var(--tpk-color-surface); }
.tpk-card__media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--tpk-color-border); }
.tpk-card__media img { width: 100%; height: 100%; object-fit: cover; }
.tpk-card__body { display: grid; gap: var(--tpk-space-3); padding: var(--tpk-space-5); }
.tpk-card__title { margin: 0; font-size: 22px; }
.tpk-card--resource { border-top: 3px solid var(--tpk-color-brand-primary); }

.tpk-field { display: grid; gap: var(--tpk-space-2); }
.tpk-field label { font-weight: 650; }
.tpk-field input, .tpk-field select, .tpk-field textarea { width: 100%; min-height: 44px; padding: 12px; border: 1px solid var(--tpk-color-border); border-radius: var(--tpk-radius-control); background: var(--tpk-color-background); color: var(--tpk-color-text); }
.tpk-field textarea { min-height: 144px; resize: vertical; }
.tpk-field__help { color: var(--tpk-color-muted); font-size: 14px; }
.tpk-field__error { color: #b42318; font-size: 14px; }

.tpk-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; color: var(--tpk-color-muted); font-size: 14px; list-style: none; }
.tpk-accordion { border-top: 1px solid var(--tpk-color-border); }
.tpk-accordion__item { border-bottom: 1px solid var(--tpk-color-border); }
.tpk-accordion__trigger { display: flex; width: 100%; min-height: 52px; align-items: center; justify-content: space-between; padding: 14px 0; border: 0; background: transparent; color: var(--tpk-color-text); font-weight: 680; text-align: left; }
.tpk-accordion__panel { padding: 0 0 20px; }
.tpk-spec-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--tpk-space-4); }
.tpk-spec { padding: var(--tpk-space-5); border-radius: var(--tpk-radius-card); background: var(--tpk-color-surface); }
.tpk-empty-state { display: grid; max-width: 48rem; gap: var(--tpk-space-4); }
.tpk-skip-link {
  position: fixed;
  top: var(--tpk-space-3);
  left: var(--tpk-space-3);
  z-index: 100;
  padding: 12px 16px;
  border-radius: var(--tpk-radius-control);
  background: var(--tpk-color-action);
  color: #ffffff;
  transform: translateY(-180%);
}

.tpk-skip-link:focus {
  transform: translateY(0);
}
.tpk-header{
--tpk-text-primary:#fff;
position:sticky;
top:0;
z-index:40;
width:100%;
height:var(--tpk-header-height-desktop);
background:#090909;
color:#fff;
border:0;
outline:0;
box-shadow:none;
transform:translateY(0);
transition:height .35s var(--ease),transform .45s var(--ease),background-color .35s ease,box-shadow .35s ease}
.tpk-transparent-header .tpk-header:not(.is-sticky){
background:transparent;
border:0;
box-shadow:none}
.tpk-header.is-sticky{
height:var(--tpk-header-height-sticky);
background:#090909;
border:0;
box-shadow:0 14px 36px rgba(0,0,0,.14)}
.tpk-header.is-hidden{
transform:translateY(-100%)}
.tpk-header__container{
position:relative;
z-index:2;
display:grid;
grid-template-columns:auto minmax(0,1fr) auto;
width:min(1360px,calc(100% - 64px));
height:100%;
align-items:center;
margin:auto}
.tpk-header__logo{
display:flex;
min-width:100px;
align-items:center}
.tpk-site-logo,.custom-logo-link{
display:inline-flex;
min-height:44px;
align-items:center}
.tpk-site-logo img,.custom-logo,.tpk-site-logo .tpk-brand-logo__image{
display:block;
width:auto;
max-width:88px;
max-height:36px;
object-fit:contain}
.tpk-brand-logo{display:inline-flex;align-items:center;line-height:0}
.tpk-brand-logo__motion,.tpk-brand-logo__motion-static{display:inline-flex;align-items:center;line-height:0}
.tpk-brand-logo__motion-static{display:none}
.tpk-brand-logo__image{height:auto}
.tpk-brand-logo--home-motion{display:inline-grid;align-items:center}
.tpk-brand-logo--home-motion .tpk-brand-logo__motion,.tpk-brand-logo--home-motion .tpk-brand-logo__motion-static{grid-area:1/1}
.tpk-brand-logo--home-motion .tpk-brand-logo__motion-static{display:none;pointer-events:none}
.tpk-brand-logo--home-motion .tpk-brand-logo__motion{display:inline-flex;opacity:1}
.tpk-brand-logo--home-motion.is-static .tpk-brand-logo__motion{display:none}
.tpk-brand-logo--home-motion.is-static .tpk-brand-logo__motion-static{display:inline-flex;opacity:1}
.tpk-header.is-menu-open{
background:#fff;
color:#101415;
--tpk-text-primary:#101415;
z-index:1001}
.tpk-header.is-menu-open .tpk-header__container{
z-index:1000;
background:#fff}
body.tpk-header-lock,body.is-menu-open{
overflow:hidden}

@media(min-width:768px){
.tpk-transparent-header .tpk-header{
position:fixed;
top:0;
right:0;
left:0}
}

@media(max-width:1179px){
.tpk-header,.tpk-header.is-sticky{
height:var(--tpk-header-height-tablet)}
.tpk-header__container{
width:min(100% - 48px,1360px);
grid-template-columns:minmax(0,1fr) auto auto;
gap:16px}
.tpk-header.is-menu-open .tpk-header__container{
position:fixed;
top:0;
right:0;
left:0;
z-index:1002;
box-sizing:border-box;
width:100%;
height:64px;
min-height:64px;
padding:0 20px}
}

@media(max-width:767px){
.tpk-header,.tpk-header.is-sticky,.tpk-transparent-header .tpk-header:not(.is-sticky){
background:#fff;
color:#101415;
--tpk-text-primary:#101415;
transition:height .35s var(--ease),transform .55s var(--ease),background-color .35s ease,box-shadow .35s ease}
body:not(.home) .tpk-header .tpk-search-trigger,
.tpk-header .tpk-search-trigger{
color:#101415}
.tpk-header{
--mobile-header-h:64px}
.tpk-header,.tpk-header.is-sticky{
height:var(--mobile-header-h)}
.tpk-header__container{
width:calc(100% - 40px);
min-height:var(--mobile-header-h);
transition:min-height .35s var(--ease)}
.tpk-site-logo img,.custom-logo,.tpk-site-logo .tpk-brand-logo__image{
width:84px;
max-width:84px;
transition:width .35s var(--ease)}
.tpk-header.is-compact{
--mobile-header-h:54px}
.tpk-header.is-compact .tpk-site-logo img,.tpk-header.is-compact .custom-logo,.tpk-header.is-compact .tpk-site-logo .tpk-brand-logo__image{
width:76px}
.tpk-header.is-compact .tpk-nav__mobile-label{
font-size:14px}
.tpk-header.is-compact .tpk-nav__mobile-icon{
width:19px;
height:14px;
flex-basis:19px}
.tpk-header.is-menu-open .tpk-site-logo img,.tpk-header.is-menu-open .custom-logo,.tpk-header.is-menu-open .tpk-site-logo .tpk-brand-logo__image{
width:80px;
max-width:80px}
}

@media(prefers-reduced-motion:reduce){
.tpk-header,.tpk-header__container,.tpk-site-logo img,.custom-logo,.tpk-site-logo .tpk-brand-logo__image{
transition:none}
.tpk-brand-logo--home-motion .tpk-brand-logo__motion{display:none}
.tpk-brand-logo--home-motion .tpk-brand-logo__motion-static{display:inline-flex;opacity:1}
}
.tpk-nav{
min-width:0;
justify-self:end}
.tpk-nav__list,.tpk-nav__submenu{
margin:0;
padding:0;
list-style:none}
.tpk-nav__list{
display:flex;
align-items:center;
gap:26px}
.tpk-nav__item{
position:relative}
.tpk-nav__row{
display:flex;
align-items:center}
.tpk-nav__link{
position:relative;
display:inline-block;
width:max-content;
padding-block:12px;
color:#fff;
font:500 14px/1 var(--tpk-font-sans);
letter-spacing:-.15px;
text-decoration:none;
white-space:nowrap}
.tpk-nav__label{
position:relative;
display:inline-block;
line-height:1;
padding-bottom:calc(var(--tpk-underline-gap) + var(--tpk-underline-thickness) + 1px)}
.tpk-nav__label::after{
content:"";
position:absolute;
left:0;
right:0;
bottom:0;
height:var(--tpk-underline-thickness);
background:currentColor;
transform:scaleX(0);
transform-origin:left center;
transition:transform var(--tpk-underline-out)}
.tpk-nav__link:hover .tpk-nav__label::after,.tpk-nav__link:focus-visible .tpk-nav__label::after{
transform:scaleX(1);
transition:transform var(--tpk-underline-in)}
.tpk-nav__submenu-toggle{
display:inline-flex;
width:18px;
height:32px;
align-items:center;
justify-content:center;
margin-left:6px;
padding:0;
border:0;
background:transparent;
color:currentColor}
.tpk-nav__submenu-indicator{
display:block;
width:7px;
height:7px;
border-right:1.5px solid currentColor;
border-bottom:1.5px solid currentColor;
transform:translateY(-2px) rotate(45deg);
transition:transform .35s var(--ease)}
.tpk-nav__submenu-toggle[aria-expanded=true] .tpk-nav__submenu-indicator{
transform:translateY(2px) rotate(225deg)}
.tpk-nav__item.is-open>.tpk-nav__row>.tpk-nav__submenu-toggle .tpk-nav__submenu-indicator{
transform:translateY(2px) rotate(225deg)}
.tpk-nav__submenu{
position:absolute;
top:calc(100% + 12px);
left:50%;
display:block;
min-width:220px;
/* V23.28: card follows text length (Primer Overlay pattern), long titles wrap
   instead of overflowing (bug: fixed 280px + width:max-content). Mobile <=1179
   overrides width back to 100% for the embedded panel. */
width:max-content;
max-width:min(360px,calc(100vw - 40px));
padding:12px;
border-radius:var(--radius-card);
background:#fff;
color:#101415;
box-shadow:var(--shadow);
opacity:0;
pointer-events:none;
transform:translate(-50%,-6px);
visibility:hidden;
transition:opacity .2s var(--ease),transform .22s var(--ease),visibility 0s linear .18s}
.tpk-nav__item.is-open>.tpk-nav__submenu{
opacity:1;
pointer-events:auto;
transform:translate(-50%,0);
visibility:visible;
transition-delay:0s}
.tpk-nav__item--mega>.tpk-nav__submenu{
display:none}
/* V23.28: submenu text item = confirmed variant B (soft green fill fade, no
   underline, no arrow). Same rhythm tokens as the search trigger.
   V23.29: width:100% (was auto) so the green pill spans the full row like the
   approved demo; card height still adapts via wrapping. */
.tpk-nav__submenu .tpk-nav__link{
display:flex;
position:relative;
width:100%;
min-width:0;
flex:none;
opacity:1;
visibility:visible;
min-height:44px;
align-items:center;
padding:6px 12px;
border-radius:8px;
color:#101415;
line-height:1.35;
transition:color var(--tpk-underline-out)}
/* V23.29: variant B is underline-free — the top-level label underline sweep
   (.tpk-nav__label::after) must not leak into submenu items. */
.tpk-nav__submenu .tpk-nav__label{
padding-bottom:0}
.tpk-nav__submenu .tpk-nav__label::after{
display:none}
.tpk-nav__submenu .tpk-nav__link::before{
content:"";
position:absolute;
inset:0;
border-radius:inherit;
background:var(--tpk-fade-soft);
opacity:0;
transform:scale(.85);
transition:opacity var(--tpk-underline-out),transform var(--tpk-underline-out)}
.tpk-nav__submenu .tpk-nav__link:hover,.tpk-nav__submenu .tpk-nav__link:focus-visible{
color:var(--tpk-color-brand-primary);
transition:color var(--tpk-underline-in)}
.tpk-nav__submenu .tpk-nav__link:hover::before,.tpk-nav__submenu .tpk-nav__link:focus-visible::before{
opacity:1;
transform:scale(1);
transition:opacity var(--tpk-underline-in),transform var(--tpk-underline-in)}
.tpk-nav__mobile-toggle,.tpk-nav__mobile-utility{
display:none}

@media(min-width:1180px) and (max-width:1320px){
.tpk-nav__list{
gap:18px}
}
@media(min-width:1180px){
.tpk-nav>.tpk-nav__list>.tpk-nav__item>.tpk-nav__row>.tpk-nav__submenu-toggle{
color:#fff}
}

@media(max-width:1179px){
.tpk-nav{
position:fixed;
top:64px;
right:0;
bottom:0;
left:0;
z-index:999;
display:block;
width:100%;
max-width:none;
min-height:calc(100dvh - 64px);
height:calc(100dvh - 64px);
overflow-y:auto;
padding:18px 20px calc(48px + env(safe-area-inset-bottom, 0px));
background:#fff;
color:#101415;
opacity:0;
pointer-events:none;
transform:translateY(-10px);
visibility:hidden;
transition:opacity .28s var(--ease),transform .35s var(--ease),visibility 0s linear .35s}
.tpk-header.is-menu-open .tpk-nav{
opacity:1;
pointer-events:auto;
transform:translateY(0);
visibility:visible;
transition-delay:0s}
.tpk-nav__list{
display:block}
.tpk-nav__item{
width:100%}
.tpk-nav__row{
min-height:58px}
.tpk-nav__link{
flex:1;
color:#101415;
font-size:22px;
line-height:1.25}
.tpk-nav__label::after{
display:none}
.tpk-nav__submenu-toggle{
position:static;
display:inline-flex;
width:48px;
height:48px;
align-self:center;
align-items:center;
justify-content:center;
padding:0;
border:0;
background:transparent;
color:#101415;
transform:translateY(-1px)}
.tpk-nav__submenu-indicator{
display:block;
width:8px;
height:8px;
border-right:1.5px solid;
border-bottom:1.5px solid;
transform:rotate(45deg);
transform-origin:center}
.tpk-nav__submenu-toggle[aria-expanded=true] .tpk-nav__submenu-indicator{
transform:rotate(225deg)}
.tpk-nav__item.is-open>.tpk-nav__row>.tpk-nav__submenu-toggle .tpk-nav__submenu-indicator{
transform:rotate(225deg)}
.tpk-nav__submenu,.tpk-nav__item--mega>.tpk-nav__submenu{
position:static;
left:auto;
display:grid;
width:100%;
height:0;
max-width:none;
overflow:hidden;
/* V23.60 (B2, user-approved q18): panel de-indents to align L2 with L1 and
   opens up rhythm — 10px gap + 12px 0 rows replace the V23.32 4px/12px-12px. */
padding:4px 0 2px 0;
gap:10px;
box-shadow:none;
opacity:0;
pointer-events:none;
transform:translateY(-6px);
visibility:hidden;
transition:height .42s var(--ease),opacity .24s ease,transform .36s var(--ease),visibility 0s linear .42s}
.tpk-nav__item.is-open>.tpk-nav__submenu{
display:grid;
left:auto;
opacity:1;
pointer-events:auto;
transform:translateY(0);
visibility:visible;
transition-delay:0s}
.tpk-nav__item.is-instant-close>.tpk-nav__submenu{
transition:none}
/* V23.60 (B2): L2 = 15px/400 regular weight vs L1's 500, 1.5 line-height, wrap
   long project names (inherited nowrap removed), rows aligned flush with L1. */
.tpk-nav__submenu .tpk-nav__link{
min-height:0;
padding:12px 0;
font-size:15px;
font-weight:400;
line-height:1.5;
white-space:normal}
/* V23.32: the variant-B green pill + green text are desktop-card hover
   affordances. On full-width mobile rows a hover/focus paints a giant green
   band (and sticks after tap on touch). Off below 1180px — the open panel is
   a plain list here; links navigate on tap. */
.tpk-nav__submenu .tpk-nav__link::before{
display:none}
.tpk-nav__submenu .tpk-nav__link:hover,.tpk-nav__submenu .tpk-nav__link:focus-visible{
color:inherit}
/* V23.60: icon-only (user-approved q14) — Menu/Close label hidden below, the
   burger/X glyph sits flush at the header edge. JS still swaps aria-label
   (setMenuOpen in navigation.js) for screen readers. */
.tpk-nav__mobile-toggle{
display:inline-flex;
align-items:center;
gap:0;
width:auto;
min-width:0;
padding:0;
border:0;
background:transparent;
color:var(--tpk-text-primary)}
.tpk-nav__mobile-icon{
order:1;
width:21px;
height:16px;
display:flex;
flex-direction:column;
justify-content:space-between;
flex:0 0 21px}
.tpk-nav__mobile-icon span{
display:block;
width:21px;
height:1.8px;
background:currentColor;
border-radius:var(--radius-pill)}
.tpk-nav__mobile-label{
display:none;
order:2;
font-size:15px}
.tpk-nav__mobile-toggle[aria-expanded=true] .tpk-nav__mobile-icon{
position:relative}
.tpk-nav__mobile-toggle[aria-expanded=true] .tpk-nav__mobile-icon span{
position:absolute;
top:7px}
.tpk-nav__mobile-toggle[aria-expanded=true] .tpk-nav__mobile-icon span:first-child{
transform:rotate(45deg)}
.tpk-nav__mobile-toggle[aria-expanded=true] .tpk-nav__mobile-icon span:nth-child(2){
opacity:0}
.tpk-nav__mobile-toggle[aria-expanded=true] .tpk-nav__mobile-icon span:last-child{
transform:rotate(-45deg)}
.tpk-nav__mobile-utility{
display:flex;
align-items:center;
justify-content:space-between;
margin-top:24px;
padding-top:24px;
border-top:1px solid var(--tpk-color-border)}
}

@media(min-width:768px) and (max-width:1179px){
.tpk-nav__link{font-size:20px}
}

@media(max-width:767px){
.tpk-nav{
padding-top:18px;
overscroll-behavior:contain}
/* V23.60 (B2): phones keep the same 15px/400 as the 768-1179 band (the V23.32
   14px phone downshift removed so hierarchy matches q18 across all mobile). */
.tpk-nav__submenu .tpk-nav__link{
min-height:0;
padding:12px 0;
font-size:15px}
.tpk-nav__submenu .tpk-nav__row{
min-height:auto}
.tpk-nav__link{
font-size:18px}
@media(hover:hover){
.tpk-nav__link:hover{
color:#737373}
}
}

@media(prefers-reduced-motion:reduce){
.tpk-nav,
.tpk-nav__label::after,
.tpk-nav__submenu-indicator,
.tpk-nav__submenu{
transition:none}
}

/* V23.27: desktop drops the submenu caret entirely (visual only).
   Desktop open/close is bound to the nav item itself (pointerenter/focusin
   in navigation.js + mega-panels.js), so hiding the toggle button is safe.
   Below 1180px the toggle stays: it IS the mobile expand button.
   Full archive: UI方案存档\导航箭头动画方案存档_20260911_v01.md */
@media(min-width:1180px){
.tpk-nav__submenu-toggle{
display:none}
}
.tpk-mega-menu{
--tpk-text-primary:#101415;
position:absolute;
top:100%;
left:50%;
width:calc(100% - 64px);
max-width:1360px;
max-height:calc(100vh - var(--tpk-header-height, 80px) - 24px);
overflow-x:hidden;
overflow-y:auto;
scrollbar-width:thin;
scrollbar-color:#d7d7d7 #fff;
padding:32px 24px;
border-radius:var(--radius-card);
background:#fff;
color:#101415;
box-shadow:var(--shadow);
opacity:0;
pointer-events:none;
transform:translate(-50%,-8px);
visibility:hidden;
transition:opacity .22s var(--ease),transform .26s var(--ease),visibility 0s linear .18s}
.tpk-mega-menu::-webkit-scrollbar{
width:8px}
.tpk-mega-menu::-webkit-scrollbar-track{
background:#fff}
.tpk-mega-menu::-webkit-scrollbar-thumb{
background:#d7d7d7;
border-radius:8px;
border:2px solid #fff}
.tpk-mega-menu[data-tpk-mega-rows="3"]{
padding:24px 24px 20px}
.tpk-mega-menu[data-tpk-mega-rows="3"] .tpk-mega-menu__grid{
row-gap:16px}
.tpk-mega-menu[data-tpk-mega-rows="3"] .tpk-mega-menu__media{
aspect-ratio:16/10}
.tpk-mega-menu[hidden]{
display:none}
.tpk-mega-menu.is-open,.tpk-header.is-mega-open .tpk-mega-menu.is-open{
opacity:1;
pointer-events:auto;
transform:translate(-50%,0);
visibility:visible}
.tpk-mega-menu__inner{
display:grid;
grid-template-columns:minmax(220px,23%) minmax(0,77%);
gap:24px}
.tpk-mega-menu__intro{
display:flex;
flex-direction:column;
align-items:flex-start;
min-height:100%;
padding:12px 0}
.tpk-mega-menu__label{
margin:0 0 16px;
font-size:14px;
font-weight:700;
text-transform:uppercase}
.tpk-mega-menu__description{
max-width:24ch;
margin:20px 0 0;
color:#666;
font-size:14px;
line-height:1.55}
.tpk-mega-menu__all{
display:inline-flex;
align-items:center;
gap:24px;
width:max-content;
margin-top:auto;
padding-top:24px;
color:#101415;
font-size:15px;
font-weight:600;
text-decoration:none}
.tpk-mega-menu__all svg{
width:19px;
height:19px;
stroke:currentColor;
transition:transform .95s var(--ease)}
.tpk-mega-menu__all:hover svg{
transform:translateX(4px)}
.tpk-mega-menu__grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
column-gap:32px;
row-gap:24px;
margin:0;
padding:0;
list-style:none}
.tpk-mega-menu__item a{
color:#101415;
text-decoration:none}
.tpk-mega-product__title-link{
position:relative;
display:inline-block;
width:max-content;
margin-bottom:12px}
.tpk-mega-menu__title{
position:relative;
display:inline-block;
padding-bottom:calc(var(--tpk-underline-gap) + var(--tpk-underline-thickness) + 1px);
font-size:15px;
font-weight:500;
line-height:1}
.tpk-mega-menu__title::after{
content:"";
position:absolute;
left:0;
right:0;
bottom:0;
height:var(--tpk-underline-thickness);
background:currentColor;
transform:scaleX(0);
transform-origin:left;
transition:transform var(--tpk-underline-out)}
.tpk-mega-product__title-link:hover .tpk-mega-menu__title::after,.tpk-mega-product__title-link:focus-visible .tpk-mega-menu__title::after{
transform:scaleX(1);
transition:transform var(--tpk-underline-in)}
.tpk-mega-menu__media{
display:grid;
overflow:hidden;
width:100%;
aspect-ratio:3/2;
border-radius:var(--radius-card);
background:#fff;
box-shadow:var(--shadow-soft)}
.tpk-mega-menu__media img{
width:100%;
height:100%}
.tpk-mega-menu__media--contain img{
object-fit:contain}
.tpk-mega-menu__media--cover img{
object-fit:cover}
@media(max-width:1179px){
.tpk-mega-menu{
display:none}
}
@media(prefers-reduced-motion:reduce){
.tpk-mega-menu,
.tpk-mega-menu__all svg,
.tpk-mega-menu__title::after{
transition:none}
}
.tpk-header-actions{
position:relative;
z-index:2;
display:flex;
align-items:center;
gap:18px;
justify-self:end;
margin-left:34px}
.tpk-search-trigger,.tpk-language{
display:inline-flex;
min-height:44px;
align-items:center;
justify-content:center;
padding:8px;
border:0;
background:transparent;
color:#fff;
font:500 14px/1 var(--tpk-font-sans)}
.tpk-language{
position:relative;
min-width:32px}
.tpk-search-trigger{
position:relative;
width:40px;
height:40px;
min-height:40px;
display:grid;
place-items:center;
padding:0;
border-radius:var(--radius-pill);
cursor:pointer;
background:transparent;
transition:transform .18s ease}
/* Fade layer on ::before so opacity/scale motion never fights the press
   transform. Asymmetric rhythm: .45s easeOutCubic in, .7s fade-out —
   the slow release is what reads as "breathing". Params archived in
   UI方案存档\hover渐显方案存档_20260911_v01.md (Primer ref included). */
.tpk-search-trigger::before{
content:"";
position:absolute;
inset:0;
border-radius:inherit;
background:rgba(255,255,255,.11);
opacity:0;
transform:scale(.85);
transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}
.tpk-search-trigger svg{
position:relative;
width:20px;
height:20px;
transition:transform .45s cubic-bezier(.33,1,.68,1) .05s,opacity .45s cubic-bezier(.33,1,.68,1) .05s}
.tpk-search-trigger:hover::before,.tpk-search-trigger:focus-visible::before{
opacity:1;
transform:scale(1);
transition:opacity .45s cubic-bezier(.33,1,.68,1),transform .45s cubic-bezier(.33,1,.68,1)}
.tpk-search-trigger:hover svg,.tpk-search-trigger:focus-visible svg{
opacity:.88;
transform:scale(1.06)}
.tpk-search-trigger:active{
transform:scale(.94)}
.tpk-language__current{
position:relative;
display:inline-block;
line-height:1;
padding-bottom:calc(var(--tpk-underline-gap) + var(--tpk-underline-thickness) + 1px)}
.tpk-language__current::after{
content:"";
position:absolute;
left:0;
right:0;
bottom:0;
height:var(--tpk-underline-thickness);
background:currentColor;
transform:scaleX(0);
transform-origin:left;
transition:transform var(--tpk-underline-out)}
.tpk-language:hover .tpk-language__current::after,.tpk-language:focus-visible .tpk-language__current::after,.tpk-language[aria-expanded=true] .tpk-language__current::after{
transform:scaleX(1);
transition:transform var(--tpk-underline-in)}
.tpk-language-switcher{
position:relative}
.tpk-language__menu{
position:absolute;
top:calc(100% + 8px);
left:50%;
z-index:2;
display:block;
width:124px;
min-width:124px;
margin:0;
padding:6px;
border-radius:var(--radius-card);
background:#fff;
color:#101415;
box-shadow:var(--shadow);
list-style:none;
text-align:center;
opacity:0;
pointer-events:none;
transform:translate(-50%,-6px);
visibility:hidden;
transition:opacity .2s var(--ease),transform .22s var(--ease),visibility 0s linear .18s}
.tpk-language__menu[hidden]{
display:none}
.tpk-language-switcher.is-open .tpk-language__menu{
opacity:1;
pointer-events:auto;
transform:translate(-50%,0);
visibility:visible}
.tpk-language__link{
display:flex;
position:relative;
width:max-content;
margin-inline:auto;
min-height:36px;
align-items:center;
justify-content:center;
padding:0 8px;
color:#101415;
text-align:center;
text-decoration:none}
.tpk-language__label{
position:relative;
display:inline-block;
line-height:1;
padding-bottom:calc(var(--tpk-underline-gap) + var(--tpk-underline-thickness) + 1px)}
.tpk-language__label::after{
content:"";
position:absolute;
left:0;
bottom:0;
width:100%;
height:var(--tpk-underline-thickness);
background:currentColor;
transform:scaleX(0);
transform-origin:left center;
transition:transform var(--tpk-underline-out)}
.tpk-language__link:hover .tpk-language__label::after,.tpk-language__link:focus-visible .tpk-language__label::after{
transform:scaleX(1);
transition:transform var(--tpk-underline-in)}
.tpk-language__link[aria-current=page],.tpk-language__link.is-current{
font-weight:600}
.tpk-language--static{
cursor:default}
.tpk-language--static .tpk-language__current::after{
display:none}
.tpk-inquiry-slot{
position:relative;
width:116px;
height:36px;
display:flex;
justify-content:flex-start}
.tpk-inquiry-circle-pill{
position:absolute;
left:0;
top:0;
width:36px;
height:36px;
padding:0;
border:0;
border-radius:var(--radius-pill);
overflow:hidden;
background:#fff;
color:#101415;
box-shadow:none;
cursor:pointer;
transition:width .72s var(--ease)}
.tpk-inquiry-circle-pill:hover,.tpk-inquiry-circle-pill:focus-visible{
width:116px}
.tpk-inquiry-icon{
position:absolute;
left:0;
top:0;
width:36px;
height:36px;
display:grid;
place-items:center}
.tpk-inquiry-icon img{
display:block;
width:16px;
height:16px}
.tpk-inquiry-label{
position:absolute;
left:44px;
top:50%;
color:#101415;
font-size:14px;
font-weight:600;
white-space:nowrap;
opacity:0;
transform:translate3d(-10px,-50%,0);
transition:opacity .28s ease .1s,transform .72s var(--ease)}
.tpk-inquiry-circle-pill:hover .tpk-inquiry-label,.tpk-inquiry-circle-pill:focus-visible .tpk-inquiry-label{
opacity:1;
transform:translate3d(0,-50%,0)}

@media(min-width:1180px) and (max-width:1320px){
.tpk-header-actions{
gap:14px}
}

@media(max-width:1179px){
.tpk-header-actions{
grid-column:2;
grid-row:1;
gap:12px;
margin-left:0}
.tpk-header-actions .tpk-language-switcher,.tpk-header-actions .tpk-inquiry-slot{
display:none}
.tpk-header.is-menu-open .tpk-search-trigger{
color:#101415}
.tpk-nav__mobile-utility .tpk-language,.tpk-nav__mobile-utility .tpk-inquiry-slot{
display:flex;
color:#101415}
.tpk-nav__mobile-utility .tpk-language{
width:40px;
height:40px;
min-height:40px;
padding:0;
font-size:16px}
.tpk-nav__mobile-utility .tpk-inquiry-slot{
width:40px;
height:40px}
.tpk-nav__mobile-utility .tpk-inquiry-circle-pill{
width:40px;
height:40px}
.tpk-nav__mobile-utility .tpk-inquiry-icon{
width:40px;
height:40px}
.tpk-nav__mobile-utility .tpk-language__menu{
left:0;
transform:translateY(-6px)}
.tpk-nav__mobile-utility .tpk-language-switcher.is-open .tpk-language__menu{
transform:translateY(0)}
.tpk-nav__mobile-utility .tpk-inquiry-circle-pill{
background:#090909;
color:#fff}
.tpk-nav__mobile-utility .tpk-inquiry-icon img{
filter:brightness(0) invert(1)}
.tpk-nav__mobile-utility .tpk-inquiry-label{
color:#fff}
}

@media(max-width:767px){
.tpk-search-trigger::before,.tpk-header.is-menu-open .tpk-search-trigger::before{
background:rgba(16,21,20,.07)}
}

@media(prefers-reduced-motion:reduce){
.tpk-search-trigger,.tpk-search-trigger::before,.tpk-search-trigger svg,.tpk-language__menu,.tpk-language__current::after,.tpk-language__label::after,.tpk-inquiry-circle-pill,.tpk-inquiry-label{
transition:none}
}
.tpk-footer {
  --tpk-footer-background: #080a09;
  --tpk-footer-text: #f4f6f5;
  --tpk-footer-muted: #aab2b0;
  --tpk-footer-subtle: #7f8986;
  --tpk-footer-border: rgba(255, 255, 255, .14);
  --tpk-footer-hover: #009b74;
  width: 100%;
  overflow: hidden;
  background: var(--tpk-footer-background);
  color: var(--tpk-footer-text);
}

.tpk-footer__inner {
  padding-block: clamp(64px, 6.5vw, 96px) 28px;
}

.tpk-footer__newsletter {
  display: grid;
  justify-items: center;
  max-width: 640px;
  margin-inline: auto;
  text-align: center;
}

.tpk-footer__newsletter-logo {
  display: inline-flex;
  align-items: center;
}

.tpk-footer__newsletter-logo img,
.tpk-footer__newsletter-logo .tpk-brand-logo__image {
  display: block;
  width: 100px;
  height: auto;
  filter: brightness(0) invert(1);
}

.tpk-footer__newsletter-logo--svg-green img,
.tpk-footer__newsletter-logo--svg-green .tpk-brand-logo__image {
  filter: none;
}

.tpk-footer__newsletter-title {
  margin: 24px 0 0;
  color: var(--tpk-footer-text);
  font-size: clamp(28px, 2.6vw, 34px);
  font-weight: 600;
  letter-spacing: -.022em;
  line-height: 1.16;
}

.tpk-footer__newsletter-text {
  max-width: 50ch;
  margin: 16px 0 0;
  color: var(--tpk-footer-muted);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
}

/* V23.32: hover unified with the Inquiry submit button (confirmed Primer
   Default mode, V23.28): gray at rest, brand green fades in on hover with the
   shared in .45s / out .7s rhythm; ::before sits on z-index:-1 inside the
   button stacking context, above the gray fill, below the label. */
.tpk-footer__subscribe {
  position: relative;
  z-index: 0;
  overflow: hidden;
  width: min(100%, 300px);
  min-height: 48px;
  margin-top: 22px;
  padding: 10px 22px;
  border: 0;
  border-radius: 5px;
  background: #f5f5f5;
  color: #101514;
  font: 600 14px/1 var(--tpk-font-sans);
  cursor: pointer;
  transition: transform .18s ease, color var(--tpk-underline-out);
}

.tpk-footer__subscribe::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: var(--tpk-footer-hover);
  opacity: 0;
  transform: scale(.85);
  transition: opacity var(--tpk-underline-out), transform var(--tpk-underline-out);
}

.tpk-footer__subscribe:hover,
.tpk-footer__subscribe:focus-visible {
  color: #fff;
  transition: transform .18s ease, color var(--tpk-underline-in) var(--tpk-fade-lag);
}

.tpk-footer__subscribe:hover::before,
.tpk-footer__subscribe:focus-visible::before {
  opacity: 1;
  transform: scale(1);
  transition: opacity var(--tpk-underline-in), transform var(--tpk-underline-in);
}

.tpk-footer__subscribe:active {
  transform: scale(.98);
}

.tpk-footer__directory {
  display: grid;
  grid-template-columns: minmax(168px, .68fr) minmax(0, 2.32fr);
  gap: clamp(58px, 7vw, 112px);
  margin-top: clamp(64px, 7vw, 96px);
}

.tpk-footer__socials,
.tpk-footer__menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.tpk-footer__socials {
  display: grid;
  gap: 11px;
}

.tpk-footer__social {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  align-items: center;
  gap: 12px;
  color: var(--tpk-footer-text);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
  text-decoration: none;
}

.tpk-footer__social-icon {
  display: grid;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  place-items: center;
  color: #d5d9d8;
  transition: color var(--tpk-motion-fast) ease;
}

.tpk-footer__social-icon svg {
  display: block;
  fill: currentColor;
}

.tpk-footer__social--youtube .tpk-footer__social-icon svg {
  width: 18px;
  height: 18px;
}

.tpk-footer__social--facebook .tpk-footer__social-icon svg {
  width: 16px;
  height: 19px;
}

.tpk-footer__social--instagram .tpk-footer__social-icon svg {
  width: 18px;
  height: 18px;
}

.tpk-footer__social--tiktok .tpk-footer__social-icon svg {
  width: 17px;
  height: 19px;
}

.tpk-footer__social--linkedin .tpk-footer__social-icon svg {
  width: 18px;
  height: 18px;
}

.tpk-footer__social:hover .tpk-footer__social-icon,
.tpk-footer__social:focus-visible .tpk-footer__social-icon {
  color: var(--tpk-footer-hover);
}

.tpk-footer__social-label,
.tpk-footer__link-label {
  position: relative;
  display: inline-block;
  line-height: 1;
  padding-bottom: calc(var(--tpk-underline-gap) + var(--tpk-underline-thickness) + 1px);
}

.tpk-footer__social-label::after,
.tpk-footer__link-label::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: var(--tpk-underline-thickness);
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--tpk-underline-out);
}

.tpk-footer__social:hover .tpk-footer__social-label::after,
.tpk-footer__social:focus-visible .tpk-footer__social-label::after,
.tpk-footer__menu a:hover .tpk-footer__link-label::after,
.tpk-footer__menu a:focus-visible .tpk-footer__link-label::after {
  transform: scaleX(1);
  transition: transform var(--tpk-underline-in);
}

.tpk-footer__menus {
  display: grid;
  grid-template-columns: repeat(3, minmax(140px, 1fr));
  gap: clamp(40px, 5vw, 80px);
}

.tpk-footer__menu-column {
  min-width: 0;
}

.tpk-footer__menu-title {
  margin: 0 0 20px;
  color: var(--tpk-footer-text);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.35;
}

.tpk-footer__menu-toggle {
  display: none;
}

.tpk-footer__menu-panel {
  height: auto;
}

.tpk-footer__menu {
  display: grid;
  gap: 12px;
}

.tpk-footer__menu a {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  color: var(--tpk-footer-muted);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
  text-decoration: none;
}

.tpk-footer__bottom {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content;
  align-items: center;
  gap: 24px;
  margin-top: clamp(56px, 6vw, 80px);
  padding-top: 22px;
  border-top: 1px solid var(--tpk-footer-border);
  color: var(--tpk-footer-subtle);
  font-size: 12px;
  font-weight: 400;
}

.tpk-footer__bottom p,
.tpk-footer__address {
  margin: 0;
}

.tpk-footer__company {
  color: var(--tpk-footer-text);
  font-weight: 550;
}

.tpk-footer__address {
  overflow: hidden;
  font-style: normal;
  line-height: 1.55;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1023px) {
  .tpk-footer__directory {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .tpk-footer__socials {
    grid-template-columns: repeat(5, max-content);
  }

  .tpk-footer__social-label {
    display: none;
  }
}

@media (max-width: 767px) {
  .tpk-footer {
    --tpk-footer-background: #fff;
    --tpk-footer-text: #101514;
    --tpk-footer-muted: #515754;
    --tpk-footer-subtle: #767d7a;
    --tpk-footer-border: #dfe3e1;
  }

  .tpk-footer__inner {
    width: 100%;
    padding: 42px 0 24px;
  }

  .tpk-footer__newsletter {
    width: min(calc(100% - 36px), 520px);
  }

  .tpk-footer__newsletter-logo img,
.tpk-footer__newsletter-logo .tpk-brand-logo__image {
    width: 92px;
    filter: none;
  }

  .tpk-footer__newsletter-title {
    margin-top: 21px;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.2;
  }

  .tpk-footer__newsletter-text {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.55;
  }

  .tpk-footer__subscribe {
    width: min(100%, 196px);
    min-height: 44px;
    margin-top: 20px;
    background: #222;
    color: #fff;
    font-size: 14px;
  }

  .tpk-footer__directory {
    display: block;
    margin-top: 34px;
  }

  .tpk-footer__social-nav {
    width: min(calc(100% - 36px), 520px);
    margin-inline: auto;
  }

  .tpk-footer__socials {
    display: flex;
    justify-content: center;
    gap: clamp(22px, 7vw, 32px);
  }

  .tpk-footer__social-icon {
    width: 24px;
    height: 24px;
    flex-basis: 24px;
    color: #101514;
  }

  .tpk-footer__social--youtube .tpk-footer__social-icon svg {
    width: 22px;
    height: 22px;
  }

  .tpk-footer__social--facebook .tpk-footer__social-icon svg {
    width: 19px;
    height: 23px;
  }

  .tpk-footer__social--instagram .tpk-footer__social-icon svg {
    width: 22px;
    height: 22px;
  }

  .tpk-footer__social--tiktok .tpk-footer__social-icon svg {
    width: 20px;
    height: 23px;
  }

  .tpk-footer__social--linkedin .tpk-footer__social-icon svg {
    width: 22px;
    height: 22px;
  }

  .tpk-footer__menus {
    display: block;
    margin-top: 28px;
    border-top: 1px solid var(--tpk-footer-border);
  }

  .tpk-footer__menu-column {
    border-bottom: 1px solid var(--tpk-footer-border);
  }

  .tpk-footer__menu-title {
    display: none;
  }

  .tpk-footer__menu-toggle {
    display: flex;
    width: 100%;
    min-height: 70px;
    align-items: center;
    justify-content: space-between;
    padding: 0 18px;
    border: 0;
    background: transparent;
    color: var(--tpk-footer-text);
    font: 600 16px/1.3 var(--tpk-font-sans);
    text-align: left;
  }

  .tpk-footer__menu-indicator {
    display: block;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform var(--tpk-motion-standard) var(--ease);
  }

  .tpk-footer__menu-toggle[aria-expanded="true"] .tpk-footer__menu-indicator {
    transform: translateY(2px) rotate(225deg);
  }

  .tpk-footer__menu-panel {
    height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: height .38s var(--ease), opacity .22s ease, visibility 0s linear .38s;
  }

  .tpk-footer__menu-column.is-open .tpk-footer__menu-panel {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
  }

  .tpk-footer__menu {
    gap: 14px;
    padding: 0 18px 22px;
  }

  .tpk-footer__menu a {
    font-size: 14px;
    font-weight: 400;
  }

  .tpk-footer__bottom {
    display: block;
    width: min(calc(100% - 36px), 520px);
    margin: 28px auto 0;
    padding-top: 18px;
    font-size: 12px;
    text-align: center;
  }

  .tpk-footer__address {
    display: none;
  }

  .tpk-footer__copyright {
    margin-top: 5px;
  }

  .tpk-footer__company {
    display: block;
    font-size: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tpk-footer__subscribe,
  .tpk-footer__social-icon,
  .tpk-footer__social-label::after,
  .tpk-footer__link-label::after,
  .tpk-footer__menu-panel,
  .tpk-footer__menu-indicator {
    transition: none;
  }
}
.tpk-search-overlay {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  align-items: start;
  padding-top: clamp(80px, 12vh, 136px);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: opacity .34s ease, visibility 0s linear .52s;
}

.tpk-search-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transition-delay: 0s;
}

.tpk-search-overlay__scrim {
  position: absolute;
  inset: 0;
  background: rgba(5, 8, 7, .64);
  opacity: 0;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: opacity .42s ease, backdrop-filter .52s var(--ease), -webkit-backdrop-filter .52s var(--ease);
}

.tpk-search-overlay.is-open .tpk-search-overlay__scrim {
  opacity: 1;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.tpk-search-overlay__panel {
  position: relative;
  width: min(calc(100% - 48px), 920px);
  margin-inline: auto;
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid rgba(16, 21, 20, .06);
  border-radius: 24px;
  background: #fff;
  color: #101514;
  box-shadow: 0 32px 90px rgba(0, 0, 0, .22);
  opacity: 0;
  transform: translate3d(0, 22px, 0) scale(.985);
  transform-origin: center top;
  transition: opacity .28s ease, transform .52s var(--ease);
}

.tpk-search-overlay.is-open .tpk-search-overlay__panel {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.tpk-search-overlay__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .3s ease .08s, transform .48s var(--ease) .08s;
}

.tpk-search-overlay.is-open .tpk-search-overlay__header {
  opacity: 1;
  transform: translateY(0);
}

.tpk-search-overlay__title {
  margin: 0;
  color: #101514;
  font-size: clamp(28px, 3vw, 36px);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.12;
}

.tpk-search-overlay__close {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: var(--radius-pill);
  background: #f0f2f1;
  color: #101514;
  cursor: pointer;
  transition: background-color .42s var(--ease), color .42s var(--ease), transform .42s var(--ease);
}

.tpk-search-overlay__close svg {
  width: 19px;
  height: 19px;
  transition: transform .52s var(--ease);
}

.tpk-search-overlay__close:hover,
.tpk-search-overlay__close:focus-visible {
  background: #101514;
  color: #fff;
}

.tpk-search-overlay__close:hover svg,
.tpk-search-overlay__close:focus-visible svg {
  transform: rotate(90deg);
}

.tpk-search-overlay__close:active {
  transform: scale(.96);
}

.tpk-search-overlay__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 156px;
  align-items: center;
  gap: 12px;
  margin-top: 32px;
  padding: 5px 6px 5px 20px;
  border: 0;
  border-radius: var(--radius-pill);
  background: #f2f4f3;
  opacity: 0;
  transform: translateY(10px);
  transition: background-color .24s ease, box-shadow .24s ease, opacity .3s ease .13s, transform .5s var(--ease) .13s;
}

.tpk-search-overlay.is-open .tpk-search-overlay__form {
  opacity: 1;
  transform: translateY(0);
}

.tpk-search-overlay__form:focus-within {
  background: #edf0ef;
  box-shadow: none;
}

.tpk-search-overlay__input {
  width: 100%;
  min-width: 0;
  height: 46px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #101514;
  font: 450 16px/1.3 var(--tpk-font-sans);
}

.tpk-search-overlay__input::placeholder {
  color: #737b78;
  opacity: 1;
}

.tpk-search-overlay__submit {
  position: relative;
  justify-self: end;
  width: 124px;
  height: 46px;
  padding: 0;
  overflow: hidden;
  isolation: isolate;
  border: 0;
  border-radius: var(--radius-pill);
  background: linear-gradient(108deg, #020202 0%, #020202 55%, #111 77%, #252525 100%);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035), 0 12px 26px rgba(0, 0, 0, .18);
  cursor: pointer;
  transition: width .78s var(--ease), box-shadow .78s var(--ease), transform .18s ease;
}

.tpk-search-overlay__submit::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(105deg, transparent 0%, transparent 57%, rgba(255, 255, 255, .018) 76%, rgba(255, 255, 255, .052) 100%);
  pointer-events: none;
}

.tpk-search-overlay__submit:hover,
.tpk-search-overlay__submit:focus-visible {
  width: 156px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04), 0 16px 31px rgba(0, 0, 0, .21);
}

.tpk-search-overlay__submit:active {
  transform: scale(.985);
}

.tpk-search-overlay__submit-label {
  position: absolute;
  top: 50%;
  
  left: 50%;
  z-index: 2;
  font: 600 14px/1 var(--tpk-font-sans);
  letter-spacing: -.012em;
  white-space: nowrap;
  transform: translate(-50%, -50%);
  transition:
    left .78s var(--ease),
    transform .78s var(--ease);
}

@media (min-width: 768px) {

  
  .tpk-search-overlay__submit-label {
    left: 38.8px;
    transform: translateY(-50%);
  }

  .tpk-search-overlay__submit:hover .tpk-search-overlay__submit-label,
  .tpk-search-overlay__submit:focus-visible .tpk-search-overlay__submit-label {
    left: 22px;
    transform: translateY(-50%);
  }
}

.tpk-search-overlay__submit-arrow {
  position: absolute;
  top: 50%;
  right: 22px;
  z-index: 2;
  display: block;
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  clip-path: inset(0 100% 0 0);
  transform: translateY(-50%);
  transition: clip-path .78s var(--ease);
}

.tpk-search-overlay__submit:hover .tpk-search-overlay__submit-arrow,
.tpk-search-overlay__submit:focus-visible .tpk-search-overlay__submit-arrow {
  clip-path: inset(0 0 0 0);
}

.tpk-search-overlay__hint {
  margin: 14px 20px 0;
  color: #68716e;
  font-size: 12px;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .28s ease .18s, transform .46s var(--ease) .18s;
}

.tpk-search-overlay.is-open .tpk-search-overlay__hint {
  opacity: 1;
  transform: translateY(0);
}

body.tpk-search-open {
  overflow: hidden;
}

@media (max-width: 767px) {
  .tpk-search-overlay {
    padding-top: 18px;
  }

  .tpk-search-overlay__panel {
    width: calc(100% - 24px);
    padding: 20px 18px 22px;
    border-radius: 18px;
  }

  .tpk-search-overlay__title {
    font-size: 25px;
  }

  .tpk-search-overlay__form {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 24px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .tpk-search-overlay__form:focus-within {
    background: transparent;
    box-shadow: none;
  }

  .tpk-search-overlay__input {
    height: 48px;
    padding-inline: 16px;
    border: 0;
    border-radius: var(--radius-pill);
    background: #f0f2f1;
    box-shadow: none;
    transition: background-color .24s ease, box-shadow .24s ease;
  }

  .tpk-search-overlay__input:focus {
    background: #e9edeb;
    box-shadow: none;
  }

  .tpk-search-overlay__submit,
  .tpk-search-overlay__submit:hover,
  .tpk-search-overlay__submit:focus-visible {
    width: 100%;
    height: 44px;
  }

  .tpk-search-overlay__submit-arrow {
    display: none;
  }

  .tpk-search-overlay__hint {
    margin: 12px 4px 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tpk-search-overlay,
  .tpk-search-overlay__scrim,
  .tpk-search-overlay__panel,
  .tpk-search-overlay__header,
  .tpk-search-overlay__close,
  .tpk-search-overlay__close svg,
  .tpk-search-overlay__form,
  .tpk-search-overlay__submit,
  .tpk-search-overlay__submit-arrow,
  .tpk-search-overlay__hint {
    transition: none;
  }
}
.tpk-inquiry-dialog {
  
  --tpk-inquiry-accent: #009b74;
  --tpk-inquiry-accent-soft: #e9f5f1;
  --tpk-inquiry-field: #f0f2f1;
  --tpk-inquiry-field-hover: #e9edeb;
  --tpk-inquiry-danger: #c1121f;
  --tpk-inquiry-danger-soft: #fdf1ef;
  --tpk-inquiry-motion: 0.28s;
  --tpk-inquiry-ease: cubic-bezier(0.16, 1, 0.3, 1);
  border: 0;
  border-radius: 24px;
  padding: 0;
  width: min(680px, 92vw);
  max-height: min(88vh, 760px);
  overflow: auto;
  background: #fff;
  color: var(--tpk-color-text, #111);
  font-family: var(--tpk-font-sans);
  box-shadow: 0 32px 90px rgba(0, 0, 0, 0.22);
  /* Open/close motion — same family as tpk-search-overlay (opacity .34s in,
     panel rise .52s). "display/overlay allow-discrete" keeps the dialog in
     the top layer while the exit transition plays. */
  opacity: 0;
  transform: translate3d(0, 22px, 0) scale(0.985);
  transform-origin: center top;
  transition:
    opacity 0.34s ease,
    transform 0.52s var(--tpk-inquiry-ease),
    overlay 0.52s var(--tpk-inquiry-ease) allow-discrete,
    display 0.52s var(--tpk-inquiry-ease) allow-discrete;
}

.tpk-inquiry-dialog[open] {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.tpk-inquiry-dialog::backdrop {
  background: rgba(5, 8, 7, 0.64);
  opacity: 0;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition:
    opacity 0.42s ease,
    backdrop-filter 0.52s var(--tpk-inquiry-ease),
    -webkit-backdrop-filter 0.52s var(--tpk-inquiry-ease),
    overlay 0.52s allow-discrete,
    display 0.52s allow-discrete;
}

.tpk-inquiry-dialog[open]::backdrop {
  opacity: 1;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* Entry keyframe: starting style = the closed look, the transition above
   does the rest. Chromium 117+/Safari 17.5+/Firefox 129+; older browsers
   simply skip the animation (graceful fallback, dialog still works). */
@starting-style {
  .tpk-inquiry-dialog[open] {
    opacity: 0;
    transform: translate3d(0, 22px, 0) scale(0.985);
  }
  .tpk-inquiry-dialog[open]::backdrop {
    opacity: 0;
    backdrop-filter: blur(0);
    -webkit-backdrop-filter: blur(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .tpk-inquiry-dialog,
  .tpk-inquiry-dialog::backdrop {
    transition: none;
  }
}

.tpk-inquiry-dialog__inner {
  padding: clamp(28px, 4vw, 40px);
}

.tpk-inquiry-dialog .tpk-search-overlay__header {
  opacity: 1;
  transform: none;
  margin: 0;
}

.tpk-inquiry-dialog__lead {
  margin: 10px 0 28px;
  color: var(--tpk-color-muted, #666);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
}

.tpk-inquiry-dialog__fallback {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
}

.tpk-inquiry-dialog__fallback .tpk-inquiry-dialog__field:has(textarea),
.tpk-inquiry-dialog__fallback .tpk-inquiry-dialog__notice,
.tpk-inquiry-dialog__fallback .tpk-inquiry-dialog__actions {
  grid-column: 1 / -1;
}

.tpk-inquiry-dialog__field {
  margin: 0 0 16px;
}

.tpk-inquiry-dialog .ff-el-input--label label,
.tpk-inquiry-dialog__field > label {
  display: block;
  margin: 0 0 8px;
  color: #101514;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.3;
}

.tpk-inquiry-dialog .ff-el-is-required .ff-el-input--label label::after,
.tpk-inquiry-dialog .ff-el-is-required.asterisk-right .ff-el-input--label label::after {
  content: " *";
  color: #c1121f;
  font-size: 16px;
  font-weight: 700;
  line-height: 0;
}

/* V23.30: Fluent's constructed stylesheet paints textarea(:focus) with a 1px
   blue border and out-specifies the base rule EVEN under !important (important
   cascades fall back to specificity). Stack specificity (doubled class +
   pseudo states) to win the important-vs-important fight. */
.tpk-inquiry-dialog textarea.ff-el-form-control.ff-el-form-control,
.tpk-inquiry-dialog textarea.ff-el-form-control.ff-el-form-control:hover,
.tpk-inquiry-dialog textarea.ff-el-form-control.ff-el-form-control:focus,
.tpk-inquiry-dialog textarea.ff-el-form-control.ff-el-form-control:active,
.tpk-inquiry-dialog input.ff-el-form-control.ff-el-form-control,
.tpk-inquiry-dialog input.ff-el-form-control.ff-el-form-control:hover,
.tpk-inquiry-dialog input.ff-el-form-control.ff-el-form-control:focus,
.tpk-inquiry-dialog input.ff-el-form-control.ff-el-form-control:active,
.tpk-inquiry-dialog select.ff-el-form-control.ff-el-form-control,
.tpk-inquiry-dialog select.ff-el-form-control.ff-el-form-control:hover,
.tpk-inquiry-dialog select.ff-el-form-control.ff-el-form-control:focus,
.tpk-inquiry-dialog select.ff-el-form-control.ff-el-form-control:active {
  border: 0 !important;
}

.tpk-inquiry-dialog__input,
.tpk-inquiry-dialog .ff-el-form-control,
.tpk-inquiry-dialog input:not([type="checkbox"]):not([type="hidden"]):not([type="radio"]),
.tpk-inquiry-dialog textarea,
.tpk-inquiry-dialog select {
  width: 100%;
  min-height: 46px;
  padding: 12px 14px;
  border: 0;
  outline: 0;
  border-radius: 10px;
  background-color: var(--tpk-inquiry-field);
  color: #101514;
  box-shadow: inset 0 0 0 1px rgba(16, 21, 20, 0);
  font: 400 14px/1.45 var(--tpk-font-sans);
  transition:
    background-color var(--tpk-inquiry-motion) var(--tpk-inquiry-ease),
    box-shadow var(--tpk-inquiry-motion) var(--tpk-inquiry-ease);
}

.tpk-inquiry-dialog__input:hover:not(:focus):not(.tpk-is-filled),
.tpk-inquiry-dialog .ff-el-form-control:hover:not(:focus):not(.tpk-is-filled),
.tpk-inquiry-dialog input:not([type="checkbox"]):not([type="hidden"]):not([type="radio"]):hover:not(:focus):not(.tpk-is-filled),
.tpk-inquiry-dialog textarea:hover:not(:focus):not(.tpk-is-filled),
.tpk-inquiry-dialog select:hover:not(:focus):not(.tpk-is-filled) {
  background-color: var(--tpk-inquiry-field-hover);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tpk-inquiry-accent) 22%, transparent);
}

.tpk-inquiry-dialog__input:focus,
.tpk-inquiry-dialog .ff-el-form-control:focus,
.tpk-inquiry-dialog input:not([type="checkbox"]):not([type="hidden"]):not([type="radio"]):focus,
.tpk-inquiry-dialog textarea:focus,
.tpk-inquiry-dialog select:focus {
  background-color: var(--tpk-inquiry-field);
  /* !important: beats Fluent's own focus ring (constructed stylesheet). */
  box-shadow: inset 0 0 0 1.5px var(--tpk-inquiry-accent) !important;
}

.tpk-inquiry-dialog__input.tpk-is-filled,
.tpk-inquiry-dialog .ff-el-form-control.tpk-is-filled,
.tpk-inquiry-dialog input:not([type="checkbox"]):not([type="hidden"]):not([type="radio"]).tpk-is-filled,
.tpk-inquiry-dialog textarea.tpk-is-filled,
.tpk-inquiry-dialog select.tpk-is-filled {
  background-color: var(--tpk-inquiry-accent-soft) !important;
}

.tpk-inquiry-dialog__input.tpk-is-filled:hover:not(:focus),
.tpk-inquiry-dialog .ff-el-form-control.tpk-is-filled:hover:not(:focus),
.tpk-inquiry-dialog select.tpk-is-filled:hover:not(:focus) {
  background-color: color-mix(in srgb, var(--tpk-inquiry-accent) 9%, #fff) !important;
}

.tpk-inquiry-dialog select.ff-el-form-control,
.tpk-inquiry-dialog select.tpk-inquiry-dialog__input {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 42px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2366706b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9.5 12 15.5 18 9.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px 16px;
  cursor: pointer;
}

.tpk-inquiry-dialog select.ff-el-form-control:focus,
.tpk-inquiry-dialog select.tpk-inquiry-dialog__input:focus {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23009b74' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9.5 12 15.5 18 9.5'/%3E%3C/svg%3E");
}

.tpk-inquiry-dialog select option {
  background: #fff;
  color: #101514;
  font: 400 14px/1.45 var(--tpk-font-sans);
  padding: 10px;
}

.tpk-inquiry-dialog .tpk-select {
  position: relative;
}

@media (min-width: 681px) {

  
  .tpk-inquiry-dialog .tpk-select > select {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    border: 0;
    opacity: 0;
    pointer-events: none;
    background-image: none;
  }

  
  .tpk-inquiry-dialog .tpk-select__trigger {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 46px;
    padding: 12px 42px 12px 14px;
    border: 0;
    outline: 0;
    border-radius: 10px;
    background-color: var(--tpk-inquiry-field);
    color: #101514;
    box-shadow: inset 0 0 0 1px rgba(16, 21, 20, 0);
    font: 400 14px/1.45 var(--tpk-font-sans);
    text-align: left;
    cursor: pointer;
    transition:
      background-color var(--tpk-inquiry-motion) var(--tpk-inquiry-ease),
      box-shadow var(--tpk-inquiry-motion) var(--tpk-inquiry-ease);
  }

  .tpk-inquiry-dialog .tpk-select__trigger::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    width: 16px;
    height: 16px;
    transform: translateY(-50%);
    background: center / 16px 16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2366706b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9.5 12 15.5 18 9.5'/%3E%3C/svg%3E");
    transition:
      transform var(--tpk-inquiry-motion) var(--tpk-inquiry-ease),
      background-color var(--tpk-inquiry-motion) var(--tpk-inquiry-ease),
      background var(--tpk-inquiry-motion) var(--tpk-inquiry-ease);
  }

  .tpk-inquiry-dialog .tpk-select.is-open .tpk-select__trigger::after,
  .tpk-inquiry-dialog .tpk-select__trigger:focus-visible::after {
    background: center / 16px 16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23009b74' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9.5 12 15.5 18 9.5'/%3E%3C/svg%3E");
  }

  .tpk-inquiry-dialog .tpk-select.is-open .tpk-select__trigger::after {
    transform: translateY(-50%) rotate(180deg);
  }

  .tpk-inquiry-dialog .tpk-select.is-placeholder .tpk-select__trigger {
    color: #66706b;
  }

  .tpk-inquiry-dialog .tpk-select:not(.is-filled) .tpk-select__trigger:hover {
    background-color: var(--tpk-inquiry-field-hover);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tpk-inquiry-accent) 22%, transparent);
  }

  .tpk-inquiry-dialog .tpk-select__trigger:focus-visible,
  .tpk-inquiry-dialog .tpk-select.is-open .tpk-select__trigger {
    background-color: var(--tpk-inquiry-field);
    box-shadow: inset 0 0 0 1.5px var(--tpk-inquiry-accent) !important;
  }

  .tpk-inquiry-dialog .tpk-select.is-filled .tpk-select__trigger {
    background-color: var(--tpk-inquiry-accent-soft) !important;
  }

  .tpk-inquiry-dialog .tpk-select.is-filled .tpk-select__trigger:hover:not(:focus-visible) {
    background-color: color-mix(in srgb, var(--tpk-inquiry-accent) 9%, #fff);
  }

  
  .tpk-inquiry-dialog .ff-el-group.ff-el-is-error .tpk-select__trigger {
    background-color: var(--tpk-inquiry-danger-soft);
    box-shadow: inset 0 0 0 1.5px var(--tpk-inquiry-danger);
  }

  .tpk-inquiry-dialog .tpk-select__list {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 40;
    margin: 0;
    padding: 6px;
    list-style: none;
    background: #fff;
    border-radius: 12px;
    /* V23.30: was a heavy two-layer shadow; now the same faint card shadow the
       nav submenu uses (tokens.css --shadow), per user decision. */
    box-shadow: var(--shadow);
    max-height: 264px;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition:
      opacity 0.22s var(--tpk-inquiry-ease),
      transform 0.22s var(--tpk-inquiry-ease),
      visibility 0s linear 0.22s;
  }

  .tpk-inquiry-dialog .tpk-select.is-dropup .tpk-select__list {
    top: auto;
    bottom: calc(100% + 6px);
    transform: translateY(6px);
  }

  .tpk-inquiry-dialog .tpk-select.is-open .tpk-select__list {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s;
  }

  .tpk-inquiry-dialog .tpk-select__option {
    position: relative;
    z-index: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 8px;
    font: 500 13.5px/1.4 var(--tpk-font-sans);
    color: #101514;
    cursor: pointer;
    transition: color var(--tpk-underline-out);
  }

  /* V23.28: option hover = confirmed variant B (soft green fill fade), same
     rhythm as nav submenu items. ::before z-index:-1 keeps text/check above. */
  .tpk-inquiry-dialog .tpk-select__option::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: var(--tpk-inquiry-accent-soft);
    opacity: 0;
    transform: scale(0.85);
    transition: opacity var(--tpk-underline-out), transform var(--tpk-underline-out);
  }

  .tpk-inquiry-dialog .tpk-select__option:hover,
  .tpk-inquiry-dialog .tpk-select__option.is-active {
    color: var(--tpk-inquiry-accent) !important;
    transition: color var(--tpk-underline-in);
  }

  .tpk-inquiry-dialog .tpk-select__option:hover::before,
  .tpk-inquiry-dialog .tpk-select__option.is-active::before {
    opacity: 1;
    transform: scale(1);
    transition: opacity var(--tpk-underline-in), transform var(--tpk-underline-in);
  }

  .tpk-inquiry-dialog .tpk-select__option.is-selected {
    color: var(--tpk-inquiry-accent);
    font-weight: 600;
  }

  .tpk-inquiry-dialog .tpk-select__option.is-selected::after {
    content: "";
    flex: 0 0 auto;
    width: 14px;
    height: 14px;
    background: center / 14px 14px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23009b74' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5 10 18 19.5 7'/%3E%3C/svg%3E");
  }

  .tpk-inquiry-dialog .tpk-select__option.is-disabled {
    color: #9aa4af;
    cursor: default;
    background-color: transparent;
  }
}

@media (max-width: 680px) {

  .tpk-inquiry-dialog .tpk-select__trigger,
  .tpk-inquiry-dialog .tpk-select__list {
    display: none;
  }
}

.tpk-inquiry-dialog textarea {
  min-height: 96px;
  resize: vertical;
}

.tpk-inquiry-dialog__notice {
  margin: 4px 0 0;
  color: var(--tpk-color-muted, #666);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
}

.tpk-inquiry-error,
.tpk-inquiry-dialog .ff-el-input--content .error.text-danger {
  display: block;
  margin: 8px 2px 0;
  padding: 8px 12px;
  border-radius: 8px;
  background: var(--tpk-inquiry-danger-soft);
  color: var(--tpk-inquiry-danger);
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.45;
  animation: tpk-inquiry-error-in 0.32s var(--tpk-inquiry-ease) both;
}

.tpk-inquiry-error.is-leaving {
  opacity: 0;
  transform: translateY(-4px);
  transition:
    opacity 0.24s ease,
    transform 0.24s ease;
}

@keyframes tpk-inquiry-error-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.tpk-inquiry-dialog .tpk-is-invalid,
.tpk-inquiry-dialog .ff-el-group.ff-el-is-error .ff-el-form-control {
  /* Single red inset ring only — Fluent paints its own error border
     (textarea/select, #f56c6c) which doubled the ring. V23.29: killed. */
  border: 0 !important;
  box-shadow: inset 0 0 0 1.5px var(--tpk-inquiry-danger) !important;
  animation: tpk-inquiry-shake 0.42s var(--tpk-inquiry-ease);
}

@keyframes tpk-inquiry-shake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-5px); }
  40% { transform: translateX(4px); }
  60% { transform: translateX(-3px); }
  80% { transform: translateX(2px); }
}

.tpk-inquiry-dialog__actions {
  margin-top: 8px;
}

/* V23.28 confirmed (Primer Default mode): gray at rest, brand green fades in
   on hover with the shared asymmetric rhythm. ::before uses z-index:-1 inside
   the button stacking context so it sits above the gray fill, below content. */
.tpk-inquiry-dialog__submit,
.tpk-inquiry-dialog .ff-btn-submit {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 46px;
  /* border !important: Fluent's own CSS paints a #0062cc blue border on
     .ff-btn (constructed stylesheet) — V23.29 keeps the pill flat. */
  border: 0 !important;
  outline: 0;
  border-radius: 10px;
  /* !important: beats Fluent Forms' own button color CSS (constructed
     stylesheet, invisible to document.styleSheets). V23.28 confirmed gray. */
  background: #e9ebec !important;
  color: #101514 !important;
  font: 600 14px/1 var(--tpk-font-sans);
  cursor: pointer;
  overflow: hidden;
  transition: transform 0.18s ease, color var(--tpk-underline-out);
}

.tpk-inquiry-dialog__submit::before,
.tpk-inquiry-dialog .ff-btn-submit::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: var(--tpk-inquiry-accent);
  opacity: 0;
  transform: scale(0.85);
  transition: opacity var(--tpk-underline-out), transform var(--tpk-underline-out);
}

.tpk-inquiry-dialog__submit:hover,
.tpk-inquiry-dialog__submit:focus-visible,
.tpk-inquiry-dialog .ff-btn-submit:hover,
.tpk-inquiry-dialog .ff-btn-submit:focus-visible {
  color: #fff !important;
  transition: transform 0.18s ease, color var(--tpk-underline-in) var(--tpk-fade-lag);
}

.tpk-inquiry-dialog__submit:hover::before,
.tpk-inquiry-dialog__submit:focus-visible::before,
.tpk-inquiry-dialog .ff-btn-submit:hover::before,
.tpk-inquiry-dialog .ff-btn-submit:focus-visible::before {
  opacity: 1;
  transform: scale(1);
  transition: opacity var(--tpk-underline-in), transform var(--tpk-underline-in);
}

.tpk-inquiry-dialog__submit:active,
.tpk-inquiry-dialog .ff-btn-submit:active {
  transform: scale(0.98);
}

.tpk-inquiry-dialog .frm-fluent-form fieldset {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
  min-inline-size: 0;
}

.tpk-inquiry-dialog .frm-fluent-form fieldset > legend,
.tpk-inquiry-dialog .frm-fluent-form fieldset > input[type="hidden"] {
  display: none;
}

.tpk-inquiry-dialog .ff-el-group {
  min-width: 0;
  margin-bottom: 16px;
}

.tpk-inquiry-dialog .ff-el-group:has(textarea),
.tpk-inquiry-dialog .ff-el-group:has([name="company"]),
.tpk-inquiry-dialog .ff-el-group:has([type="checkbox"]),
.tpk-inquiry-dialog .ff_submit_btn_wrapper {
  grid-column: 1 / -1;
}

.tpk-inquiry-dialog .ff-el-group:has([name="country_region"]) {
  display: none;
}

.tpk-inquiry-dialog .ff-el-form-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 4px 0 8px;
}

.tpk-inquiry-dialog .ff-el-form-check-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  color: #101514;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.45;
  cursor: pointer;
}

.tpk-inquiry-dialog .ff-el-form-check-label span {
  font-size: 14px;
  font-weight: 400;
}

.tpk-inquiry-dialog input[type="checkbox"] {
  appearance: none;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  margin: 1px 0 0;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: var(--tpk-inquiry-field);
  color: #fff;
  cursor: pointer;
  transition: background-color var(--tpk-inquiry-motion) var(--tpk-inquiry-ease), box-shadow var(--tpk-inquiry-motion) var(--tpk-inquiry-ease);
}

.tpk-inquiry-dialog input[type="checkbox"]:hover:not(:focus) {
  background: var(--tpk-inquiry-field-hover);
}

.tpk-inquiry-dialog input[type="checkbox"]:checked {
  background: #101514;
  background-image: 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.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 10 17.5 19 7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
}

.tpk-inquiry-dialog input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--tpk-color-focus, #009b74);
  outline-offset: 2px;
}

@media (max-width: 640px) {
  .tpk-inquiry-dialog {
    width: min(440px, 92vw);
  }

  .tpk-inquiry-dialog .frm-fluent-form fieldset,
  .tpk-inquiry-dialog__fallback {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tpk-inquiry-dialog .tpk-search-overlay__close,
  .tpk-inquiry-dialog .tpk-search-overlay__close svg,
  .tpk-inquiry-dialog__input,
  .tpk-inquiry-dialog .ff-el-form-control,
  .tpk-inquiry-dialog input:not([type="checkbox"]):not([type="hidden"]):not([type="radio"]),
  .tpk-inquiry-dialog textarea,
  .tpk-inquiry-dialog select,
  .tpk-inquiry-dialog input[type="checkbox"],
  .tpk-inquiry-error,
  .tpk-inquiry-dialog .tpk-select__trigger,
  .tpk-inquiry-dialog .tpk-select__trigger::after,
  .tpk-inquiry-dialog .tpk-select__list,
  .tpk-inquiry-dialog .tpk-select__option,
  .tpk-inquiry-dialog .tpk-select__option::before,
  .tpk-inquiry-dialog__submit,
  .tpk-inquiry-dialog__submit::before,
  .tpk-inquiry-dialog .ff-btn-submit,
  .tpk-inquiry-dialog .ff-btn-submit::before {
    transition-duration: 0.01ms;
    animation-duration: 0.01ms;
  }

  .tpk-inquiry-dialog .tpk-is-invalid {
    animation: none;
  }
}


[data-tpk-icon] {
  display: inline-block;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: top;
  speak: never;
}

[data-tpk-icon="specification-sheet"]    { background-image: url("../../icons/tpk-icon-specification-sheet.svg"); }
[data-tpk-icon="etl-certificate"]        { background-image: url("../../icons/tpk-icon-etl-certificate.svg"); }
[data-tpk-icon="ce-certificate"]         { background-image: url("../../icons/tpk-icon-ce-certificate.svg"); }
[data-tpk-icon="test-report"]            { background-image: url("../../icons/tpk-icon-test-report.svg"); }
[data-tpk-icon="ies-photometric-file"]   { background-image: url("../../icons/tpk-icon-ies-photometric-file.svg"); }
[data-tpk-icon="cad-drawing-file"]       { background-image: url("../../icons/tpk-icon-cad-drawing-file.svg"); }
[data-tpk-icon="image-file"]             { background-image: url("../../icons/tpk-icon-image-file.svg"); }
[data-tpk-icon="video"]                  { background-image: url("../../icons/tpk-icon-video.svg"); }
[data-tpk-icon="certification-document"] { background-image: url("../../icons/tpk-icon-certification-document.svg"); }
[data-tpk-icon="guides"]                 { background-image: url("../../icons/tpk-icon-guides.svg"); }
[data-tpk-icon="other-file"]             { background-image: url("../../icons/tpk-icon-other-file.svg"); }
[data-tpk-icon="product-catalog"]        { background-image: url("../../icons/tpk-icon-product-catalog.svg"); }
[data-tpk-icon="ul-certificate"]         { background-image: url("../../icons/tpk-icon-ul-certificate.svg"); }

[data-tpk-icon="file-down-outline"] {
  -webkit-mask: url("../../icons/file-down-outline.svg") center / contain no-repeat;
  mask: url("../../icons/file-down-outline.svg") center / contain no-repeat;
  background-color: currentColor;
}

[data-tpk-icon="action-dash-lg"] {
  -webkit-mask: url("../../icons/actions/tpk-icon-action-dash-lg.svg") center / contain no-repeat;
  mask: url("../../icons/actions/tpk-icon-action-dash-lg.svg") center / contain no-repeat;
  background-color: currentColor;
}
[data-tpk-icon="action-close-lg"] {
  -webkit-mask: url("../../icons/actions/tpk-icon-action-close-lg.svg") center / contain no-repeat;
  mask: url("../../icons/actions/tpk-icon-action-close-lg.svg") center / contain no-repeat;
  background-color: currentColor;
}
[data-tpk-icon="action-chevron-left"] {
  -webkit-mask: url("../../icons/actions/tpk-icon-action-chevron-left.svg") center / contain no-repeat;
  mask: url("../../icons/actions/tpk-icon-action-chevron-left.svg") center / contain no-repeat;
  background-color: currentColor;
}
[data-tpk-icon="action-chevron-right"] {
  -webkit-mask: url("../../icons/actions/tpk-icon-action-chevron-right.svg") center / contain no-repeat;
  mask: url("../../icons/actions/tpk-icon-action-chevron-right.svg") center / contain no-repeat;
  background-color: currentColor;
}
[data-tpk-icon="action-chevron-up"] {
  -webkit-mask: url("../../icons/actions/tpk-icon-action-chevron-up.svg") center / contain no-repeat;
  mask: url("../../icons/actions/tpk-icon-action-chevron-up.svg") center / contain no-repeat;
  background-color: currentColor;
}
[data-tpk-icon="action-chevron-down"] {
  -webkit-mask: url("../../icons/actions/tpk-icon-action-chevron-down.svg") center / contain no-repeat;
  mask: url("../../icons/actions/tpk-icon-action-chevron-down.svg") center / contain no-repeat;
  background-color: currentColor;
}
[data-tpk-icon="action-arrow-right"] {
  -webkit-mask: url("../../icons/actions/tpk-icon-action-arrow-right.svg") center / contain no-repeat;
  mask: url("../../icons/actions/tpk-icon-action-arrow-right.svg") center / contain no-repeat;
  background-color: currentColor;
}
[data-tpk-icon="action-arrow-left"] {
  -webkit-mask: url("../../icons/actions/tpk-icon-action-arrow-left.svg") center / contain no-repeat;
  mask: url("../../icons/actions/tpk-icon-action-arrow-left.svg") center / contain no-repeat;
  background-color: currentColor;
}
[data-tpk-icon="action-arrow-up"] {
  -webkit-mask: url("../../icons/actions/tpk-icon-action-arrow-up.svg") center / contain no-repeat;
  mask: url("../../icons/actions/tpk-icon-action-arrow-up.svg") center / contain no-repeat;
  background-color: currentColor;
}
[data-tpk-icon="action-arrow-down"] {
  -webkit-mask: url("../../icons/actions/tpk-icon-action-arrow-down.svg") center / contain no-repeat;
  mask: url("../../icons/actions/tpk-icon-action-arrow-down.svg") center / contain no-repeat;
  background-color: currentColor;
}
[data-tpk-icon="action-arrow-up-right"] {
  -webkit-mask: url("../../icons/actions/tpk-icon-action-arrow-up-right.svg") center / contain no-repeat;
  mask: url("../../icons/actions/tpk-icon-action-arrow-up-right.svg") center / contain no-repeat;
  background-color: currentColor;
}
[data-tpk-icon="action-arrow-up-left"] {
  -webkit-mask: url("../../icons/actions/tpk-icon-action-arrow-up-left.svg") center / contain no-repeat;
  mask: url("../../icons/actions/tpk-icon-action-arrow-up-left.svg") center / contain no-repeat;
  background-color: currentColor;
}
[data-tpk-icon="action-arrow-down-right"] {
  -webkit-mask: url("../../icons/actions/tpk-icon-action-arrow-down-right.svg") center / contain no-repeat;
  mask: url("../../icons/actions/tpk-icon-action-arrow-down-right.svg") center / contain no-repeat;
  background-color: currentColor;
}
[data-tpk-icon="action-arrow-down-left"] {
  -webkit-mask: url("../../icons/actions/tpk-icon-action-arrow-down-left.svg") center / contain no-repeat;
  mask: url("../../icons/actions/tpk-icon-action-arrow-down-left.svg") center / contain no-repeat;
  background-color: currentColor;
}
[data-tpk-icon="action-download"] {
  -webkit-mask: url("../../icons/actions/tpk-icon-action-download.svg") center / contain no-repeat;
  mask: url("../../icons/actions/tpk-icon-action-download.svg") center / contain no-repeat;
  background-color: currentColor;
}
.tpk-u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.tpk-media{
overflow:hidden;
border-radius:var(--radius-card)}
.tpk-media img{
display:block;
width:100%;
height:100%;
transform:scale(1);
transform-origin:center}
.tpk-media--hero img{
transition:transform var(--image-duration-hero) var(--ease-image)}
.tpk-media--case img{
transition:transform var(--image-duration-case) var(--ease-image)}
.tpk-media--product img{
object-fit:contain;
background:#fff;
transition:transform var(--image-duration-product) var(--ease-image)}
.tpk-media--hero:hover img,.tpk-media--hero-link:hover img{
transform:scale(var(--image-scale-hero))}
.tpk-media--case:hover img,.tpk-media--case-link:hover img{
transform:scale(var(--image-scale-case))}
.tpk-media--product:hover img,.tpk-media--product-link:hover img{
transform:scale(var(--image-scale-product))}
@media(prefers-reduced-motion:reduce){
.tpk-media img{
transition:none}
}


@media (max-width: 1023px) {
  .tpk-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .tpk-grid,
  .tpk-spec-grid {
    grid-template-columns: 1fr;
  }
}
@media(max-width:1179px){.edge-nav,.edge-tooltip,.tpk-page-about__edge-nav,.tpk-page-about__edge-tooltip,.tpk-legal-edge-nav,.tpk-legal-edge-tooltip{display:none!important}}
.tpk-floating-bar {
  --tpk-floating-primary: #009b74;
  --tpk-floating-whatsapp: #25d366;
  --tpk-floating-whatsapp-hover: #1ebe5d;
  position: fixed;
  right: 32px;
  bottom: 120px;
  z-index: 30;
  display: flex;
  flex-direction: column;
  gap: 24px;
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
  transition: opacity .3s var(--ease), transform .4s var(--ease), visibility 0s linear 0s;
}

.tpk-floating-bar-sentinel {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}

.tpk-floating-bar.is-suspended,
.tpk-floating-bar.is-footer-visible {
  opacity: 0;
  pointer-events: none;
  transform: translateY(14px);
  visibility: hidden;
  transition-delay: 0s, 0s, .4s;
}

.tpk-floating-bar__action {
  position: relative;
  display: grid;
  width: 54px;
  height: 54px;
  min-width: 54px;
  min-height: 54px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: var(--radius-pill);
  background: #fff;
  color: #202422;
  box-shadow: 0 8px 24px rgba(0, 155, 116, .06), 0 12px 34px rgba(16, 24, 40, .08);
  cursor: pointer;
  text-decoration: none;
  transition: color .35s var(--ease), background-color .35s var(--ease), box-shadow .35s var(--ease), opacity .3s var(--ease), transform .35s var(--ease);
}

.tpk-floating-bar__action svg {
  width: 20px;
  height: 20px;
}

.tpk-floating-bar__action:hover,
.tpk-floating-bar__action:focus-visible {
  color: var(--tpk-floating-primary);
  transform: translateY(-3px) scale(1.04);
  box-shadow: 0 10px 30px rgba(0, 155, 116, .24), 0 0 0 8px rgba(0, 155, 116, .1);
}

.tpk-floating-bar__whatsapp {
  background: var(--tpk-floating-whatsapp);
  color: #fff;
  box-shadow: 0 8px 26px rgba(37, 211, 102, .28), 0 0 0 6px rgba(37, 211, 102, .08);
}

.tpk-floating-bar__whatsapp svg {
  fill: currentColor;
}

.tpk-floating-bar__whatsapp:hover,
.tpk-floating-bar__whatsapp:focus-visible {
  background: var(--tpk-floating-whatsapp-hover);
  color: #fff;
  box-shadow: 0 10px 30px rgba(37, 211, 102, .36), 0 0 0 8px rgba(37, 211, 102, .12);
}

.tpk-floating-bar__top {
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
}

.tpk-floating-bar__top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.tpk-floating-bar__top.is-visible:hover,
.tpk-floating-bar__top.is-visible:focus-visible {
  transform: translateY(-3px) scale(1.025);
}

.tpk-floating-bar__tooltip {
  position: absolute;
  top: 50%;
  right: calc(100% + 16px);
  width: max-content;
  max-width: 180px;
  padding: 8px 14px;
  border-radius: 10px;
  background: #101514;
  color: #fff;
  font-size: 12px;
  line-height: 1.2;
  opacity: 0;
  pointer-events: none;
  transform: translate(10px, -50%);
  transition: opacity .25s ease, transform .3s var(--ease);
}

.tpk-floating-bar__action:hover .tpk-floating-bar__tooltip,
.tpk-floating-bar__action:focus-visible .tpk-floating-bar__tooltip {
  opacity: 1;
  transform: translate(0, -50%);
}

@media (max-width: 1179px) and (min-width: 768px) {
  .tpk-floating-bar {
    right: 20px;
    bottom: 80px;
    gap: 18px;
  }
}

@media (max-width: 767px) {
  .tpk-floating-bar {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tpk-floating-bar,
  .tpk-floating-bar__action,
  .tpk-floating-bar__tooltip {
    transition: none;
  }
}
