/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-outline-style:solid;--tw-duration:initial;--tw-leading:initial;--tw-tracking:initial;--tw-font-weight:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:"Google Sans Text", Roboto, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-600:oklch(57.7% .245 27.325);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-light:300;--font-weight-normal:400;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-control-border:#80868b;--color-border-subtle:#e6eaf0;--color-line-green:#2051da;--color-line-mint:#dcf1ff;--color-line-ink:#212226;--color-line-blue:#2051da;--color-line-footer:#212226}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--brand-primary:#2051da;--brand-primary-strong:#1f3b9b;--brand-accent:#039be5;--brand-surface:#dcf1ff;--surface-base:#f8f9fc;--surface-document:#fff;--ink-primary:#212226;--ink-secondary:#5f6368;--control-border:#80868b;--border-subtle:#e6eaf0;--border-strong:#bdc1c6;--radius-control:4px;--radius-card:8px;--radius-feature:20px;--shadow-sm:0 1px 2px #3c404329, 0 1px 3px #3c40431a;--shadow-md:0 8px 24px #1f3b9b1a, 0 2px 6px #21222614;--swiper-theme-color:#2051da}html{scroll-behavior:smooth}body{background-color:var(--color-white);font-family:var(--font-sans);color:#5f6368;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}h1,h2,h3,h4,h5,h6{color:var(--ink-primary);text-wrap:balance;font-family:Google Sans,Roboto,Arial,sans-serif}a{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s}button,a{touch-action:manipulation;-webkit-tap-highlight-color:#2051da29}:focus-visible{outline:3px solid var(--brand-primary);outline-offset:3px}}@layer components{.site-shell{width:100%;max-width:none;overflow-x:clip}.page-container{width:min(100% - 40px,980px);margin-inline:auto}.page-container-wide{width:min(100% - 40px,1280px);margin-inline:auto}#main-content{--section-stack-gap:64px}#main-content>section[data-region]+section[data-region]{margin-top:var(--section-stack-gap)}.section-stack{gap:var(--section-stack-gap);display:grid}.eyebrow{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6);--tw-tracking:-.03em;letter-spacing:-.03em;color:var(--color-line-green)}.section-title{--tw-leading:1.22;--tw-font-weight:var(--font-weight-bold);font-size:30px;line-height:1.22;font-weight:var(--font-weight-bold);--tw-tracking:-.03em;letter-spacing:-.03em;color:var(--color-line-ink)}@media (min-width:48rem){.section-title{font-size:36px}}.section-copy{margin-top:calc(var(--spacing) * 6);max-width:var(--container-2xl);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:1.625;--tw-tracking:-.02em;letter-spacing:-.02em;color:#5f6368;line-height:1.625}@media (min-width:48rem){.section-copy{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-leading:1.56;line-height:1.56}}.button{justify-content:center;align-items:center;padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 3);--tw-font-weight:var(--font-weight-semibold);text-decoration-line:none;display:inline-flex}.button--outline{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-line-green);background-color:var(--color-white);}@media (hover:hover){.button--outline:hover{background-color:var(--color-line-mint);}}.button--green{background-color:var(--color-line-green);color:var(--color-white);--tw-shadow:var(--shadow-sm);}@media (hover:hover){.button--green:hover{background-color:#1f3b9b}}.button--white{background-color:var(--color-white);color:var(--color-line-green)}@media (hover:hover){.button--white:hover{background-color:#dcf1ff}}.site-header{z-index:50;border-bottom-style:var(--tw-border-style);background-color:#fffffff2;border-color:#e6eaf0;border-bottom-width:1px;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background-color:color-mix(in oklab, var(--color-white) 95%, transparent)}}.site-header{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.site-header__inner{align-items:center;height:80px;display:flex}.brand{flex-shrink:0;align-items:center;text-decoration-line:none;display:inline-flex}.brand img{width:170px;height:22px}.desktop-nav{align-items:center;gap:calc(var(--spacing) * 6);margin-left:auto;display:none}@media (min-width:64rem){.desktop-nav{display:flex}}.desktop-nav a{--tw-font-weight:var(--font-weight-normal);font-size:14px;font-weight:var(--font-weight-normal);--tw-tracking:-.03em;letter-spacing:-.03em;color:var(--color-line-ink);text-decoration-line:none}@media (hover:hover){.desktop-nav a:hover{color:var(--color-line-green)}}.desktop-nav__item{align-items:center;display:flex;position:relative}.desktop-nav__toggle{height:calc(var(--spacing) * 6);width:calc(var(--spacing) * 4);border-style:var(--tw-border-style);color:var(--color-line-ink);background-color:#0000;border-width:0;place-items:center;padding:0;display:grid}.desktop-nav__toggle svg{height:calc(var(--spacing) * 3);width:calc(var(--spacing) * 3);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.desktop-nav__item[data-open=true] .desktop-nav__toggle svg{rotate:180deg}.desktop-nav__menu{visibility:hidden;z-index:50;--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);width:210px;translate:var(--tw-translate-x) var(--tw-translate-y);gap:var(--spacing);border-style:var(--tw-border-style);background-color:var(--color-white);padding:calc(var(--spacing) * 3);opacity:0;--tw-shadow:0 12px 28px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);transition-property:opacity,visibility;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;border-width:1px;border-color:#e6eaf0;transition-duration:.15s;display:grid;position:absolute;top:calc(100% + 22px);left:50%}.desktop-nav__menu:before{content:"";inset-inline:0;top:calc(var(--spacing) * -6);height:calc(var(--spacing) * 6);position:absolute}.desktop-nav__menu a{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);--tw-leading:calc(var(--spacing) * 5);font-size:13px;line-height:calc(var(--spacing) * 5);display:block}.desktop-nav__item:hover .desktop-nav__menu,.desktop-nav__item:focus-within .desktop-nav__menu,.desktop-nav__item[data-open=true] .desktop-nav__menu{visibility:visible;opacity:1}.header-actions{margin-left:calc(var(--spacing) * 6);align-items:center;gap:calc(var(--spacing) * 6);display:none}@media (min-width:64rem){.header-actions{display:flex}}.header-actions__signin{border-left-style:var(--tw-border-style);padding-left:calc(var(--spacing) * 6);--tw-font-weight:var(--font-weight-bold);font-size:14px;font-weight:var(--font-weight-bold);--tw-tracking:-.03em;letter-spacing:-.03em;color:var(--color-line-ink);border-color:#e6eaf0;border-left-width:1px;text-decoration-line:none}@media (hover:hover){.header-actions__signin:hover{color:var(--color-line-green)}}.header-actions__cta{background-color:var(--color-line-green);padding-inline:calc(var(--spacing) * 5);--tw-font-weight:var(--font-weight-semibold);font-size:14px;font-weight:var(--font-weight-semibold);color:var(--color-white);--tw-shadow:var(--shadow-sm);padding-block:11px;text-decoration-line:none}@media (hover:hover){.header-actions__cta:hover{background-color:#1f3b9b}}.header-actions__mobile-cta{background-color:var(--color-line-green);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-semibold);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-white);margin-left:auto;text-decoration-line:none}@media (min-width:64rem){.header-actions__mobile-cta{display:none}}.header-actions__mobile-cta+.menu-toggle{margin-left:calc(var(--spacing) * 2)}.menu-toggle{height:calc(var(--spacing) * 11);width:calc(var(--spacing) * 11);border-style:var(--tw-border-style);color:var(--color-line-ink);background-color:#0000;border-width:0;border-radius:.25rem;place-items:center;margin-left:auto;display:grid}@media (min-width:64rem){.menu-toggle{display:none}}.menu-toggle span,.menu-toggle:before,.menu-toggle:after{content:"";height:calc(var(--spacing) * .5);width:calc(var(--spacing) * 5);background-color:currentColor;border-radius:3.40282e38px;display:block}.menu-toggle span{margin-block:4px}.mobile-menu{z-index:50;border-bottom-style:var(--tw-border-style);background-color:var(--color-white);max-height:calc(100vh - 80px);padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 7);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);inset-inline:0;border-color:#e6eaf0;border-bottom-width:1px;display:none;position:absolute;top:100%;overflow-y:auto}@media (min-width:64rem){.mobile-menu{display:none}}.mobile-menu[data-open=true]{display:block}.mobile-menu nav{gap:var(--spacing);display:grid}.mobile-menu nav>a,.mobile-menu__item>button{border-style:var(--tw-border-style);width:100%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 3);text-align:left;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-line-ink);background-color:#0000;border-width:0;border-radius:.25rem;justify-content:space-between;align-items:center;text-decoration-line:none;display:flex}@media (hover:hover){:is(.mobile-menu nav>a,.mobile-menu__item>button):hover{background-color:var(--color-line-mint);color:var(--color-line-green)}}.mobile-menu__item>button span{font-size:var(--text-lg);--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.mobile-menu__item[data-open=true]>button span{rotate:180deg}.mobile-menu__submenu{gap:var(--spacing);padding-bottom:calc(var(--spacing) * 2);padding-left:calc(var(--spacing) * 4);display:none}.mobile-menu__item[data-open=true] .mobile-menu__submenu{display:grid}.mobile-menu__submenu a{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);color:#5f6368;border-radius:.25rem;text-decoration-line:none}@media (hover:hover){.mobile-menu__submenu a:hover{background-color:var(--color-line-mint);color:var(--color-line-green)}}.mobile-menu__actions{margin-top:calc(var(--spacing) * 5);gap:calc(var(--spacing) * 3);border-top-style:var(--tw-border-style);padding-top:calc(var(--spacing) * 5);border-color:#e6eaf0;border-top-width:1px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.hero{background-color:var(--color-line-mint);position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;inset-block:0;background-image:url(images/hero-orbit.svg);background-position:0 0;background-repeat:no-repeat;background-size:contain;width:50%;display:none;position:absolute;left:0}@media (min-width:64rem){.hero:before{display:block}}.hero__inner{min-height:500px;padding-top:calc(var(--spacing) * 9);align-items:flex-start;display:grid;position:relative}@media (min-width:64rem){.hero__inner{grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);align-items:center;min-height:540px;padding-top:0}}.hero__content{z-index:10;order:2;max-width:470px;position:relative}@media (min-width:64rem){.hero__content{order:1;padding-bottom:0}}.hero__eyebrow{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:1.6;--tw-tracking:-.04em;letter-spacing:-.04em;color:var(--color-line-ink);line-height:1.6}@media (min-width:64rem){.hero__eyebrow{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}.hero h1{margin-top:calc(var(--spacing) * 2);--tw-leading:1.16;--tw-font-weight:var(--font-weight-semibold);max-width:640px;font-size:30px;line-height:1.16;font-weight:var(--font-weight-semibold);--tw-tracking:-.04em;letter-spacing:-.04em;color:var(--color-line-ink)}@media (min-width:40rem){.hero h1{font-size:36px}}@media (min-width:64rem){.hero h1{--tw-leading:1.12;font-size:57px;line-height:1.12}}.hero__media{margin-top:calc(var(--spacing) * 2);order:1;min-height:240px;display:block;position:relative}@media (min-width:64rem){.hero__media{order:2;min-height:540px;margin-top:0}}.hero__media img{object-fit:contain;width:min(130%,650px);max-width:none;height:auto;position:absolute;bottom:0;right:-25px}@media (min-width:64rem){.hero__media img{width:min(140%,850px);right:-104px}}.hero__button{margin-top:calc(var(--spacing) * 7);}@media (min-width:64rem){.hero__button{margin-top:calc(var(--spacing) * 7)}}.intro-section{padding-top:0}.tab-list{margin-top:calc(var(--spacing) * 8);scrollbar-width:none;border-bottom-style:var(--tw-border-style);border-color:#e6eaf0;border-bottom-width:1px;gap:0;display:flex;overflow-x:auto}.tab-list button{border-bottom-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 3);padding-bottom:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:#5f6368;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-color:#0000;border-bottom-width:2px;flex-shrink:0}@media (hover:hover){.tab-list button:hover{color:var(--color-line-green)}}@media (min-width:48rem){.tab-list button{padding-inline:calc(var(--spacing) * 5);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}.tab-list button[aria-selected=true]{border-color:var(--color-line-green);color:var(--color-line-green)}.showcase{margin-top:calc(var(--spacing) * 8);background-color:var(--color-white);position:relative}.showcase-card{border-style:var(--tw-border-style);background-color:var(--color-white);min-width:0;min-height:410px;border-width:1px;border-color:#e6eaf0;border-radius:8px;align-items:center;display:grid;overflow:hidden}.showcase:not(.showcase--industry) .showcase-card.swiper-slide{display:grid!important}.showcase-card__image{object-fit:contain;order:1;width:100%;height:300px}.showcase-card__copy{min-width:0;padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 8);order:2;max-width:none}.showcase-card__label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-line-green)}.showcase-card__heading{margin-top:calc(var(--spacing) * 2);--tw-leading:1.32;--tw-font-weight:var(--font-weight-semibold);font-size:27px;line-height:1.32;font-weight:var(--font-weight-semibold);--tw-tracking:-.05em;letter-spacing:-.05em}@media (min-width:48rem){.showcase-card__heading{font-size:32px}}.showcase-card__text{margin-top:calc(var(--spacing) * 5);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:1.7;--tw-font-weight:var(--font-weight-light);line-height:1.7;font-weight:var(--font-weight-light);--tw-tracking:-.035em;letter-spacing:-.035em;color:#5f6368}@media (min-width:64rem){.showcase-card__text{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}.showcase-card__link{margin-top:calc(var(--spacing) * 6);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-line-blue);text-underline-offset:4px;display:inline-flex}@media (hover:hover){.showcase-card__link:hover{text-decoration-line:underline}}@media (min-width:64rem){.showcase-card__link{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}.showcase--industry .showcase-card{border-style:var(--tw-border-style);min-height:0;padding-bottom:calc(var(--spacing) * 4);--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);background-color:#0000;border-width:0;border-radius:0;display:block;position:relative;overflow:visible}.showcase--industry .showcase-card__image{object-fit:cover;width:100%;height:auto;display:block;position:relative}.showcase--industry .showcase-card__copy{z-index:10;margin-inline:calc(var(--spacing) * 3);margin-top:calc(var(--spacing) * -2);background-color:var(--color-white);max-width:500px;padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 7);position:relative}@media (min-width:64rem){.showcase--industry .showcase-card__copy{margin-inline:calc(var(--spacing) * 10);margin-top:calc(var(--spacing) * -7);padding-inline:calc(var(--spacing) * 9);padding-block:calc(var(--spacing) * 9)}}@media (min-width:1024px){.showcase-card{grid-template-columns:1fr 1fr;min-height:460px}.showcase-card__copy{order:2;padding:48px 58px 48px 42px}.showcase-card__image{order:1;height:460px}}.swiper-pagination{margin-top:calc(var(--spacing) * 6);justify-content:center;gap:calc(var(--spacing) * 2);display:flex;position:relative!important;bottom:auto!important}.swiper-pagination-bullet{height:calc(var(--spacing) * 2)!important;width:calc(var(--spacing) * 2)!important;opacity:1!important;background-color:#bdc1c6!important;margin:0!important}.swiper-pagination-bullet-active{width:calc(var(--spacing) * 6)!important;background-color:var(--color-line-green)!important;border-radius:3.40282e38px!important}.trust{background-color:var(--color-white);margin-top:0;padding-block:0}.trust__inner{border-top-style:var(--tw-border-style);padding-top:calc(var(--spacing) * 16);border-color:#e6eaf0;border-top-width:1px}@media (min-width:64rem){.trust__inner{padding-top:100px}}.trust__head{max-width:960px}@media (min-width:64rem){.trust__head .section-title{--tw-leading:46px;font-size:30px;line-height:46px}}.trust-grid{margin-top:calc(var(--spacing) * 12);overflow:visible}@media (min-width:64rem){.trust-grid{margin-top:70px}}.trust-grid{overflow:visible!important}.trust-grid .swiper-slide{height:auto}.trust-grid .swiper-pagination{margin-top:calc(var(--spacing) * 8)}@media (min-width:48rem){.trust-grid .swiper-pagination{display:none}}.trust-card{text-align:center;height:100%;overflow:hidden}.trust-card img{object-fit:contain;width:auto;max-width:220px;height:170px;margin-inline:auto}@media (min-width:64rem){.trust-card img{max-width:260px;height:210px}}.trust-card__content{background-color:#0000;min-height:0;margin-top:0;padding-block:0;padding-inline:0}.trust-card__label{--tw-leading:calc(var(--spacing) * 6);font-size:15px;line-height:calc(var(--spacing) * 6);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:-.045em;letter-spacing:-.045em;color:var(--color-line-ink)}@media (min-width:64rem){.trust-card__label{font-size:16px}}.trust-card__value{z-index:0;--tw-leading:46px;--tw-font-weight:var(--font-weight-bold);max-width:100%;font-size:30px;line-height:46px;font-weight:var(--font-weight-bold);--tw-tracking:-.07em;letter-spacing:-.07em;color:var(--color-line-ink);white-space:nowrap;background-color:#0000;margin-top:0;padding:0;display:inline-block;position:relative}.trust-card__value:after{content:"";z-index:-1;background:#dcf1ff;height:21px;position:absolute;bottom:0;left:0;right:-10px}.trust-card__value em{vertical-align:baseline;--tw-leading:26px;--tw-font-weight:var(--font-weight-bold);font-size:12px;line-height:26px;font-weight:var(--font-weight-bold);margin-left:6px;font-style:normal}.trust-card__detail{margin-inline:auto;margin-top:calc(var(--spacing) * 3);max-width:280px;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6);color:#5f6368;display:block}a.trust-card__detail{color:var(--color-line-blue);text-underline-offset:2px;text-decoration-line:underline}.download-cta{border-block-style:var(--tw-border-style);background-color:var(--color-white);padding-block:calc(var(--spacing) * 16);border-block-width:1px;border-color:#e6eaf0}@media (min-width:64rem){.download-cta{padding-block:92px}}.download-cta__inner{justify-content:center;align-items:center;gap:calc(var(--spacing) * 7);text-align:center;flex-direction:column;display:flex}.final-cta{padding-block:calc(var(--spacing) * 16);color:var(--color-white)}@media (min-width:64rem){.final-cta{padding-block:92px}}.final-cta__inner{justify-content:center;align-items:center;gap:calc(var(--spacing) * 7);text-align:center;flex-direction:column;display:flex}.final-cta__actions{justify-content:center;gap:calc(var(--spacing) * 3);flex-wrap:wrap;display:flex}.final-cta__actions .button{width:280px}.final-cta .button--outline{border-color:var(--color-white);background-color:#0000}@media (hover:hover){.final-cta .button--outline:hover{background-color:var(--color-white);}}.cta-title{--tw-leading:1.36;--tw-font-weight:var(--font-weight-semibold);max-width:650px;font-size:28px;line-height:1.36;font-weight:var(--font-weight-semibold);--tw-tracking:-.05em;letter-spacing:-.05em}@media (min-width:40rem){.cta-title{font-size:34px}}@media (min-width:64rem){.cta-title{font-size:40px}}.final-cta .cta-title{color:var(--color-white)}.download-cta .cta-title{color:var(--color-line-ink)}.cta-copy{margin-top:calc(var(--spacing) * 3);max-width:600px;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7);color:#ffffffd9}@supports (color:color-mix(in lab, red, red)){.cta-copy{color:color-mix(in oklab, var(--color-white) 85%, transparent)}}@media (min-width:64rem){.cta-copy{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}.customers{padding-block:0}.customers__head{justify-content:space-between;gap:calc(var(--spacing) * 6);flex-direction:column;display:flex}@media (min-width:48rem){.customers__head{flex-direction:row;align-items:flex-end}}.customers__all{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-line-blue);text-underline-offset:4px}@media (hover:hover){.customers__all:hover{text-decoration-line:underline}}.customer-swiper{margin-top:calc(var(--spacing) * 10);overflow:visible}.customer-swiper:not(.swiper-initialized) .swiper-wrapper{gap:calc(var(--spacing) * 5);display:grid}@media (min-width:48rem){.customer-swiper:not(.swiper-initialized) .swiper-wrapper{grid-template-columns:repeat(3,minmax(0,1fr))}}.customer-swiper:not(.swiper-initialized) .swiper-slide{width:auto!important}.case-card{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border-subtle);background-color:var(--color-white);height:100%;border-radius:8px;overflow:hidden}.case-card__image{aspect-ratio:1.72;object-fit:cover;width:100%}.case-card__body{padding:calc(var(--spacing) * 5)}.case-card__logo{height:calc(var(--spacing) * 7);object-fit:contain;object-position:left;width:auto;max-width:135px}.case-card__tags{margin-top:calc(var(--spacing) * 4);gap:calc(var(--spacing) * 2);flex-wrap:wrap;display:flex}.case-card__tags span{--tw-font-weight:var(--font-weight-normal);font-size:11px;font-weight:var(--font-weight-normal);color:#5f6368;background-color:#0000;border-radius:0;padding:0}.case-card h3{margin-top:calc(var(--spacing) * 3);--tw-font-weight:var(--font-weight-semibold);font-size:15px;font-weight:var(--font-weight-semibold);--tw-tracking:-.035em;letter-spacing:-.035em}.case-card p{margin-top:calc(var(--spacing) * 2);--tw-leading:calc(var(--spacing) * 5);font-size:12px;line-height:calc(var(--spacing) * 5);color:#5f6368}.case-card a{height:100%;color:inherit;text-decoration-line:none;display:block}.logo-row{margin-top:calc(var(--spacing) * 16);border-top-style:var(--tw-border-style);border-color:#e6eaf0;border-top-width:1px;overflow:hidden;padding-block:20px!important}.logo-row .swiper-wrapper{align-items:center;transition-timing-function:linear!important}.logo-row .swiper-slide{height:calc(var(--spacing) * 14);flex-shrink:0;justify-content:center;align-items:center;width:160px;display:flex}.logo-row img{height:calc(var(--spacing) * 9);object-fit:contain;width:auto;max-width:130px;margin-inline:auto}@media (max-width:767px){.logo-row .swiper-slide{height:48px}.logo-row img{max-width:68px;height:28px}}.sitemap-directory{padding-block:calc(var(--spacing) * 16)}@media (min-width:48rem){.sitemap-directory{padding-block:calc(var(--spacing) * 24)}}.sitemap-directory__groups{margin-top:calc(var(--spacing) * 12);gap:calc(var(--spacing) * 6);display:grid}@media (min-width:48rem){.sitemap-directory__groups{grid-template-columns:repeat(3,minmax(0,1fr))}}.sitemap-directory__groups section{border-top-style:var(--tw-border-style);padding-top:calc(var(--spacing) * 5);border-color:#e6eaf0;border-top-width:1px}.sitemap-directory__groups h2{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:-.045em;letter-spacing:-.045em}.sitemap-directory__groups ul{margin-top:calc(var(--spacing) * 4);gap:calc(var(--spacing) * 2);padding:0;list-style:none;display:grid}.sitemap-directory__groups a{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6);color:var(--color-line-blue);text-underline-offset:4px;text-decoration-line:none}@media (hover:hover){.sitemap-directory__groups a:hover{text-decoration-line:underline}}.component-library-intro{padding-block:calc(var(--spacing) * 16);background-color:#f8f9fc}@media (min-width:48rem){.component-library-intro{padding-block:calc(var(--spacing) * 24)}}.component-library__primitives{margin-top:calc(var(--spacing) * 12);gap:calc(var(--spacing) * 5);display:grid}@media (min-width:48rem){.component-library__primitives{grid-template-columns:repeat(3,minmax(0,1fr))}}.component-library__primitives article{border-style:var(--tw-border-style);background-color:var(--color-white);min-width:0;padding:calc(var(--spacing) * 5);border-width:1px;border-color:#e6eaf0}.component-library__primitives article>p{margin-bottom:calc(var(--spacing) * 5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:.12em;letter-spacing:.12em;color:var(--color-line-green);text-transform:uppercase}.component-library__primitives [data-component=button]{align-items:center;gap:calc(var(--spacing) * 3);flex-wrap:wrap;display:flex}.component-library__primitives [data-component=button]>p{flex-basis:100%}.component-library__primitives [data-component=section-heading] .section-title{--tw-leading:1.25;font-size:24px;line-height:1.25}.component-library__primitives [data-component=section-heading] .section-copy{margin-top:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.component-library__primitives [data-component=site-header]{align-content:flex-start;gap:calc(var(--spacing) * 3);display:grid}.component-library__primitives [data-component=site-header] a{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-line-blue);text-underline-offset:4px;text-decoration-line:none}@media (hover:hover){.component-library__primitives [data-component=site-header] a:hover{text-decoration-line:underline}}.component-library__region-map{margin-top:calc(var(--spacing) * 5);align-items:center;column-gap:calc(var(--spacing) * 5);row-gap:calc(var(--spacing) * 2);border-top-style:var(--tw-border-style);padding-top:calc(var(--spacing) * 5);border-color:#e6eaf0;border-top-width:1px;flex-wrap:wrap;display:flex}.component-library__region-map p{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:.12em;letter-spacing:.12em;color:var(--color-line-green);text-transform:uppercase;margin-right:auto}.component-library__region-map a{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-line-blue);text-underline-offset:4px;text-decoration-line:none}@media (hover:hover){.component-library__region-map a:hover{text-decoration-line:underline}}.component-library__section-registry{margin-top:calc(var(--spacing) * 10);border-top-style:var(--tw-border-style);padding-top:calc(var(--spacing) * 5);border-color:#e6eaf0;border-top-width:1px}.component-library__section-registry>p{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:.12em;letter-spacing:.12em;color:var(--color-line-green);text-transform:uppercase}.component-library__section-registry>div{margin-top:calc(var(--spacing) * 5);gap:calc(var(--spacing) * 5);display:grid}@media (min-width:48rem){.component-library__section-registry>div{grid-template-columns:repeat(2,minmax(0,1fr))}}.component-library__section-registry article{border-top-style:var(--tw-border-style);padding-top:calc(var(--spacing) * 4);border-color:#e6eaf0;border-top-width:1px}.component-library__section-registry h2{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.component-library__section-registry article a{margin-top:calc(var(--spacing) * 2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5);color:var(--color-line-blue);text-underline-offset:4px;text-decoration-line:none;display:block}@media (hover:hover){.component-library__section-registry article a:hover{text-decoration-line:underline}}.site-footer{background-color:var(--color-line-footer);padding-top:calc(var(--spacing) * 14);color:var(--color-white)}@media (min-width:64rem){.site-footer{padding-top:calc(var(--spacing) * 16)}}.footer-top{display:block}.footer-links{column-gap:calc(var(--spacing) * 8);row-gap:calc(var(--spacing) * 9);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (min-width:40rem){.footer-links{flex-wrap:wrap;gap:0;display:flex}}.footer-links section{flex-shrink:0;width:150px}.footer-links h2{--tw-font-weight:var(--font-weight-normal);font-size:12px;font-weight:var(--font-weight-normal);color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.footer-links h2{color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.footer-links section>button{border-style:var(--tw-border-style);text-align:left;--tw-font-weight:var(--font-weight-normal);width:100%;font-size:12px;font-weight:var(--font-weight-normal);color:#ffffffbf;background-color:#0000;border-width:0;justify-content:space-between;align-items:center;padding:0;display:none}@supports (color:color-mix(in lab, red, red)){.footer-links section>button{color:color-mix(in oklab, var(--color-white) 75%, transparent)}}.footer-links section>button svg{height:calc(var(--spacing) * 4);width:calc(var(--spacing) * 4);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.footer-links section[data-open=true]>button svg{rotate:180deg}.footer-links ul{margin-top:calc(var(--spacing) * 4);gap:calc(var(--spacing) * 2);display:grid}.footer-links a{--tw-leading:calc(var(--spacing) * 5);font-size:12px;line-height:calc(var(--spacing) * 5);color:#ffffffd9}@supports (color:color-mix(in lab, red, red)){.footer-links a{color:color-mix(in oklab, var(--color-white) 85%, transparent)}}.footer-links a{text-decoration-line:none}@media (hover:hover){.footer-links a:hover{color:var(--color-white)}}.footer-bottom{margin-top:calc(var(--spacing) * 14);border-style:var(--tw-border-style);padding-block:calc(var(--spacing) * 7);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:#ffffff73;border-width:0;position:relative}@supports (color:color-mix(in lab, red, red)){.footer-bottom{color:color-mix(in oklab, var(--color-white) 45%, transparent)}}.footer-bottom:before{content:"";--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);width:100vw;translate:var(--tw-translate-x) var(--tw-translate-y);border-top-style:var(--tw-border-style);border-color:#ffffff1a;border-top-width:1px;position:absolute;top:0;left:50%}@supports (color:color-mix(in lab, red, red)){.footer-bottom:before{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.footer-bottom__top{flex-direction:column;}@media (min-width:40rem){.footer-bottom__top{flex-direction:row;align-items:center}}.footer-language{height:calc(var(--spacing) * 10);width:154px;padding-inline:calc(var(--spacing) * 4);text-align:left;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));background-color:#3c4043;}@supports (color:color-mix(in lab, red, red)){.footer-language{color:color-mix(in oklab, var(--color-white) 85%, transparent)}}.footer-language__chevron{height:calc(var(--spacing) * 5);width:calc(var(--spacing) * 5);color:#ffffff8c;flex-shrink:0;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.footer-language__chevron{color:color-mix(in oklab, var(--color-white) 55%, transparent)}}.footer-language__chevron svg{height:calc(var(--spacing) * 3.5);width:calc(var(--spacing) * 3.5)}.footer-language__menu{border-style:var(--tw-border-style);border-width:1px;border-color:#ffffff1a;width:154px;display:grid;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.footer-language__menu{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.footer-language__menu{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);background-color:#212226}.footer-language__menu button{padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2);text-align:left;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.footer-language__menu button{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}@media (hover:hover){.footer-language__menu button:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.footer-language__menu button:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.footer-language__menu button:hover{color:var(--color-white)}}.footer-social a{line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);place-items:center;}@supports (color:color-mix(in lab, red, red)){.footer-social a{color:color-mix(in oklab, var(--color-white) 45%, transparent)}}.footer-social a{text-decoration-line:none}@media (hover:hover){.footer-social a:hover{color:var(--color-white)}}@media (min-width:40rem){.footer-badges{margin-left:auto}}.footer-store-badge{background-color:var(--color-black);--tw-leading:1;min-width:0;color:var(--color-white);padding:0;line-height:1;text-decoration-line:none;}@media (hover:hover){.footer-store-badge:hover{background-color:#000000bf}@supports (color:color-mix(in lab, red, red)){.footer-store-badge:hover{background-color:color-mix(in oklab, var(--color-black) 75%, transparent)}}}.footer-store-badge span{--tw-font-weight:var(--font-weight-semibold);font-size:9px;font-weight:var(--font-weight-semibold);--tw-tracking:.04em;letter-spacing:.04em;color:#fffc}@supports (color:color-mix(in lab, red, red)){.footer-store-badge span{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.footer-store-badge strong{margin-top:var(--spacing);--tw-font-weight:var(--font-weight-semibold);font-size:16px;font-weight:var(--font-weight-semibold);--tw-tracking:-.04em;letter-spacing:-.04em}.footer-bottom__legal{margin-top:var(--spacing);gap:calc(var(--spacing) * 3);padding-top:calc(var(--spacing) * 4);flex-direction:column;display:flex}@media (min-width:40rem){.footer-bottom__legal{flex-direction:row;justify-content:flex-start;align-items:center}}.footer-bottom__legal p:last-child{gap:calc(var(--spacing) * 4);display:flex}.footer-bottom__legal a{color:#ffffff73}@supports (color:color-mix(in lab, red, red)){.footer-bottom__legal a{color:color-mix(in oklab, var(--color-white) 45%, transparent)}}.footer-bottom__legal a{text-decoration-line:none}@media (hover:hover){.footer-bottom__legal a:hover{color:var(--color-white)}}.feature-nav{z-index:30;background-color:var(--color-white);scrollbar-width:none;position:sticky;top:80px;overflow-x:auto;box-shadow:inset 0 1px #e6eaf0,inset 0 -1px #e6eaf0}.feature-nav::-webkit-scrollbar{display:none}.feature-nav ul{height:calc(var(--spacing) * 14);align-items:stretch;width:max-content;min-width:980px;margin-inline:auto;display:flex}.feature-nav a{--tw-leading:1;--tw-font-weight:var(--font-weight-normal);height:100%;font-size:14px;line-height:1;font-weight:var(--font-weight-normal);color:var(--color-line-ink);flex-shrink:0;align-items:center;padding-inline:26px;text-decoration-line:none;display:inline-flex;position:relative}@media (hover:hover){.feature-nav a:hover{color:var(--color-line-green)}}.feature-nav a[aria-current=page]:after{content:"";height:calc(var(--spacing) * .5);background-color:var(--color-line-green);inset-inline:23px;position:absolute;bottom:0}.blog-hero{padding-block:calc(var(--spacing) * 14);background-color:#f8f9fc}@media (min-width:64rem){.blog-hero{padding-block:58px}}.blog-hero{background-image:repeating-linear-gradient(75deg,#0000 0 62px,#2051da17 63px 65px,#0000 66px 122px)}.blog-hero h1{--tw-leading:1;--tw-font-weight:var(--font-weight-semibold);font-size:42px;line-height:1;font-weight:var(--font-weight-semibold);--tw-tracking:-.06em;letter-spacing:-.06em}@media (min-width:64rem){.blog-hero h1{font-size:52px}}.blog-hero p{margin-top:calc(var(--spacing) * 5);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light);--tw-tracking:-.035em;letter-spacing:-.035em}.blog-navigation{background-color:#f8f9fc}.blog-navigation button{border-style:var(--tw-border-style);width:100%;padding-block:calc(var(--spacing) * 4);text-align:left;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);background-color:#0000;border-width:0;justify-content:space-between;align-items:center;display:none}.blog-navigation button svg{height:calc(var(--spacing) * 4);width:calc(var(--spacing) * 4);fill:none;stroke:currentColor;stroke-width:1.5px}.blog-navigation__links{align-items:center;gap:calc(var(--spacing) * 12);display:flex}.blog-navigation__links a{padding-block:calc(var(--spacing) * 5);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));color:var(--color-line-ink);text-decoration-line:none;position:relative}.blog-navigation__links a.is-current:after{content:"";background-color:var(--color-line-green);inset-inline:0;height:3px;position:absolute;bottom:0}.blog-tags-section{padding-top:calc(var(--spacing) * 10);padding-bottom:calc(var(--spacing) * 7)}@media (min-width:64rem){.blog-tags-section{padding-top:calc(var(--spacing) * 10);padding-bottom:calc(var(--spacing) * 10)}}.blog-search-label{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-control-border);width:100%;padding-inline:calc(var(--spacing) * 4);align-items:center;margin-left:auto;display:flex}@media (min-width:64rem){.blog-search-label{width:230px}}.blog-search-label svg{height:calc(var(--spacing) * 5);width:calc(var(--spacing) * 5);fill:none;stroke:#5f6368;stroke-width:2px}.blog-search{border-style:var(--tw-border-style);min-width:0;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-outline-style:none;background-color:#0000;border-width:0;outline-style:none;flex:1}.blog-tags-row{margin-top:calc(var(--spacing) * 16);align-items:center;gap:calc(var(--spacing) * 14);display:flex}@media (min-width:64rem){.blog-tags-row{margin-top:100px}}.blog-tags-row h2{--tw-font-weight:var(--font-weight-semibold);font-size:24px;font-weight:var(--font-weight-semibold);--tw-tracking:-.04em;letter-spacing:-.04em;flex-shrink:0}.blog-tags{gap:calc(var(--spacing) * 3);flex-wrap:wrap;display:flex}.blog-tags a{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#2051da;background-color:#f8f9fc;text-decoration-line:none}@media (hover:hover){.blog-tags a:hover{color:var(--color-line-green)}}.blog-listing{padding-bottom:calc(var(--spacing) * 24)}.article-grid{column-gap:calc(var(--spacing) * 5);row-gap:calc(var(--spacing) * 12);display:grid}@media (min-width:48rem){.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.article-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.article-card{border-style:var(--tw-border-style);background-color:var(--color-white);min-width:0;border-width:1px;border-color:#e6eaf0;border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.article-card[hidden]{display:none}.article-card__image-link{overflow:hidden}.article-card__image{aspect-ratio:400/225;object-fit:cover;width:100%;transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;transition-duration:.3s}.article-card:hover .article-card__image{scale:1.025}.article-card__body{min-height:260px;padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 5);flex-direction:column;flex:1;display:flex;position:relative}.article-card__meta{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:#2051da}.article-card h3{margin-top:calc(var(--spacing) * 4);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-leading:1.45;--tw-font-weight:var(--font-weight-semibold);line-height:1.45;font-weight:var(--font-weight-semibold);--tw-tracking:-.04em;letter-spacing:-.04em}.article-card h3 a{color:var(--color-line-ink);text-decoration-line:none}@media (hover:hover){.article-card h3 a:hover{color:var(--color-line-green)}}.article-card__body>p:not(.article-card__meta){margin-top:calc(var(--spacing) * 2);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6);--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light);color:#5f6368}.article-card time{margin-top:calc(var(--spacing) * 3);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:#5f6368}.article-card__arrow{--tw-leading:1;color:#2051da;align-self:flex-end;margin-top:auto;font-size:26px;line-height:1;text-decoration-line:none}.blog-more{margin-top:calc(var(--spacing) * 16);text-align:center;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.blog-more strong{color:var(--color-line-green)}.blog-empty{padding-block:calc(var(--spacing) * 16);text-align:center;color:#5f6368}.article-header{padding-top:calc(var(--spacing) * 20)}@media (min-width:64rem){.article-header{padding-top:110px}}.article-header>.page-container,.article-content__inner{max-width:980px}.article-header__meta{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:#2051da}.article-header h1{margin-top:calc(var(--spacing) * 2);--tw-leading:1.2;--tw-font-weight:var(--font-weight-semibold);font-size:34px;line-height:1.2;font-weight:var(--font-weight-semibold);--tw-tracking:-.055em;letter-spacing:-.055em}@media (min-width:64rem){.article-header h1{font-size:42px}}.article-header__row{margin-top:calc(var(--spacing) * 12);border-bottom-style:var(--tw-border-style);padding-bottom:calc(var(--spacing) * 3);border-color:#0000;border-bottom-width:1px;justify-content:space-between;align-items:center;display:flex}.article-header time{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#5f6368}.article-share{align-items:center;gap:calc(var(--spacing) * 2);display:flex}.article-share a{height:calc(var(--spacing) * 9);width:calc(var(--spacing) * 9);color:var(--color-line-ink);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));background-color:#f8f9fc;border-radius:3.40282e38px;place-items:center;text-decoration-line:none;display:grid}@media (hover:hover){.article-share a:hover{background-color:var(--color-line-green);color:var(--color-white)}}.article-share svg{fill:currentColor;width:18px;height:18px}.article-share a:first-child svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px}.article-share__line-mark{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.15px}.article-content{padding-bottom:calc(var(--spacing) * 20)}.article-body{min-width:0}.article-intro>p,.article-chapter>p,.article-promo>p{margin-top:calc(var(--spacing) * 7);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7);--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light);color:#5f6368}.article-content__inner a{color:#2051da;text-decoration-line:underline}.article-content h2{margin-top:calc(var(--spacing) * 14);--tw-leading:1.35;--tw-font-weight:var(--font-weight-semibold);font-size:25px;line-height:1.35;font-weight:var(--font-weight-semibold);--tw-tracking:-.045em;letter-spacing:-.045em}.article-chapter{scroll-margin-top:calc(var(--spacing) * 36)}.article-illustration-pair{margin-block:calc(var(--spacing) * 7);gap:calc(var(--spacing) * 5);grid-template-columns:repeat(2,minmax(0,1fr));max-width:650px;display:grid}.article-illustration-pair img{width:100%;height:auto}.article-content__tool-image{margin-block:calc(var(--spacing) * 8);width:100%;max-width:360px;height:auto}.article-promo{margin-top:calc(var(--spacing) * 12);border-top-style:var(--tw-border-style);padding-top:calc(var(--spacing) * 6);border-color:#e6eaf0;border-top-width:1px}.article-promo>img{margin-top:calc(var(--spacing) * 4);width:100%;max-width:400px;height:auto}.article-promo .button{margin-top:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 2);color:var(--color-white);text-decoration-line:none}.article-promo__stores{margin-top:calc(var(--spacing) * 2);gap:var(--spacing);flex-wrap:wrap;display:flex}.article-promo__stores img{width:auto;height:42px}.article-footer-meta{margin-top:calc(var(--spacing) * 16);gap:calc(var(--spacing) * 8);border-bottom-style:var(--tw-border-style);border-bottom-width:2px;border-color:var(--color-black);padding-bottom:calc(var(--spacing) * 10);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));flex-direction:column;display:flex}.article-footer-meta>div{gap:calc(var(--spacing) * 3);display:flex}.article-footer-meta>div a{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);background-color:#f8f9fc;text-decoration-line:none}.related-articles{padding-top:calc(var(--spacing) * 8);padding-bottom:calc(var(--spacing) * 24)}.related-articles h2{--tw-font-weight:var(--font-weight-semibold);font-size:32px;font-weight:var(--font-weight-semibold);--tw-tracking:-.05em;letter-spacing:-.05em}.related-articles .article-grid{margin-top:calc(var(--spacing) * 10)}.related-articles .article-card__body{min-height:230px}.form-field{gap:calc(var(--spacing) * 2);border-bottom-style:var(--tw-border-style);padding-block:calc(var(--spacing) * 5);border-color:#e6eaf0;border-bottom-width:1px;display:grid}.form-field label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.form-field input,.form-field select,.form-field textarea{border-style:var(--tw-border-style);background-color:var(--color-white);width:100%;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));border-width:1px;border-color:#e6eaf0}.form-field textarea{min-height:130px}.login-page{min-height:100vh;padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 16);background-color:#f8f9fc;place-items:center;display:grid;position:relative}.login-card{background-color:var(--color-white);--tw-shadow:var(--shadow-md);width:100%;max-width:500px;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-radius:20px;padding-block:58px;padding-inline:50px}.login-brand{justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-bold);font-size:28px;font-weight:var(--font-weight-bold);--tw-tracking:-.07em;letter-spacing:-.07em;flex-direction:column;margin:0;display:flex}.login-brand__mark{--tw-leading:.8;--tw-font-weight:var(--font-weight-bold);font-size:62px;line-height:.8;font-weight:var(--font-weight-bold);color:#0000;background-image:linear-gradient(110deg,#2051da 0 50%,#039be5 51% 100%);-webkit-background-clip:text;background-clip:text}.login-card h2{margin-top:calc(var(--spacing) * 7);text-align:center;--tw-font-weight:var(--font-weight-normal);font-size:19px;font-weight:var(--font-weight-normal)}.login-card .form-field{margin-top:calc(var(--spacing) * 10);border-style:var(--tw-border-style);border-width:0;padding:0}.login-card input[type=text]{height:calc(var(--spacing) * 12);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 4);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));border-width:1px;border-color:#2051da;border-radius:8px}.login-submit{margin-top:calc(var(--spacing) * 5);height:calc(var(--spacing) * 12);border-style:var(--tw-border-style);width:100%;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-white);background-color:#2051da;border-width:0;border-radius:8px}@media (hover:hover){.login-submit:hover{background-color:#1f3b9b}}.login-options{margin-top:calc(var(--spacing) * 5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));justify-content:space-between;align-items:center;display:flex}.login-options label{align-items:center;gap:calc(var(--spacing) * 2);display:flex}.login-options input{appearance:none;border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-control-border);border-radius:3.40282e38px;width:18px;height:18px}.login-options input:checked{background-color:#2051da;border-color:#2051da}.login-options a,.login-policy a,.login-create{color:inherit;text-underline-offset:2px;text-decoration-line:underline}.login-policy{margin-top:calc(var(--spacing) * 6);text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5);color:#5f6368}.form-error{margin-top:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-red-600)}.login-create{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:#2051da;text-decoration-line:none;position:absolute;top:calc(50% + 290px);left:50%}.login-copyright{bottom:calc(var(--spacing) * 10);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:#5f6368;position:absolute;left:50%}.about-hero{text-align:center;min-height:240px;color:var(--color-white);background-color:#212226;background-image:url(images/about-hero.png);background-position:50%;background-size:cover;align-items:center;display:flex}@media (min-width:64rem){.about-hero{min-height:400px}}.about-hero p{--tw-font-weight:var(--font-weight-bold);width:100%;font-size:30px;font-weight:var(--font-weight-bold);--tw-tracking:-.045em;letter-spacing:-.045em}@media (min-width:64rem){.about-hero p{font-size:42px}}.about-mission{padding-block:calc(var(--spacing) * 20);text-align:center}@media (min-width:64rem){.about-mission{padding-block:120px}}.about-mission h2{--tw-leading:1.25;--tw-font-weight:var(--font-weight-bold);max-width:720px;font-size:28px;line-height:1.25;font-weight:var(--font-weight-bold);--tw-tracking:-.055em;letter-spacing:-.055em;margin-inline:auto}@media (min-width:64rem){.about-mission h2{font-size:42px}}.about-mission p{margin-inline:auto;margin-top:calc(var(--spacing) * 7);max-width:720px;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7);--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light);color:#5f6368}.about-service{padding-block:calc(var(--spacing) * 16);background-color:#f8f9fc}@media (min-width:64rem){.about-service{padding-block:100px}}.about-service h2,.about-company h2,.about-history h2,.about-executives>.page-container>h2,.about-locations h2{--tw-font-weight:var(--font-weight-bold);font-size:28px;font-weight:var(--font-weight-bold);--tw-tracking:-.055em;letter-spacing:-.055em}@media (min-width:64rem){.about-service h2,.about-company h2,.about-history h2,.about-executives>.page-container>h2,.about-locations h2{font-size:36px}}.about-service__body{margin-top:calc(var(--spacing) * 10);gap:calc(var(--spacing) * 10);flex-direction:column;display:flex}@media (min-width:64rem){.about-service__body{margin-top:calc(var(--spacing) * 14);gap:calc(var(--spacing) * 16)}}.about-service__body img{width:100%;max-width:210px;height:auto;margin-inline:auto}@media (min-width:64rem){.about-service__body img{max-width:250px}}.about-service__body>div{width:100%;max-width:980px;margin-inline:auto}.about-service__body p{margin-top:calc(var(--spacing) * 5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7);--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light);color:#5f6368}.about-service__note{border-top-style:var(--tw-border-style);padding-top:calc(var(--spacing) * 5);border-color:#e6eaf0;border-top-width:1px;font-size:var(--text-xs)!important;line-height:var(--tw-leading,var(--text-xs--line-height))!important}.about-company,.about-history,.about-executives,.about-locations{padding-block:calc(var(--spacing) * 16)}@media (min-width:64rem){.about-company,.about-history,.about-executives,.about-locations{padding-block:100px}}.about-company dl{margin-top:calc(var(--spacing) * 10);column-gap:calc(var(--spacing) * 8);row-gap:calc(var(--spacing) * 4);border-block-style:var(--tw-border-style);padding-block:calc(var(--spacing) * 8);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));border-block-width:1px;border-color:#e6eaf0;display:grid}@media (min-width:48rem){.about-company dl{grid-template-columns:170px 1fr}}.about-company dd{--tw-font-weight:var(--font-weight-semibold);}.about-company dd img{max-width:300px;height:auto}.about-history__brands{margin-inline:auto;margin-top:calc(var(--spacing) * 10);text-align:center;max-width:980px;overflow:hidden}.about-history__brands img{width:100%;height:auto;display:block}.about-history__brands strong{padding-block:calc(var(--spacing) * 4);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));color:var(--color-white);background-color:#212226;display:block}.about-history__rows{margin-inline:auto;margin-top:calc(var(--spacing) * 10);max-width:760px}.about-history__row{gap:calc(var(--spacing) * 5);border-bottom-style:var(--tw-border-style);padding-block:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));border-color:#e6eaf0;border-bottom-width:1px;grid-template-columns:90px 1fr;display:grid}.about-history__row time{color:#5f6368}.about-executives{background-color:#f8f9fc}.about-people{margin-top:calc(var(--spacing) * 10);gap:calc(var(--spacing) * 10);display:grid}@media (min-width:48rem){.about-people{grid-template-columns:repeat(2,minmax(0,1fr))}}.about-person{border-style:var(--tw-border-style);background-color:var(--color-white);padding:calc(var(--spacing) * 6);border-width:1px;border-color:#e6eaf0;border-radius:8px;align-content:flex-start;}@media (min-width:48rem){.about-person--lead{align-items:flex-start;gap:calc(var(--spacing) * 10);grid-column:span 2/span 2;grid-template-columns:280px 1fr}}.about-person img{margin-inline:auto}.about-person h3{margin-top:calc(var(--spacing) * 5);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}@media (min-width:48rem){.about-person--lead h3{margin-top:0}}.about-person p{margin-top:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6);--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light);color:#5f6368}.about-location-list{margin-top:calc(var(--spacing) * 10);gap:calc(var(--spacing) * 8);display:grid}.about-location{border-style:var(--tw-border-style);border-width:1px;border-color:#e6eaf0;min-height:210px;display:grid}@media (min-width:48rem){.about-location{grid-template-columns:repeat(2,minmax(0,1fr))}}.about-location h3{padding:calc(var(--spacing) * 6);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.about-location address{background-color:var(--color-line-green);padding:calc(var(--spacing) * 7);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6);color:var(--color-white);font-style:normal}.talk-hero{background-color:var(--color-white);padding-block:calc(var(--spacing) * 12)}@media (min-width:64rem){.talk-hero{background-image:repeating-linear-gradient(75deg,#0000 0 74px,#2051da21 75px 77px,#0000 78px 150px);min-height:400px;padding-block:130px}}.talk-hero__inner{align-items:flex-start;gap:calc(var(--spacing) * 3);flex-direction:column;display:flex}.talk-hero h1{--tw-font-weight:var(--font-weight-bold);font-size:28px;font-weight:var(--font-weight-bold);--tw-tracking:-.05em;letter-spacing:-.05em}@media (min-width:64rem){.talk-hero h1{font-size:38px}}.talk-hero p{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light);color:#5f6368}@media (min-width:64rem){.talk-hero p{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}.talk-plans{gap:calc(var(--spacing) * 2);flex-wrap:wrap;display:flex}.talk-plans a{background-color:var(--color-line-green);padding-inline:calc(var(--spacing) * 3);padding-block:var(--spacing);--tw-font-weight:var(--font-weight-semibold);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-white);text-decoration-line:none}.talk-plans a:nth-child(2){background-color:var(--color-line-blue)}.talk-plans a:nth-child(3){background-color:#1f3b9b}.feature-story{background-color:var(--color-white)}.feature-story__inner{align-content:flex-start;display:grid}@media (min-width:64rem){.feature-story__inner{align-content:center;column-gap:calc(var(--spacing) * 16);grid-template-rows:auto auto;grid-template-columns:repeat(2,minmax(0,1fr))}}.feature-story__heading{order:1}.feature-story__heading>p{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-line-green)}.feature-story__heading h2{margin-top:calc(var(--spacing) * 3);--tw-leading:1.28;--tw-font-weight:var(--font-weight-bold);font-size:28px;line-height:1.28;font-weight:var(--font-weight-bold);--tw-tracking:-.055em;letter-spacing:-.055em}@media (min-width:64rem){.feature-story__heading h2{font-size:40px}}.feature-story img{margin-top:calc(var(--spacing) * 8);object-fit:contain;order:2;width:100%}@media (min-width:64rem){.feature-story img{grid-row:1/span 2;grid-column-start:1;margin-top:0}}.feature-story__body{margin-top:calc(var(--spacing) * 8);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7);--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light);color:#5f6368;order:3}@media (min-width:64rem){.feature-story__body{margin-top:calc(var(--spacing) * 6);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));grid-column-start:2}.feature-story--split .feature-story__heading{grid-row-start:1;grid-column-start:2;align-self:flex-end}.feature-story--focus-left .feature-story__heading,.feature-story--focus-left .feature-story__body{text-align:center;grid-column-start:1;max-width:470px}.feature-story--focus-left .feature-story__heading{grid-row-start:1;align-self:flex-end}.feature-story--focus-left img{grid-row:1/span 2;grid-column-start:2}}.feature-guide{padding-block:0}.feature-guide .page-container{border-top-style:var(--tw-border-style);padding-top:calc(var(--spacing) * 14);border-color:#e6eaf0;border-top-width:1px}.feature-guide h2{--tw-font-weight:var(--font-weight-bold);font-size:24px;font-weight:var(--font-weight-bold);--tw-tracking:-.04em;letter-spacing:-.04em}@media (min-width:64rem){.feature-guide h2{font-size:30px}}.feature-guide p{margin-top:calc(var(--spacing) * 5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#5f6368}.feature-guide a,.feature-testimonial a{color:var(--color-line-blue);text-underline-offset:2px;text-decoration-line:underline}.feature-testimonial{padding-block:var(--section-stack-gap);background-color:#f8f9fc}.feature-testimonial blockquote{--tw-leading:1.55;--tw-font-weight:var(--font-weight-light);max-width:900px;font-size:19px;line-height:1.55;font-weight:var(--font-weight-light);--tw-tracking:-.035em;letter-spacing:-.035em}@media (min-width:64rem){.feature-testimonial blockquote{font-size:25px}}.feature-testimonial a{margin-top:calc(var(--spacing) * 7);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));display:inline-flex}.feature-testimonial cite{margin-top:calc(var(--spacing) * 9);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5);color:#5f6368;font-style:normal;display:block}.contact-form{background-color:var(--color-white);--tw-shadow:0 0 #0000;max-width:980px;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);margin-inline:auto;padding:0}.contact-hero{min-height:426px;color:var(--color-white);background-position:50%;background-size:cover;align-items:center;display:flex}.contact-hero h1{--tw-font-weight:var(--font-weight-semibold);font-size:42px;font-weight:var(--font-weight-semibold);--tw-tracking:-.055em;letter-spacing:-.055em;color:var(--color-white)}.contact-hero p{margin-top:calc(var(--spacing) * 4);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8);--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.contact-section{padding-top:calc(var(--spacing) * 12);}@media (min-width:64rem){.contact-section{padding-top:calc(var(--spacing) * 14);padding-bottom:160px}}.contact-form__fields{column-gap:calc(var(--spacing) * 7);row-gap:calc(var(--spacing) * 7);display:grid}@media (min-width:48rem){.contact-form__fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.contact-form__fields{column-gap:calc(var(--spacing) * 5);row-gap:calc(var(--spacing) * 10)}}.contact-field{align-content:flex-start;display:grid}@media (min-width:48rem){.contact-field--full{grid-column:span 2/span 2}}.contact-field label{margin-bottom:calc(var(--spacing) * 3);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.contact-field.is-required label{color:var(--color-line-green)}.contact-field label span{font-size:8px}.contact-field input,.contact-field select{border-style:var(--tw-border-style);border-width:0;border-bottom-style:var(--tw-border-style);background-color:var(--color-white);width:100%;height:50px;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-outline-style:none;border-color:#80868b;border-bottom-width:1px;outline-style:none;padding-inline:0}.contact-field.is-required input{border-color:var(--color-line-green)}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#bdc1c6}.contact-field select{appearance:auto}.contact-field textarea{resize:vertical;border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-line-green);width:100%;min-height:185px;padding:calc(var(--spacing) * 5);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-outline-style:none;outline-style:none}.contact-field :is(input,select,textarea)[aria-invalid=true]{border-color:#b42318}.contact-count{margin-top:calc(var(--spacing) * 2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:#5f6368}.contact-count span{color:var(--color-line-green)}.contact-privacy{margin-top:calc(var(--spacing) * 10);max-width:980px;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7);--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light);color:#5f6368}.contact-privacy a{color:var(--color-line-green);text-decoration-line:underline}.contact-error{margin-top:calc(var(--spacing) * 5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:#b42318}.contact-submit{border-style:var(--tw-border-style);--tw-font-weight:var(--font-weight-semibold);color:var(--color-white);--tw-shadow:var(--shadow-sm);background-color:#2051da;border-width:0;margin-top:170px}@media (hover:hover){.contact-submit:hover{background-color:#1f3b9b}}.it-hero{min-height:400px;color:var(--color-white);background-image:linear-gradient(90deg,#00000059,#00000008),url(images/it-hero-desktop.png);background-position:50%;background-size:cover;align-items:center;display:flex}.it-hero h2{--tw-leading:1.25;--tw-font-weight:var(--font-weight-semibold);font-size:40px;line-height:1.25;font-weight:var(--font-weight-semibold);--tw-tracking:-.055em;letter-spacing:-.055em;color:var(--color-white)}.it-hero__actions{margin-top:calc(var(--spacing) * 9);gap:calc(var(--spacing) * 4);display:flex}.it-hero__actions .button{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-white);padding-inline:calc(var(--spacing) * 5);}.it-hero__subnav{display:none}.it-challenges{padding-top:calc(var(--spacing) * 20)}@media (min-width:64rem){.it-challenges{padding-top:100px}}.it-challenges>.page-container{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-black);padding-bottom:calc(var(--spacing) * 20)}.it-challenges h2{--tw-font-weight:var(--font-weight-semibold);font-size:30px;font-weight:var(--font-weight-semibold);--tw-tracking:-.05em;letter-spacing:-.05em}.it-challenge-slider{margin-top:calc(var(--spacing) * 12);overflow:visible}.it-challenge-slider .swiper-wrapper{gap:calc(var(--spacing) * 5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.it-challenge-card{padding-inline:calc(var(--spacing) * 6);padding-bottom:calc(var(--spacing) * 8);text-align:center;background-image:linear-gradient(#fff 42%,#f8f9fc 42%);flex-direction:column;align-items:center;}.it-challenge-card img{object-fit:contain;width:100%;height:130px}.it-challenge-card h3{margin-top:calc(var(--spacing) * 2);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.it-challenge-card p{margin-top:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5);--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light);color:#5f6368}.it-challenge-slider .swiper-pagination{display:none}.it-solution-intro>.page-container{border-bottom-style:var(--tw-border-style);padding-block:calc(var(--spacing) * 12);text-align:center;border-color:#e6eaf0;border-bottom-width:1px}.it-solution-intro h2{--tw-font-weight:var(--font-weight-semibold);font-size:30px;font-weight:var(--font-weight-semibold);--tw-tracking:-.05em;letter-spacing:-.05em}.it-feature{padding-block:calc(var(--spacing) * 8)}.it-feature__inner{align-items:center;gap:calc(var(--spacing) * 16);grid-template-columns:repeat(2,minmax(0,1fr));min-height:620px;display:grid}.it-feature__copy{max-width:430px}.it-feature__copy h2{--tw-leading:1.25;--tw-font-weight:var(--font-weight-semibold);font-size:32px;line-height:1.25;font-weight:var(--font-weight-semibold);--tw-tracking:-.055em;letter-spacing:-.055em}.it-feature__copy p{margin-top:calc(var(--spacing) * 8);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7);--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light);color:#5f6368}.it-feature__inner>img{object-fit:contain;width:100%;height:auto}.it-feature--reverse .it-feature__copy{order:2}.it-feature--reverse .it-feature__inner>img{order:1}.it-testimonial{padding-top:calc(var(--spacing) * 10);padding-bottom:calc(var(--spacing) * 20)}.it-testimonial>.page-container{border-left-style:var(--tw-border-style);max-width:900px;padding-left:calc(var(--spacing) * 14);border-color:#e6eaf0;border-left-width:1px}.it-testimonial blockquote{--tw-leading:1.55;--tw-font-weight:var(--font-weight-light);font-size:23px;line-height:1.55;font-weight:var(--font-weight-light);--tw-tracking:-.035em;letter-spacing:-.035em}.it-testimonial>.page-container>a{margin-top:calc(var(--spacing) * 5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#2051da;text-decoration-line:none;display:inline-block}.it-testimonial__person{margin-top:calc(var(--spacing) * 8);align-items:center;gap:calc(var(--spacing) * 5);display:flex}.it-testimonial__person>img{height:calc(var(--spacing) * 14);width:calc(var(--spacing) * 14);object-fit:cover;border-radius:3.40282e38px}.it-testimonial__person>div img{height:calc(var(--spacing) * 5);width:auto}.it-testimonial__person p{margin-top:calc(var(--spacing) * 2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.it-navigation nav{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-black);padding-block:calc(var(--spacing) * 8);justify-content:space-between;align-items:center;display:flex}.it-navigation nav a{gap:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-line-ink);text-decoration-line:none;display:grid}.it-navigation nav a:last-child{text-align:right}.it-navigation nav span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:#5f6368}.it-share{justify-content:flex-end;gap:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 5);display:flex}.it-share a{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-line-ink);text-decoration-line:none}.it-customers{text-align:center;padding-block:130px}@media (min-width:64rem){.it-customers{padding-block:170px}}.it-customers h2{--tw-leading:1.35;--tw-font-weight:var(--font-weight-semibold);max-width:850px;font-size:30px;line-height:1.35;font-weight:var(--font-weight-semibold);--tw-tracking:-.05em;letter-spacing:-.05em;margin-inline:auto}.it-customers__logos{margin-inline:auto;margin-top:calc(var(--spacing) * 14);justify-content:center;align-items:center;gap:calc(var(--spacing) * 12);max-width:360px;display:flex}.it-customers__logos img{object-fit:contain;width:auto;height:48px}.it-customers .button{border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 12);border-width:1px;border-color:#e6eaf0;margin-top:120px}.download-hero{padding-top:calc(var(--spacing) * 24);padding-bottom:calc(var(--spacing) * 14)}.download-hero>.page-container{background-image:url(images/download-desktop.png);background-position:100% 0;background-repeat:no-repeat;background-size:auto 364px;min-height:364px}.download-hero>.page-container>h1{padding-top:calc(var(--spacing) * 2);--tw-leading:1.35;--tw-font-weight:var(--font-weight-semibold);font-size:42px;line-height:1.35;font-weight:var(--font-weight-semibold);--tw-tracking:-.055em;letter-spacing:-.055em}.download-hero__desktop>p:not(.download-notes){margin-top:calc(var(--spacing) * 5);--tw-leading:calc(var(--spacing) * 8);font-size:22px;line-height:calc(var(--spacing) * 8);--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.download-hero__desktop .button{margin-top:calc(var(--spacing) * 12);}.download-notes{margin-top:calc(var(--spacing) * 14);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6);--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light);color:#5f6368}.download-hero__mobile{display:none}.download-mobile-section,.download-drive-section{padding-block:calc(var(--spacing) * 14)}.download-mobile-section h2,.download-drive-section h2{--tw-font-weight:var(--font-weight-semibold);font-size:36px;font-weight:var(--font-weight-semibold);--tw-tracking:-.055em;letter-spacing:-.055em}.download-platform-grid{margin-top:calc(var(--spacing) * 10);gap:calc(var(--spacing) * 5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.download-platform-card{align-items:center;gap:calc(var(--spacing) * 5);border-style:var(--tw-border-style);background-color:var(--color-white);min-height:145px;padding-inline:calc(var(--spacing) * 8);padding-block:calc(var(--spacing) * 6);border-width:1px;border-color:#e6eaf0;border-radius:8px;display:flex}.download-platform-card strong{--tw-font-weight:var(--font-weight-semibold);font-size:22px;font-weight:var(--font-weight-semibold);white-space:nowrap;margin-right:auto}.download-platform-card strong span{margin-right:calc(var(--spacing) * 2);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.download-platform-card>img:first-of-type{width:94px;height:94px}.download-platform-card>img:last-of-type{width:auto;height:54px}.download-platform-card .button{padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 3)}.download-drive-section{padding-bottom:190px}.download-drive-section .download-platform-card:nth-child(3){grid-column:span 1/span 1}.download-drive-section .download-notes{margin-top:calc(var(--spacing) * 7)}.legal-navigation{border-block-style:var(--tw-border-style);border-block-width:1px;background-color:#f8f9fc;border-color:#e6eaf0}.legal-navigation>.page-container{height:calc(var(--spacing) * 11);align-items:center;gap:calc(var(--spacing) * 3);white-space:nowrap;display:flex;overflow-x:auto}.legal-navigation a,.legal-navigation span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:#5f6368;text-decoration-line:none}.legal-navigation a[aria-current=page]{color:var(--color-line-green)}.privacy-document{padding-top:calc(var(--spacing) * 8);padding-bottom:calc(var(--spacing) * 24)}.privacy-paper{border-style:var(--tw-border-style);padding-inline:30px;padding-block:calc(var(--spacing) * 8);border-width:1px;border-color:#e6eaf0;font-family:Google Sans Text,Roboto,Arial,sans-serif}.privacy-paper header{border-bottom-style:var(--tw-border-style);padding-bottom:calc(var(--spacing) * 8);border-color:#e6eaf0;border-bottom-width:1px}.privacy-paper h2{--tw-leading:60px;--tw-font-weight:var(--font-weight-semibold);font-size:18px;font-weight:var(--font-weight-semibold);--tw-tracking:-.025em;letter-spacing:-.025em}.privacy-paper header h2:first-of-type{margin-top:0}.privacy-paper h3{margin-top:calc(var(--spacing) * 6);--tw-leading:23.8px;--tw-font-weight:var(--font-weight-semibold);font-size:14px;line-height:23.8px;font-weight:var(--font-weight-semibold)}.privacy-paper p,.privacy-paper li,.privacy-paper address{margin-top:calc(var(--spacing) * 3);--tw-leading:28.72px;--tw-font-weight:var(--font-weight-normal);font-size:16px;line-height:28.72px;font-weight:var(--font-weight-normal);color:#5f6368}.privacy-paper ul,.privacy-paper ol{margin-top:calc(var(--spacing) * 3);padding-left:calc(var(--spacing) * 5)}.privacy-paper ul{list-style-type:disc}.privacy-paper ol{list-style-type:decimal}.privacy-paper a{color:#2051da;text-decoration-line:underline}.privacy-paper address{font-style:normal}}@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.block{display:block}.hidden{display:none}.inline{display:inline}.max-w-\[760px\]{max-width:760px}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:absolute:focus{position:absolute}.focus\:top-4:focus{top:calc(var(--spacing) * 4)}.focus\:left-4:focus{left:calc(var(--spacing) * 4)}.focus\:z-\[100\]:focus{z-index:100}.focus\:rounded:focus{border-radius:.25rem}.focus\:bg-white:focus{background-color:var(--color-white)}.focus\:px-4:focus{padding-inline:calc(var(--spacing) * 4)}.focus\:py-3:focus{padding-block:calc(var(--spacing) * 3)}.focus\:text-line-ink:focus{color:var(--color-line-ink)}}@font-face{font-family:Google Sans;src:url(fonts/google-sans-vietnamese.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:400 700;unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Google Sans;src:url(fonts/google-sans-latin.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:400 700;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Google Sans Text;src:url(fonts/google-sans-text-400-vietnamese.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:400;unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Google Sans Text;src:url(fonts/google-sans-text-400-latin.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:400;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Google Sans Text;src:url(fonts/google-sans-text-500-vietnamese.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:500;unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Google Sans Text;src:url(fonts/google-sans-text-500-latin.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:500;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Google Sans Text;src:url(fonts/google-sans-text-700-vietnamese.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:700;unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Google Sans Text;src:url(fonts/google-sans-text-700-latin.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:700;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@media (min-width:1600px){.page-container{width:min(100% - 80px,1280px)}.footer-links section{width:170px}}@media (max-width:639px){.footer-links{grid-template-columns:1fr;gap:0}.footer-links section{width:auto}.footer-links section>button{display:flex}.footer-links section:has(>button){border-bottom-style:var(--tw-border-style);border-color:#ffffff1a;border-bottom-width:1px;width:100%}@supports (color:color-mix(in lab, red, red)){.footer-links section:has(>button){border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.footer-links section:has(>button){padding-block:calc(var(--spacing) * 4)}.footer-links section:has(>button) ul{padding-bottom:calc(var(--spacing) * 2);padding-left:calc(var(--spacing) * 2);display:none}.footer-links section[data-open=true] ul{display:grid}.footer-links section:has(>button)+section:has(>button){margin-top:0}.footer-bottom__legal p:last-child{order:-1}.login-page{background-color:var(--color-white);padding-inline:calc(var(--spacing) * 5);padding-top:calc(var(--spacing) * 12);display:block}.login-card{--tw-shadow:0 0 #0000;max-width:none;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-radius:0;padding:0}.login-brand{font-size:27px}.login-card h2{margin-top:calc(var(--spacing) * 8);font-size:18px}.login-card .form-field{margin-top:calc(var(--spacing) * 11)}.login-create{top:auto;bottom:calc(var(--spacing) * 20)}.login-copyright{display:none}.about-hero{align-items:center;min-height:240px}.about-service__body{gap:calc(var(--spacing) * 8)}.about-location{min-height:310px}.blog-hero{padding-block:calc(var(--spacing) * 8)}.blog-hero h1{font-size:34px}.blog-hero p{margin-top:calc(var(--spacing) * 2);font-size:11px}.blog-navigation button{display:flex}.blog-navigation__links{border-top-style:var(--tw-border-style);padding-bottom:calc(var(--spacing) * 3);border-color:#e6eaf0;border-top-width:1px;display:none}.blog-navigation[data-open=true] .blog-navigation__links{gap:0;display:grid}.blog-navigation__links a{padding-block:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.blog-navigation__links a.is-current:after{display:none}.blog-tags-section{padding-top:calc(var(--spacing) * 8);padding-bottom:calc(var(--spacing) * 5)}.blog-tags-row{margin-top:calc(var(--spacing) * 12);display:block}.blog-tags{margin-top:calc(var(--spacing) * 4);gap:calc(var(--spacing) * 1.5)}.blog-tags a{padding-inline:calc(var(--spacing) * 2);padding-block:var(--spacing);font-size:10px}.blog-listing{padding-bottom:calc(var(--spacing) * 16)}.article-grid{row-gap:calc(var(--spacing) * 8);grid-template-columns:repeat(1,minmax(0,1fr))}.article-card__body{min-height:235px;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 4)}.article-card h3{margin-top:calc(var(--spacing) * 3);font-size:16px}.article-card__body>p:not(.article-card__meta){--tw-leading:calc(var(--spacing) * 5);font-size:13px;line-height:calc(var(--spacing) * 5)}.article-header{padding-top:calc(var(--spacing) * 12)}.article-header h1{font-size:30px}.article-header__row{margin-top:calc(var(--spacing) * 8)}.article-content{padding-bottom:calc(var(--spacing) * 14)}.article-content h2{margin-top:calc(var(--spacing) * 10);font-size:22px}.article-illustration-pair{gap:var(--spacing)}.article-footer-meta{margin-top:calc(var(--spacing) * 12)}.related-articles{padding-bottom:calc(var(--spacing) * 16)}.related-articles h2{font-size:28px}.contact-hero{background-position:58%;min-height:260px}.contact-hero h1{font-size:32px}.contact-hero p{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.contact-section{padding-top:calc(var(--spacing) * 10);padding-bottom:calc(var(--spacing) * 20)}.contact-form__fields{row-gap:calc(var(--spacing) * 8)}.contact-field label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.contact-field--full{grid-column:span 1/span 1}.contact-privacy{margin-top:calc(var(--spacing) * 8);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.contact-submit{margin-top:calc(var(--spacing) * 16);}.it-hero{margin-bottom:calc(var(--spacing) * 11);min-height:300px;padding-bottom:calc(var(--spacing) * 7);background-image:linear-gradient(90deg,#0006,#0000000d),url(images/it-hero-mobile.png);background-position:top;align-items:flex-end;position:relative}.it-hero h2{font-size:27px}.it-hero__actions{margin-top:calc(var(--spacing) * 5);gap:calc(var(--spacing) * 3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.it-hero__actions .button{min-width:0;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 3);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.it-hero__subnav{inset-inline:0;bottom:calc(var(--spacing) * -11);height:calc(var(--spacing) * 11);padding-inline:calc(var(--spacing) * 5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-line-ink);background-color:#f8f9fc;justify-content:space-between;align-items:center;text-decoration-line:none;display:flex;position:absolute}.it-challenges{padding-top:calc(var(--spacing) * 12)}.it-challenges>.page-container{padding-bottom:calc(var(--spacing) * 10)}.it-challenges h2{font-size:24px}.it-challenge-slider{margin-top:calc(var(--spacing) * 8);overflow:hidden}.it-challenge-slider .swiper-wrapper{gap:0;display:flex}.it-challenge-card{min-height:300px;padding-inline:calc(var(--spacing) * 5);padding-bottom:calc(var(--spacing) * 7)}.it-challenge-card img{height:165px}.it-challenge-card h3{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.it-challenge-card p{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.it-challenge-slider .swiper-pagination{display:flex}.it-solution-intro>.page-container{padding-block:calc(var(--spacing) * 10);text-align:left}.it-solution-intro h2{--tw-leading:1.45;font-size:24px;line-height:1.45}.it-feature{padding-block:0}.it-feature__inner{align-content:flex-start;gap:calc(var(--spacing) * 8);min-height:720px;padding-block:calc(var(--spacing) * 12);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}.it-feature__copy{max-width:none}.it-feature__copy h2{font-size:24px}.it-feature__copy p{margin-top:calc(var(--spacing) * 6);--tw-leading:calc(var(--spacing) * 6);font-size:13px;line-height:calc(var(--spacing) * 6)}.it-feature__inner>img{margin-top:auto}.it-feature--reverse .it-feature__copy,.it-feature--reverse .it-feature__inner>img{order:0}.it-testimonial>.page-container{border-left-style:var(--tw-border-style);border-left-width:0;padding-left:0}.it-testimonial blockquote{--tw-leading:1.6;font-size:17px;line-height:1.6}.it-navigation nav{padding-block:calc(var(--spacing) * 6)}.it-customers{padding-block:calc(var(--spacing) * 20)}.it-customers h2{text-align:left;font-size:24px}.it-customers__logos{margin-top:calc(var(--spacing) * 12)}.it-customers .button{width:100%;margin-top:150px}.download-hero{padding-top:calc(var(--spacing) * 8);padding-bottom:calc(var(--spacing) * 20)}.download-hero>.page-container{background-image:none;min-height:0}.download-hero__desktop{display:none}.download-hero__mobile{display:block}.download-hero>.page-container>h1{--tw-tracking:-.055em;letter-spacing:-.055em;padding-top:0;font-size:32px}.download-hero>.page-container>h1 span{display:none}.download-hero__mobile>p{margin-top:calc(var(--spacing) * 5);max-width:none;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7);color:var(--color-line-ink)}.download-hero__mobile img{margin-top:calc(var(--spacing) * 12);width:100%;max-width:none}.download-hero__mobile>p:last-child{margin-top:calc(var(--spacing) * 6);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7);color:#5f6368}.download-mobile-section,.download-drive-section{display:none}.legal-navigation>.page-container{height:calc(var(--spacing) * 9);gap:calc(var(--spacing) * 2)}.legal-navigation a,.legal-navigation span{font-size:9px}.privacy-document{padding-top:calc(var(--spacing) * 5);padding-bottom:calc(var(--spacing) * 14)}.privacy-paper{padding-inline:var(--spacing);padding-block:calc(var(--spacing) * 5)}.privacy-paper header{padding-bottom:calc(var(--spacing) * 5)}.privacy-paper h2{margin-top:calc(var(--spacing) * 6);--tw-leading:60px;font-size:16.875px;line-height:60px}.privacy-paper h3{margin-top:calc(var(--spacing) * 5);--tw-leading:22.95px;font-size:13.5px;line-height:22.95px}.privacy-paper p,.privacy-paper li,.privacy-paper address{margin-top:calc(var(--spacing) * 2);--tw-leading:24.3px;font-size:13.5px;line-height:24.3px}.privacy-section{padding-top:calc(var(--spacing) * 4)}}@media (max-width:1023px){.page-container,.page-container-wide{width:min(100% - 30px,720px)}.brand img{width:145px;height:auto}.feature-nav ul{min-width:max-content;height:60px;margin-inline:0;padding-inline:15px}.hero__inner{grid-template-columns:1fr;min-height:0;padding-top:0;display:grid}.hero__media{z-index:auto;min-height:0;margin:0;position:static}.hero__media img{width:100%;max-width:100%;height:auto;display:block;position:static}.hero__content{max-width:100%;padding:32px 0 44px;position:static}.hero h1{max-width:none}.final-cta__actions,.final-cta__actions .button{width:100%}}@media (min-width:768px) and (max-width:1023px){.hero__content{max-width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}


/* ===========================================================================
   Site stylesheet — Tailwind v4 base + all hand CSS in ONE file (merged 2026-10-13,
   user-approved). Rule: never define a selector a second time to override it —
   edit the existing rule instead. Sections below come from the former
   assets/overrides.css and keep their unlayered position after the Tailwind layers
   (unlayered wins over @layer for normal declarations), so the cascade is unchanged.
   Section headings only; per-rule rationale lives in the task/spec docs.
   =========================================================================== */

.brand img[src$="assets/images/shared-logo-etchlab.svg"]{width:150px;height:auto}
@media (min-width:64rem){
  .hero[data-region="home-hero"] .hero__inner{min-height:480px}
  .hero[data-region="home-hero"] .hero__media{min-height:480px}
  .hero[data-region="home-hero"] .hero__media img{top:0;bottom:auto;mask-image:linear-gradient(to right,transparent 0,#000 18%,#000 88%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 18%,#000 88%,transparent 100%)}
}

[data-region="home-use-cases"] .customer-swiper .swiper-slide{height:auto;display:flex}
[data-region="home-use-cases"] .case-card{display:flex;flex-direction:column;width:100%}
[data-region="home-use-cases"] .case-card a{flex:1;display:flex;flex-direction:column}
[data-region="home-use-cases"] .case-card__body{flex:1;display:flex;flex-direction:column;align-items:flex-start}
[data-region="home-use-cases"] .case-card__cta{margin-top:auto;padding-top:calc(var(--spacing) * 4);font-size:14px;font-weight:var(--font-weight-semibold,600);color:var(--color-line-green)}
[data-region="home-use-cases"] .case-card__panel{aspect-ratio:1.72;width:100%;display:flex;align-items:center;justify-content:center;background-color:var(--brand-surface);color:#0b38d5}
[data-region="home-start-cta"] .download-cta__inner{flex-direction:row;align-items:center;gap:calc(var(--spacing) * 14);text-align:left}
[data-region="home-start-cta"] .download-cta__media{width:min(384px,42%);aspect-ratio:4/3;flex:none;border-radius:0;object-fit:cover}
[data-region="home-start-cta"] .download-cta__content{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--spacing) * 4)}
[data-region="home-start-cta"] .download-cta__tag{font-size:var(--text-sm);color:var(--color-line-green)}
[data-region="home-start-cta"] .download-cta__text{max-width:520px;font-size:var(--text-base);line-height:1.7;color:var(--color-line-ink)}
[data-region="home-start-cta"] .download-cta__button{margin-top:calc(var(--spacing) * 2)}
@media (max-width:1023px){
  [data-region="home-start-cta"] .download-cta__inner{flex-direction:column;text-align:center;gap:calc(var(--spacing) * 7)}
  [data-region="home-start-cta"] .download-cta__media{width:100%;aspect-ratio:16/9}
  [data-region="home-start-cta"] .download-cta__content{align-items:center}
}

/* QC 2026-10-10 — accessible, non-visual CSS fixes (approved scope) */

/* QC-CSS-1 · Scroll lock while the mobile menu is modal */
@media (max-width:1023px){
  html.menu-open{overflow:hidden;overscroll-behavior:none}
}

/* QC-CSS-2 · Article-card placeholder date */
.article-card__date{display:block;margin-top:calc(var(--spacing) * 3);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:#5f6368}

/* QC-CSS-3 · Pointer-target slop (≥24×24 CSS px hit areas) */
.footer-links a,.footer-links section>button,.footer-bottom__legal a,.legal-navigation a,.showcase-card__link{position:relative}
.footer-links a::after{content:"";position:absolute;left:0;right:0;top:-5px;bottom:-5px}
.footer-links section>button::after{content:"";position:absolute;left:0;right:0;top:-4px;bottom:-4px}
.footer-bottom__legal a::after{content:"";position:absolute;left:0;right:0;top:-7px;bottom:-7px}
.legal-navigation a::after{content:"";position:absolute;left:0;right:0;top:-7px;bottom:-7px}
.showcase-card__link::after{content:"";position:absolute;left:0;right:0;top:-3px;bottom:-3px}

/* QC-CSS-4 · Reduced motion */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto!important}
  a,.tab-list button,.article-share a,.desktop-nav__menu,.desktop-nav__toggle svg,.footer-links section>button svg,.mobile-menu__item>button span,.article-card__image,.swiper-wrapper,.swiper-slide,.swiper-autoheight .swiper-wrapper,.swiper-lazy-preloader{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important}
}

/* QC 2026-10-10 review addendum — visible-parity restorations (QC-CSS-5/6) */

/* QC-CSS-5 · Feature-nav current-item underline */
.feature-nav a[aria-current=location]:after{content:"";height:calc(var(--spacing) * .5);background-color:var(--color-line-green);inset-inline:23px;position:absolute;bottom:0}

/* QC-CSS-6 · Article-header date typography */
.article-header__date{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#5f6368}

/* Design feedback 2026-10-10 — site-wide button shape, homepage copy-box, brand-blue final CTA */
.button,.button--green,.header-actions__cta,.header-actions__mobile-cta,.contact-submit,.talk-plans a{border-radius:0;box-shadow:none}
.button,.header-actions__cta,.header-actions__mobile-cta,.contact-submit{white-space:nowrap}
[data-region="home-service-paths"] .showcase--industry .showcase-card__copy{max-width:var(--hsp-panel-max,650px)}
.final-cta{background-color:#0b38d5}
.final-cta .button--white{color:#0b38d5}

/* Design feedback 2026-10-10 (2) — tab icons layout A + arrow C + uniform button size */
[data-region="home-guide-capabilities"] .tab-list button>svg{display:inline-block;width:20px;height:20px;vertical-align:-4px;margin-right:8px}
.hero__button>svg,.showcase-card__link>svg{flex:none;align-self:center}
.showcase-card__link>svg{margin-left:6px}
.customers__all>svg,.case-card__cta>svg,[data-region="home-testimonial"] .swiper-slide>a>svg{display:inline-block;vertical-align:-5px;margin-left:4px}
.button,.contact-submit{min-height:0;height:auto;min-width:0;width:auto;padding:11px 20px;font-size:14px;line-height:21px;font-weight:var(--font-weight-semibold,600);gap:8px}
.hero__button{width:auto;height:auto}
.it-hero__actions .button,.it-customers .button,.article-promo .button,.download-platform-card .button,.download-hero__desktop .button{min-width:0;padding:11px 20px;font-size:14px;line-height:21px}
.button--outline,.it-hero__actions .button,.it-customers .button{padding-block:10px}
@media (min-width:1024px){.final-cta__actions .button{width:auto}}
@media (max-width:1023px){.final-cta__actions .button{width:100%}}
@media (max-width:639px){.contact-submit{width:100%}}

/* Design feedback 2026-10-10 (3) — cut-corner buttons, option E */
.button,.header-actions__cta,.contact-submit{clip-path:polygon(0 0,100% 0,100% 100%,12px 100%,0 calc(100% - 12px))}
.header-actions__mobile-cta{clip-path:polygon(0 0,100% 0,100% 100%,8px 100%,0 calc(100% - 8px))}
.button--outline,.it-hero__actions .button--green{--cut-ring:#2051da;--cut-fill:#fff;position:relative;isolation:isolate;border:0;padding-block:11px;background:var(--cut-ring);color:#2051da}
.button--outline::before,.it-hero__actions .button--green::before{content:"";position:absolute;inset:1px;z-index:-1;background:var(--cut-fill);clip-path:polygon(0 0,100% 0,100% 100%,11.4px 100%,0 calc(100% - 11.4px))}
.it-customers .button{--cut-ring:#e6eaf0;border:0;padding-block:11px}
.it-hero__actions .button--green{--cut-ring:#fff;--cut-fill:#2051da;color:#fff}
.final-cta .button--outline{--cut-ring:#fff;--cut-fill:#0b38d5;background:var(--cut-ring);color:#fff}
@media (hover:hover){
  .button--outline:hover{--cut-fill:#dcf1ff;background:var(--cut-ring);color:#1f3b9b}
  .it-hero__actions .button--green:hover{--cut-fill:#1f3b9b;background:var(--cut-ring);color:#fff}
  .final-cta .button--outline:hover{--cut-fill:#fff;background:var(--cut-ring);color:#0b38d5}
}

.button:focus-visible,.header-actions__cta:focus-visible,.header-actions__mobile-cta:focus-visible,.contact-submit:focus-visible{outline-offset:-5px}
.final-cta .button:focus-visible,.it-hero__actions .button:focus-visible{outline-color:#fff}

/* Design feedback 2026-10-10 (4) — mobile (≤1023px) */
@media (max-width:1023px){
  .header-actions__mobile-cta{display:none}
  .header-actions__mobile-cta+.menu-toggle{margin-left:auto}
  html.menu-open .site-header::after{content:"";position:absolute;top:100%;left:0;right:0;height:100vh;background:rgba(33,34,38,.55);z-index:40;pointer-events:none}
  .hero[data-region="home-hero"] .hero__media{width:auto;margin-inline:calc(50% - 50vw)}
}

/* Design feedback 2026-10-10 (5, revised 2026-10-11) — footer social link (Zalo OA) */
.footer-social a{border:0;background:#0b38d5;color:#fff;clip-path:polygon(0 0,100% 0,100% 100%,8px 100%,0 calc(100% - 8px));font-size:11px;font-weight:700}
.footer-social a:focus-visible{outline:2px solid #fff;outline-offset:-2px}
@media (hover:hover){
  .footer-social a:hover{background:#2051da}
}

/* Design feedback 2026-10-10 (6), extended 2026-10-11 (3) — header hides on scroll down */
.site-header{transition:transform 180ms ease}
.site-header[data-scroll-hidden="true"]{transform:translateY(-100%)}
@media (prefers-reduced-motion:reduce){
  .site-header{transition:none}
}

/* Design feedback 2026-10-10 (7) — mobile header compact */
@media (max-width:1023px){
  .site-header__inner{height:48px}
  .brand img[src$="assets/images/shared-logo-etchlab.svg"]{width:108px}
  .mobile-menu{max-height:calc(100vh - 48px)}
  .feature-nav{top:48px}
}

/* Design feedback 2026-10-10 (8) — section spacing, option B */
@media (max-width:639px){
  #main-content{--section-stack-gap:24px}
  .download-cta,.final-cta{padding-block:48px}
  .trust__inner{padding-top:48px}
  .it-testimonial{padding-top:24px;padding-bottom:32px}
  .about-mission{padding-block:56px}
  .about-service,.about-company,.about-executives,.about-locations{padding-block:40px}
  .about-company{padding-bottom:32px}
  .about-company dl{padding-block:24px}
  .about-executives{padding-bottom:32px}
  .feature-guide .page-container{padding-top:40px}
  .feature-testimonial{padding-block:40px}
  .section-stack>.feature-story+.feature-story{margin-top:16px}
  .section-stack>[data-region="blog-tags"]+[data-region="blog-listing"]{margin-top:8px}
}

@media (min-width:640px){
  #main-content{--section-stack-gap:48px}
  .hero[data-region="home-hero"]+section[data-region]{margin-top:64px}
  .feature-testimonial{padding-block:64px}
}

/* Prod 2026-10-11 — shared components (quote block §4.1, FAQ accordion §4.4) */
.quote-panel{background:var(--brand-surface);border-left:4px solid #0b38d5;padding:calc(var(--spacing) * 8)}
.quote-panel__list{display:grid;gap:calc(var(--spacing) * 2);margin-block:calc(var(--spacing) * 5);padding-left:1.25em;list-style:disc;font-size:var(--text-base);line-height:1.65;color:var(--color-line-ink)}
.quote-panel__actions{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--spacing) * 3)}
.quote-panel__actions .button{min-height:44px}
.quote-panel__note{margin-top:calc(var(--spacing) * 4);font-size:var(--text-sm);line-height:1.6;color:var(--ink-secondary)}
@media (min-width:640px){
  .quote-panel{padding:calc(var(--spacing) * 12)}
}

.faq-groups{display:grid;gap:calc(var(--spacing) * 8)}
.faq-toolbar{display:flex;justify-content:flex-end}
.faq-toolbar .button{min-height:44px}
.faq-group{display:grid;gap:calc(var(--spacing) * 4)}
.faq-item{border-top:1px solid var(--border-subtle);scroll-margin-top:112px}
@media (min-width:64rem){.faq-item{scroll-margin-top:140px}}
.faq-item:last-of-type{border-bottom:1px solid var(--border-subtle)}
.faq-item>summary{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing) * 4);min-height:44px;padding-block:calc(var(--spacing) * 3);font-size:var(--text-base);font-weight:var(--font-weight-semibold);line-height:1.5;color:var(--color-line-ink);cursor:pointer;list-style:none}
.faq-item>summary::-webkit-details-marker{display:none}
.faq-item>summary::after{content:"";flex:none;width:9px;height:9px;margin-inline-end:2px;border-right:2px solid #2051da;border-bottom:2px solid #2051da;transform:rotate(45deg);transition:transform 160ms ease}
.faq-item[open]>summary::after{transform:rotate(225deg)}
.faq-item__answer{padding-block:calc(var(--spacing) * 2) calc(var(--spacing) * 5);font-size:var(--text-base);line-height:1.7;color:var(--ink-secondary)}
.faq-item__answer>*+*{margin-top:calc(var(--spacing) * 3)}
@media (prefers-reduced-motion:reduce){
  .faq-item>summary::after{transition:none}
}

/* Prod 2026-10-11 — detail content blocks (spec §4.2) */
.detail-hero{background-color:var(--surface-base);padding-block:calc(var(--spacing) * 12)}
.detail-hero__eyebrow{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-line-green)}
.detail-hero h1{margin-top:calc(var(--spacing) * 3);font-size:32px;line-height:1.15;font-weight:var(--font-weight-bold);letter-spacing:-.05em;color:var(--color-line-ink)}
.detail-hero__lead{margin-top:calc(var(--spacing) * 4);max-width:720px;font-size:var(--text-base);line-height:1.7;color:var(--ink-secondary)}
.detail-hero__actions{display:flex;flex-wrap:wrap;gap:calc(var(--spacing) * 3);margin-top:calc(var(--spacing) * 6)}
.detail-hero__actions .button{min-height:44px}
@media (min-width:768px){
  .detail-hero{padding-block:calc(var(--spacing) * 16)}
  .detail-hero h1{font-size:44px}
}

.detail-block,.detail-card,.detail-table caption,.section-stack .quote-panel{scroll-margin-top:112px}
@media (min-width:64rem){
  .detail-block,.detail-card,.detail-table caption,.section-stack .quote-panel{scroll-margin-top:140px}
}

.detail-block__title{font-size:24px;line-height:1.3;font-weight:var(--font-weight-bold);letter-spacing:-.04em;color:var(--color-line-ink)}
.detail-block__intro{margin-top:calc(var(--spacing) * 4);max-width:760px;font-size:var(--text-base);line-height:1.7;color:var(--ink-secondary)}
.detail-block,.section-stack>.page-container{min-width:0}
@media (min-width:768px){
  .detail-block__title{font-size:30px}
}

.detail-card-grid{display:grid;gap:calc(var(--spacing) * 5);margin-top:calc(var(--spacing) * 8)}
.detail-card{border:1px solid var(--border-subtle);border-top:3px solid #0b38d5;padding:calc(var(--spacing) * 6)}
.detail-card__title{font-size:var(--text-lg);line-height:1.4;font-weight:var(--font-weight-bold);color:var(--color-line-ink)}
.detail-card__when{margin-top:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:1.6;color:var(--ink-secondary)}
.detail-card__when strong{font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.detail-card__text{margin-top:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:1.65;color:var(--ink-secondary)}
.detail-card__points{display:grid;gap:calc(var(--spacing) * 2);margin-top:calc(var(--spacing) * 4);padding-left:1.25em;list-style:disc;font-size:var(--text-sm);line-height:1.65;color:var(--color-line-ink)}
@media (min-width:640px){
  .detail-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (min-width:1024px){
  .detail-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

.detail-table-wrap{margin-top:calc(var(--spacing) * 6);overflow-x:auto;border:1px solid var(--border-subtle)}
.detail-table-wrap:focus-visible{outline:2px solid #2051da;outline-offset:2px}
.detail-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);line-height:1.6;text-align:left}
.detail-table--wide{min-width:640px}
.detail-table caption{padding:calc(var(--spacing) * 4) calc(var(--spacing) * 5);border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-line-ink);text-align:left}
.detail-table th,.detail-table td{padding:calc(var(--spacing) * 3) calc(var(--spacing) * 5);border-bottom:1px solid var(--border-subtle);vertical-align:top}
.detail-table thead th{background-color:var(--brand-surface);color:var(--color-line-ink);font-weight:var(--font-weight-semibold)}
.detail-table tbody th{font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.detail-table tbody tr:last-child th,.detail-table tbody tr:last-child td{border-bottom:0}
.detail-table__note{margin-top:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:1.6;color:var(--ink-secondary)}
.detail-steps{display:grid;font-size:var(--text-base)}
.detail-steps>li::marker{font-weight:var(--font-weight-semibold);color:var(--color-line-blue)}
.detail-step__title{font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.detail-step p{margin-top:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:1.7;color:var(--ink-secondary)}
.detail-order-meta{display:grid;gap:calc(var(--spacing) * 6);margin-top:calc(var(--spacing) * 8);border-top:1px solid var(--border-subtle);padding-top:calc(var(--spacing) * 6)}
.detail-order-meta__item h3{font-size:var(--text-base);font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.detail-order-meta__item ul{display:grid;gap:calc(var(--spacing) * 2);margin-top:calc(var(--spacing) * 3);padding-left:1.25em;list-style:disc;font-size:var(--text-sm);line-height:1.65;color:var(--ink-secondary)}
.detail-order-note{margin-top:calc(var(--spacing) * 5);font-size:var(--text-sm);line-height:1.6;color:var(--ink-secondary)}
@media (min-width:640px){
  .detail-order-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.quote-panel h2{font-size:22px;line-height:1.3;font-weight:var(--font-weight-bold);letter-spacing:-.03em;color:var(--color-line-ink)}
.quote-panel__note a,.detail-faq__more a{color:var(--color-line-blue);text-decoration-line:underline;text-underline-offset:2px}
.detail-faq__more{margin-top:calc(var(--spacing) * 6);font-size:var(--text-base)}

/* Prod 2026-10-11 — overview CTAs (spec §5.1–5.4) */
.overview-cta{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--spacing) * 3) calc(var(--spacing) * 6);margin-top:calc(var(--spacing) * 6)}
.overview-cta .button{min-height:44px;text-decoration-line:none}
.overview-cta__link{font-size:var(--text-sm);line-height:1.5;color:var(--color-line-blue);text-decoration-line:underline;text-underline-offset:2px}
.it-feature__copy .overview-cta{margin-top:calc(var(--spacing) * 8)}
@media (min-width:64rem){
  .feature-story--focus-left .overview-cta{justify-content:center}
}

.it-challenge-card>p{margin-bottom:calc(var(--spacing) * 5)}
.it-challenge-card{display:flex;height:auto}
.it-challenge-card>.button{min-height:44px;margin-top:auto}
.section-stack>.it-challenges,.section-stack>.feature-guide{min-width:0}
.feature-guide .detail-table th,.feature-guide .detail-table td{white-space:nowrap}
@media (min-width:640px){
  .it-challenge-slider .swiper-wrapper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--spacing) * 5);transform:none!important}
  .it-challenge-slider .swiper-wrapper:has(>.swiper-slide:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
  .it-challenge-slider .swiper-slide{width:auto!important;margin-right:0!important}
}

.commitment-band__title{font-size:24px;line-height:1.3;font-weight:var(--font-weight-bold);letter-spacing:-.04em;color:var(--color-line-ink)}
.commitment-band__list{display:grid;gap:calc(var(--spacing) * 6);margin-top:calc(var(--spacing) * 8)}
.commitment-band__list h3{font-size:var(--text-base);line-height:1.4;font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.commitment-band__list p{margin-top:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:1.6;color:#5f6368}
@media (min-width:768px){
  .commitment-band__title{font-size:30px}
  .commitment-band__list{grid-template-columns:repeat(3,minmax(0,1fr))}
}

.it-customers__intro{max-width:640px;margin:calc(var(--spacing) * 5) auto 0;font-size:var(--text-sm);line-height:1.7;color:#5f6368}
.it-customers .it-customers__intro+.button{margin-top:calc(var(--spacing) * 10)}
@media (max-width:639px){
  .it-customers__intro{margin-inline:0;text-align:left}
}

/* Prod 2026-10-11 — gallery (spec §4.3, §9) */
.gallery{padding-top:calc(var(--spacing) * 10);padding-bottom:calc(var(--spacing) * 16)}
.gallery__layout{display:grid;gap:calc(var(--spacing) * 6)}
.gallery__results{min-width:0}
.gallery__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--spacing) * 3)}
.gallery__status{font-size:var(--text-sm);line-height:1.5;color:var(--ink-secondary)}
@media (min-width:1024px){
  .gallery__status{margin-left:auto;text-align:right}
}

html:not(.js) .gallery-filter{display:none}
.gallery-filter__trigger,.gallery-card{scroll-margin-top:64px}
@media (min-width:1024px){
  .gallery-card{scroll-margin-top:96px}
}

/* Filter bar — horizontal disclosure dropdowns (feedback 2026-10-12 §10.6) */
.gallery-filter{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--spacing) * 3)}
.gallery-filter__dropdown{position:relative}
.gallery-filter__trigger{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 calc(var(--spacing) * 4);border:1px solid var(--border-subtle);background:var(--color-white,#fff);font-size:var(--text-sm);line-height:1.4;font-weight:var(--font-weight-semibold);color:var(--color-line-ink);cursor:pointer}
.gallery-filter__trigger[aria-expanded="true"]{border-color:#0b38d5;color:#0b38d5}
.gallery-filter__trigger:focus-visible{outline:2px solid #2051da;outline-offset:2px}
.gallery-filter__chevron{flex:none;width:16px;height:16px;transition:transform 180ms ease}
.gallery-filter__trigger[aria-expanded="true"] .gallery-filter__chevron{transform:rotate(180deg)}
.gallery-filter__panel{position:absolute;top:calc(100% + 8px);left:0;z-index:40;width:min(260px,calc(100vw - 32px));border:1px solid var(--border-subtle);border-top:3px solid #0b38d5;background:var(--color-white,#fff);padding:calc(var(--spacing) * 4)}
.gallery-filter__panel[hidden]{display:none}
.gallery-filter__group{margin:0;border:0;padding:0;min-width:0}
.gallery-filter__option{display:flex;align-items:center;gap:calc(var(--spacing) * 3);min-height:44px;font-size:var(--text-sm);line-height:1.4;color:var(--color-line-ink);cursor:pointer}
.gallery-filter__option input{flex:none;width:18px;height:18px;margin:0;accent-color:#2051da;cursor:pointer}
.gallery-filter__option:has(input:checked){font-weight:var(--font-weight-semibold)}
.gallery-filter__clear{min-height:44px}
@media (max-width:639px){
  .gallery__toolbar{align-items:flex-start}
  .gallery-filter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;flex-wrap:nowrap;width:100%;gap:4px}
  .gallery-filter__dropdown{min-width:0}
  .gallery-filter__trigger{justify-content:space-between;gap:4px;min-height:40px;width:100%;padding:0 8px;font-size:14px}
  .gallery-filter__trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .gallery-filter__chevron{width:14px;height:14px}
  .gallery-filter__clear{min-height:40px;padding:0 8px;font-size:14px;white-space:nowrap}
}

/* Grid + cards */
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(var(--spacing) * 3)}
.gallery-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--border-subtle);background:var(--color-white,#fff);color:var(--color-line-ink);text-decoration-line:none}
.gallery-card[hidden],.gallery-empty[hidden]{display:none}
.gallery-card:focus-visible{outline:3px solid var(--brand-primary);outline-offset:3px}
.gallery-card__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--surface-base)}
.gallery--print-patterns .gallery-card__media{aspect-ratio:1/1}
.gallery-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.gallery-card__body{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:calc(var(--spacing) * 2);padding:calc(var(--spacing) * 4) calc(var(--spacing) * 5) calc(var(--spacing) * 5)}
.gallery-card__badge,.gallery-dialog__badge{padding:2px 8px;background:var(--brand-surface);font-size:12px;line-height:18px;font-weight:var(--font-weight-semibold);color:#0b38d5}
.gallery-card__title{font-size:var(--text-base);line-height:1.45;font-weight:var(--font-weight-semibold);letter-spacing:-.03em}
.gallery-card__tags{margin-top:auto;font-size:13px;line-height:1.5;color:var(--ink-secondary)}
@media (hover:hover){
  .gallery-card:hover .gallery-card__media img{transform:scale(1.025)}
  .gallery-card:hover .gallery-card__title{color:var(--color-line-blue)}
}

@media (max-width:639px){
  .gallery-card__body{padding:10px}
  #main-content .gallery-card__badge{font-size:10px;line-height:13px}
  #main-content .gallery-card__title{display:-webkit-box;overflow:hidden;font-size:14px;line-height:20px;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  #main-content .gallery-card__tags{font-size:11px;line-height:14px}
}

@media (min-width:640px){
  .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--spacing) * 5)}
}

@media (min-width:1024px){
  .gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Typographic tile (also the gallery dialog panel) */
.gallery-tile{display:flex;flex-direction:column;justify-content:flex-end;gap:calc(var(--spacing) * 1);width:100%;height:100%;padding:calc(var(--spacing) * 5);background-color:#0b38d5;background-image:repeating-linear-gradient(75deg,#fff0 0 62px,#ffffff1f 63px 65px,#fff0 66px 122px);color:#fff;clip-path:polygon(0 0,100% 0,100% 100%,16px 100%,0 calc(100% - 16px))}
.gallery-tile[hidden]{display:none}
.gallery-tile__label{font-size:22px;line-height:1.2;font-weight:var(--font-weight-bold);letter-spacing:-.04em}
.gallery-tile__sub{font-size:var(--text-sm);line-height:1.4;color:rgba(255,255,255,.88)}
.gallery-tile--large{padding:calc(var(--spacing) * 8)}
.gallery-tile--large .gallery-tile__label{font-size:32px}
.gallery-tile--large .gallery-tile__sub{font-size:var(--text-base)}

/* Empty state */
.gallery-empty{padding:calc(var(--spacing) * 10) calc(var(--spacing) * 6);background:var(--surface-base);text-align:center;font-size:var(--text-sm);line-height:1.6;color:var(--ink-secondary)}
.gallery-empty__title{margin-bottom:calc(var(--spacing) * 1);font-size:18px;font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.gallery-empty .button{min-height:44px;margin-top:calc(var(--spacing) * 5)}

/* Detail dialog */
.gallery-dialog{width:min(100% - 48px,1040px);max-width:none;max-height:calc(100% - 48px);margin:auto;padding:0;border:0;background:var(--color-white,#fff);color:var(--color-line-ink);overflow-y:auto;overscroll-behavior:contain}
.gallery-dialog::backdrop{background:rgba(33,34,38,.72)}
.gallery-dialog[open]{animation:gallery-dialog-in .18s ease-out}
.gallery-dialog[open]::backdrop{animation:gallery-backdrop-in .18s ease-out}
@keyframes gallery-dialog-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes gallery-backdrop-in{from{opacity:0}to{opacity:1}}
html:has(.gallery-dialog[open]){overflow:hidden}
.gallery-dialog__inner{position:relative;display:grid}
.gallery-dialog__media{display:grid;align-content:start;gap:calc(var(--spacing) * 3);padding:calc(var(--spacing) * 4);background:var(--surface-base);touch-action:pan-y}
.gallery-dialog__stage{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3}
.gallery-dialog__stage img{display:block;width:100%;height:100%;object-fit:contain}
.gallery-dialog__stage img[hidden]{display:none}
.gallery-dialog__thumbs{display:flex;flex-wrap:wrap;gap:calc(var(--spacing) * 2)}
.gallery-dialog__thumbs[hidden]{display:none}
.gallery-dialog__thumbs button{width:64px;height:48px;padding:0;border:2px solid transparent;background:var(--color-white,#fff);cursor:pointer}
.gallery-dialog__thumbs button[aria-pressed="true"]{border-color:#2051da}
.gallery-dialog__thumbs img{display:block;width:100%;height:100%;object-fit:cover}
.gallery-dialog__content{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--spacing) * 3);padding:calc(var(--spacing) * 6) calc(var(--spacing) * 5) calc(var(--spacing) * 5)}
.gallery-dialog__title{padding-right:44px;font-size:24px;line-height:1.3;font-weight:var(--font-weight-bold);letter-spacing:-.04em;color:var(--color-line-ink)}
.gallery-dialog__tags{display:flex;flex-wrap:wrap;gap:calc(var(--spacing) * 2)}
.gallery-dialog__tags li{padding:3px 10px;border:1px solid var(--border-subtle);font-size:13px;line-height:1.5;color:var(--color-line-ink)}
.gallery-dialog__desc{font-size:15px;line-height:1.7;color:var(--ink-secondary)}
.gallery-dialog__fit{font-size:var(--text-sm);line-height:1.6;color:var(--ink-secondary)}
.gallery-dialog__fit strong{font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.gallery-dialog__actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;align-self:stretch;gap:calc(var(--spacing) * 3);margin-top:calc(var(--spacing) * 2)}
.gallery-dialog__actions .button{min-height:44px;text-align:center;line-height:1.35}
.gallery-dialog__note{font-size:13px;line-height:1.6;color:var(--ink-secondary)}
.gallery-dialog__note a{color:var(--color-line-blue);text-decoration-line:underline;text-underline-offset:2px}
.gallery-dialog__nav{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing) * 3);align-self:stretch;margin-top:auto;padding-top:calc(var(--spacing) * 4);border-top:1px solid var(--border-subtle)}
.gallery-dialog__step{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:0 calc(var(--spacing) * 3);border:1px solid var(--border-subtle);background:var(--color-white,#fff);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:#2051da;cursor:pointer}
.gallery-dialog__step svg{width:16px;height:16px}
.gallery-dialog__position{font-size:13px;color:var(--ink-secondary)}
.gallery-dialog__close{position:absolute;top:8px;right:8px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border-subtle);background:var(--color-white,#fff);color:var(--color-line-ink);cursor:pointer}
.gallery-dialog__close svg{width:18px;height:18px}
.gallery-dialog__step:focus-visible,.gallery-dialog__close:focus-visible,.gallery-dialog__thumbs button:focus-visible{outline:2px solid #2051da;outline-offset:2px}
@media (min-width:640px){
  .gallery-dialog__media{padding:calc(var(--spacing) * 6)}
  .gallery-dialog__content{padding:calc(var(--spacing) * 10) calc(var(--spacing) * 8) calc(var(--spacing) * 7)}
}

@media (min-width:1024px){
  .gallery-dialog__inner{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
  .gallery-dialog__stage{aspect-ratio:auto;height:min(560px,calc(100vh - 200px))}
}

@media (max-width:639px){
  .gallery-dialog{width:100%;height:100%;max-height:100%}
  .gallery-dialog__close{position:fixed}
}

@media (prefers-reduced-motion:reduce){
  .gallery-dialog[open],.gallery-dialog[open]::backdrop{animation:none}
  .gallery-card__media img{transition:none}
  .gallery-filter__chevron{transition:none}
}

/* Prod 2026-10-11 — FAQ page (spec §5.7) */
.faq-page{padding-block:calc(var(--spacing) * 8) calc(var(--spacing) * 24)}
.section-stack>.faq-page,.faq-page .faq-groups>*,.faq-page .faq-group>*{min-width:0}
.faq-page__header h1{font-size:32px;line-height:1.15;font-weight:var(--font-weight-bold);letter-spacing:-.05em;color:var(--color-line-ink)}
.faq-page__intro{margin-top:calc(var(--spacing) * 4);max-width:720px;font-size:var(--text-base);line-height:1.7;color:var(--ink-secondary)}
.faq-jump{margin-top:calc(var(--spacing) * 6)}
.faq-jump ul{display:flex;flex-wrap:wrap;gap:calc(var(--spacing) * 2)}
.faq-jump a{display:inline-flex;align-items:center;min-height:44px;padding-inline:calc(var(--spacing) * 4);border:1px solid var(--border-subtle);background-color:var(--color-white,#fff);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-line-ink);text-decoration-line:none}
.faq-jump a:focus-visible{outline:2px solid #2051da;outline-offset:2px}
.faq-page .faq-groups{margin-top:calc(var(--spacing) * 8)}
.faq-page .faq-group{scroll-margin-top:112px}
.faq-page .faq-group h2{font-size:22px;line-height:1.3;font-weight:var(--font-weight-bold);letter-spacing:-.03em;color:var(--color-line-ink)}
.faq-page .faq-item__answer ul,.faq-page .faq-item__answer ol{display:grid;gap:calc(var(--spacing) * 2);padding-left:1.25em}
.faq-page .faq-item__answer ul{list-style:disc}
.faq-page .faq-item__answer ol{list-style:decimal}
.faq-page .faq-item__answer a{color:var(--color-line-blue);text-decoration-line:underline;text-underline-offset:2px}
.faq-page__contact{margin-top:calc(var(--spacing) * 12)}
@media (hover:hover){
  .faq-jump a:hover{border-color:#2051da;color:#2051da}
}

@media (min-width:768px){
  .faq-page__header h1{font-size:44px}
  .faq-page .faq-group h2{font-size:26px}
}

@media (min-width:64rem){
  .faq-page .faq-group{scroll-margin-top:140px}
}

/* Prod 2026-10-11 — contact page (spec §5.9, §9) */
.contact-hero{padding-block:calc(var(--spacing) * 12);background-image:linear-gradient(90deg,rgba(15,29,58,.94) 0%,rgba(15,29,58,.86) 60%,rgba(15,29,58,.82) 100%),var(--contact-hero-image,url(images/ai-contact-hero.webp))}
.contact-hero p{max-width:720px}
.contact-hero__list{display:grid;gap:calc(var(--spacing) * 3);margin-top:calc(var(--spacing) * 6)}
.contact-hero__locations{margin-top:calc(var(--spacing) * 5);padding-top:calc(var(--spacing) * 5);border-top:1px solid #ffffff4d}
.contact-hero__list li{display:grid;align-content:start;font-size:var(--text-sm);line-height:1.5;font-weight:var(--font-weight-light)}
.contact-hero__label{font-size:var(--text-xs);line-height:1.5;font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase}
.contact-hero__channels a{display:inline-flex;align-items:center;justify-self:start;min-height:44px;font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--color-white);text-decoration-line:underline;text-underline-offset:4px}
.contact-hero__channels a:focus-visible{outline:2px solid var(--color-white);outline-offset:2px}
.contact-note,.contact-status{margin-top:calc(var(--spacing) * 4);max-width:980px;font-size:var(--text-sm);line-height:calc(var(--spacing) * 6);font-weight:var(--font-weight-light);color:#5f6368}
.contact-status{padding-left:calc(var(--spacing) * 3);border-left:2px solid #2051da;font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.contact-status[hidden]{display:none}
.contact-note a,.contact-status a{color:var(--color-line-green);text-decoration-line:underline}
.contact-note a[href^="tel:"],.contact-status a[href^="tel:"]{white-space:nowrap}
@media (min-width:768px){
  .contact-hero{padding-block:calc(var(--spacing) * 16)}
  .contact-hero__list{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:calc(var(--spacing) * 8)}
}

/* Prod 2026-10-11 — about page (spec §5.6) */
.about-company dt{line-height:calc(var(--spacing) * 6);font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.about-company dd{font-weight:var(--font-weight-light);line-height:calc(var(--spacing) * 6);color:#5f6368}
.about-person{display:flex;flex-direction:column;align-items:flex-start}
.about-person .about-person__title{margin-top:calc(var(--spacing) * 1);font-weight:var(--font-weight-semibold);color:#0B38D5}
#main-content .about-person__note{margin-top:calc(var(--spacing) * 1);font-size:14px;line-height:20px;color:#5f6368}
.about-person__contact{margin-top:auto;padding-top:calc(var(--spacing) * 2);display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--spacing) * 1) calc(var(--spacing) * 4)}
.about-person__email a{display:inline-flex;align-items:center;min-height:44px;font-weight:var(--font-weight-semibold);color:var(--color-line-green);text-decoration-line:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.about-person__email a:focus-visible{outline:2px solid #2051da;outline-offset:2px}
.about-location__head{padding:calc(var(--spacing) * 6)}
.about-location .about-location__head h3{padding:0}
.about-location__role{margin-top:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:calc(var(--spacing) * 6);font-weight:var(--font-weight-light);color:#5f6368}
.about-location address{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--spacing) * 1)}
.about-location__street{margin-bottom:calc(var(--spacing) * 2)}
.about-location address a{display:inline-flex;align-items:center;min-height:44px;font-weight:var(--font-weight-semibold);color:var(--color-white,#fff);text-decoration-line:underline;text-underline-offset:4px}
.about-location address a[href^="tel:"]{white-space:nowrap}
.about-location address a:focus-visible{outline:2px solid var(--color-white,#fff);outline-offset:2px}
@media (max-width:767px){
  .about-company dl{row-gap:calc(var(--spacing) * 1)}
  .about-company dd+dt{margin-top:calc(var(--spacing) * 4)}
}

@media (min-width:768px){
  .about-company dl{grid-template-columns:280px minmax(0,1fr)}
  .about-people{grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--spacing) * 6)}
}

@media (min-width:64rem){
  .about-people{gap:calc(var(--spacing) * 10)}
}

/* Prod 2026-10-11 — legal pages (spec §5.8) */
.privacy-paper header h1{font-size:32px;line-height:1.15;font-weight:var(--font-weight-bold);letter-spacing:-.05em;color:var(--color-line-ink)}
.privacy-paper header h1+p{margin-top:calc(var(--spacing) * 4);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.privacy-paper header nav{margin-top:calc(var(--spacing) * 6)}
.privacy-paper header nav ol{margin-top:0}
.privacy-paper header nav li{margin-top:0}
.privacy-paper header nav a{display:inline-flex;align-items:center;min-height:44px}
.privacy-paper header nav a:focus-visible{outline:2px solid #2051da;outline-offset:2px}
.privacy-section{scroll-margin-top:80px}
@media (min-width:768px){
  .privacy-paper header h1{font-size:44px}
}

@media (min-width:64rem){
  .privacy-section{scroll-margin-top:104px}
}

/* Prod 2026-10-11 — articles + listing cards (spec §5.10) */
.article-body{max-width:760px;font-family:"Google Sans Text",Roboto,Arial,sans-serif;font-size:17px;line-height:28px;font-weight:400;color:#5f6368}
.article-body p{margin:0 0 16px;font:inherit;color:inherit}
.article-body :is(.article-intro,.article-intro>p){font-size:19px;line-height:30px;color:#5f6368}
.article-body .article-intro>p:last-child{margin-bottom:0}
.article-body h2,.article-body h3{font-family:"Google Sans",Roboto,Arial,sans-serif;font-weight:600;color:#212226}
.article-body h2{margin:48px 0 16px;font-size:28px;line-height:36px;letter-spacing:-.04em}
.article-body h3{margin:32px 0 12px;font-size:20px;line-height:28px;letter-spacing:-.03em}
.article-body :is(h2,h3)+p{margin-top:0}
.article-body :is(ul,ol){display:block;margin:0 0 16px;padding-left:1.5em;font:inherit;color:inherit}
.article-body li+li{margin-top:8px}
.article-body li strong{font-weight:600;color:#212226}
.article-body a{color:#2051da;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.article-body figure{margin:32px 0}
.article-body figure img{display:block;max-width:100%;height:auto}
.article-body figcaption{margin-top:8px;font-size:13px;line-height:20px;color:#5f6368}
.article-body table{width:100%;border-collapse:collapse;font-size:14px;line-height:20px;color:#5f6368;text-align:left}
.article-body :is(th,td){padding:10px 12px;border:1px solid #e6eaf0;vertical-align:top}
.article-body th{font-weight:600;color:#212226;background:#f5f7fb}
.article-body tbody tr:nth-child(even){background:#f8f9fc}
.article-body blockquote{margin:32px 0;border-left:4px solid #0b38d5;padding:20px 24px;background:#f5f7fb;color:#212226}
.article-body blockquote p:last-child{margin-bottom:0}
.article-body blockquote cite{display:block;margin-top:8px;font-size:13px;line-height:20px;font-style:normal;color:#5f6368}
.article-body .article-quote{margin:32px 0}
.article-body .article-quote h2{margin:0 0 12px;font-size:22px;line-height:30px}
.article-body .article-quote>p{margin:0 0 16px;font-size:17px;line-height:28px;color:#5f6368}
.article-body .article-quote .button{text-decoration-line:none}
.article-body .article-quote .button--green{color:#fff}
.article-body>:first-child{margin-top:0}
@media (max-width:639px){
  .article-body{font-size:15px;line-height:24px}
  .article-body p{margin-bottom:16px}
  .article-body :is(.article-intro,.article-intro>p){font-size:17px;line-height:26px}
  .article-body h2{margin:32px 0 12px;font-size:24px;line-height:32px}
  .article-body h3{margin:24px 0 8px;font-size:18px;line-height:26px}
  .article-body :is(ul,ol){padding-left:1.4em}
  .article-body figure{margin:24px 0}
  .article-body blockquote{margin:24px 0;padding:16px 20px}
  .article-body .article-quote{margin:24px 0}
  .article-body .article-quote>p{font-size:15px;line-height:24px}
}
.blog-empty a{color:#2051da;text-decoration-line:underline;text-underline-offset:2px}

/* E-commerce 2026-10-12 — product page + shared .product-card */

/* Breadcrumb */
.pp-breadcrumb{border-bottom:1px solid var(--border-subtle);background:var(--surface-base)}
.pp-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;column-gap:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:1.4;color:var(--ink-secondary)}
.pp-breadcrumb li{display:flex;align-items:center;gap:calc(var(--spacing) * 2);min-height:36px}
.pp-breadcrumb li+li::before{content:"›" / "";color:#80868b}
.pp-breadcrumb a{display:inline-flex;align-items:center;min-height:36px;color:var(--ink-secondary);text-decoration-line:underline;text-decoration-color:transparent;text-underline-offset:3px}
.pp-breadcrumb a:focus-visible{outline:2px solid #2051da;outline-offset:-2px}
.pp-breadcrumb [aria-current="page"]{font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
@media (hover:hover){
  .pp-breadcrumb a:hover{color:#2051da;text-decoration-color:currentColor}
}

@media (max-width:639px){
  .pp-breadcrumb ol{flex-wrap:nowrap;overflow:hidden;font-size:12px;line-height:16px}
  .pp-breadcrumb li{flex:0 0 auto;min-width:0;white-space:nowrap}
  .pp-breadcrumb li:last-child{flex:0 1 auto;min-width:3ch}
  .pp-breadcrumb li:last-child>[aria-current="page"]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pp-breadcrumb a{min-height:24px}
}

@media (min-width:1024px){
  .pp-breadcrumb li,.pp-breadcrumb a{min-height:44px}
}

/* Hero grid */
.pp-hero{padding-block:calc(var(--spacing) * 6) calc(var(--spacing) * 10)}
.pp-hero__grid{display:grid;gap:calc(var(--spacing) * 8)}
.pp-hero__grid>*{min-width:0}
@media (min-width:1024px){
  .pp-hero{padding-block:calc(var(--spacing) * 10) calc(var(--spacing) * 16)}
  .pp-hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:calc(var(--spacing) * 12);align-items:start}
}

/* Gallery */
.pp-gallery{display:grid;gap:calc(var(--spacing) * 3)}
.pp-gallery__main,.pp-gallery__tile{position:relative;display:block;aspect-ratio:4/3;width:100%;height:auto}
.pp-gallery__main{border:1px solid var(--border-subtle);background:var(--surface-base);cursor:zoom-in}
.pp-gallery__main img{display:block;width:100%;height:100%;object-fit:contain}
.pp-gallery__main:focus-visible{outline:3px solid var(--brand-primary);outline-offset:3px}
.pp-gallery__zoom{position:absolute;right:calc(var(--spacing) * 3);bottom:calc(var(--spacing) * 3);padding:4px 10px;background:rgba(255,255,255,.92);font-size:13px;line-height:18px;font-weight:var(--font-weight-semibold);color:#0b38d5}
.pp-gallery__tile.gallery-tile{display:flex}
.pp-gallery__thumbs{display:flex;flex-wrap:wrap;gap:calc(var(--spacing) * 2)}
.pp-gallery__thumb{display:block;width:64px;height:64px;border:2px solid var(--border-subtle);background:var(--surface-base)}
.pp-gallery__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.pp-gallery__thumb[aria-current="true"]{border-color:#2051da}
.pp-gallery__thumb:focus-visible{outline:2px solid #2051da;outline-offset:2px}
.gallery-dialog__nav[hidden]{display:none}
@media (min-width:1024px){
  .pp-gallery__main,.pp-gallery__tile{aspect-ratio:1/1}
}

/* Buy box */
.pp-buybox>*+*{margin-top:calc(var(--spacing) * 5)}
.pp-buybox__eyebrow{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:#2051da}
.pp-buybox>.pp-buybox__eyebrow+h1{margin-top:calc(var(--spacing) * 2)}
.pp-buybox h1{font-size:30px;line-height:1.2;font-weight:var(--font-weight-bold);letter-spacing:-.04em;color:var(--color-line-ink)}
.pp-buybox>h1+.pp-buybox__lead{margin-top:calc(var(--spacing) * 3)}
.pp-buybox__lead{font-size:var(--text-base);line-height:1.7;color:var(--ink-secondary)}
.pp-keyspecs{border-top:1px solid var(--border-subtle)}
.pp-keyspecs>div{display:grid;grid-template-columns:minmax(0,8.5rem) minmax(0,1fr);gap:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);line-height:1.5}
.pp-keyspecs dt{color:var(--ink-secondary)}
.pp-keyspecs dd{font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.pp-price{display:grid;gap:calc(var(--spacing) * 1);padding:calc(var(--spacing) * 4) calc(var(--spacing) * 5);border-left:4px solid #0b38d5;background:var(--brand-surface)}
.pp-price__label{font-size:13px;line-height:1.4;font-weight:var(--font-weight-semibold);color:var(--ink-secondary)}
.pp-price__value{font-size:24px;line-height:1.25;font-weight:var(--font-weight-bold);letter-spacing:-.03em;color:#0b38d5}
.pp-price__note{font-size:var(--text-sm);line-height:1.5;color:var(--color-line-ink)}
.pp-price__note:empty{display:none}
.pp-options{display:grid;gap:calc(var(--spacing) * 4)}
.pp-options[hidden],html:not(.js) .pp-options{display:none}
.pp-option{min-width:0;margin:0;padding:0;border:0}
.pp-option legend,.pp-option--field label{display:block;margin-bottom:calc(var(--spacing) * 2);padding:0;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.pp-option__choices{display:flex;flex-wrap:wrap;gap:calc(var(--spacing) * 2)}
.pp-option__choice{position:relative;display:inline-flex}
.pp-option__choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.pp-option__choice span{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:44px;padding-inline:calc(var(--spacing) * 4);border:1px solid #80868b;background:var(--color-white,#fff);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.pp-option__choice input:checked+span{border-color:#2051da;background:var(--brand-surface);color:#0b38d5;box-shadow:inset 0 0 0 1px #2051da}
.pp-option__choice input:focus-visible+span{outline:2px solid #2051da;outline-offset:2px}
.pp-option--field input{width:8rem;height:44px;padding-inline:calc(var(--spacing) * 3);border:1px solid #80868b;border-radius:0;font-size:var(--text-base);color:var(--color-line-ink)}
.pp-option--field input:focus-visible{outline:2px solid #2051da;outline-offset:1px;border-color:#2051da}
.pp-selection{font-size:var(--text-sm);line-height:1.5;color:var(--ink-secondary)}
.pp-facts{display:grid;gap:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:1.6;color:var(--ink-secondary)}
.pp-facts strong{font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.pp-actions{display:flex;flex-wrap:wrap;gap:calc(var(--spacing) * 3)}
.pp-actions .button{min-height:44px;text-decoration-line:none}
@media (hover:hover){
  .pp-option__choice:hover span{border-color:#2051da}
}

@media (max-width:639px){
  .pp-actions .button--green{flex:1 1 100%}
  .pp-actions .button--outline{flex:1 1 0}
}

@media (min-width:768px){
  .pp-buybox h1{font-size:36px}
}

/* Description prose */
.pp-prose{max-width:760px;margin-top:calc(var(--spacing) * 4);font-size:var(--text-base);line-height:1.75;color:var(--ink-secondary)}
.pp-prose>*+*{margin-top:calc(var(--spacing) * 3)}
.pp-prose h3{margin-top:calc(var(--spacing) * 6);font-size:18px;line-height:1.4;font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.pp-prose ul{display:grid;gap:calc(var(--spacing) * 2);padding-left:1.25em;list-style:disc}
.pp-prose strong{font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.pp-prose a{color:#2051da;text-decoration-line:underline;text-underline-offset:2px}

/* Wide tables: swipe hint + scroll shadows */
.pp-swipe-hint{display:none}
.pp-table-scroll{background:linear-gradient(90deg,#fff 30%,#fff0) left center/40px 100% no-repeat local,linear-gradient(270deg,#fff 30%,#fff0) right center/40px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(33,34,38,.2),rgba(33,34,38,0)) left center/14px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(33,34,38,.2),rgba(33,34,38,0)) right center/14px 100% no-repeat scroll;background-color:#fff}
@media (max-width:767px){
  .pp-swipe-hint{display:flex;align-items:center;gap:calc(var(--spacing) * 1.5);margin-top:calc(var(--spacing) * 4);font-size:13px;line-height:1.5;color:var(--ink-secondary)}
  .pp-swipe-hint::after{content:"→" / "";color:#2051da}
  .pp-swipe-hint+.detail-table-wrap{margin-top:calc(var(--spacing) * 2)}
}

/* Quote form (#bao-gia) */
.pp-quote__intro{margin-top:calc(var(--spacing) * 4);max-width:760px;font-size:var(--text-base);line-height:1.7;color:var(--ink-secondary)}
.pp-quote__intro a,.quote-form__note a,.quote-form__consent a{color:#2051da;text-decoration-line:underline;text-underline-offset:2px}
.quote-form{margin-top:calc(var(--spacing) * 8);padding:calc(var(--spacing) * 6) calc(var(--spacing) * 5);border:1px solid var(--border-subtle);border-top:3px solid #0b38d5;background:var(--color-white,#fff)}
.quote-form>*+*{margin-top:calc(var(--spacing) * 6)}
.quote-form>.quote-form__group:first-of-type{margin-top:0}
.quote-form__group{min-width:0;margin-inline:0;padding:0;border:0}
.quote-form__group legend{margin-bottom:calc(var(--spacing) * 4);padding:0;font-size:18px;line-height:1.4;font-weight:var(--font-weight-bold);color:var(--color-line-ink)}
.quote-form__grid{display:grid;gap:calc(var(--spacing) * 5)}
.quote-form__field{display:grid;align-content:start;gap:calc(var(--spacing) * 2);min-width:0}
.quote-form__field>label{font-size:var(--text-sm);line-height:1.4;font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.quote-form__req{color:#b42318}
.quote-form :is(input:not([type="checkbox"],[type="radio"],[type="file"]),select,textarea){width:100%;min-height:48px;padding:calc(var(--spacing) * 2.5) calc(var(--spacing) * 3);border:1px solid #80868b;border-radius:0;background:var(--color-white,#fff);font-size:var(--text-base);line-height:1.5;color:var(--color-line-ink)}
.quote-form select{appearance:auto}
.quote-form textarea{min-height:120px;resize:vertical}
.quote-form input[type="file"]{width:100%;min-height:48px;padding-block:calc(var(--spacing) * 2.5);font-size:var(--text-sm);color:var(--color-line-ink)}
.quote-form :is(input,select,textarea):focus-visible{outline:2px solid #2051da;outline-offset:1px;border-color:#2051da}
.quote-form :is(input,select,textarea)[aria-invalid="true"]{border-color:#b42318;box-shadow:inset 0 0 0 1px #b42318}
.quote-form__hint{font-size:13px;line-height:1.5;color:var(--ink-secondary)}
.quote-form__chosen{font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.quote-form__consent{display:flex;align-items:flex-start;gap:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:1.6;color:var(--color-line-ink)}
.quote-form__consent input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:#2051da}
.quote-form__consent input[aria-invalid="true"]{outline:2px solid #b42318;outline-offset:2px}
.quote-form__error:not(:empty){padding:calc(var(--spacing) * 3) calc(var(--spacing) * 4);border-left:3px solid #b42318;background:var(--surface-base);font-size:var(--text-sm);line-height:1.6;font-weight:var(--font-weight-semibold);color:#b42318}
.quote-form__actions .button{min-height:48px}
.quote-form__note{font-size:var(--text-sm);line-height:1.6;color:var(--ink-secondary)}
.quote-form__note a[href^="tel:"]{white-space:nowrap}
.quote-form__status:not(:empty){padding-left:calc(var(--spacing) * 3);border-left:2px solid #2051da;font-size:var(--text-sm);line-height:1.6;font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.quote-form>.quote-form__error:empty,.quote-form>.quote-form__status:empty{margin-top:0}
.quote-form>.quote-form__reopen{margin-top:calc(var(--spacing) * 1)}
.quote-form__reopen[hidden]{display:none}
.quote-form__reopen a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:#2051da;text-decoration-line:underline;text-underline-offset:2px}
@media (max-width:639px){
  .quote-form__actions .button{width:100%}
}

@media (min-width:640px){
  .quote-form{padding:calc(var(--spacing) * 10)}
}

@media (min-width:768px){
  .quote-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:calc(var(--spacing) * 6)}
  .quote-form__field--full{grid-column:1/-1}
}

.section-stack>[data-region="pp-related"]{padding-bottom:calc(var(--spacing) * 12)}
@media (min-width:640px){
  .section-stack>[data-region="pp-related"]{padding-bottom:calc(var(--spacing) * 16)}
}

/* Product cards (catalog grids, pp-related) */
.product-grid{display:grid;gap:calc(var(--spacing) * 5);margin-top:calc(var(--spacing) * 8)}
.product-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--border-subtle);background:var(--color-white,#fff)}
.product-card__media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--surface-base)}
.product-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.product-card__body{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:calc(var(--spacing) * 2);padding:calc(var(--spacing) * 4) calc(var(--spacing) * 5) calc(var(--spacing) * 5)}
.product-card__title{font-size:18px;line-height:1.4;font-weight:var(--font-weight-bold);letter-spacing:-.03em}
.product-card__title a{color:var(--color-line-ink);text-decoration-line:none}
.product-card__title a:focus-visible{outline:2px solid #2051da;outline-offset:2px}
.product-card__text{font-size:var(--text-sm);line-height:1.6;color:var(--ink-secondary)}
.product-card__specs{display:flex;flex-wrap:wrap;gap:calc(var(--spacing) * 1.5)}
.product-card__specs li{padding:2px 8px;border:1px solid var(--border-subtle);font-size:12px;line-height:18px;color:var(--color-line-ink)}
.product-card__actions{display:flex;flex-wrap:wrap;gap:calc(var(--spacing) * 2);align-self:stretch}
.product-card__actions .button{flex:1 1 auto;min-height:44px;text-decoration-line:none}
@media (hover:hover){
  .product-card:hover .product-card__media img{transform:scale(1.025)}
  .product-card:hover .product-card__title a{color:#2051da}
}

@media (min-width:640px){
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (min-width:1024px){
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Mobile sticky quote bar */
.pp-sticky-bar{display:none}
@media (max-width:1023px){
  .pp-sticky-bar{position:fixed;right:0;bottom:0;left:0;z-index:40;display:flex;gap:calc(var(--spacing) * 2);padding:9px 20px calc(9px + env(safe-area-inset-bottom));border-top:1px solid var(--border-subtle);background:var(--color-white,#fff);box-shadow:0 -4px 12px rgba(33,34,38,.08);transition:transform .2s ease,visibility 0s}
  html:not(.js) .pp-sticky-bar{display:none}
  .pp-sticky-bar .button{min-height:44px;text-decoration-line:none}
  .pp-sticky-bar .button--green{flex:1 1 auto}
  .pp-sticky-bar[data-hidden="true"]{transform:translateY(100%);visibility:hidden;transition:transform .2s ease,visibility 0s .2s}
  body:has(.pp-sticky-bar){--pp-sticky-space:calc(63px + env(safe-area-inset-bottom));padding-bottom:var(--pp-sticky-space)}
  body:has(.pp-sticky-bar) footer{padding-bottom:var(--pp-sticky-space)}
}

@media (prefers-reduced-motion:reduce){
  .pp-sticky-bar,.pp-sticky-bar[data-hidden="true"]{transition:none}
  .product-card__media img{transition:none}
}

/* E-commerce Task 6 — secondary-page consumers */
.search-page__controls{display:flex;align-items:center;gap:16px;margin-top:24px}
.search-page__controls .blog-search-label{flex:1;min-width:0;max-width:none}
.search-page__controls .blog-search{width:100%;min-height:64px;font-size:20px;padding-right:16px}
.search-page__controls .button{flex-shrink:0;min-height:48px}
.search-page .section-stack,.news-page .section-stack,.resources-page .section-stack{gap:24px}
.search-page .blog-tags-section,.news-page .blog-tags-section,.resources-page .blog-tags-section{padding-block:24px 8px}
.search-page .blog-tags-row,.news-page .blog-tags-row,.resources-page .blog-tags-row{margin-top:16px}
.search-page .section-stack>[data-region="blog-tags"]+[data-region="blog-listing"],
.news-page .section-stack>[data-region="blog-tags"]+[data-region="blog-listing"],
.resources-page .section-stack>[data-region="blog-tags"]+[data-region="blog-listing"]{margin-top:0}
.search-page__status,.resources-page [data-blog-status]{margin-bottom:16px;color:var(--color-line-ink);font-weight:var(--font-weight-semibold)}
.search-page .article-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.search-page .article-card__body{padding:20px;gap:8px;min-height:0}
.search-page .article-card__body h3{font-size:20px;margin-top:8px}
.search-page .article-card__body>p:not(.article-card__meta){margin-top:8px}
.search-page .article-card__arrow{margin-top:12px}
.library-entries h2,.library-latest h2{font-size:24px;font-weight:var(--font-weight-bold);margin-bottom:24px;color:var(--color-line-ink)}
.library-entries .article-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.library-entries .article-card{background:var(--color-line-blue);border-radius:16px}
.library-entries .article-card__body{padding:28px}
.library-entries .article-card__body h3,.library-entries .article-card__body p,.library-entries .article-card__body a{color:white}
.library-latest{margin-top:48px;padding-top:32px;border-top:1px solid #dadce0}
.legal-navigation--siblings .page-container{flex-wrap:wrap;row-gap:12px}
.article-chapter a{color:var(--color-line-blue);text-decoration:underline;text-underline-offset:3px}
@media(max-width:639px){
  .search-page__controls{flex-wrap:wrap;gap:12px}
  .search-page__controls .blog-search-label{flex-basis:100%}
  .search-page__controls .blog-search{font-size:18px;min-height:60px}
  .search-page .article-grid,.library-entries .article-grid{grid-template-columns:minmax(0,1fr)}
}

/* Design feedback 2026-10-11 (1) — cards use borders rather than elevation */
.showcase-card,.case-card,.article-card,.about-person,.download-platform-card{--tw-shadow:0 0 #0000;box-shadow:none}
.showcase--industry .showcase-card__copy{--tw-shadow:0 0 #0000;box-shadow:none;border:1px solid #e6eaf0}

/* Design feedback 2026-10-11 (2) — brochure request modal + shared quote-form fields */
.brochure-dialog{width:min(560px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #e6eaf0;border-radius:0;box-shadow:none;background:#fff;color:var(--color-line-ink);text-align:left;overflow-y:auto;overscroll-behavior:contain}
.brochure-dialog::backdrop{background:rgba(33,34,38,.55)}
.brochure-dialog[open]{animation:gallery-dialog-in 180ms ease-out}
.brochure-dialog[open]::backdrop{animation:gallery-backdrop-in 180ms ease-out}
html:has(.brochure-dialog[open]){overflow:hidden;overscroll-behavior:none}
.brochure-dialog__inner{position:relative;min-height:100%;padding:32px 24px 24px}
.brochure-dialog__title{padding-right:44px;font-size:24px;line-height:1.3;font-weight:var(--font-weight-bold);letter-spacing:-.04em}
.brochure-dialog__intro{margin-top:16px;font-size:var(--text-base);line-height:1.7;color:var(--ink-secondary)}
.brochure-dialog .quote-form{margin-top:24px;padding:0;border:0}
.brochure-dialog .quote-form__grid{grid-template-columns:minmax(0,1fr)}
.brochure-dialog .quote-form__actions .button{min-height:43px}
@media (max-width:639px){
  .brochure-dialog{width:100%;height:100dvh;max-height:100dvh;border:0}
  .brochure-dialog__inner{padding:32px 20px 24px}
  .brochure-dialog .gallery-dialog__close{position:absolute}
}

@media (prefers-reduced-motion:reduce){
  .brochure-dialog[open],.brochure-dialog[open]::backdrop{animation:none}
}

/* Design feedback 2026-10-11 (3), revised 2026-10-17 — StickyNavJitter: sticky content follows the shared header */
.feature-nav{overflow-anchor:none}
.site-header[data-scroll-hidden="true"] ~ #main-content .feature-nav{top:0}
/* Design feedback 2026-10-11 (4) — native offline search modal and mobile sheet */
html:has(.search-dialog[open]){overflow:hidden;overscroll-behavior:none}
.search-dialog{position:fixed;inset:12vh 0 auto;width:min(720px,calc(100vw - 32px));max-width:none;max-height:76vh;margin:0 auto;padding:0;border:1px solid #e6eaf0;border-radius:0;background:#fff;color:var(--color-line-ink);box-shadow:none}
.search-dialog::backdrop{background:rgba(33,34,38,.55)}
.search-dialog[open]{animation:gallery-dialog-in 180ms ease-out}
.search-dialog[open]::backdrop{animation:gallery-backdrop-in 180ms ease-out}
.search-dialog__shell{display:flex;flex-direction:column;max-height:76vh;min-height:0}
.search-dialog__top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px;border-bottom:1px solid #e6eaf0}
.search-dialog__title{font-size:var(--text-base);line-height:1.5;font-weight:var(--font-weight-semibold)}
.search-dialog button,.search-dialog__all{min-height:44px;border-radius:0;box-shadow:none;font-size:var(--text-sm);line-height:1.5;font-weight:var(--font-weight-semibold);cursor:pointer}
.search-dialog .gallery-dialog__close{position:static;flex-shrink:0}
.search-dialog__clear{padding:0 12px;border:1px solid #e6eaf0;background:#fff;color:var(--color-line-ink)}
.search-dialog__input-row{display:flex;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid #e6eaf0}
.search-dialog__label{display:flex;flex:1;align-items:center;gap:12px;min-width:0}
.search-dialog__label svg{display:block;flex-shrink:0;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.search-dialog__input{width:100%;min-width:0;min-height:48px;padding:8px;border:1px solid #e6eaf0;border-radius:0;background:#fff;color:var(--color-line-ink);font-size:var(--text-base);line-height:1.5}
.search-dialog__input::-webkit-search-cancel-button{display:none}
.search-dialog__content{min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px 24px 24px}
.search-dialog__status{font-size:var(--text-sm);line-height:1.6;color:var(--ink-secondary)}
.search-dialog__status:empty{display:none}
.search-dialog__status:not(:empty){margin-bottom:16px}
.search-dialog__section+.search-dialog__section{margin-top:24px}
.search-dialog__group{margin-bottom:8px;font-size:13px;line-height:1.6;font-weight:var(--font-weight-semibold);letter-spacing:.035em;text-transform:uppercase;color:var(--ink-secondary)}
.search-dialog__result{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:12px 0;border-bottom:1px solid #e6eaf0;color:var(--color-line-ink);text-decoration:none;box-shadow:none}
.search-dialog__result-copy{display:block;min-width:0}
.search-dialog__result-title{display:block;font-size:var(--text-base);line-height:1.5;font-weight:var(--font-weight-semibold)}
.search-dialog__description{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:var(--text-sm);line-height:1.6;color:var(--ink-secondary)}
.search-dialog__arrow{flex-shrink:0;color:#2051da;font-size:20px}
.search-dialog mark{padding:0;background:var(--brand-surface,#edf3ff);color:inherit}
.search-dialog__chips{display:flex;flex-wrap:wrap;gap:8px}
.search-dialog__chip{max-width:100%;padding:8px 12px;border:1px solid #e6eaf0;background:var(--surface-base,#f8f9fc);color:var(--color-line-ink);overflow-wrap:anywhere;text-align:left}
.search-dialog__history-clear{padding:8px 0;border:0;background:transparent;color:#2051da;text-decoration:underline;text-underline-offset:3px}
.search-dialog__all{display:inline-flex;align-items:center;margin-top:12px;color:#2051da;text-decoration:underline;text-underline-offset:3px}
.search-dialog__empty{font-size:var(--text-base);line-height:1.6;margin-bottom:16px}
.search-dialog__empty a{color:#2051da;text-decoration:underline}
.search-dialog :is(a,button,input):focus-visible{outline:2px solid #2051da;outline-offset:2px}
.search-dialog [hidden]{display:none}
@media (hover:hover){
  .search-dialog__result:hover .search-dialog__result-title{color:#2051da}
  .search-dialog__chip:hover{border-color:#2051da}
}

@media (max-width:639px){
  .search-dialog{inset:0;width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0}
  .search-dialog__shell{height:100%;max-height:100dvh}
  .search-dialog__top{padding:12px 16px}
  .search-dialog__input-row{padding:12px 16px;gap:8px}
  .search-dialog__label{gap:8px}
  .search-dialog__input{font-size:16px}
  .search-dialog__content{flex:1;padding:16px 16px calc(24px + env(safe-area-inset-bottom))}
}

@media (prefers-reduced-motion:reduce){
  .search-dialog,.search-dialog *{transition:none;animation:none;scroll-behavior:auto}
  .search-dialog[open],.search-dialog[open]::backdrop{animation:none}
}

/* Design feedback 2026-10-12 (1) — footer legal links right-aligned */
@media (min-width:1024px){
  .footer-bottom__legal{justify-content:space-between;align-items:center}
  .footer-bottom__legal p:last-child{margin-left:auto;flex-shrink:0;justify-content:flex-end;text-align:right}
}

@media (max-width:1023px){
  .footer-bottom__legal{flex-direction:column;align-items:flex-start}
}

/* Design feedback 2026-10-12 (2) — footer social, language menu, store badges */
.footer-bottom__top{display:flex;flex-wrap:wrap;align-items:center;gap:24px}
.footer-language-wrap{position:relative;flex-shrink:0}
.footer-language{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:8px 12px;border:1px solid #5f6368;border-radius:0;box-shadow:none;color:inherit;background:transparent}
.footer-language__menu{position:absolute;top:auto;bottom:calc(100% + 8px);left:0;z-index:10;min-width:162px;padding:4px;border:1px solid #5f6368;border-radius:0;box-shadow:none;background:#fff;color:#212226}
.footer-language__menu[hidden]{display:none}
.footer-language__menu :is(a,button){display:flex;align-items:center;min-height:44px;width:100%;padding:8px 12px;text-align:left;border:0;border-radius:0;box-shadow:none;background:transparent;color:inherit}
.footer-language__menu [aria-current="true"]{font-weight:700;background:#f0f3fa}
.footer-language:focus-visible,.footer-language__menu :is(a,button):focus-visible,.footer-store-badge:focus-visible{outline:2px solid #2051da;outline-offset:3px}
.footer-social{display:flex;align-items:center;gap:12px;flex-shrink:0}
.footer-social a{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:0;box-shadow:none}
.footer-icon{width:20px;height:20px}
.footer-badges{display:flex;flex-wrap:wrap;gap:12px;margin-left:auto}
.footer-store-badge{display:block;flex-shrink:0;width:162px;height:48px;border-radius:0;box-shadow:none}
.footer-store-badge img{display:block;width:162px;height:48px}
@media (hover:hover){
  .footer-language:hover{border-color:#fff}
  .footer-language__menu :is(a,button):hover{background:#f0f3fa}
}

@media (max-width:1023px){
  .footer-social{gap:4px}
  .footer-social a{position:relative;isolation:isolate;width:44px;height:44px;background:transparent;clip-path:none}
  .footer-social a::before{content:"";position:absolute;inset:6px;z-index:-1;background:#0b38d5;clip-path:polygon(0 0,100% 0,100% 100%,8px 100%,0 calc(100% - 8px))}
  .footer-social a:focus-visible{outline:2px solid #fff;outline-offset:-2px}
}

@media (max-width:1023px) and (hover:hover){
  .footer-social a:hover{background:transparent}
  .footer-social a:hover::before{background:#2051da}
}

@media (max-width:639px){
  .footer-bottom__top{flex-direction:column;align-items:flex-start;gap:20px}
  .footer-badges{margin-left:0;gap:12px}
}

/* Design feedback 2026-10-12 (5) — contact form spacing rebalanced */
.contact-form .contact-privacy{margin-top:32px}
.contact-form .contact-error{margin-top:16px}
.contact-form .contact-submit{margin-top:24px}
.contact-section{padding-bottom:56px}
@media (min-width:768px){.contact-section{padding-bottom:80px}}

/* Design feedback 2026-10-12 (5) — catalog cards drop price + "Báo giá" */
.product-card__actions{margin-top:auto;padding-top:calc(var(--spacing) * 2)}
[data-region="catalog-hero"]+.section-stack{margin-top:32px}
@media (min-width:768px){[data-region="catalog-hero"]+.section-stack{margin-top:64px}}

/* Design feedback 2026-10-12 (6) — Giới thiệu about-executives avatars */
.about-person img{display:block;width:100%;max-width:none;height:auto;aspect-ratio:6/7;margin:0;object-fit:cover;object-position:center top;border-radius:0;box-shadow:none}

/* Design feedback 2026-10-12 (3.3) — product-page feature-nav active underline */
.feature-nav a:is([aria-current=page],[aria-current=location]):after{inset-inline:0}
.detail-block__title+.faq-groups{margin-top:calc(var(--spacing) * 8)}

/* Design feedback 2026-10-12 (3.2) — quote form multi-file upload list */
.quote-form__files{display:grid;margin:calc(var(--spacing) * 1) 0 0;padding:0;border:1px solid var(--border-subtle);background:var(--color-white,#fff);list-style:none}
.quote-form__files[hidden]{display:none}
.quote-form__file{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:calc(var(--spacing) * 2);min-width:0;padding:calc(var(--spacing) * 1.5) calc(var(--spacing) * 2) calc(var(--spacing) * 1.5) calc(var(--spacing) * 3);border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);line-height:1.5;color:var(--color-line-ink)}
.quote-form__file:last-child{border-bottom:0}
.quote-form__file-name{min-width:0;overflow-wrap:anywhere;font-weight:var(--font-weight-semibold)}
.quote-form__file-size{white-space:nowrap;font-size:13px;color:var(--ink-secondary);font-variant-numeric:tabular-nums}
.quote-form__file-remove{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0;padding:0 calc(var(--spacing) * 2);border:1px solid #80868b;border-radius:0;background:var(--color-white,#fff);font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);line-height:1;color:#b42318;cursor:pointer}
.quote-form__file-remove:hover{border-color:#b42318;background:#fef3f2}
.quote-form__file-remove:focus-visible{outline:2px solid #2051da;outline-offset:1px}

/* Design feedback 2026-10-12 (3.1) — option B applied 2026-10-15: product-page ordering cards */
.detail-ordering-panel{margin-top:calc(var(--spacing) * 8);background:#f5f7fb;border:1px solid var(--border-subtle);padding:calc(var(--spacing) * 8) calc(var(--spacing) * 6)}
.detail-steps{list-style:none;padding:0;margin:0;display:grid;gap:calc(var(--spacing) * 6)}
.detail-steps>li::marker{content:none}
.detail-step{--detail-step-ring:#c9d4e8;position:relative;isolation:isolate;background:var(--detail-step-ring);padding:calc(var(--spacing) * 5) calc(var(--spacing) * 5) calc(var(--spacing) * 6);min-width:0}
.detail-step::before{content:"";position:absolute;inset:1px;z-index:-1;background:#fff;clip-path:polygon(0 0,100% 0,100% 100%,12px 100%,0 calc(100% - 12px))}
.detail-step__top{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing) * 3)}
.detail-step__number{font-size:28px;line-height:1;font-weight:var(--font-weight-bold);color:var(--color-line-blue);font-variant-numeric:tabular-nums}
.detail-step__icon{width:24px;height:24px;color:var(--color-line-blue);flex:none}
.detail-step__title{margin:calc(var(--spacing) * 3) 0 calc(var(--spacing) * 2);font-size:15px;line-height:1.35}
.detail-step>p{margin:0;font-size:13.5px;line-height:1.55}
.detail-order-meta{gap:calc(var(--spacing) * 8);margin-top:calc(var(--spacing) * 8);padding-top:calc(var(--spacing) * 6)}
.detail-order-meta__item h3{margin:0}
.detail-order-meta__item ul{margin:calc(var(--spacing) * 3) 0 0}
@media (min-width:640px){
  .detail-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (min-width:768px){
  .detail-order-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (min-width:1024px){
  .detail-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(var(--spacing) * 5)}
}

/* Design feedback 2026-10-12 (7) — Tin tức: thumbnails + pagination */

/* Thumbnails */
.article-card__image-link{display:block;width:100%;border-radius:0;box-shadow:none}
.article-card__image{border-radius:0;box-shadow:none}
.article-card__tile{aspect-ratio:400/225;width:100%;height:auto;border-radius:0;box-shadow:none}
.article-card:hover .article-card__image.article-card__tile{scale:1}

/* Pagination */
.blog-pagination{margin-top:calc(var(--spacing) * 16)}
.blog-pagination__list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:calc(var(--spacing) * 2);margin:0;padding-left:0;list-style:none}
.blog-pagination__list--compact{display:none}
.blog-pagination__page{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding-inline:calc(var(--spacing) * 1);border:1px solid #e6eaf0;border-radius:0;background-color:#fff;color:var(--color-line-ink);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);line-height:1;text-decoration-line:none;box-shadow:none}
.blog-pagination__page.is-current{background-color:var(--color-line-green);border-color:var(--color-line-green);color:#fff}
.blog-pagination__page--disabled{color:#7b8492;cursor:not-allowed}
.blog-pagination__ellipsis,.blog-pagination__summary{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);line-height:1;color:var(--color-line-ink)}
.blog-pagination__page:focus-visible{outline:2px solid #2051da;outline-offset:2px}
@media (hover:hover){
  .blog-pagination__page:not(.is-current):not(.blog-pagination__page--disabled):hover{border-color:var(--color-line-green);color:var(--color-line-green)}
}
@media (max-width:639px){
  .blog-pagination__list--full{display:none}
  .blog-pagination__list--compact{display:flex}
}

.blog-listing{scroll-margin-top:64px}
@media (min-width:1024px){
  .blog-listing{scroll-margin-top:96px}
}

/* Design feedback 2026-10-12 (7) — legal pages: full inner width + vertical rhythm */
.privacy-paper p,.privacy-paper li,.privacy-paper address,.privacy-paper h2,.privacy-paper h3{max-width:none}
.privacy-paper h2{margin-top:0;padding-block:0;line-height:1.35}
.privacy-section{padding-top:0}
.privacy-paper header+.privacy-section,.privacy-section+.privacy-section{margin-top:48px}
.privacy-paper h2+p,.privacy-paper h2+ul,.privacy-paper h2+ol,.privacy-paper h2+address{margin-top:16px}
@media (max-width:639px){
  .privacy-paper header+.privacy-section,.privacy-section+.privacy-section{margin-top:32px}
  .privacy-paper h2+p,.privacy-paper h2+ul,.privacy-paper h2+ol,.privacy-paper h2+address{margin-top:12px}
}

/* Design feedback 2026-10-12 (3.4) — product buy box: call button removed */
.pp-facts li{display:flex;align-items:flex-start;gap:10px}
.pp-facts li+li{border-top:1px solid var(--border-subtle);padding-top:calc(var(--spacing) * 2)}
.pp-facts__icon{flex:none;width:20px;height:20px;margin-top:1px;color:#2051da}
.pp-facts__text{min-width:0}

/* Design feedback 2026-10-12 (3.5) — space between product feature nav and first section */
[data-region="pp-tabs"]+.section-stack{margin-top:32px}
@media (min-width:640px){
  [data-region="pp-tabs"]+.section-stack{margin-top:48px}
}

/* Design feedback 2026-10-12 (3.6) — collapsible quote form */
.quote-form[hidden]{display:none}
.quote-form__toggle{min-height:44px;margin-top:calc(var(--spacing) * 6)}
.quote-form__toggle:focus-visible{outline:2px solid #2051da;outline-offset:2px}
@media (max-width:639px){.quote-form__toggle{width:100%}}
@media (min-width:768px){.quote-form__toggle{margin-top:calc(var(--spacing) * 8)}}

/* Design feedback 2026-10-12 (4) — Search page (rows, not the card grid) */

/* Rows instead of the card grid */
.search-page [data-region="blog-listing"] .search-results-list{display:flex;flex-direction:column;row-gap:0;column-gap:0}
.search-page [data-region="blog-listing"] .search-results-list>.article-card{border:0;border-bottom:1px solid #e6eaf0;border-radius:0;background-color:#fff;box-shadow:none;overflow:visible}
.search-page [data-region="blog-listing"] .article-card__body{display:grid;gap:0;grid-template-columns:minmax(0,1fr) auto;column-gap:calc(var(--spacing) * 6);align-items:center;min-height:0;padding:calc(var(--spacing) * 5) 0}
.search-page [data-region="blog-listing"] .article-card__meta{grid-area:1/1/2/2}
.search-page [data-region="blog-listing"] .article-card h3{grid-area:2/1/3/2;margin-top:calc(var(--spacing) * 2)}
.search-page [data-region="blog-listing"] .article-card__body>p:not(.article-card__meta){grid-area:3/1/4/2;margin-top:calc(var(--spacing) * 1)}
.search-page [data-region="blog-listing"] .article-card__arrow{grid-area:1/2/4/3;align-self:center;margin-top:0;font-size:22px}
@media (hover:hover){
  .search-page [data-region="blog-listing"] .search-results-list>.article-card:hover h3 a{color:var(--color-line-green)}
}

.search-page [data-region="blog-listing"] [data-blog-listing][data-search-state="idle"]>.article-card,
.search-page [data-region="blog-listing"] [data-blog-listing][data-search-state="empty"]>.article-card{display:none}
.search-page .search-results-list__more{display:flex;margin:calc(var(--spacing) * 10) auto 0}
.search-page .search-results-list__more[hidden]{display:none}
.search-page .search-results-list__more:focus-visible{outline:2px solid #2051da;outline-offset:2px}
.search-page .blog-navigation__summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:calc(var(--spacing) * 1) calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 5)}
.search-page .blog-navigation__summary[hidden]{display:none}
.search-page .blog-navigation__query{margin:0;color:var(--color-line-ink);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);letter-spacing:-.02em}
.search-page .blog-navigation__count{margin:0;color:#5f6368;font-size:var(--text-sm)}
@media (max-width:639px){
  .search-page [data-region="blog-listing"] .article-card__body{column-gap:calc(var(--spacing) * 3);padding:calc(var(--spacing) * 4) 0}
  .search-page .blog-navigation__summary{padding-block:calc(var(--spacing) * 4)}
}

/* Design feedback 2026-10-12 (4) — Trang chủ: nút nổi Lên đầu trang + Hỗ trợ */
.floating-actions{
  position:fixed;
  right:calc(12px + env(safe-area-inset-right,0px));
  bottom:calc(12px + env(safe-area-inset-bottom,0px));
  z-index:40;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
}

html.menu-open .floating-actions,
html:has(dialog[open]) .floating-actions{display:none}
.floating-actions__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  border-radius:0;
  background-color:#0b38d5;
  color:#fff;
  cursor:pointer;
  clip-path:polygon(0 0,100% 0,100% 100%,8px 100%,0 calc(100% - 8px));
}

.floating-actions__btn svg{display:block;width:18px;height:18px}
.floating-actions__btn:hover{background-color:var(--color-line-blue)}
.floating-actions__btn:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.floating-actions__top{
  position:relative;
  z-index:1;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 180ms ease,visibility 180ms ease;
}

.floating-actions__top[data-visible="true"]{opacity:1;visibility:visible;pointer-events:auto}
.floating-actions__support-wrap{position:relative;display:flex;flex-direction:column;align-items:flex-end}
.floating-actions__panel{
  position:absolute;
  right:0;
  bottom:calc(100% + 8px);
  z-index:2;
  width:min(260px,calc(100vw - 24px));
  background-color:#fff;
  border:1px solid var(--border-subtle);
  border-radius:0;
}

.floating-actions__panel[hidden]{display:none}
.floating-actions__links{margin:0;padding:0;list-style:none}
.floating-actions__links li+li{border-top:1px solid var(--border-subtle)}
.floating-actions__link{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:44px;
  padding:8px 12px;
  color:var(--color-line-ink);
  text-decoration:none;
}

.floating-actions__link:hover{background-color:var(--surface-base, #f8f9fc)}
.floating-actions__link:focus-visible{outline:2px solid var(--color-line-blue);outline-offset:-2px}
.floating-actions__link-title{font-size:14px;font-weight:var(--font-weight-semibold);line-height:1.35}
.floating-actions__link-sub{font-size:12px;line-height:1.35;color:var(--ink-secondary)}
.floating-actions__link-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.floating-actions__link-icon{display:inline-flex;flex:0 0 32px;align-items:center;justify-content:center;width:32px;height:32px;background-color:#0b38d5;color:#fff;clip-path:polygon(0 0,100% 0,100% 100%,6px 100%,0 calc(100% - 6px))}
.floating-actions__link-icon svg{display:block;width:16px;height:16px}
.floating-actions__link-icon--zalo{font-family:Arial,sans-serif;font-size:11px;font-weight:700;line-height:1}
@media (min-width:1024px){
  .floating-actions{
    right:calc(20px + env(safe-area-inset-right,0px));
    bottom:calc(20px + env(safe-area-inset-bottom,0px));
  }
  .floating-actions__btn{width:40px;height:40px}
}

@media (prefers-reduced-motion:reduce){
  .floating-actions__top{transition:none}
}

/* Design feedback 2026-10-12 (8) — mobile menu toggle, option F */
@media (max-width:1023px){
  .menu-toggle{width:auto;grid-template-columns:18px;justify-items:end;align-content:center;padding:0 8px 0 58px}
  .menu-toggle::before,.menu-toggle::after{width:18px;border-radius:0}
  .menu-toggle span[aria-hidden]{width:12px;border-radius:0;position:relative;margin-block:3px}
  .menu-toggle span[aria-hidden]::after{content:"Menu";position:absolute;right:calc(100% + 14px);top:50%;transform:translateY(-50%);font-size:13px;line-height:20px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:currentColor;white-space:nowrap}
}

/* Design feedback 2026-10-12 (3.7) — product-page consistency (.detail-card-grid) */
@media (min-width:640px){
  .detail-card-grid:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (min-width:1024px){
  .detail-card-grid:has(> :nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}
}

.detail-block__intro+.pp-prose{margin-top:calc(var(--spacing) * 8)}

/* Design feedback 2026-10-12 (4) — Search page: empty-result message aligns left */
.search-page .blog-empty{text-align:left}

/* Design feedback 2026-10-12 (4) — Search page: whole row is the link */
.search-page [data-region="blog-listing"] .search-results-list>.article-card{margin-inline:calc(var(--spacing) * -3);width:calc(100% + var(--spacing) * 6);transition:background-color .15s}
.search-page [data-region="blog-listing"] .search-results-list .article-card__body{padding-inline:calc(var(--spacing) * 3)}
.search-page [data-region="blog-listing"] .search-results-list h3 a::after{content:"";position:absolute;inset:0}
.search-page [data-region="blog-listing"] .search-results-list .article-card__arrow{position:relative;z-index:1}
.search-page [data-region="blog-listing"] .search-results-list>.article-card:hover,.search-page [data-region="blog-listing"] .search-results-list>.article-card:focus-within{background-color:#f8f9fc}
@media (prefers-reduced-motion:reduce){.search-page [data-region="blog-listing"] .search-results-list>.article-card{transition:none}}

/* Design feedback 2026-10-12 (4) — Search page: status line spacing */
.search-page .search-page__status{margin-top:calc(var(--spacing) * 8)}

/* Design feedback 2026-10-12 (9) — mobile submenu toggle chevron */
.mobile-menu__item>button span{display:inline-flex;align-items:center;line-height:0}

/* Design feedback 2026-10-12 (3.9) — order note warning icon */
.detail-order-note{display:flex;align-items:flex-start;gap:8px}
.detail-order-note__icon{flex:none;width:20px;height:20px;color:#e8710a;margin-top:1.2px}

/* Design feedback 2026-10-12 (3.8) — product gallery: first image + justified rows */
.pp-gallery__masonry{display:flex;flex-wrap:wrap;align-items:flex-start;gap:calc(var(--spacing) * 3);margin:0;padding:0;list-style:none}
.pp-gallery__masonry>li{flex:var(--pp-share,.5) 0 calc((100% - (var(--pp-row-n,2) - 1) * var(--spacing) * 3 - var(--pp-row-n,2) * 2px - 1px) * var(--pp-share,.5) + 2px)}
.pp-gallery__item{display:block;border:1px solid var(--border-subtle);background:var(--surface-base);cursor:zoom-in}
.pp-gallery__item img{display:block;width:100%;height:auto}
.pp-gallery__item:focus-visible{outline:3px solid var(--brand-primary);outline-offset:3px}

/* Design feedback 2026-10-13 (1) — Trang chủ: phục hồi home-testimonial (bản 31884b6^) */
/* The region returns wrapped in the existing Swiper markup (.swiper > .swiper-wrapper >
   .swiper-slide), so the bundle rule `.it-testimonial>.page-container>a` no longer matches the
   CTA link; it is re-declared verbatim under the slide selector. Dots reuse the bundle's global
   `.swiper-pagination` rule (margin-top 24px, flex), left-aligned to the section's left-bordered
   text axis. `home-testimonial` lifts the source 900px cap (bundle: `.it-testimonial>.page-container`
   max-width 900px) so the left-bordered box spans the standard container width; the left border and
   56px padding-left stay — they are the template text axis. No other visual change. */
[data-region="home-testimonial"] .swiper-slide>a{margin-top:calc(var(--spacing) * 5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#2051da;text-decoration-line:none;display:inline-block}
[data-region="home-testimonial"] .swiper-pagination{justify-content:flex-start}
[data-region="home-testimonial"]>.page-container{max-width:none}

/* Design feedback 2026-10-13 (2) — Trang chủ: dải logo tham khảo chạy phải→trái (phương án A) */
/* Người dùng duyệt 2026-10-13 (ngoại lệ có phạm vi cho AGENTS §3.5/§5/§7.4 — xem AGENTS §18):
   dải nằm ở đáy `home-start-cta` của index.html, theo hình dáng dải `.logo-row` của template
   (lề trên 64px, viền trên 1px #e6eaf0, đệm dọc 20px, hàng 56px / 48px ≤767px, ảnh 36px / 28px)
   nhưng chạy bằng CSS thuần thay vì Swiper: danh sách nhân bản một lần (7 logo + 7 bản sao
   `aria-hidden`) chạy translateX(0) → translateX(-50%) tuyến tính vô hạn. Dừng khi rê chuột hoặc
   focus bên trong; tắt hẳn animation khi `prefers-reduced-motion: reduce` (dải cuộn tay được);
   hai mép mờ bằng `mask-image`; `overflow:hidden` giữ 375px không cuộn ngang. Logo để nguyên bản
   (không dùng bản `-blur80` — §15 loại trừ logo). Phản hồi 2026-10-13 (4): dải mang thêm class
   `.page-container` — viền trên và vùng chạy nằm trong container (980px), không còn full width. */
.partner-marquee{
  --partner-marquee-fade:56px;
  position:relative;
  overflow:hidden;
  margin-top:calc(var(--spacing) * 16);
  border-top:1px solid #e6eaf0;
  padding-block:20px;
  background-color:#fff;
  -webkit-mask-image:linear-gradient(#000,#000),linear-gradient(to right,transparent 0,#000 var(--partner-marquee-fade),#000 calc(100% - var(--partner-marquee-fade)),transparent 100%);
  -webkit-mask-size:100% 1px,100% 100%;
  -webkit-mask-repeat:no-repeat;
  mask-image:linear-gradient(#000,#000),linear-gradient(to right,transparent 0,#000 var(--partner-marquee-fade),#000 calc(100% - var(--partner-marquee-fade)),transparent 100%);
  mask-size:100% 1px,100% 100%;
  mask-repeat:no-repeat
}
.partner-marquee__track{display:flex;width:max-content;margin:0;padding:0;list-style:none;animation:partner-marquee-slide 96s linear infinite}
.partner-marquee__track>li{flex:none;width:160px;height:56px;margin-right:32px;display:flex;align-items:center;justify-content:center}
.partner-marquee__track img{height:36px;width:auto;max-width:130px;object-fit:contain;filter:grayscale(1);opacity:.78}
.partner-marquee:hover .partner-marquee__track,.partner-marquee:focus-within .partner-marquee__track{animation-play-state:paused}
@keyframes partner-marquee-slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:767px){
  .partner-marquee{--partner-marquee-fade:32px}
  .partner-marquee__track>li{width:96px;height:48px;margin-right:24px}
  .partner-marquee__track img{height:28px;max-width:68px}
}
@media (prefers-reduced-motion:reduce){
  .partner-marquee{overflow-x:auto}
  .partner-marquee__track{animation:none}
}

/* Design feedback 2026-10-13 (3) — Trang chủ: chấm phân trang trong panel chữ (phương án B) */
/* `home-service-paths`: `.swiper-pagination` rời khỏi luồng (hàng riêng cũ cao 32px =
   margin-top 24px + chấm 8px) và nằm trong hàng liên kết "Xem …" của panel `.showcase-card__copy`,
   căn phải theo mép trong của panel. Bundle chốt `position:relative !important` + `bottom:auto !important`
   (khai báo `!important` trong `@layer` thắng mọi `!important` ngoài layer), nên không thể đặt
   `position:absolute`; thay vào đó khối chấm cao 0 (`height:0`, chấm 8px tràn ra ngoài) nên không
   chiếm hàng nào, rồi dời bằng `transform:translateY()` — transform không tác động layout, còn
   `position:absolute` thì sẽ phải đoán lại khi Swiper đổi chiều cao slide (`autoHeight`).
   Số đo đọc từ bundle ngay trong tệp này:
   `.showcase--industry .showcase-card` đệm dưới 16px; `.showcase--industry .showcase-card__copy`
   lùi vào 12px (<1024px) / 40px (≥1024px), đệm ngang 20px / 36px, viền 1px + đệm dưới 28px / 36px,
   bề rộng bị chặn ở `--hsp-panel-max` (rule `max-width` phía trên); hàng `.showcase-card__link`
   cao 20px / 24px (14px/16px × line-height 1,4286 / 1,5) + 2px / 0px đuôi dòng; chấm 8px
   (chấm đang chọn 24px). Vì vậy đáy khối chấm (đo trên trình duyệt) cách đáy thẻ
   = đệm dưới thẻ + viền panel + đệm dưới panel + đuôi dòng + (nửa hàng liên kết − nửa chấm)
   = 16 + 1 + 28 + 2 + 10 − 4 = 53px (≥1024px: 16 + 1 + 36 + 0 + 12 − 4 = 61px); `--hsp-dots-rise`
   cộng thêm chiều cao chấm (8px) vì khối chấm cao 0 và chấm nằm ở mép trên của khối, còn khối chấm
   đứng ngay dưới đáy khối slide (đáy ảnh + đệm thẻ). Mép phải khối chấm = mép trong bên phải của
   panel: bề rộng panel = `min(--hsp-panel-max, 100% − 2 × lùi vào)` nên khoảng cách từ mép phải
   `.showcase` = lùi vào + viền panel 1px + đệm ngang panel + phần bề rộng vượt trần (khi panel hẹp
   hơn khối);
   khối chấm rộng bằng `.showcase` và `justify-content:flex-end` dồn chấm về mép phải của nó, nên
   chỉ cần dịch trái bằng `right:`. `.showcase-card__link` chừa chỗ bằng `max-width` để chữ dài
   xuống dòng thay vì chạy dưới khối chấm. */
[data-region="home-service-paths"]{
  --hsp-panel-max:650px;
  --hsp-panel-inset:calc(var(--spacing) * 3);
  --hsp-panel-pad-inline:calc(var(--spacing) * 5);
  --hsp-dots-gap:var(--spacing);
  --hsp-dots-rise:calc(var(--spacing) * 4 + 1px + var(--spacing) * 7 + 8px + var(--spacing) * 2);
  --hsp-dots-reserve:calc(var(--spacing) * 29)
}
@media (min-width:64rem){
  [data-region="home-service-paths"]{
    --hsp-panel-inset:calc(var(--spacing) * 10);
    --hsp-panel-pad-inline:calc(var(--spacing) * 9);
    --hsp-dots-gap:calc(var(--spacing) * 2);
    --hsp-dots-rise:calc(var(--spacing) * 4 + 1px + var(--spacing) * 9 + 8px + var(--spacing) * 2);
    --hsp-dots-reserve:calc(var(--spacing) * 34)
  }
}
[data-region="home-service-paths"] .showcase--industry .swiper-pagination{
  height:0;
  width:auto;
  margin-top:0;
  right:calc(var(--hsp-panel-inset) + 1px + var(--hsp-panel-pad-inline) + max(0px,100% - var(--hsp-panel-inset) * 2 - var(--hsp-panel-max)));
  left:auto;
  justify-content:flex-end;
  gap:var(--hsp-dots-gap);
  transform:translateY(calc(-1 * var(--hsp-dots-rise)));
  z-index:11
}
[data-region="home-service-paths"] .showcase--industry .showcase-card__link{max-width:calc(100% - var(--hsp-dots-reserve))}
/* QC-CSS-3 · vùng chạm chấm phân trang: 7 chấm phải nằm gọn trong hàng liên kết (khe 4px <1024px /
   8px ≥1024px) nên ô chạm rộng bằng đúng bước chấm (chấm + khe) để KHÔNG chồng lấn nhau — 44×44px
   mỗi chấm là bất khả thi về hình học ở đây (7 × 44px = 308px > 149px khả dụng trong panel 321px);
   bù lại ô chạm cao 44px và các ô kề nhau phủ kín, không có khe hụt. */
[data-region="home-service-paths"] .showcase--industry .swiper-pagination-bullet{position:relative;--hsp-bullet-w:calc(var(--spacing) * 2)}
[data-region="home-service-paths"] .showcase--industry .swiper-pagination-bullet-active{--hsp-bullet-w:calc(var(--spacing) * 6)}
[data-region="home-service-paths"] .showcase--industry .swiper-pagination-bullet::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(var(--hsp-bullet-w) + var(--hsp-dots-gap));height:44px}

/* Design feedback 2026-10-13 (5) — Trang chủ: chấm phân trang `home-guide-capabilities` vào trong thẻ */
/* Chấm nằm trong thẻ `.showcase-card`, thẳng mép trái với cột chữ, dưới liên kết "Xem …" (vị trí
   người dùng khoanh 2026-10-13). Cùng kỹ thuật khối (3): bundle chốt `position:relative !important`
   nên khối chấm cao 0, rời hàng riêng 32px, rồi dời bằng `transform` + `left` (offset của relative).
   Đo trên trình duyệt: thẻ ≥1024px cao 462px, cột chữ bắt đầu ở 50% + đệm trái 42px, liên kết
   kết thúc ≥68px trên đáy thẻ → chấm cách đáy thẻ 56px. <1024px: cột chữ đệm 20px (+ viền 1px),
   đệm dưới tăng 32 → 56px để chừa hàng chấm, chấm cách đáy thẻ 32px (khe ≈24px dưới liên kết). */
[data-region="home-guide-capabilities"] .showcase .swiper-pagination{
  height:0;
  width:auto;
  margin-top:0;
  left:calc(var(--spacing) * 5 + 1px);
  justify-content:flex-start;
  transform:translateY(-32px);
  z-index:11
}
[data-region="home-guide-capabilities"] .showcase-card__copy{padding-bottom:calc(var(--spacing) * 14)}
@media (max-width:639px){
  [data-region="home-guide-capabilities"] .showcase-card__copy{padding:20px 0 44px}
  [data-region="home-guide-capabilities"] .showcase .swiper-pagination{left:1px}
}
@media (min-width:1024px){
  [data-region="home-guide-capabilities"] .showcase .swiper-pagination{left:calc(50% + 42px);transform:translateY(-56px)}
  [data-region="home-guide-capabilities"] .showcase-card__copy{padding-bottom:48px}
}
/* Design feedback 2026-10-17 (HomeRepoImages) — guide image reaches the container edge */
[data-region="home-guide-capabilities"] .showcase-card:first-child .showcase-card__image{object-fit:cover;object-position:65% 50%}
@media (min-width:1024px){
  [data-region="home-guide-capabilities"] .showcase-card__image{width:calc(100% + 1px);margin-left:-1px}
}
/* Design feedback 2026-10-15 (1) — Top bar khuyến mãi */
/* Thanh nằm trong luồng bình thường, TRÊN header sticky: nó cuộn đi theo trang và header
   sau đó dính top:0 — không cần bù offset bất kỳ đâu. Góc vuông, không bóng, xanh thương hiệu.
   Nút đóng sinh ra `hidden` trong HTML, chỉ JS mở lên — không JS thì bar là băng rôn thường. */
[data-promo-bar]{background:#0b38d5;color:#fff;font-size:14px;line-height:20px}
[data-promo-bar][hidden]{display:none}
.promo-bar__inner{display:flex;align-items:center;gap:8px;padding-block:8px}
.promo-bar__link{flex:1 1 auto;min-width:0;text-align:center;color:inherit;font-weight:400;text-decoration-line:none;padding-block:2px}
.promo-bar__link strong{font-weight:600}
.promo-bar__link:focus-visible,.promo-bar__close:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (hover:hover){
  .promo-bar__link:hover{text-decoration-line:underline;text-underline-offset:3px}
}
.promo-bar__cta{display:inline-flex;align-items:center;gap:4px;margin-left:8px;font-weight:600;white-space:nowrap}
.promo-bar__cta svg{width:12px;height:12px;flex:none}
.promo-bar__close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0 -4px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}
.promo-bar__close svg{width:14px;height:14px}
@media (max-width:1023px){
  [data-promo-bar]{font-size:13px;line-height:18px}
  /* Vùng chạm tối thiểu 44×44: bar cao đúng 44px (link đệm dọc 13px + dòng chữ 18px),
     nút đóng chiếm trọn chiều cao — không âm margin, không tràn bar. */
  .promo-bar__inner{padding-block:0}
  .promo-bar__link{padding-block:13px}
  .promo-bar__close{width:44px;height:44px;margin:0}
}
@media (max-width:639px){
  .promo-bar__cta{display:none}
}
/* Menu mobile mở khi bar còn trên màn hình: menu (absolute từ header, max-height
   calc(100vh - 48px)) sẽ tràn đáy viewport vì header bị bar đẩy xuống — ẩn bar dưới
   `html.menu-open` để menu dùng được trọn vẹn và lớp phủ `::after` bám đúng header. */
html.menu-open [data-promo-bar]{display:none}

/* Design feedback 2026-10-15 (2) — Bảng đơn giá ước tính + chi phí ước tính */
/* Bảng đơn giá thứ hai trong `pp-specs` đứng ngay sau `p.detail-table__note` hiện có:
   tách 24px khỏi dòng ghi chú; dòng ví dụ sau bảng giữ nhịp `detail-table__note` sẵn có. */
.pp-specs .detail-table__note + .detail-table-wrap{margin-top:24px}
/* Ô chi phí ước tính trong form báo giá: JS điền chữ và bỏ `hidden`; typography khớp
   nhịp form (14px/1.5), viền trái xanh đậm nhấn khối ghi chú — góc vuông, không bóng. */
.quote-form__estimate{margin:0;padding:12px 16px;border-left:3px solid #2051da;background:#f5f7fb;font-size:14px;line-height:1.5}
.quote-form__estimate[hidden]{display:none}

/* Design feedback 2026-10-15 (3.1) — about-service: heading "Etch Lab là ai?" vào cột chữ */
/* DOM mới: cột chữ (h2 + các đoạn văn) trước, ảnh sau. Mobile: heading + chữ trước, ảnh dưới.
   Nhịp heading → đoạn văn giữ đúng nhịp title → content cũ (40px, 56px từ 1024px):
   margin-bottom của h2 khớp margin-top cũ của `.about-service__body`. */
.about-service__body{margin-top:0}
.about-service__body h2{margin:0 0 calc(var(--spacing) * 10)}
@media (min-width:64rem){
  .about-service__body h2{margin-bottom:calc(var(--spacing) * 14)}
}
/* Từ 1024px: lưới 2 cột — chữ trái, ảnh phải (tối đa 400px, `height:auto` giữ tỉ lệ gốc 768×939). */
@media (min-width:1024px){
  .about-service__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);align-items:center}
  .about-service__body>div{max-width:none;margin-inline:0}
  .about-service__body img{max-width:400px;margin-inline:0}
}

/* Design feedback 2026-10-15 (3.3) — about-company: 5 thẻ lý do, mỗi thẻ một icon riêng */
/* Thẻ vuông góc, viền hairline, icon 28px trong ô 56px nền brand — token hệ thống, không bóng. */
.about-company dl.about-company__list{display:grid;grid-template-columns:minmax(0,1fr);row-gap:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 8)}
.about-company__item{display:flex;align-items:flex-start;gap:calc(var(--spacing) * 4);background-color:var(--surface-base,#f8f9fc);border:1px solid var(--border-subtle,#e6eaf0);padding:calc(var(--spacing) * 6)}
.about-company__icon{flex:none;width:56px;height:56px;display:grid;place-items:center;background-color:var(--brand-surface,#dcf1ff);color:#0B38D5;clip-path:polygon(0 0,100% 0,100% 100%,12px 100%,0 calc(100% - 12px))}
.about-company__icon svg{width:28px;height:28px;display:block}
.about-company__text dt{line-height:calc(var(--spacing) * 6);font-weight:var(--font-weight-semibold);color:var(--color-line-ink)}
.about-company__text dd{margin-top:calc(var(--spacing) * 1);font-weight:var(--font-weight-light);line-height:calc(var(--spacing) * 6);color:#5f6368}
@media (min-width:768px){
  .about-company dl.about-company__list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:calc(var(--spacing) * 6)}
}

/* Design feedback 2026-10-15 (4) — about-locations: icon external-link 16px sau chữ "Xem bản đồ" */
.about-location address a svg{flex:none;width:16px;height:16px;margin-left:4px}

/* Design feedback 2026-10-15 (5) — contact hero: icon 20px trước chữ mỗi kênh (Hotline / Zalo / Email) */
/* Link đã là inline-flex căn giữa; icon trắng nhờ stroke currentColor trên nền hero xanh. */
.contact-hero__channels a svg{flex:none;width:20px;height:20px;margin-right:8px}

/* Design feedback 2026-10-16 (3) — about: liên hệ Zalo, hotline và Zalo OA */
.about-person__zalo a{display:inline-flex;align-items:center;min-height:44px;font-weight:var(--font-weight-semibold);color:var(--color-line-green);text-decoration-line:underline;text-underline-offset:2px}
.about-person__zalo a:focus-visible{outline:2px solid #2051da;outline-offset:2px}
.about-person__zalo a svg{flex:none;width:16px;height:16px;margin-right:6px}
.about-location__actions{display:flex;align-items:center;gap:calc(var(--spacing) * 3)}
.about-location address .about-location__call svg{flex:none;width:16px;height:16px;margin:0 6px 0 0}
.about-location address .about-location__zalo{flex:none;justify-content:center;width:44px;height:44px;min-height:44px;text-decoration-line:none}
.about-location address .about-location__zalo svg{flex:none;width:20px;height:20px;margin:0}

/* Design feedback 2026-10-16 (4) — 12 bài/trang và dải hồ sơ năng lực */
/* Chỉ lưới tin tức dùng bốn cột trên desktop; lưới thư viện và bài liên quan giữ ba cột. */
@media (min-width:1024px){
  .news-page .article-grid{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:calc(var(--spacing) * 5)}
}
/* CTA hồ sơ năng lực nằm trong container chung; ảnh xưởng cắt góc trái dưới.
   Hoạ tiết góc phải dùng đúng asset nền được duyệt để cạnh panel liền màu. */
[data-region="home-start-cta"].download-cta{border-block:0;background:#fff;padding-block:0;overflow:hidden}
[data-region="home-start-cta"] .download-cta__inner{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0;height:312.5px;min-height:312.5px;background:#fff;text-align:left}
[data-region="home-start-cta"] .download-cta__media{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover;clip-path:polygon(0 0,100% 0,100% 100%,48px 100%,0 calc(100% - 48px))}
[data-region="home-start-cta"] .download-cta__content{position:relative;display:flex;align-items:flex-start;justify-content:center;gap:8px;overflow:hidden;padding:24px clamp(32px,4vw,56px);background:#203b9b url("images/brochure-cta-bg.png") right top/cover no-repeat;color:#fff}
[data-region="home-start-cta"] .download-cta__content>*{position:relative;z-index:1}
[data-region="home-start-cta"] .download-cta__tag{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:rgb(255 255 255 / .82)}
[data-region="home-start-cta"] .cta-title{max-width:580px;margin:0;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:clamp(28px,2.4vw,36px);line-height:1.12}
[data-region="home-start-cta"] .download-cta__text{max-width:560px;margin:0;font-size:15px;line-height:1.6;color:rgb(255 255 255 / .9)}
[data-region="home-start-cta"] .download-cta__button{min-height:44px;margin-top:4px;border:0;border-radius:0;background:#fff;color:#1f35a3;box-shadow:none;clip-path:polygon(0 0,100% 0,100% 100%,12px 100%,0 calc(100% - 12px));font-weight:var(--font-weight-semibold)}
[data-region="home-start-cta"] .download-cta__button:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media (hover:hover){
  [data-region="home-start-cta"] .download-cta__button:hover{background:#e8edff;color:#1f35a3}
}
@media (max-width:1023px){
  [data-region="home-start-cta"] .download-cta__inner{grid-template-columns:minmax(0,1fr);height:auto;min-height:0;background:#fff}
  [data-region="home-start-cta"] .download-cta__media{height:auto;aspect-ratio:16/9;clip-path:polygon(0 0,100% 0,100% 100%,32px 100%,0 calc(100% - 32px))}
  [data-region="home-start-cta"] .download-cta__content{align-items:flex-start;padding:32px 24px 36px;background-position:right top}
}

/* Design feedback 2026-10-16 (5.x) — mobile navigation and scrollers */
@media (max-width:639px){
  .feature-nav{overflow-x:hidden}
  .feature-nav ul{display:flex;gap:0;width:100%;min-width:0;justify-content:stretch}
  .feature-nav li{display:flex;flex:1 1 0;min-width:0}
  .feature-nav a{flex:1 1 0;min-width:0;padding-inline:2px;justify-content:center;white-space:nowrap;font-size:13px;text-align:center}
  .about-executives,
  .about-locations,
  .about-company{width:100%;min-width:0;overflow-x:clip}
  .about-executives>.page-container,
  .about-locations>.page-container,
  .about-company>.page-container{width:calc(100vw - 30px);max-width:calc(100vw - 30px);min-width:0}

  [data-region="pp-ordering"] .detail-steps,
  [data-region="pp-related"] .product-grid,
  .about-people,
  .about-location-list,
  .about-company dl.about-company__list{display:flex;flex-wrap:nowrap;align-items:stretch;gap:16px;width:100%;max-width:100%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;scrollbar-width:none;contain:layout paint}
  [data-region="pp-ordering"] .detail-steps::-webkit-scrollbar,
  [data-region="pp-related"] .product-grid::-webkit-scrollbar,
  .about-people::-webkit-scrollbar,
  .about-location-list::-webkit-scrollbar,
  .about-company__list::-webkit-scrollbar{display:none}
  [data-region="pp-ordering"] .detail-steps>li,
  [data-region="pp-related"] .product-grid>.product-card,
  .about-people>.about-person,
  .about-location-list>.about-location,
  .about-company dl.about-company__list>.about-company__item{flex:0 0 calc((100% - 16px) / 1.2);min-width:0;align-self:stretch;scroll-snap-align:start}

  .pp-option__choices{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
  .pp-option__choices::-webkit-scrollbar{display:none}
  .pp-option__choice{flex:none;scroll-snap-align:start}

  .footer-bottom__top .footer-badges{flex-wrap:nowrap;gap:8px;width:100%}
  .footer-bottom__top .footer-store-badge{width:128px;height:38px}
  .footer-bottom__top .footer-store-badge img{width:128px;height:38px}
  .footer-bottom__legal p:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
}

/* Design feedback 2026-10-16 (8) — about: hero ảnh nhóm xưởng (eyebrow/lead/sub) + ảnh khuôn Magie chi tiết */
.about-hero{background-image:linear-gradient(180deg,rgba(15,16,20,.68),rgba(15,16,20,.56) 46%,rgba(15,16,20,.74)),var(--el-about-hero-image,url(images/ai-about-team-xuong-khuon.webp))}
.about-hero h1{margin:0 0 calc(var(--spacing) * 3);font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.18em;text-transform:uppercase;color:#fff}
.about-hero .about-hero__sub{margin-top:calc(var(--spacing) * 5);font-size:15px;font-weight:var(--font-weight-light);letter-spacing:0;line-height:1.6;color:#fff}
@media (max-width:47.99rem){
  .about-hero .about-hero__lead{font-size:24px}
  .about-hero .about-hero__sub{font-size:14px}
}

/* Design feedback 2026-10-16 (9.x) — HomeChrome: compact mobile type and news rows */
@media (max-width:639px){
  #main-content :where(h1,.about-hero p){font-size:28px;line-height:36px}
  #main-content :where(h2,.section-title,.cta-title){font-size:24px;line-height:32px}
  #main-content :where(h3,.showcase-card__heading,.article-card h3,.product-card h3,.case-card h3){font-size:18px;line-height:26px}
  #main-content :where(p,li,dd,dt,address){font-size:15px;line-height:24px}
  #main-content :where(.article-card__meta,.article-card__date,time,.hero__eyebrow,.download-cta__tag,.blog-navigation a,.blog-pagination__page){font-size:13px;line-height:20px}

  .news-page [data-region="blog-listing"] .article-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
  .news-page [data-region="blog-listing"] .article-card{display:grid;grid-template-columns:80px minmax(0,1fr);min-height:80px;border-radius:0}
  .news-page [data-region="blog-listing"] .article-card__image-link{grid-column:1;grid-row:1;align-self:start;width:80px;height:80px;overflow:hidden}
  .news-page [data-region="blog-listing"] .article-card__image{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
  .news-page [data-region="blog-listing"] .article-card__body{grid-column:2;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;align-content:start;gap:2px;min-width:0;min-height:0;padding:2px 0 2px 12px}
  #main-content.news-page [data-region="blog-listing"] .article-card__meta{grid-column:1;margin:0;font-size:12px;line-height:16px}
  #main-content.news-page [data-region="blog-listing"] .article-card h3{grid-column:1;margin:0;display:block;overflow:visible;font-size:14px;line-height:20px}
  .news-page [data-region="blog-listing"] .article-card__body>p:not(.article-card__meta){display:none}
  #main-content.news-page [data-region="blog-listing"] .article-card__date{grid-column:1;align-self:end;margin:0;font-size:12px;line-height:16px}
  .news-page [data-region="blog-listing"] .article-card__arrow{display:none}
}


/* Design feedback 2026-10-16 (10.x) — LibraryDesigns: album badge */
.gallery-card__album{position:absolute;top:8px;right:8px;padding:2px 8px;background:#0b38d5;color:#fff;font-size:12px;line-height:18px;font-weight:var(--font-weight-semibold)}

/* Design feedback 2026-10-17 (GuideMatAndOptions) — edge-to-edge guide thumbnails */
/* The image itself owns the rounded, shadowed frame. Keep its existing dimensions and
   per-slide crop, but do not reserve a white mat between the photograph and shadow. */
[data-region="home-guide-capabilities"] .showcase-card{overflow:visible}
[data-region="home-guide-capabilities"] .showcase-card__image{box-sizing:border-box;align-self:center;width:calc(100% - 24px);height:368px;margin-left:0;padding:0;border-radius:8px;background:#fff;box-shadow:0 12px 28px rgb(15 16 20 / .14);object-fit:cover}
[data-region="home-guide-capabilities"] .showcase-card:nth-child(1) .showcase-card__image{object-position:65% 50%}
[data-region="home-guide-capabilities"] .showcase-card:nth-child(2) .showcase-card__image{object-position:43% 48%}
[data-region="home-guide-capabilities"] .showcase-card:nth-child(3) .showcase-card__image{object-position:50% 46%}
[data-region="home-guide-capabilities"] .showcase-card:nth-child(4) .showcase-card__image{object-position:53% 48%}
[data-region="home-service-paths"] .showcase--industry .showcase-card__image{display:block;width:100%;height:min(65vw,335px);max-height:335px;object-fit:cover}
[data-region="home-service-paths"] .showcase-card:nth-child(1) .showcase-card__image{object-position:50% 43%}
[data-region="home-service-paths"] .showcase-card:nth-child(2) .showcase-card__image{object-position:64% 50%}
[data-region="home-service-paths"] .showcase-card:nth-child(3) .showcase-card__image{object-position:50% 50%}
[data-region="home-service-paths"] .showcase-card:nth-child(4) .showcase-card__image{object-position:64% 50%}
[data-region="home-service-paths"] .showcase-card:nth-child(5) .showcase-card__image{object-position:63% 50%}
[data-region="home-service-paths"] .showcase-card:nth-child(6) .showcase-card__image{object-position:52% 50%}
[data-region="home-service-paths"] .showcase-card:nth-child(7) .showcase-card__image{object-position:65% 50%}
@media (max-width:1023px){
  [data-region="home-guide-capabilities"] .showcase-card{border:0}
  [data-region="home-guide-capabilities"] .showcase-card__image{align-self:auto;width:100%;height:auto;aspect-ratio:4/3;margin:20px 0 0;padding:0}
}

/* Design feedback 2026-10-17 (NewsListing) — single-line news topic scroller */
.news-page .section-stack{grid-template-columns:minmax(0,1fr)}
.blog-tags-row{min-width:0}
.blog-tags{position:relative;display:flex;flex-wrap:nowrap;align-items:stretch;gap:8px;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 20px 2px 2px;scroll-snap-type:inline proximity;scrollbar-width:none;mask-image:linear-gradient(to right,transparent,#000 16px,#000 calc(100% - 24px),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 16px,#000 calc(100% - 24px),transparent)}
.blog-tags::-webkit-scrollbar{display:none}
.blog-tags a{display:inline-flex;flex:none;align-items:center;min-height:44px;padding-inline:12px;scroll-snap-align:start}
.blog-tags a[aria-current="page"]{border-color:var(--color-line-green);color:var(--color-line-green)}
.blog-tags.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.blog-tags:focus-visible{outline:2px solid #2051da;outline-offset:3px}

/* Design feedback 2026-10-17 (HomeFixes) — guide image shadow and slide isolation */
[data-region="home-guide-capabilities"],[data-region="home-guide-capabilities"] .showcase,[data-region="home-guide-capabilities"] .showcase .swiper-wrapper,[data-region="home-guide-capabilities"] .showcase-card,[data-region="home-guide-capabilities"] .showcase-card__copy{box-shadow:none}
[data-region="home-guide-capabilities"] .showcase{overflow:clip;overflow-clip-margin:28px}
[data-region="home-guide-capabilities"] .showcase-card:not(.swiper-slide-active){visibility:hidden}
[data-region="home-guide-capabilities"] .showcase-card__image{box-shadow:0 12px 28px rgba(15,16,20,.14)}

/* Design feedback 2026-10-17 (NavIconTitleWrap) — external navigation icons and card titles */
.desktop-nav__menu a[target="_blank"],.mobile-menu__submenu a[target="_blank"]{display:flex;align-items:center;gap:6px}
.nav-external-icon{flex:none;width:16px;height:16px;stroke:currentColor;stroke-width:1.75}
.article-grid .article-card h3,.search-results-list .article-card h3,.library-latest .article-card h3,.related-articles .article-card h3{text-wrap:normal;text-wrap:pretty}

/* Chỉ đạo người dùng 2026-10-17 (4) — Google Dịch website */
body{top:0!important}
body > .skiptranslate,iframe.skiptranslate,#goog-gt-tt,.goog-te-balloon-frame{display:none!important}
#etchlab-google-translate{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.goog-text-highlight{background-color:transparent!important;box-shadow:none!important}
