@font-face{font-family:"SOMOTO Sans";src:url("/assets/fonts/brand/somoto-sans-930174fc6ce0.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"SOMOTO Headline";src:url("/assets/fonts/brand/somoto-headline-9af97a852216.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:"SOMOTO Racing";src:url("/assets/fonts/brand/somoto-racing-d8bed12d5290.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

/* Shared public brand type. Sizes stay responsive; product values remain ordinary text. */
:root {
  --somoto-type-body: "SOMOTO Sans", "Noto Sans TC", "Microsoft JhengHei", sans-serif;
  --somoto-type-heading: "SOMOTO Headline", "Noto Sans TC", "Microsoft JhengHei", sans-serif;
  --somoto-type-racing: "SOMOTO Racing", "Arial Narrow", sans-serif;
}
body {font-family:var(--somoto-type-body);font-weight:400;line-height:1.8;font-synthesis:weight;-webkit-font-smoothing:antialiased;}
body :is(button,input,select,textarea) {font-family:var(--somoto-type-body);}
body :is(h1,h2,h3,h4) {font-family:var(--somoto-type-heading)!important;font-weight:900!important;word-break:normal;overflow-wrap:anywhere;}
body :is(h1,h2) {text-wrap:balance;}
body h1 {letter-spacing:-.015em;}
body :is(button,.button,.primary,.channel-link,summary) {font-family:var(--somoto-type-body);line-height:1.65;}
body :is(input,select,textarea) {font-size:16px;}
.desktop-nav {font-size:14px;font-weight:600;}
.mobile-menu a {font-size:16px;line-height:1.8;min-height:48px;}
.breadcrumb,.news-breadcrumb {font-size:13px;line-height:1.8;}
.preview-ribbon {font-size:11px;letter-spacing:.06em;}
.preview-ribbon span {font-size:10px;}
:is(.eyebrow,.section-label,.small-label,.fitment-eyebrow,.news-eyebrow,.story-chapter-number,.story-help-kicker,.home-news-kicker) {
  font-family:var(--somoto-type-racing),var(--somoto-type-heading);font-weight:700;letter-spacing:.1em;
}
.news-latin {font-family:var(--somoto-type-racing);font-weight:700;}
:is(.featured-price,.card-price,.price-row strong,.results-heading strong,.mobile-buy strong) {
  font-family:var(--somoto-type-racing)!important;font-weight:700!important;font-variant-numeric:tabular-nums;letter-spacing:.01em;
}
.price-row :is(.currency,.price-unit),.featured-price>span,.card-price small {font-family:var(--somoto-type-body);letter-spacing:0;}
.brand-home .brand-hero h1 {font-size:clamp(44px,4.7vw,68px);line-height:1.33;letter-spacing:-.015em;}
.brand-home .brand-hero .hero-description {font-size:16px;line-height:1.95;}
.brand-home .hero-actions .button {font-size:14px;line-height:1.7;min-height:48px;}
.brand-home .brand-hero .hero-search input {font-size:16px;line-height:1.6;}
.brand-home .brand-hero .search-shortcuts a {font-size:13px;line-height:1.6;min-height:40px;display:inline-flex;align-items:center;padding:8px 12px;}
.brand-home .brand-finder .field :is(select,input) {font-size:16px;line-height:1.6;min-height:48px;}
.brand-home .brand-finder .field label {font-size:14px;line-height:1.8;}
.brand-home .featured .section-heading>p,.brand-home .shop-heading>div>p:not(.section-label) {font-size:15px;line-height:1.9;}
.brand-home .contact-channels p {font-size:13px;line-height:1.85;}
.brand-home .contact-channels>a>span {font-family:var(--somoto-type-racing);font-size:12px;}
.brand-home .partner-section p:not(.section-label) {font-size:16px;line-height:1.9;}
.brand-home .featured-info h3,.brand-home .news-card h3 {line-height:1.65;letter-spacing:0;}
.unified-product .product-title-block h1 {font-size:clamp(30px,3.4vw,48px);line-height:1.4;letter-spacing:-.01em;text-wrap:balance;}
.unified-product .product-intro {font-size:16px;line-height:1.9;}
.unified-product :is(.product-photo-note,.product-chip-note,.product-option-note,.product-inquiry-note,.price-note,.channel-choice p) {font-size:13px;line-height:1.85;}
.unified-product .quick-specs span {font-size:13px;line-height:1.7;}
.unified-product .product-price-label {font-size:13px;}
.unified-product .product-field-heading h2 {font-size:17px;line-height:1.6;}
.unified-product .product-field-heading a {font-size:13px;line-height:1.8;}
.unified-product :is(.product-option-label,.product-quantity label) {font-size:14px;line-height:1.8;}
.unified-product :is(.channel-link,.product-line,.product-current-choice,.finish) {font-size:15px;line-height:1.8;}
.unified-product :is(.channel-link,.product-line,.primary) {min-height:48px;}
.unified-product .product-line {display:inline-flex;align-items:center;}
.unified-product .product-origin-panel>div>span {font-size:13px;}
.unified-product .product-origin-panel strong {font-size:15px;font-weight:600;line-height:1.7;}
.unified-product .product-origin-panel p {font-size:13px;line-height:1.9;}
.unified-product :is(.unified-section-heading>p,.product-spec-note p,.product-install-steps p,.product-faq p,.source-prose p,.product-muted) {font-size:16px;line-height:1.95;}
.unified-product .product-faq summary {font-size:16px;line-height:1.9;min-height:44px;}
.unified-product .spec-table>div {font-size:15px;line-height:1.9;}
.unified-product .spec-table dt {font-size:14px;font-weight:600;}
.unified-product .spec-table dd {font-size:16px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
.unified-product .spec-table small {font-size:12px;}
.unified-product .section-nav a {font-size:14px;min-height:44px;line-height:1.7;}
.unified-product :is(.inquiry-summary>div,.dialog-note,.inquiry-product p) {font-size:15px;line-height:1.85;}
.unified-product .mobile-buy small {font-size:12px;line-height:1.6;}
.unified-product .mobile-buy :is(.primary,.product-mobile-buy) {font-size:14px;line-height:1.6;}
.catalog-card h2 {font-size:15px;line-height:1.8;letter-spacing:0;}
:is(.catalog-heading,.service-heading,.shop-page-intro,.cloud-generic,.source-section,.source-agency,.guide-steps) p {font-size:16px;line-height:1.9;}
.cloud-public-card h3 {line-height:1.7;letter-spacing:0;}
footer :is(p,nav,a) {line-height:1.85;}
footer nav a {font-size:14px;}
.brand-home .footer-links a {font-size:14px;line-height:1.85;}
.brand-home .home-news-actions a,.brand-home .home-news-heading>a,.brand-home .home-news-latest-heading>a,.brand-home .home-news-shopping>a {font-size:14px;line-height:1.8;min-height:44px;}
.brand-home .home-news-latest li a {font-size:15px;line-height:1.85;}
@media (max-width:800px) {
  body {line-height:1.85;}
  .brand-home .brand-hero h1 {font-size:clamp(34px,8.8vw,43px);line-height:1.4;letter-spacing:0;}
  .brand-home .brand-hero .hero-description {font-size:16px;line-height:1.95;}
  .brand-home .brand-hero .search-shortcuts {flex-wrap:wrap;gap:8px;}
  .brand-home .brand-hero .search-shortcuts a {font-size:13px;min-height:44px;}
  .brand-home .featured .section-heading>p {font-size:15px;max-width:100%;}
  .brand-home .contact-channels strong {font-size:16px;line-height:1.8;}
  .brand-home .contact-channels p {font-size:13px;}
  .brand-home .mobile-dock a {font-size:12px;line-height:1.6;min-height:56px;}
  .unified-product .product-title-block h1 {font-size:clamp(28px,8vw,36px);line-height:1.45;letter-spacing:0;}
  .unified-product .product-intro {font-size:16px;}
  .unified-product .unified-section-heading h2 {font-size:27px;line-height:1.5;letter-spacing:0;}
  .unified-product .spec-table>div {grid-template-columns:82px minmax(0,1fr);gap:14px;}
  .unified-product .channel-link {padding:13px 12px;font-size:14px;}
  .unified-product .product-action-row>.primary {font-size:14px;line-height:1.6;}
  .unified-product .mobile-buy {gap:8px;}
  .unified-product .mobile-buy .primary {padding-inline:12px;}
  .catalog-card h2 {font-size:14px;line-height:1.85;}
  :is(.catalog-heading,.service-heading,.cloud-generic,.source-agency) h1 {letter-spacing:0;line-height:1.45;}
  .desktop-nav {font-size:14px;}
}
@media (prefers-reduced-motion:reduce) {html {scroll-behavior:auto;}}
