@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@300;500;700&display=swap");

:root {
  --font: "Manrope", "Segoe UI", sans-serif;
  --light: 300;
  --medium: 500;
  --bold: 700;
  --charcoal: #151311;
  --charcoal-2: #24211d;
  --yellow: #fec300;
  --yellow-deep: #fe9b00;
  --blue: #fec300;
  --blue-soft: #242424;
  --paper: #f7f5f0;
  --white: #fffef9;
  --muted: #6b6860;
  --line: rgba(21, 19, 17, .18);
  --line-light: rgba(255, 254, 249, .22);
  --max: 1320px;
  --gutter: clamp(20px, 5vw, 72px);
  --section: clamp(74px, 8vw, 118px);
}

* { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; color: #f1f1ef; background: #171717; font-family: var(--font); font-size: 16px; font-weight: var(--light); line-height: 1.6; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
h1, h2, h3, h4, strong, b { font-weight: var(--bold); }
h1, h2, h3, p { margin-top: 0; }
p { text-wrap: pretty; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
::selection { color: #f1f1ef; background: var(--yellow); }

.container { width: min(var(--max), calc(100% - (var(--gutter) * 2))); margin: 0 auto; }
.skip-link { position: fixed; top: -60px; left: 20px; z-index: 100; padding: 10px 14px; color: var(--white); background: var(--charcoal); font-size: 12px; font-weight: var(--medium); }
.skip-link:focus { top: 20px; }
.eyebrow { display: flex; align-items: center; gap: 0; margin-bottom: 18px; color: #fec300; font-size: 11px; font-weight: var(--bold); letter-spacing: .14em; text-transform: uppercase; }
.eyebrow::before { display: none; }
.section { position: relative; padding: var(--section) 0; }
.section-title { max-width: 840px; margin-bottom: 0; font-size: clamp(2.35rem, 4.4vw, 5.2rem); letter-spacing: -.075em; line-height: .98; text-wrap: balance; }
.section-title { font-size: clamp(1.645rem, 3.08vw, 3.64rem); }
.section-lede { max-width: 470px; color: #bdbdb9; font-size: 15px; line-height: 1.7; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 48px; padding: 0 20px; border: 1px solid transparent; border-radius: 999px; font-size: 12px; font-weight: var(--bold); transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease; }
.button span { font-size: 18px; font-weight: var(--light); line-height: 0; }
.button:hover { transform: translateY(-3px); }
.button-yellow { color: #f1f1ef; background: var(--yellow); }
.button-yellow:hover { background: #171717; }
.button-outline { border-color: currentColor; color: inherit; background: transparent; }
.button-outline:hover { color: #f1f1ef; background: var(--yellow); border-color: var(--yellow); }
.text-link { display: inline-flex; align-items: center; gap: 10px; padding-bottom: 5px; border-bottom: 1px solid currentColor; font-size: 12px; font-weight: var(--bold); }
.text-link span { font-size: 18px; font-weight: var(--light); line-height: 0; }

.utility { color: var(--white); background: var(--charcoal); }
.utility-inner { display: flex; align-items: center; justify-content: space-between; min-height: 34px; gap: 18px; font-size: 10px; font-weight: var(--medium); letter-spacing: .05em; }
.utility-left, .utility-right { display: flex; flex-wrap: wrap; gap: 20px; }
.utility a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.utility strong { color: var(--yellow); letter-spacing: .13em; }
.site-header { position: sticky; top: 0; z-index: 30; background: rgba(15,15,15,.93); backdrop-filter: blur(16px); }
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 80px; gap: 28px; }
.logo { display: inline-flex; align-items: center; gap: 10px; width: max-content; font-size: 17px; font-weight: var(--bold); letter-spacing: .14em; }
.logo-mark { display: grid; place-items: center; width: 31px; height: 31px; border: 2px solid var(--charcoal); border-radius: 50%; color: #f1f1ef; font-size: 18px; font-weight: var(--medium); line-height: 1; }
.nav { display: flex; align-items: center; gap: clamp(17px, 2.7vw, 35px); margin-left: auto; font-size: 12px; font-weight: var(--medium); }
.nav a { position: relative; padding: 9px 0; }
.nav a::after { display: none; }
.header-cta { min-height: 43px; padding-inline: 18px; color: var(--white); background: #242424; }
.header-cta:hover { color: #f1f1ef; background: var(--yellow); }
.menu-button { display: none; width: 42px; height: 42px; border: 1px solid var(--charcoal); border-radius: 50%; color: #f1f1ef; background: transparent; }
.menu-button span { display: block; width: 17px; height: 1px; margin: 4px auto; background: currentColor; }

.hero { position: relative; min-height: min(790px, calc(100dvh - 114px)); overflow: hidden; color: var(--white); background: var(--charcoal); border-radius: 0 0 0 34px; }
.hero::before { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(21, 19, 17, .88) 0%, rgba(21, 19, 17, .52) 32%, rgba(21, 19, 17, .08) 74%), linear-gradient(0deg, rgba(21, 19, 17, .44), transparent 55%); content: ""; z-index: 1; }
.hero-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero .container { position: relative; z-index: 2; display: flex; align-items: center; min-height: inherit; padding-top: 42px; padding-bottom: 108px; }
.hero-copy { width: min(820px, 100%); }
.hero .eyebrow { color: var(--yellow); }
.hero h1 { max-width: 820px; margin-bottom: 24px; font-size: clamp(3.6rem, 6.6vw, 7.6rem); letter-spacing: -.095em; line-height: .9; text-wrap: balance; }
.hero h1 { font-size: clamp(2.52rem, 4.62vw, 5.32rem); }
.hero h1 span { color: var(--yellow); }
.hero-description { max-width: 590px; margin-bottom: 30px; color: rgba(255, 254, 249, .84); font-size: 16px; line-height: 1.62; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-note { position: absolute; right: var(--gutter); bottom: 111px; display: flex; align-items: flex-start; gap: 12px; width: 250px; padding: 16px 18px; color: #f1f1ef; background: var(--yellow); border-radius: 9px 9px 32px 9px; box-shadow: 0 18px 44px rgba(0, 0, 0, .18); }
.hero-note::before { width: 10px; height: 10px; margin-top: 5px; border-radius: 50%; background: #242424; box-shadow: 0 0 0 5px rgba(254, 195, 0, .18); content: ""; flex: 0 0 auto; }
.hero-note small { display: block; margin-bottom: 4px; font-size: 9px; font-weight: var(--bold); letter-spacing: .1em; text-transform: uppercase; }
.hero-note strong { display: block; font-size: 14px; line-height: 1.16; }
.hero-scroll { position: absolute; right: var(--gutter); bottom: 30px; z-index: 2; display: flex; align-items: center; gap: 12px; color: rgba(255, 254, 249, .74); font-size: 10px; font-weight: var(--medium); letter-spacing: .13em; text-transform: uppercase; }
.hero-scroll::after { display: none; }

.stats-dock { position: relative; z-index: 3; width: min(1180px, calc(100% - (var(--gutter) * 2))); margin: -48px auto 0; padding: 8px 18px 8px 32px; border-radius: 16px; background: #171717; box-shadow: 0 22px 55px rgba(21, 19, 17, .13); }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.stat { min-height: 94px; padding: 18px 26px; }
.stat strong { display: block; margin-bottom: 4px; color: #fec300; font-size: clamp(1.8rem, 3.5vw, 3rem); letter-spacing: -.075em; line-height: 1; }
.stat span { color: #bdbdb9; font-size: 10px; font-weight: var(--bold); letter-spacing: .08em; text-transform: uppercase; }

.story { background: #171717; }
.story-grid { display: grid; grid-template-columns: minmax(0, .96fr) minmax(360px, 1.04fr); gap: clamp(42px, 6vw, 96px); align-items: stretch; }
.story-media { position: relative; height: 100%; min-height: 0; margin: 0; overflow: hidden; border-radius: 18px 18px 76px 18px; background: var(--charcoal); }
.story-media::after { display: none; }
.story-media img { width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: center; }
.story-tag { position: absolute; left: 28px; bottom: 27px; z-index: 1; display: grid; gap: 2px; padding: 15px 18px; color: var(--white); background: var(--charcoal); border-radius: 10px 10px 28px 10px; font-size: 10px; }
.story-tag strong { color: var(--yellow); font-size: 13px; }
.story-copy { position: relative; }
.story-copy::before { display: none; }
.story-copy > * { position: relative; z-index: 1; }
.story-copy h2 { max-width: 700px; margin-bottom: 27px; font-size: clamp(2.55rem, 4.15vw, 4.75rem); letter-spacing: -.085em; line-height: .96; text-wrap: balance; }
.story-copy h2 { font-size: clamp(1.785rem, 2.905vw, 3.325rem); }
.story-copy p:not(.eyebrow) { max-width: 590px; margin-bottom: 24px; color: #bdbdb9; font-size: 16px; line-height: 1.65; }
.story-copy .text-link { min-height: 48px; padding: 0 19px; border: 1px solid var(--charcoal); border-radius: 999px; }
.story-copy .text-link:hover { color: var(--white); background: #242424; border-color: var(--blue); }

.services { overflow: hidden; color: var(--white); background: #242424; }
.services::before { display: none; }
.services-head { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(280px, .7fr); gap: clamp(38px, 8vw, 110px); align-items: start; margin-bottom: 30px; }
.services .eyebrow { color: var(--yellow); }
.services .section-title { max-width: 700px; }
.services-head .section-lede { max-width: 410px; margin: 43px 0 0 auto; color: rgba(255, 254, 249, .72); }
.service-list { position: relative; z-index: 1; }
.service-row { display: grid; grid-template-columns: 70px 18px minmax(220px, .8fr) 1fr; gap: 18px; align-items: center; min-height: 112px; transition: padding .25s ease, color .25s ease, background .25s ease; }
.service-row:hover { padding-inline: 22px; color: #f1f1ef; background: var(--yellow); border-radius: 8px; }
.service-number { color: var(--yellow); font-size: 12px; font-weight: var(--bold); }
.service-row:hover .service-number { color: #fec300; }
.service-glyph { display: block; width: 8px; height: 8px; border-radius: 50%; background: var(--yellow); }
.service-row:hover .service-glyph { background: #242424; }
.service-row h3 { margin: 0; font-size: clamp(1.25rem, 2vw, 1.9rem); letter-spacing: -.055em; line-height: 1.05; }
.service-row h3 { font-size: clamp(0.875rem, 1.4vw, 1.33rem); }
.service-row p { grid-column: 4; max-width: 390px; margin: 0; color: rgba(255, 254, 249, .7); font-size: 13px; line-height: 1.45; }
.service-row:hover p { color: rgba(21, 19, 17, .74); }
.service-arrow { grid-column: 5; color: var(--yellow); font-size: 22px; font-weight: var(--light); }
.service-row:hover .service-arrow { color: #fec300; }
.service-footer { display: flex; justify-content: space-between; gap: 24px; margin-top: 28px; color: rgba(255, 254, 249, .72); font-size: 13px; }
.service-footer strong { color: var(--yellow); }
.service-intro { max-width: 410px; margin: 0 0 42px auto; color: rgba(255, 254, 249, .78); font-size: 15px; }
.service-intro { line-height: 1.6; }
.service-filter { display: grid; gap: 4px; max-width: 860px; margin-top: 30px; padding: 20px 22px; color: #f1f1ef; background: var(--yellow); }
.service-filter strong { font-size: 14px; line-height: 1.35; }
.service-filter span { font-size: 13px; line-height: 1.5; }

@media (min-width: 901px) {
  .services > .container { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(280px, .7fr); grid-template-rows: auto auto auto auto auto; column-gap: clamp(38px, 8vw, 110px); }
  .services-head { display: contents; }
  .services-head > div { grid-column: 1; grid-row: 1 / span 2; }
  .services-head .section-lede { grid-column: 2; grid-row: 1; margin: 0; align-self: start; }
  .service-intro { grid-column: 2; grid-row: 2; margin: 14px 0 38px; align-self: start; }
  .service-list { grid-column: 1 / -1; grid-row: 3; }
  .service-filter { grid-column: 1 / -1; grid-row: 4; }
  .service-footer { grid-column: 1 / -1; grid-row: 5; }
}

.security-band { color: #f1f1ef; background: var(--yellow); }
.security-grid { display: grid; grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr); gap: clamp(45px, 8vw, 120px); align-items: center; }
.security-copy .eyebrow { color: #fec300; }
.security-copy h2 { max-width: 690px; margin-bottom: 24px; font-size: clamp(2.7rem, 4.7vw, 5.2rem); letter-spacing: -.08em; line-height: .95; text-wrap: balance; }
.security-copy h2 { font-size: clamp(1.89rem, 3.29vw, 3.64rem); }
.security-copy p:not(.eyebrow) { max-width: 420px; margin-bottom: 28px; color: rgba(21, 19, 17, .72); font-size: 15px; }
.security-photo { position: relative; min-height: 420px; margin: 0; overflow: hidden; border-radius: 38px 18px 18px 18px; background: var(--charcoal); }
.security-photo img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; }
.security-photo figcaption { position: absolute; right: 22px; bottom: 20px; left: 22px; padding: 13px 16px; color: var(--white); background: rgba(21, 19, 17, .84); border-radius: 8px 8px 24px 8px; font-size: 10px; font-weight: var(--medium); letter-spacing: .08em; text-transform: uppercase; }

.flow { background: #171717; }
.flow-head { display: flex; justify-content: space-between; gap: 40px; align-items: end; margin-bottom: 42px; }
.flow-head .section-lede { max-width: 390px; margin-bottom: 5px; }
.flow-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.flow-step { position: relative; display: flex; min-width: 0; min-height: 260px; padding: 27px 26px 29px; flex-direction: column; background: #171717; border-radius: 0 25px 0 25px; box-shadow: 0 16px 30px rgba(21, 19, 17, .06); }
.flow-step:nth-child(1) { color: var(--white); background: #242424; border-radius: 25px 0 25px 0; }
.flow-step:nth-child(2) { background: var(--yellow); }
.flow-step:nth-child(3) { background: #171717; }
.flow-step:nth-child(4) { color: var(--white); background: var(--charcoal); border-radius: 25px 0 25px 0; }
.flow-step + .flow-step { padding-left: 26px; }
.flow-step::after { display: none; }
.flow-index { display: block; margin: 0; color: #fec300; font-size: 10px; font-weight: var(--bold); letter-spacing: .12em; text-transform: uppercase; }
.flow-step:nth-child(1) .flow-index, .flow-step:nth-child(4) .flow-index { color: var(--yellow); }
.flow-step h3 { max-width: 220px; min-height: 43px; margin: 54px 0 10px; font-size: 21px; letter-spacing: -.055em; line-height: 1.05; text-wrap: balance; }
.flow-step h3 { font-size: 14.7px; }
.flow-step p { max-width: 245px; margin: 0; color: #bdbdb9; font-size: 13px; line-height: 1.55; }
.flow-step:nth-child(1) p, .flow-step:nth-child(4) p { color: rgba(255, 254, 249, .72); }

.proof { overflow: hidden; color: var(--white); background: var(--charcoal); }
.proof::before { display: none; }
.proof-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .76fr) minmax(0, 1.24fr); gap: clamp(40px, 8vw, 125px); align-items: center; }
.proof .eyebrow { color: var(--yellow); }
.proof-intro h2 { max-width: 620px; margin-bottom: 22px; font-size: clamp(2.5rem, 4.7vw, 5.2rem); letter-spacing: -.085em; line-height: .95; text-wrap: balance; }
.proof-intro h2 { font-size: clamp(1.75rem, 3.29vw, 3.64rem); }
.proof-intro > p:not(.eyebrow) { max-width: 390px; margin-bottom: 28px; color: rgba(255, 254, 249, .68); font-size: 14px; }
.proof-markers { display: flex; flex-wrap: wrap; gap: 8px; }
.proof-marker { padding: 7px 12px; border: 1px solid var(--line-light); border-radius: 999px; color: rgba(255, 254, 249, .72); font-size: 10px; font-weight: var(--medium); }
.quote-wrap { position: relative; min-height: 340px; padding: 34px 42px 30px; border-radius: 16px 16px 70px 16px; background: #242424; }
.quote-wrap::before { position: absolute; top: -35px; left: 36px; color: var(--yellow); content: "“"; font-size: 130px; font-weight: var(--bold); line-height: 1; }
.quote-wrap blockquote { position: relative; max-width: 700px; margin: 50px 0 30px; font-size: clamp(1.65rem, 3vw, 3.1rem); letter-spacing: -.055em; line-height: 1.04; }
.quote-wrap cite { display: block; margin-bottom: 27px; color: rgba(255, 254, 249, .72); font-size: 12px; font-style: normal; }
.client-proof { position: absolute; top: 20px; right: 24px; display: flex; align-items: center; gap: 9px; padding: 7px 12px 7px 8px; color: #f1f1ef; background: #171717; border-left: 3px solid var(--yellow); font-size: 9px; font-weight: var(--bold); letter-spacing: .05em; text-transform: uppercase; }
.client-proof img { width: 70px; height: 35px; object-fit: contain; }
.quote-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.quote-tab { padding: 8px 13px; border: 1px solid var(--line-light); border-radius: 999px; color: rgba(255, 254, 249, .78); background: transparent; font-size: 10px; font-weight: var(--medium); }
.quote-tab.active, .quote-tab:hover { color: #f1f1ef; background: var(--yellow); border-color: var(--yellow); }

.coverage { background: #171717; }
.coverage-grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); gap: clamp(45px, 7vw, 105px); align-items: start; }
.coverage-copy { padding-top: 10px; }
.coverage-copy h2 { max-width: 690px; margin-bottom: 24px; font-size: clamp(2.6rem, 4.25vw, 4.8rem); letter-spacing: -.09em; line-height: .95; text-wrap: balance; }
.coverage-copy h2 { font-size: clamp(1.82rem, 2.975vw, 3.36rem); }
.coverage-copy > p:not(.eyebrow) { max-width: 510px; margin-bottom: 27px; color: #bdbdb9; font-size: 15px; line-height: 1.65; }
.coverage-art { position: relative; min-height: 480px; overflow: hidden; border-radius: 18px 18px 76px 18px; background: #242424; }
.coverage-art::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, rgba(254, 195, 0, .08), rgba(21, 19, 17, .7)); content: ""; pointer-events: none; }
.coverage-art img { position: relative; z-index: 0; width: 100%; height: 100%; min-height: 480px; object-fit: cover; object-position: center; opacity: .8; }
.route-line, .route-line::before, .route-line::after { display: none; }
.coverage-pin { position: absolute; right: 20%; bottom: 17%; z-index: 2; display: grid; gap: 3px; max-width: calc(100% - 36px); padding: 14px 17px; color: #f1f1ef; background: var(--yellow); border-radius: 9px 9px 27px 9px; font-size: 10px; }
.coverage-pin strong { font-size: 16px; }
.coverage-label { position: absolute; bottom: 26px; left: 28px; z-index: 2; color: rgba(255, 254, 249, .9); font-size: 10px; font-weight: var(--bold); letter-spacing: .12em; line-height: 1.35; text-shadow: 0 1px 9px rgba(0, 0, 0, .45); text-transform: uppercase; }
.coverage-states { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }
.coverage-states span { padding: 9px 12px; color: #fec300; background: #171717; font-size: 10px; font-weight: var(--bold); }
.coverage-action { margin-top: 22px; color: #fec300; border-color: var(--blue); }
.coverage-action:hover { color: var(--white); background: #242424; border-color: var(--blue); }
.coverage-more { max-width: 510px; margin: 25px 0 0; padding-left: 16px; color: #bdbdb9; font-size: 13px; line-height: 1.65; }
.coverage-details { background: #171717; }
.coverage-details .why-head { max-width: 900px; }
.coverage-states-large { margin: 34px 0 64px; }
.coverage-states-large span { padding: 13px 16px; color: #fec300; background: #171717; font-size: 13px; font-weight: var(--bold); }
.coverage-extra { max-width: 720px; padding: 32px 0 0; }
.coverage-extra h3 { max-width: 620px; margin-bottom: 13px; font-size: clamp(1.7rem, 3vw, 2.8rem); letter-spacing: -.06em; line-height: 1.02; }
.coverage-extra h3 { font-size: clamp(1.19rem, 2.1vw, 1.96rem); }
.coverage-extra p:not(.eyebrow) { max-width: 580px; color: #bdbdb9; font-size: 15px; }

.faq { color: var(--white); background: #242424; }
.faq-grid { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: clamp(45px, 8vw, 120px); }
.faq .eyebrow { color: var(--yellow); }
.faq h2 { max-width: 520px; margin-bottom: 0; font-size: clamp(2.8rem, 6vw, 6rem); letter-spacing: -.09em; line-height: .9; text-wrap: balance; }
.faq h2 { font-size: clamp(1.96rem, 4.2vw, 4.2rem); }
.faq-list { display: grid; gap: 8px; }
.faq-list details { padding: 0 16px; background: rgba(255, 254, 249, .08); }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 21px 0; list-style: none; cursor: pointer; font-size: 16px; font-weight: var(--medium); }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { color: var(--yellow); content: "+"; font-size: 25px; font-weight: var(--light); line-height: 1; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 650px; margin: -2px 35px 21px 0; color: rgba(255, 254, 249, .72); font-size: 14px; line-height: 1.6; }

.cta-ribbon { position: relative; overflow: hidden; margin: var(--section) 0; color: #f1f1ef; background: var(--yellow); border-radius: 16px 16px 82px 16px; }
.cta-ribbon::after { display: none; }
.cta-inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 35px; min-height: 235px; padding: 42px 56px; }
.cta-inner h2 { max-width: 720px; margin-bottom: 11px; font-size: clamp(2.25rem, 4.4vw, 4.9rem); letter-spacing: -.08em; line-height: .93; text-wrap: balance; }
.cta-inner h2 { font-size: clamp(1.575rem, 3.08vw, 3.43rem); }
.cta-inner p { max-width: 520px; margin: 0; color: rgba(21, 19, 17, .7); font-size: 14px; }
.cta-inner .button { position: relative; z-index: 1; flex: 0 0 auto; color: var(--white); background: #242424; }
.cta-inner .button:hover { color: #f1f1ef; background: #171717; }

.page-hero { position: relative; overflow: hidden; padding: clamp(86px, 10vw, 155px) 0 120px; color: var(--white); background: var(--charcoal); border-radius: 0 0 0 34px; }
.page-hero::before, .page-hero::after { display: none; }
.page-hero .container { position: relative; z-index: 1; }
.page-hero .eyebrow { color: var(--yellow); }
.page-hero h1 { max-width: 1080px; margin-bottom: 20px; font-size: clamp(3.3rem, 6.9vw, 7.7rem); letter-spacing: -.1em; line-height: .9; text-wrap: balance; }
.page-hero h1 { font-size: clamp(2.31rem, 4.83vw, 5.39rem); }
.page-hero p:not(.eyebrow) { max-width: 530px; margin: 0; color: rgba(255, 254, 249, .74); font-size: 16px; }
.page-hero .hero-note { right: var(--gutter); bottom: 44px; }

.editorial-grid { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: clamp(44px, 9vw, 140px); align-items: start; }
.editorial-grid h2 { max-width: 780px; margin-bottom: 22px; font-size: clamp(2.45rem, 4.2vw, 5rem); letter-spacing: -.085em; line-height: .96; text-wrap: balance; }
.editorial-grid h2 { font-size: clamp(1.715rem, 2.94vw, 3.5rem); }
.editorial-grid p { max-width: 620px; color: #bdbdb9; font-size: 15px; line-height: 1.75; }
.editorial-grid p + p { margin-top: 17px; }
.side-note { position: sticky; top: 125px; color: #fec300; font-size: 12px; font-weight: var(--bold); letter-spacing: .1em; text-transform: uppercase; }
.image-strip { display: grid; grid-template-columns: 1.22fr .78fr; gap: 18px; margin-top: 70px; }
.image-strip figure { min-height: 370px; margin: 0; overflow: hidden; background: var(--charcoal); }
.image-strip figure:first-child { border-radius: 16px 16px 72px 16px; }
.image-strip figure:last-child { border-radius: 72px 16px 16px 16px; }
.image-strip img { width: 100%; height: 100%; min-height: 370px; object-fit: cover; }

.segment-intro { background: #171717; }
.segment-list { display: grid; gap: 10px; }
.segment-item { display: grid; grid-template-columns: 90px minmax(190px, .8fr) minmax(240px, 1fr); gap: 24px; align-items: center; min-height: 128px; padding: 18px 20px; background: rgba(254, 195, 0, .045); }
.segment-item > span { color: #fec300; font-size: 11px; font-weight: var(--bold); letter-spacing: .1em; }
.segment-item h3 { margin: 0; font-size: clamp(1.45rem, 2.6vw, 2.4rem); letter-spacing: -.065em; line-height: 1; }
.segment-item h3 { font-size: clamp(1.015rem, 1.82vw, 1.68rem); }
.segment-item p { max-width: 440px; margin: 0; color: #bdbdb9; font-size: 13px; }

.security-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px 36px; }
.security-list article { min-height: 190px; padding: 24px; background: rgba(254, 195, 0, .06); }
.security-index { display: grid; place-items: center; width: 36px; height: 36px; margin-bottom: 22px; border: 1px solid var(--blue); color: #fec300; font-size: 10px; font-weight: var(--bold); }
.security-list h3 { margin-bottom: 7px; font-size: 20px; letter-spacing: -.045em; }
.security-list h3 { font-size: 14px; }
.security-list p { max-width: 390px; margin: 0; color: #bdbdb9; font-size: 13px; }

.contact-layout { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(44px, 7vw, 96px); align-items: start; }
.contact-info h2 { max-width: 560px; margin-bottom: 22px; font-size: clamp(2.6rem, 4.3vw, 5.1rem); letter-spacing: -.095em; line-height: .94; text-wrap: balance; }
.contact-info h2 { font-size: clamp(1.82rem, 3.01vw, 3.57rem); }
.contact-info > p:not(.eyebrow) { max-width: 410px; margin-bottom: 31px; color: #bdbdb9; font-size: 15px; }
.contact-details { display: grid; gap: 14px; }
.contact-details a, .contact-details span { display: block; font-size: 13px; }
.contact-details strong { display: block; margin-bottom: 2px; color: #fec300; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.form-shell { position: relative; padding: 34px 38px 38px; border-radius: 16px 16px 74px 16px; background: #242424; color: var(--white); }
.form-shell::before { display: none; }
.form-shell h2 { margin-bottom: 8px; color: var(--yellow); font-size: 24px; letter-spacing: -.04em; }
.form-shell h2 { font-size: 16.8px; }
.form-shell > p { margin-bottom: 27px; color: rgba(255, 254, 249, .7); font-size: 13px; }
.contact-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.field { display: grid; gap: 7px; }
.field.full { grid-column: 1 / -1; }
.field label { color: rgba(255, 254, 249, .72); font-size: 10px; font-weight: var(--medium); letter-spacing: .08em; text-transform: uppercase; }
.field input, .field select, .field textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--line-light); border-radius: 9px; outline: 0; color: var(--white); background: transparent; font-size: 13px; font-weight: var(--light); transition: border-color .2s ease, background .2s ease; }
.field textarea { min-height: 110px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--yellow); background: rgba(255, 254, 249, .08); }
.field select option { color: #f1f1ef; }
.form-submit { margin-top: 8px; }
.form-success { display: none; margin: 16px 0 0; color: var(--yellow); font-size: 12px; }
.form-success.visible { display: block; }
.form-note { margin: 22px 0 0; color: rgba(255, 254, 249, .62); font-size: 11px; line-height: 1.5; }

.insurance-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 42px; }
.insurance-grid article { display: flex; min-width: 0; min-height: 246px; padding: 28px 27px 30px; flex-direction: column; color: #f1f1ef; background: #171717; }
.insurance-grid article:nth-child(1) { color: var(--white); background: #242424; border-radius: 0 26px 0 26px; }
.insurance-grid article:nth-child(2) { color: var(--white); background: var(--charcoal); border-radius: 26px 0 26px 0; }
.insurance-grid article:nth-child(3) { background: #171717; border-radius: 0 26px 0 26px; }
.insurance-grid article > strong { display: block; margin-bottom: 36px; color: #fec300; font-size: 12px; letter-spacing: .1em; }
.insurance-grid article:nth-child(1) > strong, .insurance-grid article:nth-child(2) > strong { color: var(--yellow); }
.insurance-grid h3 { min-height: 0; margin: 0 0 10px; font-size: 18px; letter-spacing: -.045em; line-height: 1.1; }
.insurance-grid h3 { font-size: 12.6px; }
.insurance-grid p { max-width: 390px; margin: 0; color: #bdbdb9; font-size: 13px; line-height: 1.55; }
.insurance-grid article:nth-child(1) p, .insurance-grid article:nth-child(2) p { color: rgba(255, 254, 249, .72); }
.insurance-close { max-width: 920px; margin-top: 30px; color: rgba(21, 19, 17, .72); font-size: 13px; line-height: 1.6; }
.insurance-grid-page { margin-top: 47px; }
.insurance-grid-page article { background: rgba(254, 195, 0, .06); }
.why { background: #171717; }
.why-head { margin-bottom: 42px; }
.why-list { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: minmax(226px, auto); gap: 16px; }
.why-list article { display: flex; min-width: 0; min-height: 0; padding: 30px 32px 32px; flex-direction: column; background: #171717; border-radius: 12px; }
.why-list article:nth-child(1) { grid-column: span 5; grid-row: span 2; min-height: 320px; color: var(--white); background: #242424; }
.why-list article:nth-child(2) { grid-column: span 3; }
.why-list article:nth-child(3) { grid-column: span 4; color: #f1f1ef; background: var(--yellow); }
.why-list article:nth-child(4) { grid-column: span 4; background: #171717; }
.why-list article:nth-child(5) { display: grid; grid-column: span 8; grid-template-columns: minmax(220px, .88fr) minmax(280px, 1.12fr); grid-template-rows: auto 1fr; column-gap: 44px; align-items: end; color: var(--white); background: var(--charcoal); }
.why-list article:nth-child(5) > span { grid-column: 1 / -1; align-self: start; }
.why-list article:nth-child(5) h3 { grid-column: 1; grid-row: 2; margin: 0 0 10px; }
.why-list article:nth-child(5) p { grid-column: 2; grid-row: 2; }
.why-list article > span, .value-list article > span { display: block; margin-bottom: 34px; color: #fec300; font-size: 11px; font-weight: var(--bold); letter-spacing: .12em; }
.why-list article:nth-child(1) > span, .why-list article:nth-child(5) > span { color: var(--yellow); }
.why-list h3, .value-list h3 { max-width: 310px; margin: 52px 0 10px; font-size: 21px; letter-spacing: -.055em; line-height: 1.05; }
.why-list h3, .value-list h3 { font-size: 14.7px; }
.why-list article:nth-child(1) h3 { max-width: 430px; margin-top: 54px; font-size: clamp(1.9rem, 3vw, 3rem); }
.why-list article:nth-child(1) h3 { font-size: clamp(1.33rem, 2.1vw, 2.1rem); }
.why-list article:nth-child(5) h3 { max-width: 520px; }
.why-list p, .value-list p { max-width: 390px; margin: 0; color: #bdbdb9; font-size: 13px; line-height: 1.55; }
.why-list article:nth-child(1) p, .why-list article:nth-child(5) p { color: rgba(255, 254, 249, .72); }
.about-metrics { color: var(--white); background: var(--charcoal); }
.about-metrics .eyebrow { color: var(--yellow); }
.metrics-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 45px; }
.metrics-grid > div { padding: 26px 20px; background: var(--charcoal-2); }
.metrics-grid strong { display: block; margin-bottom: 6px; color: var(--yellow); font-size: clamp(2rem, 4vw, 4.2rem); letter-spacing: -.08em; line-height: .95; }
.metrics-grid span { color: rgba(255, 254, 249, .7); font-size: 11px; font-weight: var(--medium); }
.value-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 42px; }
.value-list article { min-width: 0; padding: 24px; background: rgba(254, 195, 0, .08); }
.value-list article > span { color: #fec300; }

.client-proof { border-left: 0; }
.text-link { border-bottom: 0; }

/* Cada página tem uma cadência própria. A paleta é compartilhada, mas a entrada e o espaçamento mudam. */
.page-about .page-hero { min-height: 545px; padding-top: 135px; }
.page-about .page-hero::before { width: 26%; }
.page-segments .page-hero { color: #f1f1ef; background: var(--yellow); border-radius: 0; padding-bottom: 88px; }
.page-segments .page-hero::before { background: #242424; }
.page-segments .page-hero::after { background: rgba(254, 195, 0, .42); }
.page-segments .page-hero .eyebrow { color: #fec300; }
.page-segments .page-hero p:not(.eyebrow) { color: rgba(21, 19, 17, .72); }
.page-segments .page-hero .hero-note { color: var(--white); background: #242424; }
.page-segments .page-hero .hero-note::before { background: var(--yellow); box-shadow: 0 0 0 5px rgba(253, 222, 21, .18); }
.page-segments .segment-intro { padding-top: 72px; }
.page-coverage .page-hero { background: #242424; border-radius: 0 0 34px 0; padding-bottom: 170px; }
.page-coverage .page-hero::before { background: var(--yellow); }
.page-coverage .page-hero::after { background: rgba(253, 222, 21, .35); }
.page-coverage .page-hero .hero-note { bottom: 54px; }
.page-coverage main > .coverage { padding-top: 68px; }
.page-safety .page-hero { color: #f1f1ef; background: var(--yellow); border-radius: 0 0 34px 0; }
.page-safety .page-hero::before { background: #242424; }
.page-safety .page-hero::after { background: rgba(254, 195, 0, .32); }
.page-safety .page-hero .eyebrow { color: #fec300; }
.page-safety .page-hero p:not(.eyebrow) { color: rgba(21, 19, 17, .72); }
.page-safety .page-hero .hero-note { color: var(--white); background: #242424; }
.page-safety .page-hero .hero-note::before { background: var(--yellow); box-shadow: 0 0 0 5px rgba(253, 222, 21, .18); }
.page-safety .security-band { background: #171717; }
.page-contact .page-hero { background: #242424; border-radius: 0 0 34px 0; padding-bottom: 94px; }
.page-contact .page-hero::before { background: var(--yellow); }
.page-contact .page-hero::after { background: rgba(253, 222, 21, .35); }
.page-contact main > .section:first-of-type { padding-top: 55px; }
.page-contact .contact-layout { margin-top: -28px; }

footer { color: var(--white); background: var(--charcoal); }
.footer-main { display: grid; grid-template-columns: 1.1fr .8fr .8fr; gap: 45px; padding: 60px 0 54px; }
footer .logo { color: var(--white); }
footer .logo-mark { border-color: var(--yellow); color: var(--yellow); }
.footer-copy { max-width: 310px; margin: 17px 0 0; color: rgba(255, 254, 249, .6); font-size: 13px; }
.footer-label { display: block; margin-bottom: 12px; color: var(--yellow); font-size: 10px; font-weight: var(--bold); letter-spacing: .12em; text-transform: uppercase; }
.footer-links { display: grid; gap: 7px; color: rgba(255, 254, 249, .7); font-size: 12px; }
.footer-links a:hover { color: var(--yellow); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 15px 0 20px; color: rgba(255, 254, 249, .46); font-size: 10px; }

@media (max-width: 980px) {
  .nav { gap: 15px; }
  .hero { min-height: 700px; }
  .hero h1 { max-width: 620px; font-size: clamp(3.8rem, 10vw, 7.5rem); }
.hero h1 { font-size: clamp(2.66rem, 7vw, 5.25rem); }
  .hero-note { right: var(--gutter); bottom: 108px; }
  .story-grid, .security-grid, .proof-grid, .coverage-grid, .contact-layout { gap: 50px; }
  .service-row { grid-template-columns: 60px 18px minmax(180px, .8fr) 1fr; gap: 14px; }
  .why-list { grid-template-columns: repeat(2, 1fr); grid-auto-rows: minmax(220px, auto); }
  .why-list article, .why-list article:nth-child(1), .why-list article:nth-child(5) { grid-column: span 1; grid-row: auto; min-height: 240px; }
  .why-list article:nth-child(1), .why-list article:nth-child(5) { grid-column: span 2; }
  .why-list article:nth-child(5) { display: flex; }
  .why-list article:nth-child(1) h3 { margin-top: 48px; }
  .footer-main { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  :root { --gutter: 20px; --section: 82px; }
  body.menu-open::before { position: fixed; inset: 100px 0 0; z-index: 28; background: rgba(21, 19, 17, .94); content: ""; }
  .utility-inner { min-height: 32px; font-size: 9px; }
  .utility-right span { display: none; }
  .header-inner { min-height: 68px; }
  .header-cta { display: none; }
  .menu-button { display: block; }
  .nav { position: fixed; top: 100px; right: 14px; left: 14px; z-index: 29; display: grid; gap: 0; margin: 0; padding: 11px 22px 16px; border-radius: 18px 18px 52px 18px; background: #171717; box-shadow: 0 20px 50px rgba(21, 19, 17, .16); opacity: 0; pointer-events: none; transform: translateY(-14px); transition: opacity .2s ease, transform .2s ease; }
  .nav.open { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .nav a { padding: 14px 0; }
  .hero { min-height: 690px; border-radius: 0 0 0 24px; }
  .hero::before { background: linear-gradient(180deg, rgba(21, 19, 17, .83) 0%, rgba(21, 19, 17, .38) 45%, rgba(21, 19, 17, .72) 100%); }
  .hero .container { align-items: flex-start; padding-top: 95px; padding-bottom: 78px; }
  .hero-media { object-position: 60% center; }
  .hero h1 { max-width: 580px; font-size: clamp(3.5rem, 16vw, 6rem); }
.hero h1 { font-size: clamp(2.45rem, 11.2vw, 4.2rem); }
  .hero-description { font-size: 14px; }
  .hero-note { right: var(--gutter); bottom: 77px; width: 225px; }
  .page-home .hero-note { display: none; }
  .hero-scroll { display: none; }
  .stats-dock { width: calc(100% - 28px); margin-top: -43px; padding: 2px 14px 5px; border-radius: 12px; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stat { min-height: 84px; padding: 16px 13px; }
  .stat:nth-child(3), .stat:nth-child(4) { border: 0; }
  .stat strong { font-size: 1.7rem; }
  .stat span { font-size: 8px; letter-spacing: .05em; }
  .story-grid, .security-grid, .proof-grid, .coverage-grid, .faq-grid, .contact-layout, .editorial-grid { grid-template-columns: 1fr; }
  .story-media, .story-media img { min-height: 380px; }
  .story-copy::before { top: 4px; right: 0; width: 58px; height: 6px; }
  .services, .faq { border-radius: 0; }
  .services-head, .flow-head { display: block; }
  .services-head .section-lede { margin: 23px 0 0; }
  .flow-head .section-lede { margin-top: 23px; }
  .service-row { grid-template-columns: 39px 1fr; gap: 14px; min-height: 94px; padding: 15px 0; }
  .service-number { grid-row: span 2; align-self: start; padding-top: 3px; }
  .service-glyph { display: none; }
  .service-row h3 { grid-column: 2; grid-row: 1; }
  .service-row p { grid-column: 2 / -1; grid-row: 2; font-size: 12px; }
  .service-arrow { display: none; }
  .service-footer { display: block; }
  .service-footer .text-link { margin-top: 17px; }
  .service-intro { margin: -16px 0 25px; font-size: 14px; }
  .service-filter { margin-top: 24px; padding: 17px 16px; }
  .insurance-grid, .value-list, .metrics-grid, .why-list { grid-template-columns: 1fr; }
  .why-list article, .why-list article:nth-child(n) { grid-column: auto; grid-row: auto; min-height: 225px; }
  .why-list article { padding: 24px 22px 26px; }
  .why-list article:nth-child(5) { display: flex; }
  .why-list article:nth-child(1) h3 { margin-top: 38px; }
  .metrics-grid { margin-top: 30px; }
  .metrics-grid > div { padding: 21px 17px; }
  .coverage-states-large { margin-bottom: 45px; }
  .coverage-extra { padding-top: 10px; }
  .security-photo, .security-photo img { min-height: 330px; }
  .flow-list { grid-template-columns: 1fr; }
  .flow-step { min-height: 220px; padding: 23px 22px 25px; }
  .flow-step + .flow-step { padding-left: 22px; }
  .flow-step:nth-child(3) { padding-left: 22px; }
  .flow-step:nth-child(n+3) { border-top: 0; }
  .flow-step::after { display: none; }
  .flow-index { margin-bottom: 40px; }
  .flow-step h3 { min-height: 43px; margin: 0 0 10px; }
  .quote-wrap { min-height: 370px; padding: 30px 24px 25px; border-radius: 14px 14px 56px 14px; }
  .quote-wrap blockquote { margin-top: 55px; font-size: 1.75rem; }
  .client-proof { top: 18px; right: 18px; }
  .client-proof img { width: 56px; }
  .coverage-art, .coverage-art img { min-height: 380px; }
  .coverage-art { border-radius: 14px 14px 56px 14px; }
  .route-line { right: 7%; width: 85%; }
  .faq { border-radius: 0; }
  .faq-list { margin-top: 35px; }
  .cta-ribbon { margin: 0 var(--gutter) var(--section); border-radius: 14px 14px 60px 14px; }
  .cta-inner { display: block; min-height: auto; padding: 35px 24px 52px; }
  .cta-inner h2 { font-size: 2.65rem; }
.cta-inner h2 { font-size: 1.855rem; }
  .cta-inner .button { margin-top: 26px; }
  .page-hero { padding: 85px 0 105px; border-radius: 0 0 0 24px; }
  .page-hero h1 { font-size: clamp(3.15rem, 14vw, 5.7rem); }
.page-hero h1 { font-size: clamp(2.205rem, 9.8vw, 3.99rem); }
  .page-about .page-hero { min-height: auto; padding-top: 85px; }
  .page-hero .hero-note { position: relative; right: auto; bottom: auto; margin-top: 38px; }
  .side-note { position: static; margin-bottom: 35px; }
  .image-strip { grid-template-columns: 1fr; margin-top: 45px; }
  .image-strip figure, .image-strip img { min-height: 260px; }
  .image-strip figure:first-child, .image-strip figure:last-child { border-radius: 14px 14px 56px 14px; }
  .segment-item { grid-template-columns: 47px 1fr; gap: 14px; padding: 22px 0; }
  .segment-item p { grid-column: 2; }
  .security-list { grid-template-columns: 1fr; gap: 0; }
  .form-shell { padding: 28px 20px 25px; border-radius: 14px 14px 56px 14px; }
  .page-segments .page-hero, .page-coverage .page-hero, .page-safety .page-hero, .page-contact .page-hero { padding-bottom: 95px; border-radius: 0 0 0 24px; }
  .page-coverage .page-hero .hero-note { bottom: auto; }
  .page-contact main > .section:first-of-type { padding-top: 70px; }
  .page-contact .contact-layout { margin-top: -35px; }
  .contact-form { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .footer-main { grid-template-columns: 1fr; gap: 34px; padding: 47px 0 39px; }
  .footer-bottom { display: grid; gap: 6px; }

}

/* --------------------------------------------------------------------------
   Internal-route system
   The home remains the visual anchor; the pages below reuse its simple
   rhythm: one clear statement, one useful visual and one direct action. */
.brand { display: inline-flex; width: 148px; }
.brand img { width: 100%; height: auto; }
.main-nav { display: flex; align-items: center; gap: clamp(15px, 2.2vw, 30px); margin-left: auto; font-size: 12px; font-weight: var(--medium); }
.main-nav a { padding: 9px 0; }
.main-nav a[aria-current="page"] { color: #fec300; font-weight: var(--bold); }
.nav-toggle { display: none; width: 42px; height: 42px; padding: 0; border: 1px solid var(--charcoal); border-radius: 50%; background: transparent; }
.nav-toggle span { display: block; width: 17px; height: 1px; margin: 4px auto; background: var(--charcoal); }
.site-footer { padding: 72px 0 0; color: rgba(255, 254, 249, .72); background: var(--charcoal); }
.footer-grid { display: grid; grid-template-columns: minmax(220px, 1.45fr) repeat(3, minmax(130px, .7fr)); gap: 42px; padding-bottom: 58px; }
.footer-brand { display: block; width: 150px; margin-bottom: 20px; }
.footer-brand img { width: 100%; }
.footer-grid p { max-width: 31ch; margin: 0; font-size: 13px; line-height: 1.65; }
.footer-grid h3 { margin: 3px 0 16px; color: var(--yellow); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.footer-grid h3 { font-size: 7px; }
.footer-grid > div:not(:first-child) { display: grid; align-content: start; gap: 9px; }
.footer-grid a { font-size: 13px; }
.footer-grid a:hover { color: var(--yellow); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0; border-top: 1px solid rgba(255, 254, 249, .14); color: rgba(255, 254, 249, .5); font-size: 10px; }
.text-button { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; margin-top: 7px; padding: 0 19px; border: 1px solid var(--charcoal); border-radius: 999px; color: #f1f1ef; font-size: 12px; font-weight: var(--bold); transition: color .2s ease, background .2s ease, border-color .2s ease; }
.text-button:hover { color: var(--white); background: #242424; border-color: var(--blue); }
.text-button span { font-size: 18px; font-weight: var(--light); }
.button-dark { color: var(--white); background: var(--charcoal); }
.button-dark:hover { color: #f1f1ef; background: var(--yellow); }

/* The supplied logo image files are client marks, not the Infiniti mark.
   Internal pages therefore use the same clean textual wordmark as the shell. */
.brand, .footer-brand { align-items: center; color: #f1f1ef; font-weight: var(--bold); letter-spacing: .11em; text-transform: uppercase; }
.brand img, .footer-brand img { display: none; }
.brand::before { content: "∞  INFINITI"; font-size: 16px; }
.footer-brand::before { content: "∞  INFINITI"; color: var(--white); font-size: 16px; }
.footer-brand { height: 28px; margin-bottom: 17px; }

.inner-hero { position: relative; overflow: hidden; min-height: 530px; color: var(--white); background: var(--charcoal); }
.inner-hero::before { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(21, 19, 17, .96) 0%, rgba(21, 19, 17, .84) 42%, rgba(21, 19, 17, .18) 100%); content: ""; }
.inner-hero-media { position: absolute; z-index: 0; top: 0; right: 0; width: 56%; height: 100%; object-fit: cover; object-position: center; }
.inner-hero .container { position: relative; z-index: 2; display: flex; min-height: 530px; max-width: none; width: min(var(--max), calc(100% - (var(--gutter) * 2))); padding-top: 82px; padding-bottom: 78px; flex-direction: column; align-items: flex-start; justify-content: center; }
.inner-hero .eyebrow { color: var(--yellow); }
.inner-hero h1 { max-width: 10.5ch; margin-bottom: 22px; color: var(--white); font-size: clamp(3.5rem, 6.1vw, 6.8rem); letter-spacing: -.095em; line-height: .89; text-wrap: balance; }
.inner-hero h1 { font-size: clamp(2.45rem, 4.27vw, 4.76rem); }
.inner-hero-lead { max-width: 49ch; margin: 0; color: rgba(255, 254, 249, .82); font-size: 16px; line-height: 1.65; }
.inner-hero-fact { max-width: 40ch; margin: 20px 0 27px; color: rgba(255, 254, 249, .68); font-size: 13px; line-height: 1.55; }
.inner-hero-fact strong { color: var(--yellow); }
.inner-hero-coverage { background: #242424; }
.inner-hero-coverage::before { background: linear-gradient(90deg, rgba(254, 195, 0, .98) 0%, rgba(254, 195, 0, .88) 46%, rgba(21, 19, 17, .18) 100%); }
.inner-hero-coverage .inner-hero-media { width: 58%; }
.inner-hero-safety { color: var(--white); background: var(--charcoal); }
.inner-hero-safety::before { background: linear-gradient(90deg, rgba(21, 19, 17, .97) 0%, rgba(21, 19, 17, .86) 45%, rgba(21, 19, 17, .18) 100%); }
.inner-hero-safety h1 { color: var(--white); }
.inner-hero-safety .eyebrow, .inner-hero-safety .inner-hero-fact strong { color: var(--yellow); }
.inner-hero-safety .inner-hero-lead, .inner-hero-safety .inner-hero-fact { color: rgba(255, 254, 249, .78); }
.inner-hero-contact { min-height: 470px; background: #242424; }
.inner-hero-contact::before { background: none; }
.inner-hero-contact .container { min-height: 470px; }

.simple-story { padding: clamp(78px, 9vw, 132px) 0; background: #171717; }
.simple-story-grid { display: grid; grid-template-columns: minmax(300px, 1fr) minmax(300px, 1fr); gap: clamp(50px, 9vw, 146px); align-items: center; }
.simple-story-reverse { grid-template-columns: minmax(300px, .86fr) minmax(300px, 1.14fr); }
.simple-story-media { min-height: 440px; margin: 0; overflow: hidden; border-radius: 6px 6px 54px 6px; background: var(--charcoal); }
.simple-story-media img { width: 100%; height: 100%; min-height: 440px; object-fit: cover; object-position: center; }
.simple-story-copy { min-width: 0; }
.simple-story-copy h2, .section-heading h2 { max-width: 13ch; margin: 0 0 22px; color: #f1f1ef; font-size: clamp(2.7rem, 4.45vw, 5.1rem); letter-spacing: -.087em; line-height: .92; text-wrap: balance; }
.simple-story-copy h2, .section-heading h2 { font-size: clamp(1.89rem, 3.115vw, 3.57rem); }
.simple-story-copy p:not(.eyebrow) { max-width: 49ch; margin: 0 0 17px; color: #bdbdb9; font-size: 16px; line-height: 1.68; }
.simple-story-copy .button { margin-top: 10px; }
.simple-story-aside { display: grid; min-height: 270px; padding: 38px; align-content: end; color: var(--white); background: #242424; border-radius: 6px 6px 54px 6px; }
.simple-story-aside p { margin: 0 0 9px; color: var(--yellow); font-size: 11px; font-weight: var(--bold); letter-spacing: .12em; text-transform: uppercase; }
.simple-story-aside strong { max-width: 16ch; font-size: clamp(1.8rem, 2.7vw, 3.2rem); letter-spacing: -.07em; line-height: 1; }

.section-heading { display: grid; grid-template-columns: minmax(180px, .4fr) minmax(0, 1.6fr); gap: clamp(44px, 9vw, 142px); margin-bottom: 56px; align-items: start; }
.section-heading .eyebrow { margin-top: 10px; }
.section-heading h2 { max-width: 14ch; margin: 0; }
.simple-stats { padding: clamp(75px, 9vw, 125px) 0; color: var(--white); background: #242424; }
.simple-stats .eyebrow { color: var(--yellow); }
.simple-stats .section-heading h2 { color: var(--white); }
.simple-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.simple-stats-grid article { padding: 4px clamp(20px, 3vw, 42px) 4px 0; }
.simple-stats-grid article + article { padding-left: clamp(20px, 3vw, 42px); border-left: 1px solid rgba(255, 254, 249, .22); }
.simple-stats-grid strong { display: block; margin-bottom: 12px; color: var(--yellow); font-size: clamp(2rem, 3.2vw, 3.6rem); letter-spacing: -.08em; line-height: .94; }
.simple-stats-grid span { display: block; max-width: 18ch; color: rgba(255, 254, 249, .76); font-size: 13px; line-height: 1.55; }
.simple-points { padding: clamp(80px, 9vw, 132px) 0; background: #171717; }
.simple-points-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(32px, 6vw, 90px); }
.simple-points-list article { padding-top: 7px; }
.simple-points-list span { display: block; margin-bottom: 42px; color: #fec300; font-size: 11px; font-weight: var(--bold); letter-spacing: .12em; }
.simple-points-list h3 { max-width: 13ch; margin: 0 0 13px; font-size: clamp(1.55rem, 2.1vw, 2.3rem); letter-spacing: -.07em; line-height: 1.03; }
.simple-points-list h3 { font-size: clamp(1.085rem, 1.47vw, 1.61rem); }
.simple-points-list p { max-width: 33ch; margin: 0; color: #bdbdb9; font-size: 14px; line-height: 1.65; }

.simple-regions { padding: clamp(74px, 9vw, 122px) 0; color: var(--white); background: var(--charcoal); }
.simple-regions-grid { display: grid; grid-template-columns: minmax(260px, .83fr) minmax(300px, 1.17fr); gap: clamp(48px, 10vw, 160px); align-items: start; }
.simple-regions .eyebrow { color: var(--yellow); }
.simple-regions h2 { max-width: 9ch; margin: 0; color: var(--white); font-size: clamp(2.8rem, 4.35vw, 5rem); letter-spacing: -.085em; line-height: .92; text-wrap: balance; }
.simple-regions h2 { font-size: clamp(1.96rem, 3.045vw, 3.5rem); }
.simple-regions-grid > div:last-child > p { max-width: 47ch; margin: 10px 0 31px; color: rgba(255, 254, 249, .75); font-size: 16px; line-height: 1.68; }
.region-list { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 0; padding: 0; list-style: none; }
.region-list li { position: relative; padding-left: 15px; color: var(--white); font-size: 14px; font-weight: var(--medium); }
.region-list li::before { position: absolute; top: .56em; left: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--yellow); content: ""; }
.simple-coverage-quote { background: #171717; }
.simple-coverage-quote .simple-story-copy h2 { max-width: 13ch; }

.simple-policies { padding: clamp(78px, 9vw, 132px) 0; background: #171717; }
.policy-list { display: grid; gap: 0; }
.policy-list article { display: grid; grid-template-columns: minmax(125px, .35fr) minmax(0, 1.65fr); gap: clamp(32px, 7vw, 110px); padding: 30px 0; border-top: 1px solid var(--line); }
.policy-list article:last-child { border-bottom: 1px solid var(--line); }
.policy-list article > strong { color: #fec300; font-size: 12px; letter-spacing: .1em; }
.policy-list h3 { max-width: 26ch; margin: 0 0 11px; font-size: clamp(1.55rem, 2.15vw, 2.35rem); letter-spacing: -.07em; line-height: 1.02; }
.policy-list h3 { font-size: clamp(1.085rem, 1.505vw, 1.645rem); }
.policy-list p { max-width: 52ch; margin: 0; color: #bdbdb9; font-size: 15px; line-height: 1.65; }
.simple-safety-criteria { background: #171717; }

.simple-contact { padding: clamp(78px, 9vw, 132px) 0; background: #171717; }
.simple-contact-grid { display: grid; grid-template-columns: minmax(240px, .7fr) minmax(450px, 1.3fr); gap: clamp(52px, 10vw, 165px); align-items: start; }
.simple-contact-copy { padding-top: 12px; }
.simple-contact-copy h2 { max-width: 11ch; margin: 0 0 22px; font-size: clamp(2.6rem, 4vw, 4.7rem); letter-spacing: -.085em; line-height: .93; text-wrap: balance; }
.simple-contact-copy h2 { font-size: clamp(1.82rem, 2.8vw, 3.29rem); }
.simple-contact-copy > p:not(.eyebrow) { max-width: 34ch; color: #bdbdb9; font-size: 16px; line-height: 1.68; }
.simple-contact-details { display: grid; gap: 19px; margin-top: 38px; }
.simple-contact-details a, .simple-contact-details p { display: grid; gap: 3px; margin: 0; }
.simple-contact-details strong { color: #fec300; font-size: 10px; letter-spacing: .11em; text-transform: uppercase; }
.simple-contact-details span { color: #f1f1ef; font-size: 14px; line-height: 1.55; }
.page-contact .form-shell.simple-contact-form { padding: clamp(28px, 4vw, 54px); color: var(--white); background: #242424; border-radius: 6px 6px 54px 6px; box-shadow: none; }
.simple-contact-form .eyebrow { color: var(--yellow); }
.simple-contact-form > h2 { margin: 0 0 9px; color: var(--white); font-size: clamp(2.2rem, 3.25vw, 3.55rem); letter-spacing: -.08em; line-height: .95; }
.simple-contact-form > h2 { font-size: clamp(1.54rem, 2.275vw, 2.485rem); }
.simple-contact-form > p:not(.eyebrow) { margin-bottom: 30px; color: rgba(255, 254, 249, .75); font-size: 14px; }
.simple-contact-form .contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.simple-contact-form .field { display: grid; gap: 7px; }
.simple-contact-form .field.full { grid-column: 1 / -1; }
.simple-contact-form label { color: rgba(255, 254, 249, .84); font-size: 11px; font-weight: var(--medium); }
.simple-contact-form input, .simple-contact-form select { width: 100%; min-height: 46px; padding: 0 13px; border: 1px solid rgba(255, 254, 249, .35); border-radius: 0; outline: 0; color: var(--white); background: transparent; font-size: 14px; }
.simple-contact-form input::placeholder { color: rgba(255, 254, 249, .54); }
.simple-contact-form select { color: var(--white); }
.simple-contact-form select option { color: #f1f1ef; }
.simple-contact-form input:focus, .simple-contact-form select:focus { border-color: var(--yellow); }
.simple-contact-form .form-submit { margin-top: 8px; }
.simple-contact-form .form-note { margin: 20px 0 0; color: rgba(255, 254, 249, .62); font-size: 11px; line-height: 1.55; }
.simple-contact-form .form-success { margin: 16px 0 0; color: var(--yellow); font-size: 13px; font-weight: var(--medium); }

.simple-cta { padding: clamp(72px, 8vw, 118px) 0; }
.simple-cta-grid { display: grid; grid-template-columns: minmax(270px, .9fr) minmax(280px, .7fr); justify-content: space-between; gap: clamp(48px, 12vw, 200px); align-items: end; }
.simple-cta .eyebrow { color: var(--yellow); }
.simple-cta h2 { max-width: 11ch; margin: 0; color: inherit; font-size: clamp(2.75rem, 4.5vw, 5.1rem); letter-spacing: -.09em; line-height: .91; text-wrap: balance; }
.simple-cta h2 { font-size: clamp(1.925rem, 3.15vw, 3.57rem); }
.simple-cta-grid > div:last-child > p { max-width: 38ch; margin: 0 0 26px; color: inherit; font-size: 16px; line-height: 1.68; opacity: .78; }
.simple-cta-blue { color: var(--white); background: #242424; }
.simple-cta-yellow { color: #f1f1ef; background: var(--yellow); }
.simple-cta-yellow .eyebrow { color: #fec300; }
.simple-cta-dark { color: var(--white); background: var(--charcoal); }

/* Type alignment: keep the internal-page reading column compact and stop
   headlines from creating artificial empty vertical space on large screens. */
.inner-hero > picture { position: absolute; z-index: 0; inset: 0; display: block; }
.inner-hero h1 { width: min(10.5ch, 100%); max-width: none; font-size: clamp(3.25rem, 5.15vw, 5.85rem); }
.inner-hero h1 { font-size: clamp(2.275rem, 3.605vw, 4.095rem); }
.inner-hero-about h1 { width: min(10.5ch, 100%); }
.inner-hero-lead { max-width: 47ch; }
.simple-story-grid { align-items: start; }
.simple-story-copy { padding-top: 6px; }
.simple-story-copy .eyebrow { margin-bottom: 17px; }
.simple-story-media > picture { display: block; height: 100%; }
.simple-story-media > picture > img { height: 100%; }
.simple-story-copy p:not(.eyebrow), .simple-regions-grid > div:last-child > p, .simple-cta-grid > div:last-child > p { text-wrap: pretty; }

/* Neutralize page-specific spacing from the prior layouts. */
.page-about main > .simple-story,
.page-safety main > .simple-story { padding: clamp(78px, 9vw, 132px) 0; }
.page-safety main > .simple-policies { padding: clamp(78px, 9vw, 132px) 0; color: #f1f1ef; background: #171717; }
.page-contact main > .inner-hero-contact { padding: 0; }
.page-contact main > section.inner-hero-contact { padding: 0 !important; }

@media (min-width: 761px) {
  .simple-story { padding-block: clamp(76px, 7vw, 104px); }
  .page-about main > .simple-story,
  .page-safety main > .simple-story { padding-block: clamp(76px, 7vw, 104px); }
  .simple-policies, .page-safety main > .simple-policies { padding-block: clamp(76px, 7vw, 100px); }
  .simple-points { padding-block: clamp(76px, 7vw, 104px); }
}

@media (max-width: 760px) {
  .utility-inner { min-height: 31px; justify-content: center; font-size: 9px; }
  .utility-inner > :not(:first-child) { display: none; }
  .header-inner { min-height: 68px; gap: 14px; }
  .brand { width: 125px; }
  .nav-toggle { display: block; margin-left: auto; }
  .main-nav { position: fixed; z-index: 29; top: 99px; right: 0; left: 0; display: grid; gap: 0; padding: 12px var(--gutter) 22px; background: #171717; box-shadow: 0 18px 35px rgba(21, 19, 17, .12); transform: translateY(-130%); transition: transform .25s ease; }
  .main-nav.open { transform: translateY(0); }
  .main-nav a { padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
  .header-cta { display: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 22px; padding-bottom: 40px; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .footer-bottom { display: grid; padding: 15px 0; }

  .inner-hero { min-height: 0; }
  .inner-hero::before { background: linear-gradient(90deg, rgba(21, 19, 17, .94), rgba(21, 19, 17, .66)); }
  .inner-hero-media { width: 100%; opacity: .48; }
  .inner-hero .container { min-height: 490px; padding-top: 68px; padding-bottom: 64px; }
  .inner-hero h1 { width: 100%; max-width: 10.7ch; margin-bottom: 19px; font-size: clamp(3rem, 13.1vw, 4.15rem); }
.inner-hero h1 { font-size: clamp(2.1rem, 9.17vw, 2.905rem); }
  .inner-hero-lead { font-size: 15px; }
  .inner-hero-fact { margin: 18px 0 24px; font-size: 12px; }
  .inner-hero-coverage::before { background: linear-gradient(90deg, rgba(254, 195, 0, .96), rgba(254, 195, 0, .62)); }
  .inner-hero-safety::before { background: linear-gradient(90deg, rgba(21, 19, 17, .96), rgba(21, 19, 17, .62)); }
  .inner-hero-safety .inner-hero-media { opacity: .64; }
  .inner-hero-contact .container { min-height: 440px; }

  .simple-story { padding: 66px 0; }
  .simple-story-grid, .simple-story-reverse { grid-template-columns: 1fr; gap: 34px; }
  .simple-story-reverse .simple-story-copy { order: 0; }
  .simple-story-reverse .simple-story-media { order: 1; }
  .simple-story-media, .simple-story-media img { min-height: 275px; }
  .simple-story-media { border-radius: 6px 6px 40px 6px; }
  .simple-story-copy h2, .section-heading h2 { max-width: 12ch; margin-bottom: 18px; font-size: clamp(2.45rem, 10.8vw, 3.5rem); }
.simple-story-copy h2, .section-heading h2 { font-size: clamp(1.715rem, 7.56vw, 2.45rem); }
  .simple-story-copy p:not(.eyebrow) { margin-bottom: 15px; font-size: 15px; }
  .simple-story-aside { min-height: 220px; padding: 28px; border-radius: 6px 6px 40px 6px; }
  .section-heading { display: block; margin-bottom: 40px; }
  .section-heading .eyebrow { margin-top: 0; }
  .simple-stats { padding: 66px 0; }
  .simple-stats-grid { grid-template-columns: 1fr 1fr; gap: 35px 0; }
  .simple-stats-grid article { padding: 0 20px 0 0; }
  .simple-stats-grid article + article { padding-left: 20px; border-left: 1px solid rgba(255, 254, 249, .22); }
  .simple-stats-grid article:nth-child(3) { padding-left: 0; border-left: 0; }
  .simple-stats-grid strong { font-size: 2.25rem; }
  .simple-points { padding: 66px 0; }
  .simple-points-list { grid-template-columns: 1fr; gap: 38px; }
  .simple-points-list span { margin-bottom: 16px; }
  .simple-points-list h3 { max-width: 15ch; font-size: 1.85rem; }
.simple-points-list h3 { font-size: 1.295rem; }
  .simple-regions { padding: 66px 0; }
  .simple-regions-grid { grid-template-columns: 1fr; gap: 28px; }
  .simple-regions h2 { max-width: 11ch; font-size: clamp(2.5rem, 10.9vw, 3.6rem); }
.simple-regions h2 { font-size: clamp(1.75rem, 7.63vw, 2.52rem); }
  .simple-regions-grid > div:last-child > p { margin-top: 0; font-size: 15px; }
  .region-list { gap: 12px 21px; }
  .simple-policies { padding: 66px 0; }
  .policy-list article { grid-template-columns: 1fr; gap: 14px; padding: 25px 0; }
  .policy-list h3 { font-size: 1.7rem; }
.policy-list h3 { font-size: 1.19rem; }
  .policy-list p { font-size: 14px; }
  .simple-contact { padding: 66px 0; }
  .simple-contact-grid { grid-template-columns: 1fr; gap: 48px; }
  .simple-contact-copy { padding-top: 0; }
  .simple-contact-copy h2 { font-size: clamp(2.5rem, 11vw, 3.65rem); }
.simple-contact-copy h2 { font-size: clamp(1.75rem, 7.7vw, 2.555rem); }
  .page-contact .form-shell.simple-contact-form { padding: 27px 18px; border-radius: 6px 6px 40px 6px; }
  .simple-contact-form .contact-form { grid-template-columns: 1fr; gap: 15px; }
  .simple-contact-form .field.full { grid-column: auto; }
  .simple-cta { padding: 64px 0; }
  .simple-cta-grid { grid-template-columns: 1fr; gap: 27px; }
  .simple-cta h2 { max-width: 11ch; font-size: clamp(2.55rem, 11vw, 3.65rem); }
.simple-cta h2 { font-size: clamp(1.785rem, 7.7vw, 2.555rem); }
  .simple-cta-grid > div:last-child > p { margin-bottom: 22px; font-size: 15px; }
}

/* --------------------------------------------------------------------------
   Internal pages: each page has its own reading rhythm instead of repeating
   hero > card grid > CTA. Kept intentionally quiet, with colour marking the
   section hierarchy rather than becoming decoration.                           */

@media (min-width: 761px) {
  /* Sobre: editorial story, image sequence, then proof points. */
  .page-about main > .section:nth-of-type(2) { padding-top: 92px; }
  .page-about .editorial-grid { grid-template-columns: minmax(210px, .55fr) minmax(0, 1.45fr); gap: clamp(42px, 6vw, 110px); }
  .page-about .side-note { position: static; width: auto; margin: 0; padding: 25px 26px; align-self: start; background: #242424; color: var(--white); border-radius: 4px 4px 34px 4px; box-shadow: none; }
  .page-about .side-note strong, .page-about .side-note span { color: inherit; }
  .page-about .editorial-copy { max-width: 760px; }
  .page-about .image-strip { grid-template-columns: minmax(0, 1.45fr) minmax(180px, .55fr); gap: 24px; align-items: end; margin-top: 74px; }
  .page-about .image-strip figure { min-height: 430px; }
  .page-about .image-strip figure:last-child { min-height: 290px; margin-bottom: 44px; }
  .page-about .about-metrics { background: #242424; padding-block: 76px; }
  .page-about .about-metrics .metrics-grid { gap: 52px; }
  .page-about .about-metrics .metrics-grid > div { padding: 0; border: 0; background: transparent; }
  .page-about .about-metrics .metrics-grid strong { color: var(--yellow); }
  .page-about .security-band { background: #171717; }
  .page-about .value-list { grid-template-columns: .78fr 1fr 1.22fr; gap: clamp(32px, 5vw, 82px); }
  .page-about .value-list article { min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .page-about .value-list article:nth-child(2) { padding-top: 54px; }
  .page-about .value-list article:nth-child(3) { padding-top: 108px; }

  /* Segmentos: a concise operational index, not another bento wall. */
  .page-segments .segment-intro { background: #171717; }
  .page-segments .segment-intro .editorial-grid { grid-template-columns: minmax(220px, .58fr) minmax(0, 1.42fr); gap: clamp(42px, 7vw, 120px); }
  .page-segments .segment-intro .side-note { position: static; width: auto; margin: 0; padding: 24px; background: var(--charcoal); color: var(--white); border-radius: 4px 4px 32px 4px; box-shadow: none; }
  .page-segments .segment-intro .side-note strong, .page-segments .segment-intro .side-note span { color: inherit; }
  .page-segments .segment-list { margin-top: 66px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .page-segments .segment-item { min-height: 220px; padding: 29px 31px; border: 0; border-radius: 4px 4px 30px 4px; box-shadow: none; }
  .page-segments .segment-item:nth-child(3n + 1) { background: #242424; color: var(--white); }
  .page-segments .segment-item:nth-child(3n + 2) { background: #171717; }
  .page-segments .segment-item:nth-child(3n) { background: #171717; }
  .page-segments .segment-item:nth-child(3n + 1) p, .page-segments .segment-item:nth-child(3n + 1) .eyebrow { color: var(--white); }
  .page-segments .segment-item:nth-child(3n + 1) .eyebrow { opacity: .74; }
  .page-segments .cta-ribbon { display: none; }

  /* Cobertura: the image opens the route; the route list lives in a dark rail. */
  .page-coverage .coverage { padding-bottom: 0; }
  .page-coverage .coverage-grid { align-items: center; gap: clamp(48px, 8vw, 136px); }
  .page-coverage .coverage-copy { max-width: 600px; }
  .page-coverage .coverage-copy h2 { max-width: 10ch; }
  .page-coverage .coverage-details { margin-top: 74px; padding-block: 78px; background: var(--charcoal); color: var(--white); }
  .page-coverage .coverage-details .why-head { margin-bottom: 44px; }
  .page-coverage .coverage-details .why-head h2, .page-coverage .coverage-details .why-head p, .page-coverage .coverage-details .eyebrow { color: inherit; }
  .page-coverage .coverage-details .eyebrow { color: var(--yellow); }
  .page-coverage .coverage-states { gap: 10px; }
  .page-coverage .coverage-states span { background: #292725; color: var(--white); border: 0; border-radius: 4px 4px 18px 4px; box-shadow: none; }
  .page-coverage .coverage-extra { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr); column-gap: 70px; row-gap: 12px; max-width: none; margin-top: 54px; padding-top: 0; border: 0; }
  .page-coverage .coverage-extra p { color: #d5d2cf; }
  .page-coverage .coverage-extra .text-link { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--yellow); border-color: rgba(253, 222, 21, .55); }

  /* Segurança: coverage types become a sober assurance panel, not colour tiles. */
  .page-safety main > .section:nth-of-type(2) .editorial-grid { grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); gap: clamp(44px, 7vw, 120px); }
  .page-safety main > .section:nth-of-type(2) .side-note { position: static; width: auto; margin: 0; padding: 24px; background: #171717; border-radius: 4px 4px 32px 4px; box-shadow: none; }
  .page-safety main > .security-band:nth-of-type(3) { background: #242424; color: var(--white); }
  .page-safety main > .security-band:nth-of-type(3) .insurance-grid { gap: 22px; }
  .page-safety main > .security-band:nth-of-type(3) .insurance-grid article { min-height: 270px; padding: 34px; border: 0; border-radius: 4px 4px 38px 4px; background: #fe9b00; color: var(--white); box-shadow: none; }
  .page-safety main > .security-band:nth-of-type(3) .insurance-grid article:nth-child(2) { background: var(--charcoal); }
  .page-safety main > .security-band:nth-of-type(3) .insurance-grid article:nth-child(3) { background: var(--yellow); color: #f1f1ef; }
  .page-safety main > .security-band:nth-of-type(3) .insurance-grid article h3, .page-safety main > .security-band:nth-of-type(3) .insurance-grid article p { color: inherit; }
  .page-safety main > .security-band:nth-of-type(3) .insurance-grid article .eyebrow { color: var(--yellow); }
  .page-safety main > .security-band:nth-of-type(3) .insurance-grid article:nth-child(3) .eyebrow { color: #fec300; }
  .page-safety main > .section:nth-of-type(4) .editorial-grid { grid-template-columns: minmax(0, 1fr) minmax(280px, .78fr); }
  .page-safety main > .section:nth-of-type(4) .side-note { order: 2; position: static; width: auto; margin: 0; align-self: end; }
  .page-safety main > .security-band:nth-of-type(5) { background: #171717; }

  /* Contato: the conversion action leads; service channels are a supporting panel. */
  .page-contact .contact { background: #171717; }
  .page-contact .contact-layout { grid-template-columns: minmax(280px, .84fr) minmax(0, 1.16fr); gap: 30px; align-items: stretch; }
  .page-contact .contact-info { padding: 42px; background: var(--charcoal); color: var(--white); border-radius: 4px 4px 46px 4px; }
  .page-contact .contact-info h2, .page-contact .contact-info p, .page-contact .contact-info .eyebrow { color: inherit; }
  .page-contact .contact-info .eyebrow { color: var(--yellow); }
  .page-contact .contact-details { margin-top: 46px; }
  .page-contact .contact-details a { background: #262321; color: var(--white); }
  .page-contact .form-shell { padding: clamp(30px, 4vw, 54px); border-radius: 4px 4px 46px 4px; background: #242424; }
  .page-contact .security-band { background: var(--yellow); color: #f1f1ef; }
  .page-contact .security-band h2, .page-contact .security-band p, .page-contact .security-band .eyebrow { color: inherit; }
}

@media (max-width: 760px) {
  .page-about .side-note, .page-segments .segment-intro .side-note, .page-safety main > .section:nth-of-type(2) .side-note { position: static; width: auto; margin: 0 0 28px; padding: 20px; box-shadow: none; border-radius: 4px 4px 26px 4px; }
  .page-about .side-note, .page-segments .segment-intro .side-note { color: var(--white); }
  .page-about .side-note { background: #242424; }
  .page-segments .segment-intro .side-note { background: var(--charcoal); }
  .page-about .side-note strong, .page-about .side-note span, .page-segments .segment-intro .side-note strong, .page-segments .segment-intro .side-note span { color: inherit; }
  .page-about .image-strip { margin-top: 42px; gap: 14px; }
  .page-about .image-strip figure:last-child { margin-top: 38px; }
  .page-about .about-metrics { background: #242424; }
  .page-about .metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
  .page-about .metrics-grid > div { padding: 0; border: 0; background: transparent; }
  .page-about .metrics-grid strong { color: var(--yellow); }
  .page-about .security-band { background: #171717; }
  .page-about .value-list { gap: 38px; }
  .page-about .value-list article, .page-about .value-list article:nth-child(2), .page-about .value-list article:nth-child(3) { min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }

  .page-segments .segment-intro { background: #171717; }
  .page-segments .segment-list { margin-top: 38px; gap: 10px; }
  .page-segments .segment-item { min-height: 0; padding: 25px 23px; border: 0; border-radius: 4px 4px 26px 4px; box-shadow: none; }
  .page-segments .segment-item:nth-child(3n + 1) { background: #242424; color: var(--white); }
  .page-segments .segment-item:nth-child(3n + 2) { background: #171717; }
  .page-segments .segment-item:nth-child(3n) { background: #171717; }
  .page-segments .segment-item:nth-child(3n + 1) p, .page-segments .segment-item:nth-child(3n + 1) .eyebrow { color: var(--white); }
  .page-segments .cta-ribbon { display: none; }

  .page-coverage .coverage { padding-bottom: 0; }
  .page-coverage .coverage-details { margin-top: 52px; padding-block: 58px; background: var(--charcoal); color: var(--white); }
  .page-coverage .coverage-details .why-head h2, .page-coverage .coverage-details .why-head p { color: inherit; }
  .page-coverage .coverage-details .eyebrow { color: var(--yellow); }
  .page-coverage .coverage-states span { background: #292725; color: var(--white); border: 0; border-radius: 4px 4px 18px 4px; box-shadow: none; }
  .page-coverage .coverage-extra { max-width: none; margin-top: 36px; padding-top: 0; border: 0; }
  .page-coverage .coverage-extra p { color: #d5d2cf; }
  .page-coverage .coverage-extra .text-link { color: var(--yellow); border-color: rgba(253, 222, 21, .55); }

  .page-safety main > .section:nth-of-type(2) .side-note { background: #171717; color: #f1f1ef; }
  .page-safety main > .security-band:nth-of-type(3) { background: #242424; color: var(--white); }
  .page-safety main > .security-band:nth-of-type(3) .insurance-grid { gap: 12px; }
  .page-safety main > .security-band:nth-of-type(3) .insurance-grid article { min-height: 0; padding: 27px 24px; border: 0; border-radius: 4px 4px 30px 4px; background: #fe9b00; color: var(--white); box-shadow: none; }
  .page-safety main > .security-band:nth-of-type(3) .insurance-grid article:nth-child(2) { background: var(--charcoal); }
  .page-safety main > .security-band:nth-of-type(3) .insurance-grid article:nth-child(3) { background: var(--yellow); color: #f1f1ef; }
  .page-safety main > .security-band:nth-of-type(3) .insurance-grid article h3, .page-safety main > .security-band:nth-of-type(3) .insurance-grid article p { color: inherit; }
  .page-safety main > .security-band:nth-of-type(3) .insurance-grid article .eyebrow { color: var(--yellow); }
  .page-safety main > .security-band:nth-of-type(3) .insurance-grid article:nth-child(3) .eyebrow { color: #fec300; }
  .page-safety main > .security-band:nth-of-type(5) { background: #171717; }

  .page-contact .contact { background: #171717; }
  .page-contact .contact-layout { gap: 16px; }
  .page-contact .contact-info { padding: 30px 24px; background: var(--charcoal); color: var(--white); border-radius: 4px 4px 34px 4px; }
  .page-contact .contact-info h2, .page-contact .contact-info p { color: inherit; }
  .page-contact .contact-info .eyebrow { color: var(--yellow); }
  .page-contact .contact-details { margin-top: 30px; }
  .page-contact .contact-details a { background: #262321; color: var(--white); }
  .page-contact .form-shell { padding: 28px 22px; border-radius: 4px 4px 34px 4px; background: #242424; }
  .page-contact .security-band { background: var(--yellow); color: #f1f1ef; }
  .page-contact .security-band h2, .page-contact .security-band p, .page-contact .security-band .eyebrow { color: inherit; }
}

/* Internal pages: each chapter gets its own visual rhythm. */
@media (min-width: 761px) {
  .page-hero h1 { max-width: 1120px; font-size: clamp(3.2rem, 5.1vw, 6.4rem); }
.page-hero h1 { font-size: clamp(2.24rem, 3.57vw, 4.48rem); }

  .page-about .page-hero {
    min-height: 600px;
    padding: clamp(100px, 9vw, 132px) 0 108px;
    background: var(--charcoal);
  }
  .page-about .page-hero::after {
    position: absolute;
    inset: 0 0 0 auto;
    display: block;
    width: 43%;
    background: linear-gradient(90deg, var(--charcoal) 0%, rgba(21, 19, 17, .6) 22%, rgba(21, 19, 17, .12) 65%, rgba(21, 19, 17, .02)), url("assets/about-person.jpg") center / cover no-repeat;
    clip-path: polygon(17% 0, 100% 0, 100% 100%, 0 100%);
    content: "";
  }
  .page-about .page-hero h1 { max-width: 940px; }
  .page-about .page-hero .hero-note { right: 11%; bottom: 50px; }
  .page-about main > .section:first-of-type { padding-top: 110px; }
  .page-about main > .section:first-of-type .editorial-grid { grid-template-columns: minmax(220px, .45fr) minmax(0, 1.55fr); }
  .page-about .image-strip { grid-template-columns: 1fr 1fr; margin-top: 86px; }
  .page-about .image-strip figure:first-child { min-height: 500px; }
  .page-about .image-strip figure:last-child { min-height: 360px; margin-top: 110px; }
  .page-about .about-metrics { padding-block: 84px; }
  .page-about .metrics-grid > div { border-radius: 4px 4px 22px 4px; }
  .page-about .security-band { background: #171717; }
  .page-about .value-list article { min-height: 220px; border-radius: 4px 4px 28px 4px; }

  .page-segments .page-hero {
    min-height: 490px;
    padding: 105px 0 80px;
    background: var(--yellow);
  }
  .page-segments .page-hero::after {
    position: absolute;
    inset: 0 0 0 auto;
    display: block;
    width: 44%;
    background: linear-gradient(90deg, var(--yellow) 0%, rgba(253, 222, 21, .65) 21%, rgba(253, 222, 21, .08) 72%), url("assets/dock.jpg") center / cover no-repeat;
    clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%);
    content: "";
  }
  .page-segments .page-hero h1 { max-width: 900px; }
  .page-segments .page-hero .hero-note { right: 10%; bottom: 46px; }
  .page-segments .segment-intro { padding-top: 112px; }
  .page-segments .segment-intro .editorial-grid { grid-template-columns: minmax(180px, .42fr) minmax(0, 1.58fr); }
  .page-segments .segment-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .page-segments .segment-item {
    display: flex;
    min-height: 248px;
    padding: 28px 28px 30px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    border-radius: 4px 4px 34px 4px;
    background: #171717;
  }
  .page-segments .segment-item > span { margin-bottom: 26px; }
  .page-segments .segment-item h3 { margin: auto 0 10px; }
  .page-segments .segment-item p { max-width: 480px; }
  .page-segments .segment-item:nth-child(4n + 1) { color: var(--white); background: #242424; }
  .page-segments .segment-item:nth-child(4n + 1) > span { color: var(--yellow); }
  .page-segments .segment-item:nth-child(4n + 1) p { color: rgba(255, 254, 249, .74); }
  .page-segments .segment-item:nth-child(4n + 3) { background: var(--yellow); }
  .page-segments .segment-item:nth-child(4n + 4) { background: #171717; }
  .page-segments .security-band { color: var(--white); background: var(--charcoal); }
  .page-segments .security-band .eyebrow { color: var(--yellow); }
  .page-segments .security-band .security-copy p:not(.eyebrow) { color: rgba(255, 254, 249, .7); }

  .page-coverage .page-hero {
    min-height: 420px;
    padding: 96px 0 96px;
    background: #242424;
  }
  .page-coverage .page-hero::after {
    position: absolute;
    inset: 0 0 0 auto;
    display: block;
    width: 42%;
    background: linear-gradient(90deg, #242424 0%, rgba(254, 195, 0, .82) 21%, rgba(254, 195, 0, .25) 70%), url("assets/coverage-road.jpg") center / cover no-repeat;
    clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%);
    content: "";
    opacity: .72;
  }
  .page-coverage .page-hero h1 { max-width: 1000px; }
  .page-coverage .page-hero .hero-note { right: 10%; bottom: 44px; }
  .page-coverage main > .coverage { padding-top: 96px; }
  .page-coverage .coverage-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.18fr); align-items: center; }
  .page-coverage .coverage-copy { padding-top: 0; }
  .page-coverage .coverage-art { min-height: 560px; border-radius: 34px 34px 96px 34px; }
  .page-coverage .coverage-art img { min-height: 560px; }
  .page-coverage .coverage-details { padding-top: 100px; }
  .page-coverage .coverage-details .why-head { max-width: 980px; }
  .page-coverage .coverage-states-large { gap: 10px; margin-top: 42px; }
  .page-coverage .coverage-states-large span { border-radius: 3px; }

  .page-safety .page-hero {
    min-height: 520px;
    padding: 105px 0 100px;
    background: var(--yellow);
  }
  .page-safety .page-hero::after {
    position: absolute;
    inset: 0 0 0 auto;
    display: block;
    width: 44%;
    background: linear-gradient(90deg, var(--yellow) 0%, rgba(253, 222, 21, .6) 20%, rgba(253, 222, 21, .05) 68%), url("assets/cargo-safety.jpg") center / cover no-repeat;
    clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%);
    content: "";
  }
  .page-safety .page-hero h1 { max-width: 900px; }
  .page-safety .page-hero .hero-note { right: 10%; bottom: 46px; }
  .page-safety main > .section:first-of-type { padding-top: 104px; }
  .page-safety main > .section:first-of-type .editorial-grid { grid-template-columns: minmax(220px, .48fr) minmax(0, 1.52fr); }
  .page-safety .insurance-grid-page { grid-template-columns: 1.15fr .92fr .92fr; gap: 18px; margin-top: 48px; }
  .page-safety .insurance-grid-page article { min-height: 310px; padding: 30px 30px 34px; border-radius: 4px 4px 34px 4px; }
  .page-safety .insurance-grid-page article:nth-child(1) { border-radius: 4px 4px 70px 4px; }
  .page-safety .insurance-grid-page article:nth-child(2) { border-radius: 4px 4px 34px 4px; }
  .page-safety .insurance-grid-page article:nth-child(3) { border-radius: 34px 4px 4px 4px; }
  .page-safety main > .section:nth-of-type(3) { background: #171717; }

  .page-contact .page-hero {
    min-height: 410px;
    padding: 90px 0 92px;
    background: #242424;
  }
  .page-contact .page-hero::after {
    position: absolute;
    inset: 0 0 0 auto;
    display: block;
    width: 44%;
    background: linear-gradient(90deg, #242424 0%, rgba(254, 195, 0, .72) 22%, rgba(254, 195, 0, .12) 70%), url("assets/contact-person.jpg") center / cover no-repeat;
    clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%);
    content: "";
  }
  .page-contact .page-hero h1 { max-width: 1000px; }
  .page-contact .page-hero .hero-note { right: 10%; bottom: 40px; }
  .page-contact main > .section:first-of-type { padding-top: 104px; }
  .page-contact .contact-layout { grid-template-columns: minmax(0, .74fr) minmax(0, 1.26fr); gap: clamp(54px, 8vw, 122px); margin-top: 0; }
  .page-contact .contact-info { padding-top: 15px; }
  .page-contact .contact-details { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 28px; }
  .page-contact .contact-details > span { grid-column: 1 / -1; }
  .page-contact .form-shell { border-radius: 26px 26px 92px 26px; box-shadow: 0 24px 58px rgba(21, 19, 17, .14); }
  .page-contact .security-band { color: var(--white); background: var(--charcoal); }
  .page-contact .security-band .eyebrow { color: var(--yellow); }
  .page-contact .security-band .side-note { color: var(--yellow); }
  .page-contact .security-band .editorial-grid p:not(.eyebrow) { color: rgba(255, 254, 249, .7); }
}

@media (prefers-reduced-motion: no-preference) {
  .segment-item, .insurance-grid-page article, .coverage-art, .image-strip figure { transition: transform .35s ease, box-shadow .35s ease; }
  .segment-item:hover, .insurance-grid-page article:hover, .coverage-art:hover, .image-strip figure:hover { transform: translateY(-5px); box-shadow: 0 20px 38px rgba(21, 19, 17, .12); }
}

@media (max-width: 760px) {
  .page-about .page-hero, .page-segments .page-hero, .page-coverage .page-hero, .page-safety .page-hero, .page-contact .page-hero { min-height: auto; padding: 84px 0 84px; }
  .page-about .page-hero::after, .page-segments .page-hero::after, .page-coverage .page-hero::after, .page-safety .page-hero::after, .page-contact .page-hero::after {
    inset: auto 0 0;
    width: 100%;
    height: 42%;
    clip-path: none;
    opacity: .2;
  }
  .page-about .page-hero h1, .page-segments .page-hero h1, .page-coverage .page-hero h1, .page-safety .page-hero h1, .page-contact .page-hero h1 { max-width: 100%; font-size: clamp(3rem, 13.5vw, 5rem); }
.page-about .page-hero h1, .page-segments .page-hero h1, .page-coverage .page-hero h1, .page-safety .page-hero h1, .page-contact .page-hero h1 { font-size: clamp(2.1rem, 9.45vw, 3.5rem); }
  .page-about .page-hero .hero-note, .page-segments .page-hero .hero-note, .page-coverage .page-hero .hero-note, .page-safety .page-hero .hero-note, .page-contact .page-hero .hero-note { right: auto; bottom: auto; margin-top: 32px; }
  .page-about main > .section:first-of-type, .page-safety main > .section:first-of-type, .page-contact main > .section:first-of-type { padding-top: 82px; }
  .page-about .image-strip { margin-top: 46px; }
  .page-about .image-strip figure:first-child, .page-about .image-strip figure:last-child { min-height: 270px; margin-top: 0; }
  .page-segments .segment-intro { padding-top: 82px; }
  .page-segments .segment-list { grid-template-columns: 1fr; gap: 10px; }
  .page-segments .segment-item { min-height: 0; padding: 23px 20px 25px; border-radius: 4px 4px 28px 4px; }
  .page-segments .segment-item > span { margin-bottom: 18px; }
  .page-segments .segment-item h3 { margin: 0 0 9px; }
  .page-segments .security-band { margin-top: 10px; }
  .page-coverage main > .coverage { padding-top: 82px; }
  .page-coverage .coverage-art, .page-coverage .coverage-art img { min-height: 380px; }
  .page-coverage .coverage-art { border-radius: 14px 14px 56px 14px; }
  .page-coverage .coverage-details { padding-top: 82px; }
  .page-safety .insurance-grid-page { grid-template-columns: 1fr; gap: 12px; margin-top: 34px; }
  .page-safety .insurance-grid-page article, .page-safety .insurance-grid-page article:nth-child(1), .page-safety .insurance-grid-page article:nth-child(2), .page-safety .insurance-grid-page article:nth-child(3) { min-height: 0; padding: 24px 22px 26px; border-radius: 4px 4px 28px 4px; }
  .page-contact .contact-layout { gap: 45px; margin-top: 0; }
  .page-contact .contact-info { padding-top: 0; }
  .page-contact .contact-details { grid-template-columns: 1fr; gap: 16px; }
  .page-contact .contact-details > span { grid-column: auto; }
}

/* Full-site audit refinements: clearer rails, tighter hero measure and mobile image fallback. */
.coverage-states { max-width: 560px; gap: 9px; }
.coverage-states span {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 43px;
  padding: 0 14px 0 28px;
  border: 1px solid rgba(254, 195, 0, .08);
  border-radius: 5px 5px 16px 5px;
  box-shadow: 0 8px 18px rgba(21, 19, 17, .045);
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}
.coverage-states span::before {
  position: absolute;
  left: 12px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--yellow-deep);
  content: "";
}
.coverage-states-large { max-width: none; gap: 10px; }
.coverage-states-large span { min-height: 48px; padding-inline: 17px; padding-left: 30px; }

@media (hover: hover) and (pointer: fine) {
  .coverage-states span:hover {
    color: var(--white);
    background: #242424;
    border-color: var(--blue);
    transform: translateY(-2px);
  }
  .coverage-states span:hover::before { background: var(--yellow); }
}

@media (min-width: 981px) {
  .page-about .page-hero h1, .page-contact .page-hero h1 { max-width: 860px; }
  .page-coverage .page-hero { min-height: 470px; padding-bottom: 106px; }
  .page-coverage .page-hero h1 { max-width: 820px; font-size: clamp(3.7rem, 4.9vw, 5.9rem); }
.page-coverage .page-hero h1 { font-size: clamp(2.59rem, 3.43vw, 4.13rem); }
  .page-coverage .page-hero .hero-note { right: 9%; bottom: 42px; }
}

@media (max-width: 760px) {
  .utility-left { display: grid; gap: 0; }
  .utility-right a { white-space: nowrap; }
  .page-hero::after { position: absolute; z-index: 0; display: block; height: 31%; content: ""; }
  .page-about .page-hero::after, .page-segments .page-hero::after, .page-coverage .page-hero::after, .page-safety .page-hero::after, .page-contact .page-hero::after { height: 31%; }
  .page-about .page-hero::after {
    background: linear-gradient(180deg, rgba(21, 19, 17, .05), rgba(21, 19, 17, .72)), url("assets/about-person.jpg") center / cover no-repeat;
    opacity: .62;
  }
  .page-segments .page-hero::after {
    background: linear-gradient(180deg, rgba(253, 222, 21, .12), rgba(253, 222, 21, .7)), url("assets/dock.jpg") center / cover no-repeat;
    opacity: .48;
  }
  .page-coverage .page-hero::after {
    background: linear-gradient(180deg, rgba(254, 195, 0, .12), rgba(254, 195, 0, .78)), url("assets/coverage-road.jpg") center / cover no-repeat;
    opacity: .5;
  }
  .page-safety .page-hero::after {
    background: linear-gradient(180deg, rgba(253, 222, 21, .08), rgba(253, 222, 21, .68)), url("assets/cargo-safety.jpg") center / cover no-repeat;
    opacity: .5;
  }
  .page-contact .page-hero::after {
    background: linear-gradient(180deg, rgba(254, 195, 0, .1), rgba(254, 195, 0, .8)), url("assets/contact-person.jpg") center / cover no-repeat;
    opacity: .54;
  }
  .coverage-states { gap: 8px; }
  .coverage-states span { min-height: 42px; padding-inline: 12px 12px; padding-left: 26px; }
  .coverage-states-large { margin-bottom: 45px; }
  .segment-item { grid-template-columns: 88px minmax(0, 1fr); gap: 16px; }
  .segment-item > span { font-size: 10px; line-height: 1.35; }
}

/* Why bento: a calmer three-column composition with one clear feature card. */
.why-head { margin-bottom: 34px; }
.why-list { gap: 14px; }
.why-list article {
  position: relative;
  padding: 28px 30px 30px;
  border-radius: 6px 6px 28px 6px;
  box-shadow: 0 14px 30px rgba(21, 19, 17, .055);
}
.why-list article > span { margin-bottom: 0; }
.why-list h3,
.why-list article:nth-child(1) h3,
.why-list article:nth-child(5) h3 {
  max-width: none;
  margin: auto 0 10px;
  font-size: clamp(1.25rem, 1.7vw, 1.75rem);
  letter-spacing: -.055em;
  line-height: 1.04;
}
.why-list h3, .why-list article:nth-child(1) h3, .why-list article:nth-child(5) h3 { font-size: clamp(0.875rem, 1.19vw, 1.225rem); }
.why-list article:nth-child(1) h3 {
  max-width: 11ch;
  margin-top: auto;
  font-size: clamp(2.35rem, 3.25vw, 4rem);
  letter-spacing: -.075em;
  line-height: .97;
}
.why-list article:nth-child(1) h3 { font-size: clamp(1.645rem, 2.275vw, 2.8rem); }
.why-list p { max-width: 35ch; line-height: 1.55; }
.why-list article:nth-child(5) p { max-width: 40ch; }

@media (min-width: 981px) {
  .why-list {
    grid-template-columns: 1.05fr .95fr 1.05fr;
    grid-template-rows: repeat(2, minmax(214px, 1fr));
    grid-auto-rows: auto;
  }
  .why-list article,
  .why-list article:nth-child(1),
  .why-list article:nth-child(2),
  .why-list article:nth-child(3),
  .why-list article:nth-child(4),
  .why-list article:nth-child(5) {
    grid-column: auto;
    grid-row: auto;
    min-height: 0;
  }
  .why-list article:nth-child(1) { grid-column: 1; grid-row: 1 / span 2; min-height: 442px; }
  .why-list article:nth-child(2) { grid-column: 2; grid-row: 1; }
  .why-list article:nth-child(3) { grid-column: 3; grid-row: 1; }
  .why-list article:nth-child(4) { grid-column: 2; grid-row: 2; }
  .why-list article:nth-child(5) { display: flex; grid-column: 3; grid-row: 2; }
}

@media (min-width: 761px) and (max-width: 980px) {
  .why-list { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(220px, auto); }
  .why-list article,
  .why-list article:nth-child(1),
  .why-list article:nth-child(2),
  .why-list article:nth-child(3),
  .why-list article:nth-child(4),
  .why-list article:nth-child(5) {
    grid-column: auto;
    grid-row: auto;
    min-height: 220px;
  }
  .why-list article:nth-child(1) { grid-column: 1 / -1; min-height: 330px; }
  .why-list article:nth-child(5) { display: flex; }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .why-list article { transition: transform .2s ease-out, box-shadow .2s ease-out; }
  .why-list article:hover { transform: translateY(-4px); box-shadow: 0 20px 38px rgba(21, 19, 17, .11); }
}

@media (max-width: 760px) {
  .why-head { margin-bottom: 28px; }
  .why-list { gap: 10px; }
  .why-list article,
  .why-list article:nth-child(n) {
    min-height: 218px;
    padding: 23px 22px 25px;
    border-radius: 5px 5px 24px 5px;
  }
  .why-list article:nth-child(1) { min-height: 318px; }
  .why-list article:nth-child(1) h3 {
    max-width: 10ch;
    margin-top: auto;
    font-size: clamp(2.25rem, 12vw, 3.6rem);
  }
.why-list article:nth-child(1) h3 { font-size: clamp(1.575rem, 8.4vw, 2.52rem); }
  .why-list h3,
  .why-list article:nth-child(5) h3 { margin: auto 0 10px; font-size: 1.4rem; }
.why-list h3, .why-list article:nth-child(5) h3 { font-size: 0.98rem; }
  .why-list p { max-width: 38ch; }
}

/* Responsive rebuild: mobile reads as a deliberate single-column product, not a shrunken desktop. */
.page-home .coverage-grid { align-items: center; row-gap: 34px; }
.page-home .coverage-copy { padding-top: 0; }
.page-home .coverage-footer { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 42px; }
.page-home .coverage-footer .coverage-more { max-width: 650px; margin: 0; padding: 0; }
.page-home .coverage-footer .coverage-action { flex: 0 0 auto; margin: 0; }

.client-wall { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-width: 470px; margin-top: 28px; }
.client-wall figure, .client-wall span { display: flex; align-items: center; min-height: 52px; margin: 0; padding: 12px 14px; background: rgba(255, 254, 249, .08); }
.client-wall figure { background: #171717; }
.client-wall img { width: 104px; height: 30px; object-fit: contain; }
.client-wall span { color: rgba(255, 254, 249, .78); font-size: 12px; font-weight: var(--bold); letter-spacing: -.025em; }
.quote-label { margin: 0; color: var(--yellow); font-size: 10px; font-weight: var(--bold); letter-spacing: .12em; text-transform: uppercase; }
.quote-wrap::before { display: none; }
.quote-wrap blockquote { margin-top: 32px; }
.proof-caption { max-width: 350px; margin: 22px 0 0; color: var(--yellow); font-size: 12px; line-height: 1.55; }

@media (min-width: 981px) {
  .page-home .coverage-grid { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
  .page-home .coverage-copy h2 { max-width: 590px; font-size: clamp(2.55rem, 3.7vw, 4.35rem); }
.page-home .coverage-copy h2 { font-size: clamp(1.785rem, 2.59vw, 3.045rem); }
  .page-home .coverage-states { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 590px; }
  .page-home .coverage-states span { justify-content: flex-start; }
  .proof-grid { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(50px, 7vw, 102px); }
  .proof-intro h2 { max-width: 500px; font-size: clamp(2.7rem, 4.15vw, 4.75rem); }
.proof-intro h2 { font-size: clamp(1.89rem, 2.905vw, 3.325rem); }
  .quote-wrap { min-height: 360px; padding: 36px 42px 32px; }
  .quote-wrap blockquote { font-size: clamp(1.85rem, 2.65vw, 3rem); }
}

@media (max-width: 760px) {
  :root { --section: 72px; }
  body { font-size: 15px; }
  .utility-inner { min-height: 34px; padding-block: 4px; }
  .utility-left strong { font-size: 8px; }
  .site-header { background: rgba(15,15,15,.98); }
  .header-inner { min-height: 72px; }
  .header-inner .logo { min-height: 44px; }
  .nav { top: 106px; border-radius: 6px 6px 28px 6px; }
  .nav a { display: flex; align-items: center; min-height: 44px; padding-block: 12px; }
  body.menu-open::before { inset: 106px 0 0; }

  h1, .hero h1, .page-hero h1 { letter-spacing: -.072em; line-height: .94; text-wrap: pretty; }
  .hero h1 { font-size: clamp(3rem, 13.2vw, 4.35rem); }
.hero h1 { font-size: clamp(2.1rem, 9.24vw, 3.045rem); }
  .page-about .page-hero h1, .page-segments .page-hero h1, .page-coverage .page-hero h1, .page-safety .page-hero h1, .page-contact .page-hero h1 { font-size: clamp(2.82rem, 12.6vw, 4.1rem); }
.page-about .page-hero h1, .page-segments .page-hero h1, .page-coverage .page-hero h1, .page-safety .page-hero h1, .page-contact .page-hero h1 { font-size: clamp(1.974rem, 8.82vw, 2.87rem); }
  .section-title, .story-copy h2, .security-copy h2, .coverage-copy h2, .proof-intro h2, .editorial-grid h2, .contact-info h2 { letter-spacing: -.065em; line-height: .99; }
  .page-hero { padding: 72px 0 78px; }
  .page-hero p:not(.eyebrow) { max-width: 34ch; font-size: 15px; line-height: 1.58; }
  .page-hero .hero-note { width: min(100%, 280px); margin-top: 26px; padding: 14px 15px; border-radius: 5px 5px 24px 5px; box-shadow: none; }
  .page-hero .hero-note strong { font-size: 13px; }

  .editorial-grid { gap: 24px; }
  .side-note { margin: 0; padding: 12px 14px; color: #fec300; background: #171717; font-size: 10px; line-height: 1.45; letter-spacing: .08em; }
  .editorial-grid p { font-size: 15px; line-height: 1.66; }
  .editorial-grid p + p { margin-top: 15px; }
  .image-strip { gap: 10px; }

  .story-grid { gap: 30px; }
  .story-media, .story-media img { min-height: 300px; }
  .story-tag { right: 15px; bottom: 15px; left: 15px; padding: 12px 14px; border-radius: 5px 5px 22px 5px; }
  .story-tag strong { font-size: 11px; }
  .story-copy h2 { font-size: clamp(2.25rem, 11vw, 3.25rem); }
.story-copy h2 { font-size: clamp(1.575rem, 7.7vw, 2.275rem); }
  .story-copy p:not(.eyebrow) { margin-bottom: 18px; font-size: 15px; line-height: 1.62; }

  .services-head .section-lede, .flow-head .section-lede { margin-top: 18px; }
  .service-intro { margin: 18px 0 22px; }
  .service-row { min-height: 0; padding: 17px 0; }
  .service-row h3 { font-size: 1.22rem; }
.service-row h3 { font-size: 0.854rem; }
  .service-filter { padding: 18px; border-radius: 5px 5px 22px 5px; }

  .flow-head { margin-bottom: 28px; }
  .flow-list { gap: 10px; }
  .flow-step, .flow-step:nth-child(n) { min-height: 0; padding: 22px 20px 23px; border-radius: 5px 5px 24px 5px; }
  .flow-index { margin-bottom: 24px; }
  .flow-step h3 { min-height: 0; font-size: 1.33rem; }
.flow-step h3 { font-size: 0.931rem; }
  .flow-step p { font-size: 13px; line-height: 1.55; }

  .page-home .coverage-grid { gap: 30px; }
  .page-home .coverage-copy h2 { font-size: clamp(2.25rem, 10.8vw, 3.2rem); }
.page-home .coverage-copy h2 { font-size: clamp(1.575rem, 7.56vw, 2.24rem); }
  .page-home .coverage-states { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; margin-top: 24px; }
  .page-home .coverage-states span { min-height: 46px; padding-left: 28px; }
  .page-home .coverage-footer { display: grid; gap: 20px; }
  .page-home .coverage-footer .coverage-action { justify-self: start; }
  .coverage-art, .coverage-art img { min-height: 300px; }
  .coverage-pin { right: auto; bottom: 18px; left: 18px; width: min(220px, calc(100% - 36px)); padding: 12px 14px; border-radius: 5px 5px 22px 5px; }
  .coverage-label { top: 18px; right: 18px; bottom: auto; left: 18px; max-width: none; font-size: 9px; letter-spacing: .09em; white-space: nowrap; }

  .security-grid { gap: 28px; }
  .security-copy h2 { font-size: clamp(2.3rem, 11vw, 3.3rem); }
.security-copy h2 { font-size: clamp(1.61rem, 7.7vw, 2.31rem); }
  .security-photo, .security-photo img { min-height: 280px; }
  .security-photo { border-radius: 5px 5px 38px 5px; }
  .insurance-grid { gap: 10px; margin-top: 28px; }
  .insurance-grid article, .insurance-grid-page article { min-height: 0; padding: 23px 20px 24px; border-radius: 5px 5px 24px 5px; }
  .insurance-grid article > strong { margin-bottom: 24px; }
  .insurance-grid h3 { font-size: 1.15rem; }
.insurance-grid h3 { font-size: 0.805rem; }
  .insurance-close { margin-top: 22px; font-size: 13px; }

  .why-head { margin-bottom: 26px; }
  .why-list { gap: 10px; }
  .why-list article, .why-list article:nth-child(n) { min-height: 0; padding: 22px 20px 23px; border-radius: 5px 5px 24px 5px; }
  .why-list article:nth-child(1) { min-height: 270px; }
  .why-list article:nth-child(1) h3 { max-width: 12ch; font-size: clamp(2rem, 10.8vw, 3rem); }
.why-list article:nth-child(1) h3 { font-size: clamp(1.4rem, 7.56vw, 2.1rem); }
  .why-list h3, .why-list article:nth-child(5) h3 { font-size: 1.32rem; }
.why-list h3, .why-list article:nth-child(5) h3 { font-size: 0.924rem; }

  .proof-grid { gap: 30px; }
  .proof-intro h2 { font-size: clamp(2.35rem, 11.3vw, 3.35rem); }
.proof-intro h2 { font-size: clamp(1.645rem, 7.91vw, 2.345rem); }
  .client-wall { grid-template-columns: 1fr 1fr; margin-top: 22px; }
  .client-wall figure, .client-wall span { min-height: 48px; padding: 10px 12px; }
  .client-wall span { font-size: 11px; }
  .quote-wrap { min-height: 0; padding: 24px 20px 22px; border-radius: 5px 5px 36px 5px; }
  .quote-wrap blockquote { margin: 24px 0 22px; font-size: clamp(1.7rem, 8.4vw, 2.35rem); line-height: 1.05; }
  .quote-wrap cite { margin-bottom: 20px; }
  .quote-tabs { gap: 6px; }
  .quote-tab { min-height: 38px; padding: 7px 10px; border-radius: 5px 5px 16px 5px; }

  .page-home .cta-ribbon { width: calc(100% + (var(--gutter) * 2)); margin: 0 calc(var(--gutter) * -1) 72px; border-radius: 0; }
  .page-home .cta-inner { max-width: 460px; padding: 48px var(--gutter) 52px; }
  .page-home .cta-inner h2 { max-width: 12ch; font-size: clamp(2.2rem, 10.2vw, 2.8rem); line-height: 1; }
.page-home .cta-inner h2 { font-size: clamp(1.54rem, 7.14vw, 1.96rem); }
  .page-home .cta-inner p { max-width: 31ch; margin-top: 18px; font-size: 15px; line-height: 1.58; }
  .page-home .cta-inner .button { min-width: 205px; margin-top: 26px; }

  .faq-grid { gap: 26px; }
  .faq-list { gap: 7px; margin-top: 0; }
  .faq-list details { padding-inline: 14px; }
  .faq-list summary { min-height: 62px; padding: 16px 0; font-size: 15px; line-height: 1.35; }
  .cta-ribbon { margin-bottom: 72px; border-radius: 5px 5px 42px 5px; }
  .cta-inner { padding: 30px 20px 34px; }
  .cta-inner h2 { font-size: clamp(2.2rem, 11vw, 3.1rem); letter-spacing: -.07em; line-height: .98; }
.cta-inner h2 { font-size: clamp(1.54rem, 7.7vw, 2.17rem); }

  .page-segments .segment-list { gap: 10px; }
  .page-segments .segment-item { padding: 21px 18px 22px; border-radius: 5px 5px 24px 5px; }
  .page-segments .segment-item h3 { font-size: 1.45rem; }
.page-segments .segment-item h3 { font-size: 1.015rem; }
  .page-segments .segment-item p { font-size: 13px; line-height: 1.55; }
  .page-coverage .coverage-details { padding-top: 72px; }
  .page-coverage .coverage-states-large { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 28px 0 40px; }
  .page-coverage .coverage-extra { padding-top: 0; }
  .page-contact .contact-layout { gap: 34px; }
  .page-contact .contact-info h2 { font-size: clamp(2.25rem, 10.6vw, 3.2rem); }
.page-contact .contact-info h2 { font-size: clamp(1.575rem, 7.42vw, 2.24rem); }
  .contact-details { gap: 12px; }
  .contact-details a, .contact-details span { padding: 13px 14px; background: #171717; border-radius: 5px 5px 18px 5px; }
  .form-shell { padding: 25px 18px 22px; border-radius: 5px 5px 38px 5px; }
  .field input, .field select { min-height: 48px; }
  .form-submit .button { width: 100%; }

  footer { padding-bottom: 56px; }
}

/* Final internal-page QA: keep supporting details legible and tighten only
   the intentional chapter break on Segurança. */
.page-contact .contact-details span { color: #f1f1ef; }

@media (min-width: 761px) {
  .page-safety main > .section:nth-of-type(4) { padding-block: 86px; }
}

@media (max-width: 760px) {
  .page-safety main > .section:nth-of-type(4) { padding-block: 66px; }
  .page-segments .segment-item { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; }
  .page-segments .segment-item > span { margin-bottom: 17px; }
  .page-segments .segment-item h3 { margin: 0 0 10px; }
  .page-segments .segment-item p { max-width: 100%; }
}

/* Internal hero rebuild: page identity comes from the composition, not from
   recolouring the same diagonal image split. */
@media (min-width: 761px) {
  .page-about .page-hero,
  .page-segments .page-hero,
  .page-coverage .page-hero,
  .page-safety .page-hero,
  .page-contact .page-hero { min-height: 520px; padding: 0; overflow: hidden; border-radius: 0; }

  .page-about .page-hero { background: var(--charcoal); }
  .page-about .page-hero::before { display: none; }
  .page-about .page-hero::after { top: 0; right: 0; bottom: 0; left: auto; width: 37%; opacity: 1; clip-path: none; background: linear-gradient(90deg, var(--charcoal), transparent 22%), url("assets/dock.jpg") center / cover no-repeat; }
  .page-about .page-hero .container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .52fr); align-content: center; min-height: 520px; padding-block: 66px; }
  .page-about .page-hero .eyebrow, .page-about .page-hero h1, .page-about .page-hero > .container > p { grid-column: 1; }
  .page-about .page-hero h1 { max-width: 830px; margin-block: 20px; font-size: clamp(3.7rem, 5.4vw, 5.8rem); }
.page-about .page-hero h1 { font-size: clamp(2.59rem, 3.78vw, 4.06rem); }
  .page-about .page-hero .hero-note { position: static; grid-column: 1; width: auto; max-width: 390px; margin-top: 26px; padding: 0; color: var(--yellow); background: transparent; border-radius: 0; box-shadow: none; }
  .page-about .page-hero .hero-note span { display: none; }
  .page-about .page-hero .hero-note small, .page-about .page-hero .hero-note strong { display: inline; color: inherit; font-size: 13px; line-height: 1.5; }
  .page-about .page-hero .hero-note small::after { content: " - "; }

  .page-segments .page-hero { color: #f1f1ef; background: var(--yellow); }
  .page-segments .page-hero::before, .page-segments .page-hero::after { display: none; }
  .page-segments .page-hero .container { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .55fr); column-gap: clamp(50px, 9vw, 160px); align-content: center; min-height: 520px; padding-block: 62px; }
  .page-segments .page-hero .eyebrow { grid-column: 1; margin-bottom: 20px; color: #fec300; }
  .page-segments .page-hero h1 { grid-column: 1; max-width: 900px; margin: 0; font-size: clamp(3.6rem, 5.6vw, 6rem); }
.page-segments .page-hero h1 { font-size: clamp(2.52rem, 3.92vw, 4.2rem); }
  .page-segments .page-hero > .container > p:not(.eyebrow) { grid-column: 2; grid-row: 2; align-self: end; max-width: 29ch; margin: 0 0 12px; color: #f1f1ef; font-size: 17px; }
  .page-segments .page-hero .hero-note { grid-column: 2; grid-row: 3; position: static; width: auto; margin: 24px 0 0; padding: 18px 0 0; color: #f1f1ef; background: transparent; border-top: 2px solid var(--blue); border-radius: 0; box-shadow: none; }
  .page-segments .page-hero .hero-note span { display: none; }
  .page-segments .page-hero .hero-note small { color: #fec300; }

  .page-coverage .page-hero { color: var(--white); background: #fe9b00 url("assets/coverage-road.jpg") center / cover no-repeat; }
  .page-coverage .page-hero::before { display: none; }
  .page-coverage .page-hero::after { inset: 0; width: auto; opacity: 1; clip-path: none; background: linear-gradient(90deg, rgba(23, 47, 108, .97) 0%, rgba(23, 47, 108, .79) 43%, rgba(23, 47, 108, .16) 100%); }
  .page-coverage .page-hero .container { position: relative; z-index: 1; display: grid; align-content: end; min-height: 520px; padding-block: 62px; }
  .page-coverage .page-hero h1 { max-width: 760px; margin: 18px 0; font-size: clamp(3.65rem, 5.35vw, 5.8rem); }
.page-coverage .page-hero h1 { font-size: clamp(2.555rem, 3.745vw, 4.06rem); }
  .page-coverage .page-hero .hero-note { position: static; width: auto; max-width: 560px; margin-top: 26px; padding: 16px 0 0; color: var(--white); background: transparent; border-top: 1px solid rgba(255, 254, 249, .55); border-radius: 0; box-shadow: none; }
  .page-coverage .page-hero .hero-note span { display: none; }
  .page-coverage .page-hero .hero-note small, .page-coverage .page-hero .hero-note strong { color: inherit; }
  .page-coverage .page-hero .hero-note small { color: var(--yellow); }

  .page-safety .page-hero { min-height: 520px; color: #f1f1ef; background: #171717; }
  .page-safety .page-hero::before { display: none; }
  .page-safety .page-hero::after { top: auto; right: 0; bottom: 0; left: 0; width: auto; height: 154px; opacity: 1; clip-path: none; background: linear-gradient(90deg, rgba(21, 19, 17, .62), rgba(21, 19, 17, .12)), url("assets/cargo-safety.jpg") center 45% / cover no-repeat; }
  .page-safety .page-hero .container { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(290px, .5fr); align-content: start; min-height: 520px; padding-top: 52px; }
  .page-safety .page-hero .eyebrow { grid-column: 1; color: #fec300; }
  .page-safety .page-hero h1 { grid-column: 1; max-width: 790px; margin: 20px 0 0; font-size: clamp(4rem, 5.8vw, 6.15rem); }
.page-safety .page-hero h1 { font-size: clamp(2.8rem, 4.06vw, 4.305rem); }
  .page-safety .page-hero > .container > p:not(.eyebrow) { grid-column: 2; grid-row: 2; align-self: end; max-width: 29ch; margin: 0 0 58px; color: #f1f1ef; font-size: 17px; }
  .page-safety .page-hero .hero-note { grid-column: 1; grid-row: 3; position: static; width: auto; margin: 32px 0 0; padding: 0; color: #fec300; background: transparent; border-radius: 0; box-shadow: none; }
  .page-safety .page-hero .hero-note span { display: none; }
  .page-safety .page-hero .hero-note small { color: inherit; }
  .page-safety .page-hero .hero-note strong { color: #f1f1ef; }

  .page-contact .page-hero { color: var(--white); background: #242424; }
  .page-contact .page-hero::before, .page-contact .page-hero::after { display: none; }
  .page-contact .page-hero .container { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .5fr); column-gap: clamp(56px, 11vw, 190px); align-content: center; min-height: 520px; padding-block: 60px; }
  .page-contact .page-hero .eyebrow { grid-column: 1; color: var(--yellow); }
  .page-contact .page-hero h1 { grid-column: 1; max-width: 770px; margin: 18px 0; font-size: clamp(3.7rem, 5.35vw, 5.8rem); }
.page-contact .page-hero h1 { font-size: clamp(2.59rem, 3.745vw, 4.06rem); }
  .page-contact .page-hero > .container > p:not(.eyebrow) { grid-column: 1; max-width: 48ch; margin: 0; color: var(--white); font-size: 17px; }
  .page-contact .page-hero .hero-note { grid-column: 2; grid-row: 2 / span 2; position: static; align-self: center; width: auto; margin: 0; padding: 28px 0 28px 28px; color: var(--white); background: transparent; border-left: 2px solid var(--yellow); border-radius: 0; box-shadow: none; }
  .page-contact .page-hero .hero-note span { display: none; }
  .page-contact .page-hero .hero-note small { color: var(--yellow); }
  .page-contact .page-hero .hero-note strong { color: inherit; font-size: 1.45rem; line-height: 1.15; }
}

@media (max-width: 760px) {
  .page-about .page-hero, .page-segments .page-hero, .page-coverage .page-hero, .page-safety .page-hero, .page-contact .page-hero { min-height: auto; padding: 0; overflow: hidden; border-radius: 0; }
  .page-about .page-hero::before, .page-segments .page-hero::before, .page-coverage .page-hero::before, .page-safety .page-hero::before, .page-contact .page-hero::before { display: none; }
  .page-about .page-hero { background: var(--charcoal); }
  .page-about .page-hero::after { top: auto; right: 0; bottom: 0; left: 0; width: auto; height: 170px; clip-path: none; opacity: .5; background: url("assets/dock.jpg") center / cover no-repeat; }
  .page-segments .page-hero { color: #f1f1ef; background: var(--yellow); }
  .page-segments .page-hero::after { display: none; }
  .page-coverage .page-hero { background: #fe9b00 url("assets/coverage-road.jpg") center / cover no-repeat; }
  .page-coverage .page-hero::after { inset: 0; width: auto; height: auto; clip-path: none; opacity: 1; background: linear-gradient(180deg, rgba(23, 47, 108, .84), rgba(23, 47, 108, .95)); }
  .page-safety .page-hero { color: #f1f1ef; background: #171717; }
  .page-safety .page-hero::after { top: auto; right: 0; bottom: 0; left: 0; width: auto; height: 135px; clip-path: none; opacity: 1; background: linear-gradient(90deg, rgba(21, 19, 17, .65), rgba(21, 19, 17, .12)), url("assets/cargo-safety.jpg") center / cover no-repeat; }
  .page-contact .page-hero { color: var(--white); background: #242424; }
  .page-contact .page-hero::after { display: none; }

  .page-about .page-hero .container, .page-segments .page-hero .container, .page-coverage .page-hero .container, .page-safety .page-hero .container, .page-contact .page-hero .container { position: relative; z-index: 1; display: block; padding-block: 66px; }
  .page-about .page-hero .container { padding-bottom: 200px; }
  .page-safety .page-hero .container { padding-bottom: 172px; }
  .page-about .page-hero h1, .page-segments .page-hero h1, .page-coverage .page-hero h1, .page-safety .page-hero h1, .page-contact .page-hero h1 { margin-block: 16px; font-size: clamp(2.75rem, 12.3vw, 4rem); }
.page-about .page-hero h1, .page-segments .page-hero h1, .page-coverage .page-hero h1, .page-safety .page-hero h1, .page-contact .page-hero h1 { font-size: clamp(1.925rem, 8.61vw, 2.8rem); }
  .page-segments .page-hero > .container > p:not(.eyebrow), .page-safety .page-hero > .container > p:not(.eyebrow), .page-contact .page-hero > .container > p:not(.eyebrow) { color: inherit; }
  .page-coverage .page-hero > .container > p:not(.eyebrow) { color: var(--white); }
  .page-about .page-hero .hero-note, .page-segments .page-hero .hero-note, .page-coverage .page-hero .hero-note, .page-safety .page-hero .hero-note, .page-contact .page-hero .hero-note { position: static; width: auto; margin: 22px 0 0; padding: 15px 0 0; background: transparent; border-radius: 0; box-shadow: none; }
  .page-about .page-hero .hero-note span, .page-segments .page-hero .hero-note span, .page-coverage .page-hero .hero-note span, .page-safety .page-hero .hero-note span, .page-contact .page-hero .hero-note span { display: none; }
  .page-about .page-hero .hero-note { color: var(--yellow); border-top: 1px solid rgba(253, 222, 21, .55); }
  .page-segments .page-hero .hero-note { color: #f1f1ef; border-top: 2px solid var(--blue); }
  .page-segments .page-hero .hero-note small { color: #fec300; }
  .page-coverage .page-hero .hero-note { color: var(--white); border-top: 1px solid rgba(255, 254, 249, .45); }
  .page-coverage .page-hero .hero-note small { color: var(--yellow); }
  .page-safety .page-hero .hero-note { color: #fec300; }
  .page-safety .page-hero .hero-note strong { color: #f1f1ef; }
  .page-contact .page-hero .hero-note { color: var(--white); border-left: 2px solid var(--yellow); padding: 2px 0 2px 16px; }
  .page-contact .page-hero .hero-note small { color: var(--yellow); }

}

/* The closing moment follows the page purpose instead of repeating the same
   yellow banner on every internal route. */
.page-about .cta-ribbon { color: var(--white); background: #242424; }
.page-about .cta-ribbon h2, .page-about .cta-ribbon p { color: inherit; }
.page-about .cta-ribbon .button { color: #f1f1ef; background: var(--yellow); }
.page-coverage .cta-ribbon, .page-safety .cta-ribbon { display: none; }

/* --------------------------------------------------------------------------
   Internal body rebuild: each page now has a different information structure.
   These rules deliberately replace the remaining card-wall rhythm. */
@media (min-width: 761px) {
  /* Sobre: a narrative with evidence, then a quiet principles spread. */
  .page-about main > section:nth-of-type(2) { padding: 98px 0 82px; }
  .page-about main > section:nth-of-type(2) .editorial-grid { grid-template-columns: minmax(170px, .38fr) minmax(0, 1.62fr); gap: clamp(46px, 8vw, 140px); }
  .page-about main > section:nth-of-type(2) .side-note { max-width: 190px; padding: 0; color: #fec300; background: transparent; border-radius: 0; font-size: 13px; font-weight: var(--bold); line-height: 1.55; }
  .page-about main > section:nth-of-type(2) .editorial-grid h2 { max-width: 13ch; margin-bottom: 26px; font-size: clamp(3rem, 4vw, 4.75rem); }
.page-about main > section:nth-of-type(2) .editorial-grid h2 { font-size: clamp(2.1rem, 2.8vw, 3.325rem); }
  .page-about main > section:nth-of-type(2) .editorial-grid > div { max-width: 790px; }
  .page-about .image-strip { grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr); gap: 26px; margin-top: 68px; }
  .page-about .image-strip figure, .page-about .image-strip figure:first-child, .page-about .image-strip figure:last-child { min-height: 350px; margin: 0; border-radius: 6px 6px 48px 6px; }
  .page-about .image-strip figure:first-child { min-height: 440px; }
  .page-about .about-metrics { padding-block: 68px; }
  .page-about .value-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(34px, 6vw, 100px); margin-top: 48px; }
  .page-about .value-list article, .page-about .value-list article:nth-child(2), .page-about .value-list article:nth-child(3) { padding: 0; min-height: 0; border-radius: 0; background: transparent; }
  .page-about .value-list article:nth-child(2) { margin-top: 38px; }
  .page-about .value-list article:nth-child(3) { margin-top: 76px; }
  .page-about .value-list h3 { margin-top: 22px; }

  /* Segmentos: a catalogue, not eight competing tiles. */
  .page-segments .segment-intro { padding: 92px 0 104px; background: #171717; }
  .page-segments .segment-intro .editorial-grid { grid-template-columns: minmax(180px, .38fr) minmax(0, 1.62fr); gap: clamp(46px, 8vw, 140px); }
  .page-segments .segment-intro .side-note { max-width: 185px; padding: 0; color: #fec300; background: transparent; border-radius: 0; font-size: 13px; font-weight: var(--bold); line-height: 1.55; }
  .page-segments .segment-intro .side-note strong, .page-segments .segment-intro .side-note span { color: inherit; }
  .page-segments .segment-intro h2 { max-width: 11ch; font-size: clamp(3rem, 4.2vw, 4.9rem); }
.page-segments .segment-intro h2 { font-size: clamp(2.1rem, 2.94vw, 3.43rem); }
  .page-segments .segment-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(48px, 8vw, 150px); row-gap: 0; margin-top: 62px; }
  .page-segments .segment-item, .page-segments .segment-item:nth-child(n) { display: block; min-height: 0; margin: 0; padding: 0 0 54px; color: #f1f1ef; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
  .page-segments .segment-item > span, .page-segments .segment-item:nth-child(n) > span { display: block; margin: 0 0 15px; color: #fec300; font-size: 11px; font-weight: var(--bold); letter-spacing: .12em; }
  .page-segments .segment-item h3 { margin: 0 0 14px; color: #f1f1ef; font-size: clamp(1.85rem, 2.35vw, 2.75rem); letter-spacing: -.07em; line-height: .98; }
.page-segments .segment-item h3 { font-size: clamp(1.295rem, 1.645vw, 1.925rem); }
  .page-segments .segment-item p, .page-segments .segment-item:nth-child(n) p { max-width: 38ch; margin: 0; color: #bdbdb9; font-size: 14px; line-height: 1.65; }
  .page-segments .segment-item:nth-child(4n + 1) h3 { color: #fec300; }
  .page-segments .segment-item:nth-child(4n + 3) h3 { color: #9f8300; }

  /* Cobertura: geographic proof, with the photograph left unobstructed. */
  .page-coverage main > .coverage { padding: 90px 0 0; }
  .page-coverage .coverage-grid { grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr); gap: clamp(56px, 9vw, 150px); }
  .page-coverage .coverage-copy h2 { max-width: 9.5ch; margin-bottom: 24px; font-size: clamp(3rem, 4.2vw, 4.85rem); }
.page-coverage .coverage-copy h2 { font-size: clamp(2.1rem, 2.94vw, 3.395rem); }
  .page-coverage .coverage-copy > p:not(.eyebrow) { max-width: 39ch; }
  .page-coverage .coverage-art, .page-coverage .coverage-art img { min-height: 480px; }
  .page-coverage .coverage-art { border-radius: 6px 6px 64px 6px; }
  .page-coverage .coverage-art .route-line, .page-coverage .coverage-art .coverage-pin, .page-coverage .coverage-art .coverage-label { display: none; }
  .page-coverage .coverage-details { margin-top: 84px; padding: 76px 0 82px; }
  .page-coverage .coverage-details .why-head { display: grid; grid-template-columns: minmax(270px, .74fr) minmax(0, 1.26fr); column-gap: clamp(50px, 9vw, 152px); align-items: end; max-width: none; margin-bottom: 42px; }
  .page-coverage .coverage-details .why-head .eyebrow { grid-column: 1; }
  .page-coverage .coverage-details .why-head h2 { grid-column: 1; margin: 12px 0 0; max-width: 10ch; }
  .page-coverage .coverage-details .why-head .section-lede { grid-column: 2; max-width: 44ch; margin: 0; }
  .page-coverage .coverage-states, .page-coverage .coverage-states-large { display: flex; flex-wrap: wrap; max-width: none; gap: 14px 28px; margin: 0; }
  .page-coverage .coverage-states span, .page-coverage .coverage-states-large span { min-height: 0; padding: 0 0 0 15px; color: var(--white); background: transparent; border: 0; border-radius: 0; box-shadow: none; font-size: 14px; }
  .page-coverage .coverage-states span::before { left: 0; width: 6px; height: 6px; background: var(--yellow); }
  .page-coverage .coverage-extra { grid-template-columns: minmax(0, .94fr) minmax(250px, .5fr); column-gap: clamp(54px, 10vw, 180px); margin-top: 62px; }
  .page-coverage .coverage-extra .eyebrow { grid-column: 1; }
  .page-coverage .coverage-extra h3 { grid-column: 1; max-width: 16ch; margin: 6px 0 14px; font-size: clamp(2rem, 3vw, 3.3rem); line-height: 1; }
.page-coverage .coverage-extra h3 { font-size: clamp(1.4rem, 2.1vw, 2.31rem); }
  .page-coverage .coverage-extra > p:not(.eyebrow) { grid-column: 1; max-width: 38ch; }
  .page-coverage .coverage-extra .text-link { grid-column: 2; align-self: center; justify-self: start; padding: 13px 18px; border: 1px solid rgba(253, 222, 21, .65); }

  /* Segurança: a protection register instead of three floating bento cards. */
  .page-safety main > section:nth-of-type(2) { padding: 86px 0 70px; }
  .page-safety main > section:nth-of-type(2) .editorial-grid { grid-template-columns: minmax(180px, .4fr) minmax(0, 1.6fr); gap: clamp(48px, 9vw, 150px); }
  .page-safety main > section:nth-of-type(2) .side-note { padding: 0; color: #fec300; background: transparent; border-radius: 0; font-size: 13px; font-weight: var(--bold); line-height: 1.55; }
  .page-safety main > section:nth-of-type(2) h2 { max-width: 12ch; font-size: clamp(3rem, 4.2vw, 4.9rem); }
.page-safety main > section:nth-of-type(2) h2 { font-size: clamp(2.1rem, 2.94vw, 3.43rem); }
  .page-safety main > section.security-band:nth-of-type(3) { padding: 72px 0 88px; color: #f1f1ef; background: #171717; }
  .page-safety main > section.security-band:nth-of-type(3) > .container { display: grid; grid-template-columns: minmax(250px, .58fr) minmax(0, 1.42fr); column-gap: clamp(56px, 10vw, 170px); align-items: start; }
  .page-safety main > section.security-band:nth-of-type(3) .why-head { margin: 0; }
  .page-safety main > section.security-band:nth-of-type(3) .why-head .eyebrow { color: #fec300; }
  .page-safety main > section.security-band:nth-of-type(3) .why-head h2 { max-width: 9ch; margin: 16px 0 0; color: #f1f1ef; font-size: clamp(2.65rem, 3.7vw, 4.35rem); }
.page-safety main > section.security-band:nth-of-type(3) .why-head h2 { font-size: clamp(1.855rem, 2.59vw, 3.045rem); }
  .page-safety .insurance-grid-page { display: grid; grid-template-columns: 1fr; gap: 32px; margin: 0; }
  .page-safety .insurance-grid-page article, .page-safety .insurance-grid-page article:nth-child(n) { display: grid; grid-template-columns: minmax(100px, .28fr) minmax(210px, .8fr) minmax(240px, 1.15fr); column-gap: 26px; align-items: start; min-height: 0; margin: 0; padding: 0; color: #f1f1ef; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
  .page-safety .insurance-grid-page article strong { color: #fec300; font-size: 13px; letter-spacing: .08em; }
  .page-safety .insurance-grid-page article h3 { margin: 0; color: #f1f1ef; font-size: 20px; letter-spacing: -.05em; line-height: 1.08; }
.page-safety .insurance-grid-page article h3 { font-size: 14px; }
  .page-safety .insurance-grid-page article p { max-width: 38ch; margin: 0; color: #bdbdb9; font-size: 14px; line-height: 1.6; }
  .page-safety main > section:nth-of-type(4) { padding: 88px 0; background: #171717; }
  .page-safety main > section:nth-of-type(4) .editorial-grid { grid-template-columns: minmax(0, 1.22fr) minmax(190px, .45fr); gap: clamp(52px, 9vw, 150px); }
  .page-safety main > section:nth-of-type(4) .side-note { padding: 0; color: #fec300; background: transparent; border-radius: 0; font-weight: var(--bold); line-height: 1.55; }
  .page-safety main > section:nth-of-type(4) h2 { max-width: 12ch; font-size: clamp(2.85rem, 4vw, 4.65rem); }
.page-safety main > section:nth-of-type(4) h2 { font-size: clamp(1.995rem, 2.8vw, 3.255rem); }
  .page-safety main > section.security-band:nth-of-type(5) { padding: 82px 0; color: #f1f1ef; background: #171717; }
  .page-safety main > section.security-band:nth-of-type(5) .security-grid { grid-template-columns: minmax(260px, .68fr) minmax(0, 1.32fr); gap: clamp(56px, 10vw, 160px); }
  .page-safety .security-photo { border-radius: 6px 6px 64px 6px; }
  .page-safety .security-photo figcaption { display: none; }

  /* Contato: form first; channels support it without becoming a second hero. */
  .page-contact main > section:first-of-type { padding: 84px 0 96px; }
  .page-contact .contact-layout { grid-template-columns: minmax(230px, .58fr) minmax(0, 1.42fr); gap: clamp(60px, 10vw, 170px); align-items: start; }
  .page-contact .contact-info { padding: 0; color: #f1f1ef; background: transparent; border-radius: 0; }
  .page-contact .contact-info h2 { max-width: 11ch; margin: 14px 0 22px; color: #f1f1ef; font-size: clamp(2.8rem, 3.8vw, 4.45rem); }
.page-contact .contact-info h2 { font-size: clamp(1.96rem, 2.66vw, 3.115rem); }
  .page-contact .contact-info p:not(.eyebrow) { color: #bdbdb9; }
  .page-contact .contact-info .eyebrow { color: #fec300; }
  .page-contact .contact-details { display: grid; grid-template-columns: 1fr; gap: 13px; margin-top: 34px; }
  .page-contact .contact-details a, .page-contact .contact-details span { padding: 0; color: #f1f1ef; background: transparent; border-radius: 0; }
  .page-contact .contact-details strong { color: #fec300; }
  .page-contact .form-shell { border-radius: 6px 6px 54px 6px; box-shadow: none; }
}

@media (max-width: 760px) {
  .page-about main > section:nth-of-type(2), .page-safety main > section:nth-of-type(2) { padding: 66px 0 62px; }
  .page-about main > section:nth-of-type(2) .side-note, .page-segments .segment-intro .side-note, .page-safety main > section:nth-of-type(2) .side-note { padding: 0; color: #fec300; background: transparent; border-radius: 0; font-size: 13px; font-weight: var(--bold); }
  .page-about main > section:nth-of-type(2) .editorial-grid h2, .page-safety main > section:nth-of-type(2) h2 { font-size: clamp(2.45rem, 10.2vw, 3.35rem); }
.page-about main > section:nth-of-type(2) .editorial-grid h2, .page-safety main > section:nth-of-type(2) h2 { font-size: clamp(1.715rem, 7.14vw, 2.345rem); }
  .page-about .image-strip { gap: 16px; margin-top: 38px; }
  .page-about .image-strip figure, .page-about .image-strip figure:first-child, .page-about .image-strip figure:last-child { min-height: 250px; margin: 0; border-radius: 6px 6px 40px 6px; }
  .page-about .about-metrics { padding-block: 52px; }
  .page-about .value-list { margin-top: 34px; gap: 34px; }
  .page-about .value-list article:nth-child(n) { margin: 0; }

  .page-segments .segment-intro { padding: 64px 0 72px; }
  .page-segments .segment-intro .side-note { margin-bottom: 24px; }
  .page-segments .segment-intro h2 { font-size: clamp(2.55rem, 10.8vw, 3.5rem); }
.page-segments .segment-intro h2 { font-size: clamp(1.785rem, 7.56vw, 2.45rem); }
  .page-segments .segment-list { display: grid; grid-template-columns: 1fr; gap: 0; margin-top: 42px; }
  .page-segments .segment-item, .page-segments .segment-item:nth-child(n) { display: block; min-height: 0; padding: 0 0 38px; color: #f1f1ef; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
  .page-segments .segment-item > span, .page-segments .segment-item:nth-child(n) > span { margin: 0 0 12px; color: #fec300; }
  .page-segments .segment-item h3, .page-segments .segment-item:nth-child(n) h3 { margin: 0 0 11px; color: #f1f1ef; font-size: clamp(1.85rem, 8vw, 2.35rem); }
.page-segments .segment-item h3, .page-segments .segment-item:nth-child(n) h3 { font-size: clamp(1.295rem, 5.6vw, 1.645rem); }
  .page-segments .segment-item:nth-child(4n + 1) h3 { color: #fec300; }
  .page-segments .segment-item:nth-child(4n + 3) h3 { color: #9f8300; }
  .page-segments .segment-item p, .page-segments .segment-item:nth-child(n) p { color: #bdbdb9; font-size: 14px; }

  .page-coverage main > .coverage { padding: 64px 0 0; }
  .page-coverage .coverage-copy h2 { max-width: 10ch; font-size: clamp(2.55rem, 10.8vw, 3.5rem); }
.page-coverage .coverage-copy h2 { font-size: clamp(1.785rem, 7.56vw, 2.45rem); }
  .page-coverage .coverage-art, .page-coverage .coverage-art img { min-height: 260px; }
  .page-coverage .coverage-art { border-radius: 6px 6px 44px 6px; }
  .page-coverage .coverage-art .route-line, .page-coverage .coverage-art .coverage-pin, .page-coverage .coverage-art .coverage-label { display: none; }
  .page-coverage .coverage-details { margin-top: 58px; padding: 60px 0 66px; }
  .page-coverage .coverage-details .why-head { margin-bottom: 30px; }
  .page-coverage .coverage-details .why-head h2 { max-width: 9ch; margin-top: 12px; font-size: clamp(2.45rem, 10vw, 3.3rem); }
.page-coverage .coverage-details .why-head h2 { font-size: clamp(1.715rem, 7vw, 2.31rem); }
  .page-coverage .coverage-states, .page-coverage .coverage-states-large { display: flex; gap: 13px 18px; margin: 0; }
  .page-coverage .coverage-states span, .page-coverage .coverage-states-large span { min-height: 0; padding: 0 0 0 14px; color: var(--white); background: transparent; border: 0; border-radius: 0; box-shadow: none; }
  .page-coverage .coverage-states span::before { left: 0; background: var(--yellow); }
  .page-coverage .coverage-extra { margin-top: 48px; }
  .page-coverage .coverage-extra h3 { max-width: 14ch; margin: 8px 0 14px; font-size: clamp(1.9rem, 8.6vw, 2.8rem); line-height: 1.02; }
.page-coverage .coverage-extra h3 { font-size: clamp(1.33rem, 6.02vw, 1.96rem); }
  .page-coverage .coverage-extra .text-link { display: inline-flex; margin-top: 9px; padding: 12px 16px; border: 1px solid rgba(253, 222, 21, .65); }

  .page-safety main > section.security-band:nth-of-type(3) { padding: 58px 0 64px; color: #f1f1ef; background: #171717; }
  .page-safety main > section.security-band:nth-of-type(3) .why-head { margin-bottom: 34px; }
  .page-safety main > section.security-band:nth-of-type(3) .why-head .eyebrow { color: #fec300; }
  .page-safety main > section.security-band:nth-of-type(3) .why-head h2 { max-width: 10ch; margin-top: 12px; color: #f1f1ef; font-size: clamp(2.4rem, 10.3vw, 3.25rem); }
.page-safety main > section.security-band:nth-of-type(3) .why-head h2 { font-size: clamp(1.68rem, 7.21vw, 2.275rem); }
  .page-safety .insurance-grid-page { gap: 30px; margin: 0; }
  .page-safety .insurance-grid-page article, .page-safety .insurance-grid-page article:nth-child(n) { display: block; min-height: 0; padding: 0; color: #f1f1ef; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
  .page-safety .insurance-grid-page article strong { display: block; margin-bottom: 11px; color: #fec300; }
  .page-safety .insurance-grid-page article h3 { margin: 0 0 10px; color: #f1f1ef; font-size: 20px; }
.page-safety .insurance-grid-page article h3 { font-size: 14px; }
  .page-safety .insurance-grid-page article p { color: #bdbdb9; }
  .page-safety main > section:nth-of-type(4) { padding: 64px 0; }
  .page-safety main > section:nth-of-type(4) .side-note { padding: 0; color: #fec300; background: transparent; border-radius: 0; }
  .page-safety main > section:nth-of-type(4) h2 { font-size: clamp(2.45rem, 10.4vw, 3.3rem); }
.page-safety main > section:nth-of-type(4) h2 { font-size: clamp(1.715rem, 7.28vw, 2.31rem); }
  .page-safety main > section.security-band:nth-of-type(5) { padding: 64px 0; }
  .page-safety .security-photo { border-radius: 6px 6px 44px 6px; }
  .page-safety .security-photo figcaption { display: none; }

  .page-contact main > section:first-of-type { padding: 66px 0 72px; }
  .page-contact .contact-layout { gap: 46px; }
  .page-contact .contact-info { padding: 0; color: #f1f1ef; background: transparent; border-radius: 0; }
  .page-contact .contact-info h2 { max-width: 11ch; color: #f1f1ef; font-size: clamp(2.5rem, 10.5vw, 3.4rem); }
.page-contact .contact-info h2 { font-size: clamp(1.75rem, 7.35vw, 2.38rem); }
  .page-contact .contact-info p:not(.eyebrow) { color: #bdbdb9; }
  .page-contact .contact-info .eyebrow, .page-contact .contact-details strong { color: #fec300; }
  .page-contact .contact-details { gap: 14px; margin-top: 28px; }
  .page-contact .contact-details a, .page-contact .contact-details span { padding: 0; color: #f1f1ef; background: transparent; border-radius: 0; }
  .page-contact .form-shell { padding: 26px 18px; border-radius: 6px 6px 42px 6px; }
}

/* Keep the safety register deliberately flat: policy information is read in
   sequence, so colour blocks and decorative rounding would only compete with it. */
@media (min-width: 761px) {
  .page-safety main > section.security-band:nth-of-type(3) .insurance-grid-page article,
  .page-safety main > section.security-band:nth-of-type(3) .insurance-grid-page article:nth-child(n) {
    min-height: 0 !important;
    padding: 9px 0 20px !important;
    color: #f1f1ef !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .page-safety main > section.security-band:nth-of-type(3) .insurance-grid-page article h3,
  .page-safety main > section.security-band:nth-of-type(3) .insurance-grid-page article p { color: inherit !important; }
  .page-safety main > section.security-band:nth-of-type(3) .insurance-grid-page article p { color: #bdbdb9 !important; }
}

/* Segmentos: the introductory statement is the entry point, so it no longer
   shares its row with an auxiliary note. */
.page-segments .segment-intro .side-note { display: none; }

@media (min-width: 761px) {
  .page-segments .segment-intro .editorial-grid { display: block; }
  .page-segments .segment-intro .editorial-grid > div { max-width: 920px; }
  .page-segments .segment-intro h2 { max-width: 17ch; font-size: clamp(3rem, 4vw, 4.6rem); }
.page-segments .segment-intro h2 { font-size: clamp(2.1rem, 2.8vw, 3.22rem); }
  .page-segments .segment-intro > .container > .editorial-grid > div > p:not(.eyebrow) { max-width: 58ch; }
}

/* Segmentos is intentionally a standalone catalogue rather than another
   variation of the site's generic hero, bento grid and closing banner. */
.page-segments { background: #171717; }
.segments-hero { position: relative; overflow: hidden; color: var(--white); background: var(--charcoal); }
.segments-hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr); grid-template-rows: auto auto; column-gap: clamp(44px, 8vw, 140px); min-height: 620px; padding-top: clamp(78px, 8vw, 128px); padding-bottom: 0; }
.segments-hero-copy { position: relative; z-index: 1; align-self: center; padding-bottom: clamp(74px, 9vw, 132px); }
.segments-hero .eyebrow { color: var(--yellow); }
.segments-hero h1 { max-width: 10.5ch; margin: 20px 0 25px; color: var(--white); font-size: clamp(3.65rem, 5.65vw, 6.65rem); letter-spacing: -.085em; line-height: .9; text-wrap: balance; }
.segments-hero h1 { font-size: clamp(2.555rem, 3.955vw, 4.655rem); }
.segments-hero-copy > p:not(.eyebrow) { max-width: 39ch; margin: 0; color: rgba(255, 254, 249, .76); font-size: 17px; line-height: 1.62; }
.segments-hero-photo { align-self: end; height: 100%; min-height: 480px; margin: 0; border-radius: 6px 6px 0 0; overflow: hidden; }
.segments-hero-photo img { width: 100%; height: 100%; min-height: 480px; object-fit: cover; object-position: center; }
.segments-hero-note { grid-column: 1; display: grid; gap: 4px; align-self: end; padding: 23px 0 28px; color: var(--white); }
.segments-hero-note small { color: var(--yellow); font-size: 11px; font-weight: var(--bold); letter-spacing: .1em; text-transform: uppercase; }
.segments-hero-note strong { font-size: 16px; font-weight: var(--medium); }

.segments-brief { padding: clamp(94px, 11vw, 162px) 0 clamp(58px, 7vw, 96px); background: #171717; }
.segments-brief-grid { display: grid; grid-template-columns: minmax(180px, .42fr) minmax(0, 1.58fr); gap: clamp(46px, 9vw, 155px); }
.segments-brief .eyebrow { margin-top: 14px; color: #fec300; }
.segments-brief h2 { max-width: 12ch; margin: 0; color: #f1f1ef; font-size: clamp(3.2rem, 4.7vw, 5.5rem); letter-spacing: -.085em; line-height: .91; text-wrap: balance; }
.segments-brief h2 { font-size: clamp(2.24rem, 3.29vw, 3.85rem); }
.segments-brief h2 + p { max-width: 48ch; margin: 28px 0 0; color: #bdbdb9; font-size: 17px; line-height: 1.65; }

.segments-catalogue { padding: 0 0 clamp(108px, 12vw, 180px); background: #171717; }
.segment-ledger { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(56px, 9vw, 156px); margin: 0; padding: 0; list-style: none; }
.segment-ledger li { min-width: 0; }
.segment-entry { min-height: 260px; padding: 38px 0 50px; }
.segment-entry > span { display: block; margin-bottom: 23px; color: #fec300; font-size: 11px; font-weight: var(--bold); letter-spacing: .12em; }
.segment-entry h2 { max-width: 15ch; margin: 0 0 15px; color: #f1f1ef; font-size: clamp(2.15rem, 3vw, 3.35rem); letter-spacing: -.075em; line-height: .95; text-wrap: balance; }
.segment-entry h2 { font-size: clamp(1.505rem, 2.1vw, 2.345rem); }
.segment-entry p { max-width: 45ch; margin: 0; color: #bdbdb9; font-size: 15px; line-height: 1.66; }
.segment-ledger li:nth-child(4n + 1) .segment-entry h2 { color: #fec300; }
.segment-ledger li:nth-child(4n + 3) .segment-entry h2 { color: #9f8300; }
.segment-ledger li:nth-child(4n + 2) .segment-entry { padding-top: 104px; }
.segment-ledger li:nth-child(4n + 4) .segment-entry { padding-top: 104px; }

.segments-closing { padding: clamp(72px, 9vw, 132px) 0; color: var(--white); background: #242424; }
.segments-closing-grid { display: grid; grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr); gap: clamp(52px, 9vw, 150px); align-items: center; }
.segments-closing .eyebrow { color: var(--yellow); }
.segments-closing h2 { max-width: 9ch; margin: 17px 0 21px; color: inherit; font-size: clamp(3rem, 4.8vw, 5.6rem); letter-spacing: -.085em; line-height: .91; text-wrap: balance; }
.segments-closing h2 { font-size: clamp(2.1rem, 3.36vw, 3.92rem); }
.segments-closing p:not(.eyebrow) { max-width: 35ch; margin: 0; color: rgba(255, 254, 249, .78); font-size: 16px; line-height: 1.62; }
.segments-closing .button { margin-top: 32px; color: #f1f1ef; }
.segments-closing figure { min-height: 380px; margin: 0; border-radius: 6px 6px 56px 6px; overflow: hidden; }
.segments-closing img { width: 100%; height: 100%; min-height: 380px; object-fit: cover; }

@media (max-width: 760px) {
  .segments-hero-grid { display: block; min-height: 0; padding-top: 66px; padding-bottom: 0; }
  .segments-hero-copy { padding-bottom: 42px; }
  .segments-hero h1 { max-width: 10.5ch; margin: 16px 0 20px; font-size: clamp(3rem, 13.2vw, 4.25rem); line-height: .91; }
.segments-hero h1 { font-size: clamp(2.1rem, 9.24vw, 2.975rem); }
  .segments-hero-copy > p:not(.eyebrow) { font-size: 16px; }
  .segments-hero-photo { min-height: 255px; height: 255px; margin: 0; border-radius: 6px 6px 0 0; }
  .segments-hero-photo img { min-height: 255px; }
  .segments-hero-note { display: grid; gap: 4px; padding: 23px 0 27px; }
  .segments-hero-note strong { font-size: 15px; }

  .segments-brief { padding: 66px 0 42px; }
  .segments-brief-grid { display: block; }
  .segments-brief .eyebrow { margin: 0 0 17px; }
  .segments-brief h2 { max-width: 11ch; font-size: clamp(2.65rem, 11.2vw, 3.65rem); }
.segments-brief h2 { font-size: clamp(1.855rem, 7.84vw, 2.555rem); }
  .segments-brief h2 + p { margin-top: 22px; font-size: 16px; }
  .segments-catalogue { padding-bottom: 72px; }
  .segment-ledger { grid-template-columns: 1fr; }
  .segment-entry, .segment-ledger li:nth-child(n) .segment-entry { min-height: 0; padding: 31px 0 34px; }
  .segment-entry > span { margin-bottom: 14px; }
  .segment-entry h2 { margin-bottom: 12px; font-size: clamp(2rem, 8.8vw, 2.75rem); }
.segment-entry h2 { font-size: clamp(1.4rem, 6.16vw, 1.925rem); }
  .segment-entry p { font-size: 14px; line-height: 1.64; }
  .segments-closing { padding: 64px 0; }
  .segments-closing-grid { grid-template-columns: 1fr; gap: 42px; }
  .segments-closing h2 { max-width: 10ch; font-size: clamp(2.75rem, 11.4vw, 3.8rem); }
.segments-closing h2 { font-size: clamp(1.925rem, 7.98vw, 2.66rem); }
  .segments-closing figure, .segments-closing img { min-height: 250px; }
  .segments-closing figure { border-radius: 6px 6px 44px 6px; }
}

@media (max-width: 760px) {
  .page-safety main > section.security-band:nth-of-type(3) .insurance-grid-page article,
  .page-safety main > section.security-band:nth-of-type(3) .insurance-grid-page article:nth-child(n) {
    min-height: 0 !important;
    padding: 0 !important;
    color: #f1f1ef !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .page-safety main > section.security-band:nth-of-type(3) .insurance-grid-page article h3,
  .page-safety main > section.security-band:nth-of-type(3) .insurance-grid-page article p { color: inherit !important; }
  .page-safety main > section.security-band:nth-of-type(3) .insurance-grid-page article p { color: #bdbdb9 !important; }
}

/* Segmentos: cada operação é lida pela carga antes do texto. Não são cartões
   decorativos; são entradas de catálogo com a mesma ordem e escala visual. */
.page-segments .segment-ledger { gap: clamp(58px, 8vw, 118px) clamp(28px, 4vw, 62px); }
.page-segments .segment-entry,
.page-segments .segment-ledger li:nth-child(n) .segment-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
  padding: 0;
}
.page-segments .segment-entry figure {
  aspect-ratio: 1.42 / 1;
  min-height: 0;
  margin: 0 0 25px;
  overflow: hidden;
  border-radius: 6px 6px 42px 6px;
  background: var(--charcoal);
}
.page-segments .segment-entry figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}
.page-segments .segment-entry:hover figure img { transform: scale(1.03); }
.page-segments .segment-entry > div > span {
  display: block;
  margin: 0 0 13px;
  color: #fec300;
  font-size: 11px;
  font-weight: var(--bold);
  letter-spacing: .12em;
}
.page-segments .segment-entry h2 {
  max-width: 15ch;
  margin: 0 0 13px;
  color: #f1f1ef;
  font-size: clamp(2.15rem, 3vw, 3.3rem);
  letter-spacing: -.075em;
  line-height: .96;
}
.page-segments .segment-entry h2 { font-size: clamp(1.505rem, 2.1vw, 2.31rem); }
.page-segments .segment-entry p {
  max-width: 46ch;
  margin: 0;
  color: #bdbdb9;
  font-size: 14px;
  line-height: 1.65;
}
.page-segments .segment-ledger li:nth-child(4n + 1) .segment-entry h2,
.page-segments .segment-ledger li:nth-child(4n + 3) .segment-entry h2 { color: #f1f1ef; }

.page-segments .segments-brief-grid {
  display: block;
  max-width: 920px;
  margin-inline: auto;
}
.page-segments .segments-brief .eyebrow { margin: 0 0 18px; }
.page-segments .segments-brief h2 { max-width: 12ch; }

/* Sobre: título, rótulo e três compromissos pertencem ao mesmo bloco visual. */
.page-about .simple-about-values .section-heading {
  display: block;
  max-width: 900px;
  margin: 0 auto clamp(52px, 6vw, 82px);
}
.page-about .simple-about-values .section-heading .eyebrow { margin: 0 0 19px; }
.page-about .simple-about-values .section-heading h2 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(3.15rem, 5vw, 5.85rem);
}
.page-about .simple-about-values .section-heading h2 { font-size: clamp(2.205rem, 3.5vw, 4.095rem); }
.page-about .simple-about-values .simple-points-list { gap: clamp(32px, 5vw, 78px); }
.page-about .simple-about-values .simple-points-list article { padding-top: 0; }
.page-about .simple-about-values .simple-points-list span { margin-bottom: 26px; }
.page-about .simple-about-values .simple-points-list h3 { margin-bottom: 15px; }

@media (max-width: 760px) {
  .page-segments .segment-ledger { gap: 46px; }
  .page-segments .segment-entry figure { aspect-ratio: 1.36 / 1; margin-bottom: 19px; border-radius: 5px 5px 32px 5px; }
  .page-segments .segment-entry > div > span { margin-bottom: 11px; }
  .page-segments .segment-entry h2 { font-size: clamp(2rem, 8.8vw, 2.7rem); }
.page-segments .segment-entry h2 { font-size: clamp(1.4rem, 6.16vw, 1.89rem); }
  .page-about .simple-about-values .section-heading { margin-bottom: 42px; }
  .page-about .simple-about-values .section-heading h2 { font-size: clamp(2.7rem, 11.2vw, 3.65rem); }
.page-about .simple-about-values .section-heading h2 { font-size: clamp(1.89rem, 7.84vw, 2.555rem); }
  .page-about .simple-about-values .simple-points-list { gap: 38px; }
  .page-about .simple-about-values .simple-points-list span { margin-bottom: 15px; }
}

/* A imagem reforça a leitura de cada carga; a lista e a copy permanecem em
   primeiro plano. */
.page-segments .segment-ledger {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  max-width: 1060px;
  margin-inline: auto;
}
.page-segments .segment-entry,
.page-segments .segment-ledger li:nth-child(n) .segment-entry {
  grid-template-columns: minmax(0, 1fr) 218px;
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  padding: 26px 0;
}
.page-segments .segment-entry figure {
  order: 2;
  aspect-ratio: 1.32 / 1;
  margin: 0;
  border-radius: 5px 5px 28px 5px;
}
.page-segments .segment-entry > div { order: 1; }
.page-segments .segment-entry > div > span { margin-bottom: 8px; }
.page-segments .segment-entry h2 { max-width: none; margin-bottom: 8px; font-size: clamp(1.8rem, 2.6vw, 2.8rem); }
.page-segments .segment-entry h2 { font-size: clamp(1.26rem, 1.82vw, 1.96rem); }
.page-segments .segment-entry p { max-width: 60ch; font-size: 14px; line-height: 1.58; }

@media (max-width: 760px) {
  .page-segments .segment-ledger { gap: 0; }
  .page-segments .segment-entry,
  .page-segments .segment-ledger li:nth-child(n) .segment-entry {
    grid-template-columns: minmax(0, 1fr) 104px;
    gap: 20px;
    padding: 22px 0;
  }
  .page-segments .segment-entry figure { aspect-ratio: 1 / 1; border-radius: 4px 4px 20px 4px; }
  .page-segments .segment-entry > div > span { margin-bottom: 7px; font-size: 10px; }
  .page-segments .segment-entry h2 { margin-bottom: 7px; font-size: clamp(1.6rem, 7.5vw, 2.2rem); }
.page-segments .segment-entry h2 { font-size: clamp(1.12rem, 5.25vw, 1.54rem); }
  .page-segments .segment-entry p { font-size: 13px; line-height: 1.54; }
}

/* Cadência final de Segmentos: abertura curta, catálogo prático e encerramento
   direto. A página não repete o peso de uma segunda hero em cada seção. */
.page-segments .segments-hero-grid {
  min-height: 535px;
  padding-top: 74px;
}
.page-segments .segments-hero-copy { padding-bottom: 64px; }
.page-segments .segments-hero h1 { max-width: 11.5ch; font-size: clamp(3.3rem, 5vw, 5.8rem); }
.page-segments .segments-hero h1 { font-size: clamp(2.31rem, 3.5vw, 4.06rem); }
.page-segments .segments-hero-photo,
.page-segments .segments-hero-photo img { min-height: 410px; }
.page-segments .segments-hero-note { padding-bottom: 24px; }
.page-segments .segments-brief { padding: clamp(68px, 8vw, 102px) 0 34px; }
.page-segments .segments-brief-grid { max-width: 1060px; }
.page-segments .segments-brief h2 { max-width: 15ch; font-size: clamp(2.8rem, 4vw, 4.55rem); }
.page-segments .segments-brief h2 { font-size: clamp(1.96rem, 2.8vw, 3.185rem); }
.page-segments .segments-brief h2 + p { margin-top: 19px; }
.page-segments .segments-catalogue { padding-bottom: clamp(74px, 8vw, 112px); }
.page-segments .segments-closing { padding: clamp(62px, 7vw, 92px) 0; }
.page-segments .segments-closing-grid {
  grid-template-columns: minmax(0, 1fr) minmax(250px, .45fr);
  gap: clamp(34px, 6vw, 92px);
  max-width: 1060px;
}
.page-segments .segments-closing h2 { max-width: 13ch; font-size: clamp(2.65rem, 4vw, 4.6rem); }
.page-segments .segments-closing h2 { font-size: clamp(1.855rem, 2.8vw, 3.22rem); }
.page-segments .segments-closing figure,
.page-segments .segments-closing img { min-height: 255px; }
.page-segments .segments-closing figure { border-radius: 5px 5px 38px 5px; }

@media (max-width: 760px) {
  .page-segments .segments-hero-grid { padding-top: 58px; }
  .page-segments .segments-hero-copy { padding-bottom: 34px; }
  .page-segments .segments-hero h1 { font-size: clamp(2.8rem, 12.4vw, 3.85rem); }
.page-segments .segments-hero h1 { font-size: clamp(1.96rem, 8.68vw, 2.695rem); }
  .page-segments .segments-hero-photo,
  .page-segments .segments-hero-photo img { min-height: 230px; }
  .page-segments .segments-brief { padding: 56px 0 25px; }
  .page-segments .segments-brief h2 { font-size: clamp(2.45rem, 10.7vw, 3.35rem); }
.page-segments .segments-brief h2 { font-size: clamp(1.715rem, 7.49vw, 2.345rem); }
  .page-segments .segments-catalogue { padding-bottom: 58px; }
  .page-segments .segments-closing { padding: 58px 0; }
  .page-segments .segments-closing-grid { grid-template-columns: 1fr; gap: 30px; }
  .page-segments .segments-closing figure,
  .page-segments .segments-closing img { min-height: 210px; }
}

/* Sobre: o compromisso é uma conversa entre a chamada e uma lista de
   benefícios, não três blocos isolados sob um título central. */
@media (min-width: 761px) {
  .page-about .simple-about-values .container {
    display: grid;
    grid-template-columns: minmax(300px, .8fr) minmax(560px, 1.2fr);
    gap: clamp(66px, 9vw, 156px);
    align-items: start;
  }
  .page-about .simple-about-values .section-heading {
    max-width: none;
    margin: 0;
  }
  .page-about .simple-about-values .section-heading h2 {
    max-width: 9ch;
    font-size: clamp(3rem, 4.15vw, 5rem);
  }
.page-about .simple-about-values .section-heading h2 { font-size: clamp(2.1rem, 2.905vw, 3.5rem); }
  .page-about .simple-about-values .simple-points-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 31px;
    padding-top: 6px;
  }
  .page-about .simple-about-values .simple-points-list article {
    display: grid;
    grid-template-columns: 42px minmax(200px, .8fr) minmax(260px, 1fr);
    column-gap: 24px;
    align-items: start;
  }
  .page-about .simple-about-values .simple-points-list span {
    margin: 6px 0 0;
  }
  .page-about .simple-about-values .simple-points-list h3 {
    max-width: 12ch;
    margin: 0;
    font-size: clamp(1.5rem, 1.9vw, 2.15rem);
  }
.page-about .simple-about-values .simple-points-list h3 { font-size: clamp(1.05rem, 1.33vw, 1.505rem); }
  .page-about .simple-about-values .simple-points-list p {
    max-width: 35ch;
    margin: 2px 0 0;
  }
}

/* CTA do Sobre: reduz o vazio entre a mensagem e a ação, sem adicionar
   enfeites ou uma segunda composição de hero. */
.page-about .simple-cta-blue { padding-block: clamp(66px, 7vw, 98px); }
.page-about .simple-cta-blue .simple-cta-grid {
  grid-template-columns: minmax(0, 570px) minmax(300px, 410px);
  justify-content: start;
  align-items: center;
  gap: clamp(56px, 9vw, 148px);
  min-height: 280px;
  max-width: 1320px;
}
.page-about .simple-cta-blue h2 { max-width: 10ch; font-size: clamp(2.8rem, 4.15vw, 4.75rem); }
.page-about .simple-cta-blue h2 { font-size: clamp(1.96rem, 2.905vw, 3.325rem); }
.page-about .simple-cta-blue .simple-cta-grid > div:last-child { max-width: 410px; }
.page-about .simple-cta-blue .simple-cta-grid > div:last-child > p { margin-bottom: 25px; }

@media (max-width: 760px) {
  .page-about .simple-about-values .section-heading { max-width: none; margin-bottom: 38px; }
  .page-about .simple-about-values .section-heading h2 { max-width: 10ch; }
  .page-about .simple-about-values .simple-points-list article {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    column-gap: 15px;
  }
  .page-about .simple-about-values .simple-points-list span { grid-column: 1; margin: 5px 0 0; }
  .page-about .simple-about-values .simple-points-list h3 { grid-column: 2; margin: 0 0 9px; }
  .page-about .simple-about-values .simple-points-list p { grid-column: 2; }
  .page-about .simple-cta-blue .simple-cta-grid { display: grid; min-height: 0; }
}

/* Estrutura institucional do Sobre: título no eixo do container e benefícios
   organizados como uma lista de serviço, com colunas estáveis. */
@media (min-width: 761px) {
  .page-about .simple-about-values .container { display: block; }
  .page-about .simple-about-values .section-heading {
    max-width: 880px;
    margin: 0 0 clamp(48px, 5vw, 74px);
  }
  .page-about .simple-about-values .section-heading h2 {
    max-width: 12ch;
    font-size: clamp(3rem, 4.1vw, 4.95rem);
  }
.page-about .simple-about-values .section-heading h2 { font-size: clamp(2.1rem, 2.87vw, 3.465rem); }
  .page-about .simple-about-values .simple-points-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    padding-top: 0;
    max-width: 1220px;
  }
  .page-about .simple-about-values .simple-points-list article {
    display: grid;
    grid-template-columns: 110px minmax(260px, .78fr) minmax(310px, 1fr);
    column-gap: clamp(28px, 4vw, 66px);
    align-items: start;
    padding: 0 0 30px;
  }
  .page-about .simple-about-values .simple-points-list article + article { padding-top: 30px; }
  .page-about .simple-about-values .simple-points-list span { margin: 5px 0 0; }
  .page-about .simple-about-values .simple-points-list h3 { max-width: 13ch; margin: 0; font-size: clamp(1.55rem, 2vw, 2.2rem); }
.page-about .simple-about-values .simple-points-list h3 { font-size: clamp(1.085rem, 1.4vw, 1.54rem); }
  .page-about .simple-about-values .simple-points-list p { max-width: 43ch; margin: 3px 0 0; }
}

/* Segmentos: a introdução usa o mesmo eixo horizontal do conteúdo do hero. */
.page-segments .segments-brief-grid {
  max-width: none;
  margin-inline: auto;
}
.page-segments .segments-brief { padding-top: clamp(40px, 5vw, 62px); }

@media (max-width: 760px) {
  .page-segments .segments-brief { padding-top: 40px; }
}

/* Segurança: coberturas apresentadas como informação de serviço. O título e
   cada apólice compartilham o eixo do container, sem o aspecto de tabela. */
.page-safety .simple-policies .section-heading {
  display: block;
  max-width: 880px;
  margin: 0 0 clamp(48px, 5vw, 72px);
}
.page-safety .simple-policies .section-heading .eyebrow { margin: 0 0 18px; }
.page-safety .simple-policies .section-heading h2 {
  max-width: 11ch;
  margin: 0;
  font-size: clamp(3rem, 4.1vw, 4.95rem);
}
.page-safety .simple-policies .section-heading h2 { font-size: clamp(2.1rem, 2.87vw, 3.465rem); }
.page-safety .policy-list { max-width: 1220px; }
.page-safety .policy-list article {
  grid-template-columns: 110px minmax(290px, .8fr) minmax(320px, 1fr);
  column-gap: clamp(28px, 4vw, 66px);
  align-items: start;
  padding: 0 0 30px;
  border: 0;
}
.page-safety .policy-list article + article { padding-top: 30px; }
.page-safety .policy-list article:last-child { border-bottom: 0; }
.page-safety .policy-list h3 {
  max-width: 14ch;
  margin: 0;
  font-size: clamp(1.55rem, 2vw, 2.2rem);
}
.page-safety .policy-list h3 { font-size: clamp(1.085rem, 1.4vw, 1.54rem); }
.page-safety .policy-list p { max-width: 43ch; margin: 3px 0 0; }

/* Contato: a chamada ganha uma referência operacional objetiva, em vez de
   deixar a metade direita da hero vazia. */
.page-contact .inner-hero-contact { min-height: 520px; }
.page-contact .inner-hero-contact .contact-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 610px) minmax(280px, 360px);
  justify-content: space-between;
  align-items: center;
  gap: clamp(48px, 10vw, 168px);
  min-height: 520px;
  padding-block: 70px;
}
.page-contact .contact-hero-copy { max-width: 610px; }
.page-contact .inner-hero-contact h1 { max-width: 8.6ch; }
.contact-hero-guide {
  padding: 25px 0 24px 27px;
  border-left: 2px solid var(--yellow);
  color: rgba(255, 254, 249, .82);
}
.contact-hero-guide > p {
  margin: 0 0 18px;
  color: var(--yellow);
  font-size: 11px;
  font-weight: var(--bold);
  letter-spacing: .13em;
  text-transform: uppercase;
}
.contact-hero-guide ul { display: grid; gap: 11px; margin: 0 0 20px; padding: 0; list-style: none; }
.contact-hero-guide li {
  position: relative;
  padding-left: 17px;
  color: var(--white);
  font-size: 17px;
  font-weight: var(--medium);
}
.contact-hero-guide li::before {
  position: absolute;
  top: .7em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--yellow);
  content: "";
}
.contact-hero-guide span { display: block; max-width: 29ch; font-size: 14px; line-height: 1.55; }

/* O CTA do cabeçalho se comporta como ação de navegação: largura natural,
   altura alinhada aos links e sem aspecto de bloco solto. */
.site-header .header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  gap: 9px;
  min-height: 40px;
  padding: 0 15px;
  border: 1px solid var(--blue);
  border-radius: 999px;
  color: var(--white);
  background: #242424;
  font-size: 12px;
  font-weight: var(--bold);
  line-height: 1;
  white-space: nowrap;
}
.site-header .header-cta span { font-size: 16px; line-height: 1; }
.site-header .header-cta:hover { color: #f1f1ef; background: var(--yellow); border-color: var(--yellow); }

@media (max-width: 760px) {
  .site-header .header-cta { display: none; }
  .page-safety .simple-policies .section-heading { margin-bottom: 38px; }
  .page-safety .simple-policies .section-heading h2 { font-size: clamp(2.6rem, 10.8vw, 3.55rem); }
.page-safety .simple-policies .section-heading h2 { font-size: clamp(1.82rem, 7.56vw, 2.485rem); }
  .page-safety .policy-list article {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 0 0 28px;
  }
  .page-safety .policy-list article + article { padding-top: 0; }
  .page-safety .policy-list h3 { margin: 0 0 8px; font-size: 1.65rem; }
.page-safety .policy-list h3 { font-size: 1.155rem; }

  .page-contact .inner-hero-contact .contact-hero-grid {
    grid-template-columns: 1fr;
    gap: 36px;
    min-height: 0;
    padding-block: 62px 58px;
  }
  .page-contact .contact-hero-copy { max-width: none; }
  .page-contact .inner-hero-contact h1 { max-width: 9.2ch; }
  .contact-hero-guide { padding: 21px 0 0 20px; }
  .contact-hero-guide li { font-size: 15px; }
}

/* Review redesign: responsibility block and floating WhatsApp action */
.responsibility-section {
  padding: clamp(72px, 8vw, 108px) 0;
  background: var(--charcoal);
  border-block: 1px solid rgba(255, 254, 249, .08);
}
.responsibility-section .section-heading {
  display: grid;
  grid-template-columns: minmax(180px, .56fr) minmax(0, 1.44fr);
  gap: clamp(28px, 7vw, 96px);
  align-items: start;
  margin: 0 0 clamp(30px, 4vw, 48px);
}
.responsibility-section .section-heading .eyebrow {
  margin: 7px 0 0;
}
.responsibility-section .section-heading .eyebrow::before {
  width: 26px;
  height: 2px;
  background: var(--yellow);
  content: "";
}
.responsibility-section .section-heading h2 {
  max-width: 19ch;
  margin: 0;
  color: var(--white);
  font-size: clamp(2.5rem, 5.2vw, 4.6rem);
  letter-spacing: -.065em;
  line-height: .98;
  text-wrap: balance;
}
.responsibility-section .simple-points-list {
  gap: clamp(12px, 1.8vw, 20px);
}
.responsibility-section .simple-points-list article {
  display: flex;
  min-height: 196px;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(20px, 2.2vw, 30px);
  border: 1px solid rgba(255, 254, 249, .12);
  border-top: 2px solid var(--yellow);
  border-radius: 4px;
  background: #1e1d1a;
  transition: background-color .2s ease, transform .2s ease;
}
.responsibility-section .simple-points-list article:hover {
  transform: translateY(-3px);
  background: #24221e;
}
.responsibility-section .simple-points-list span {
  margin: 0 0 28px;
  color: var(--yellow);
  font-size: 12px;
  letter-spacing: .12em;
}
.responsibility-section .simple-points-list h3 {
  max-width: 19ch;
  margin: 0;
  color: var(--white);
  font-size: clamp(1.15rem, 1.55vw, 1.5rem);
  letter-spacing: -.045em;
  line-height: 1.18;
  text-wrap: balance;
}
.responsibility-section .responsibility-close {
  max-width: none;
  margin: 18px 0 0;
  padding: clamp(18px, 2.3vw, 26px) clamp(20px, 2.6vw, 32px);
  border-left: 3px solid var(--yellow);
  border-radius: 2px;
  background: #211f1b;
  color: #e6e3dc;
  font-size: clamp(1rem, 1.2vw, 1.125rem);
  line-height: 1.6;
}

@media (max-width: 760px) {
  .responsibility-section { padding: 66px 0; }
  .responsibility-section .section-heading {
    grid-template-columns: 1fr;
    gap: 13px;
    margin-bottom: 28px;
  }
  .responsibility-section .section-heading .eyebrow { margin: 0; }
  .responsibility-section .section-heading h2 {
    max-width: 13ch;
    font-size: clamp(2.45rem, 10vw, 3.65rem);
    line-height: .99;
  }
  .responsibility-section .simple-points-list {
    grid-template-columns: 1fr;
    gap: 11px;
  }
  .responsibility-section .simple-points-list article {
    min-height: 0;
    padding: 20px 22px 23px;
  }
  .responsibility-section .simple-points-list span { margin-bottom: 15px; }
  .responsibility-section .simple-points-list h3 {
    max-width: 27ch;
    font-size: 1.25rem;
  }
  .responsibility-section .responsibility-close {
    margin-top: 12px;
    padding: 18px 19px;
    font-size: 1rem;
  }

}

/* Keep the section label first, with the main statement directly below it. */
.responsibility-section .section-heading {
  display: block;
  margin-bottom: clamp(34px, 5vw, 52px);
}
.responsibility-section .section-heading .eyebrow {
  margin: 0 0 22px;
}
.responsibility-section .section-heading h2 {
  max-width: 25ch;
}
@media (max-width: 760px) {
  .responsibility-section .section-heading {
    display: block;
    margin-bottom: 28px;
  }
  .responsibility-section .section-heading .eyebrow {
    margin: 0 0 18px;
  }
  .responsibility-section .section-heading h2 {
    max-width: 18ch;
    font-size: clamp(2.1rem, 8.5vw, 3.3rem);
    line-height: 1.02;
  }
}

