/* Shared type roles across public pages. Keep hero and illustration scales intentional. */
:root {
  --font-heading:"Roboto Condensed",Arial,sans-serif;
  --font-body:Arial,Helvetica,sans-serif;
  --type-body:17px; --type-small:14px; --type-label:13px;
  --type-card:24px; --type-section:clamp(32px,4vw,48px);
}
body { font-family:var(--font-body); font-size:var(--type-body); line-height:1.65; }
h1,h2,h3,h4,h5,h6 { font-family:var(--font-heading); }
button,input,textarea,select { font-family:var(--font-body); }
.nav-links a { font-family:var(--font-heading); font-size:14px; }
.btn { font-family:var(--font-heading); font-size:16px; line-height:1.35; }
.eyebrow { font-family:var(--font-heading); font-size:var(--type-label); line-height:1.5; }
.section-title { font-size:var(--type-section); line-height:1.15; }
.section-sub { font-size:18px; line-height:1.65; }
.card h3,.international-service h3,.mission-capability h3,.phase-content h3 { font-size:var(--type-card); line-height:1.25; }
.card p,.international-service p,.mission-capability p { font-size:16px; line-height:1.65; }
.phase-tag,.capability-story-phase { font-family:var(--font-body); font-size:var(--type-label); line-height:1.5; }
.phase-detail ul,.capability-details .svc-pill { font-family:var(--font-body); font-size:16px; line-height:1.6; }
.phase-detail a,.phase-detail summary { font-size:var(--type-small); line-height:1.5; }
.field label { font-size:var(--type-small); line-height:1.5; }
.field input,.field textarea,.field select { font-size:16px; line-height:1.5; }
.footer-grid p,.footer-grid a { font-size:15px; line-height:1.6; }
.footer-grid h5 { font-size:var(--type-label); line-height:1.5; letter-spacing:.1em; }
.footer-bottom { font-size:var(--type-small); }
/* These are large scene titles rather than card headings. */
.spa-departure h2:not(.section-title),.spa-arrival h2 { font-size:clamp(40px,5vw,60px); line-height:1.1; }
@media(max-width:940px) { .nav-links a { font-size:16px; } }
@media(max-width:600px) {
 .nav-cta .btn { font-size:14px; }
 .section-sub { font-size:17px; }
 .section-title { font-size:32px; }
}

/* Interior page titles share one scale; cinematic and fixed-line heroes stay distinct. */
.page-hero:not(.spa-visual-hero) h1,.hero h1.hero-h1--two,.section-head h1.section-title { font-size:clamp(34px,5vw,56px); line-height:1.12; }
