/* A quiet header and consistent text alignment across both language versions. */
.hero h1.hero-lead{font-size:32px;font-weight:400;line-height:1.3;letter-spacing:-1.1px;margin:0 0 24px;color:#262626}
@media(min-width:1025px) and (hover:hover) and (pointer:fine){.hero h1.hero-lead{color:#6696b3}}
@media(max-width:1250px){.hero h1.hero-lead{font-size:29px}}
@media(max-width:1024px){.hero h1.hero-lead{font-size:25px;letter-spacing:-.8px}}
@media(max-width:800px){.hero h1.hero-lead{font-size:23px;letter-spacing:-.7px}}
@media(max-width:600px){.hero h1.hero-lead{font-size:25px;letter-spacing:-.8px}}
@media(max-width:380px){.hero h1.hero-lead{font-size:22px}}
.site-header{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;min-height:0;padding:14px var(--gutter) 0}
.site-header .header-top{position:relative;display:flex;justify-content:center;align-items:center;width:100%}
.site-header .brand{display:block;flex:none;max-width:none;margin:0 auto}
.site-header .company-logo{width:158px}
.site-header .header-language{position:absolute;right:0;top:50%;transform:translateY(-50%)}
.site-header .language-switch{gap:16px}
.site-header .language-switch a{min-height:44px;font-size:9px}
.site-header .header-contact-row{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;margin:4px 0 0;font:400 12px/1.5 var(--font);letter-spacing:0;color:var(--ink)}
.site-header .header-descriptor{font:inherit;letter-spacing:inherit;white-space:nowrap}
.site-header .header-call{display:inline-flex;align-items:center;justify-content:flex-end;flex:none;width:auto;height:auto;min-height:44px;padding:0;border:0;border-radius:0;font:inherit;letter-spacing:inherit;white-space:nowrap;color:inherit;background:transparent}
.site-header .header-call:hover{background:transparent;text-decoration:underline;text-underline-offset:4px}
.site-header nav{display:flex;order:0;justify-content:space-between;gap:16px;width:100%;margin:0;border-top:1px solid var(--line);font-size:10px}
.site-header nav a{min-height:40px}
.button,.text-link,.product-page-link{justify-content:flex-start}
.mobile-contact{display:none}
body{padding-bottom:0}
@media(max-width:1024px),(hover:none),(pointer:coarse){
  .desktop-punctuation{display:none}
  .hero-copy,.hero-lead,.hero .intro,.connectivity,.selection-intro,.selection-step,.section-heading,.service-card,.regional-heading,.product-body,.document-body,.contact-heading,.contact-details,.detail-intro,.detail-section{text-align:left}
  .hero .intro,.connectivity,.section-heading>p,.selection-step p,.service-card p,.contact-heading>p:not(.eyebrow),.detail-price-note{max-width:100%}
  .hero-product-caption{left:10%;right:auto;text-align:left}
  .product-price-row strong,.detail-price strong{text-align:left}
  .button,.text-link,.product-page-link,.document-actions a{gap:0}
}
@media(max-width:800px){
  .site-header{padding-top:10px;flex-wrap:nowrap}
  .site-header .company-logo{width:132px}
  .site-header .header-contact-row{font-size:11px;gap:12px;margin-top:2px}
  .site-header .language-switch{gap:14px}
  .site-header .language-switch a{font-size:8px}
  .site-header nav{font-size:9px;gap:10px;min-width:0}
  .hero-actions{align-items:center}
  footer{margin-left:var(--gutter);margin-right:var(--gutter)}
}
@media(max-width:359px){
  .site-header .company-logo{width:124px}
  .site-header nav{gap:8px;font-size:8px}
}
@media(max-width:600px){
  .site-header .header-contact-row{font-size:clamp(8.5px,2.5vw,11px);gap:8px}
}

/* Set reading paragraphs to both edges, with a natural last line. */
.hero .intro,.connectivity,.selection-step p,.section-heading>p,
.service-card p,.regional-heading>p:last-child,.notice,.catalog-note,
.document-body>p:not(.eyebrow),.document-note,
.contact-heading>p:not(.eyebrow),.detail-section p:not(.eyebrow),.detail-price-note{
  text-align:justify;
  text-align-last:left;
  text-justify:inter-word;
  -webkit-hyphens:auto;
  hyphens:auto;
  overflow-wrap:break-word;
}
@media(max-width:600px){
  .hero .intro,.connectivity,.section-heading>p,.contact-heading>p:not(.eyebrow){max-width:100%;width:100%}
  .selection-step{grid-template-columns:1fr;gap:10px}
  .selection-step .step-number{margin-bottom:0;padding-top:0}
  .selection-step h3,.selection-step p{margin-left:0}
  .contact-heading h2{max-width:none}
  .detail-table th:first-child,.detail-table td:first-child{padding-left:0}
  .detail-table td:last-child{padding-right:0}
}

/* Put the model at the right edge and its features beside it on phones. */
@media(max-width:600px){
  .product-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px;align-items:center}
  .product-body>.eyebrow{grid-column:1/-1;grid-row:1;margin-bottom:8px}
  .product-body>h3{grid-column:2;grid-row:2;min-width:0;min-height:0;margin:0 0 22px;text-align:right;justify-self:end}
  .product-body>.product-features{grid-column:1;grid-row:2;min-width:0;align-self:start;display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin:0 0 22px;font-size:10px;line-height:1.65}
  .product-body>.product-features li{gap:7px}
  .product-body>.product-price-row{grid-column:1/-1;grid-row:3;width:100%}
  .product-body>.product-option,.product-body>.quick,.product-body>details,.product-body>.product-page-link{grid-column:1/-1;min-width:0;width:100%}
}

/* Ordering terms share the existing service-card typography. */
.purchase-terms{border-top:1px solid var(--line)}
.purchase-terms .service-card p+p{margin-top:14px}
.purchase-terms .service-card .text-link{margin-top:14px;font-size:11px;min-height:44px}
.purchase-terms .service-card p{text-align:justify;text-align-last:left;hyphens:auto}
.purchase-terms #returns{scroll-margin-top:30px}
.purchase-summary{margin-top:18px}
footer{flex-wrap:wrap;gap:18px}
