/* Single typography authority for creative.html
   Legacy styles own layout and materials only — keep new type rules here */
:root{
  --font:"Be Vietnam Pro","Segoe UI",Arial,sans-serif;
  --type-display:clamp(1.625rem,9.2cqi,3.5rem);
  --type-panel-title:clamp(1.375rem,calc(1.125rem + .8333vw),1.75rem);
  --type-process:clamp(1.125rem,calc(1rem + .4167vw),1.5rem);
  --type-section:clamp(2rem,calc(1.5rem + 1.6667vw),3.25rem);
  --type-card:clamp(1.5rem,calc(1.25rem + .8333vw),2rem);
  --type-subheading:clamp(1.25rem,calc(1.125rem + .4167vw),1.5rem);
  --type-lead:clamp(1.125rem,calc(1rem + .4167vw),1.25rem);
  --type-body:clamp(1rem,calc(.9375rem + .2083vw),1.0625rem);
  --type-action:.9375rem;
  --type-label:clamp(.8125rem,calc(.75rem + .2083vw),.875rem);
  --type-legal:clamp(1rem,calc(.875rem + .4167vw),1.125rem);
  --type-brand-inline:clamp(1.0625rem,calc(.9375rem + .625vw),1.5rem);
  --type-contact-phone:clamp(1.625rem,min(calc(.1rem + 7.6vw),14cqi),3rem);
  --type-contact-email:clamp(1rem,calc(.875rem + .4167vw),1.25rem);
  --weight-body:400;
  --weight-medium:600;
  --weight-heading:700;
  --weight-display:800;
  --leading-display:1.16;
  --leading-heading:1.25;
  --leading-body:1.65;
  --leading-label:1.5;
}

.company-details p,.company-details address{font-size:var(--type-body);line-height:var(--leading-body);letter-spacing:0}
.company-details strong{font-weight:var(--weight-heading)}
.company-details .company-identity{font-size:var(--type-legal);line-height:var(--leading-body);letter-spacing:0}
.company-details .company-identity strong{font-weight:var(--weight-medium)}
.contact-label{font-size:var(--type-body);font-weight:var(--weight-medium);line-height:var(--leading-body);letter-spacing:0}
.request-disclosure>summary{font-size:var(--type-body);line-height:var(--leading-body);letter-spacing:0}
.request-disclosure-hint{font-size:var(--type-action);font-weight:var(--weight-body);line-height:var(--leading-body);letter-spacing:0}

body{
  font-size:var(--type-body);
  font-weight:var(--weight-body);
  line-height:var(--leading-body);
  letter-spacing:0;
}
h1,h2,h3{font-weight:var(--weight-heading);line-height:var(--leading-heading);letter-spacing:-.02em;text-wrap:balance}
strong{font-weight:var(--weight-heading)}

/* One display headline, then one shared scale for the four main sections */
.hero h1{font-size:var(--type-display);font-weight:var(--weight-display);line-height:var(--leading-display);letter-spacing:-.025em}
.services-heading h2,.reuse-heading h2,.about h2,.contact h2{font-size:var(--type-section)}

/* Compact statement, model cards and contact names share the next level */
.intro-story h2,.service-item h3,.carriers .carrier-heading,.contact-people h3{font-size:var(--type-card);letter-spacing:-.015em}
.assurances h3,.coverage-title,.benefit-link strong{font-size:var(--type-subheading);font-weight:var(--weight-heading);line-height:var(--leading-heading);letter-spacing:-.025em}
.contact-phone{font-size:var(--type-contact-phone);font-weight:var(--weight-display);line-height:1.25;letter-spacing:-.025em;font-variant-numeric:tabular-nums}

/* Horizontal company lettering uses native font rendering; header retains the SVG */
.company-details .company-wordmark{font-family:"Segoe UI",Manrope,Arial,sans-serif;font-weight:var(--weight-heading);font-synthesis:none}
.company-details .company-wordmark{font-size:var(--type-brand-inline);line-height:1.25;letter-spacing:-.015em}
.company-wordmark .wordmark-logistics{letter-spacing:.025em}
.contact .contact-people .contact-label{font-size:var(--type-label);font-weight:var(--weight-heading);line-height:var(--leading-label);letter-spacing:.055em}
.contact .contact-people .contact-email>a{font-size:var(--type-contact-email);font-weight:var(--weight-medium);line-height:var(--leading-body);letter-spacing:0}
.company-location-no{font-size:var(--type-label);font-weight:var(--weight-display);line-height:var(--leading-label);letter-spacing:0}

/* Descriptions do not get smaller at tablet or phone breakpoints */
.hero .hero-intro{font-size:var(--type-lead);line-height:var(--leading-body)}
.service-item>p:not(.eyebrow),.about-intro,.contact-heading>p{ text-wrap:pretty }
.intro-story p,.service-item>p:not(.eyebrow),.about-intro,
.operational-proof li,.assurances details p,.coverage>p,
.contact-heading>p,.shipment-prep li,.contact-email>a,.contact-email>span,.reuse-condition{
  font-size:var(--type-body);
  line-height:var(--leading-body);
}
.operational-proof strong,.shipment-prep li{font-weight:var(--weight-medium)}

/* Equal action text, including the previously overridden benefit link */
.header-contact,.hero .button,.button,.text-link,.call-link,
.service-play,.city-playback button,.city-contact,.benefit-link>span.benefit-action,
.contact-bottom a,.skip-link{
  font-size:var(--type-action);
  font-weight:var(--weight-heading);
  line-height:1.4;
  letter-spacing:0;
}

/* Short identifiers retain capitals; descriptive labels use sentence case. */
.eyebrow,.section-top .eyebrow,.section-meta,
.section-top-connected .eyebrow,.section-top-connected .section-meta,
.service-item .eyebrow,.service-tag,.service-no,
.contact-people>article>p,.contact-email>p,.contact-bottom{
  font-size:var(--type-label);
  font-weight:var(--weight-heading);
  line-height:var(--leading-label);
  letter-spacing:.04em;
}
.section-meta,.service-item .eyebrow,.about .eyebrow,.contact-lead .eyebrow{font-weight:var(--weight-medium);letter-spacing:0;text-transform:none}
.hero-art figcaption,.hero-art figcaption a,.reuse-world figcaption,
.benefit-link>span:first-child,.site-footer,.asset-credit{
  font-size:var(--type-label);
  font-weight:var(--weight-body);
  line-height:var(--leading-label);
  letter-spacing:0;
}
.assurances summary>span:first-child{font-size:var(--type-label);font-weight:var(--weight-heading);line-height:var(--leading-label)}
/* Sa bàn controls share the established action hierarchy */
.city-navigation .city-zoom-in,.city-navigation .city-zoom-out{font-size:var(--type-subheading);line-height:1.2}
#city-zoom-value{font-size:var(--type-action);font-weight:var(--weight-medium);line-height:1.4}
.about-story h2,.carriers .carrier-heading{font-size:var(--type-panel-title)}
.section-top-connected .section-meta{font-size:var(--type-card);font-weight:var(--weight-heading);line-height:var(--leading-heading);letter-spacing:-.015em}
.section-top-connected .eyebrow{font-size:var(--type-card);font-weight:var(--weight-heading);line-height:var(--leading-heading);letter-spacing:-.015em}
.reuse-process h3{font-size:var(--type-process);font-weight:var(--weight-heading);line-height:var(--leading-heading);letter-spacing:-.015em}
.reuse-process p{font-size:var(--type-body);line-height:var(--leading-body)}
.process-no{font-size:var(--type-action);font-weight:var(--weight-heading);line-height:1}
.process-evidence{font-size:var(--type-label);font-weight:var(--weight-medium);line-height:var(--leading-label)}
.service-saving>span{font-size:var(--type-action);font-weight:var(--weight-medium);line-height:var(--leading-body)}
.service-saving strong{font-size:var(--type-card);font-weight:var(--weight-display);line-height:var(--leading-heading);letter-spacing:-.015em}
.page-return a{font-size:var(--type-action);font-weight:var(--weight-heading);line-height:1.4}
.reuse-guide h2{font-size:var(--type-card)}
.reuse-questions summary{font-size:var(--type-subheading);font-weight:var(--weight-heading);line-height:var(--leading-heading);letter-spacing:-.015em}
