/* ========================================================================
   HOMEPAGE CONTINUATION — reference content and independently scoped sections.
   All assets are local. Text, controls, icons, curves and overlays stay live.
   ======================================================================== */

/* 1. Shared photo windows display photography without any reference UI. */
.home-page .source-photo { container-type: size; position: relative; overflow: hidden; }
/* Scale the source uniformly, center its safe crop, and cover the responsive frame. */
.home-page .source-photo img {
  position: absolute;
  left: calc(50% - max(100cqw * var(--photo-cxx), 100cqh * var(--photo-cxy)));
  top: calc(50% - max(100cqw * var(--photo-cyx), 100cqh * var(--photo-cyy)));
  width: max(100cqw * var(--photo-wx), 100cqh * var(--photo-wy));
  height: max(100cqw * var(--photo-hx), 100cqh * var(--photo-hy));
  max-width: none; object-fit: fill;
}
/* End uniform crop scaling. */
.home-page .section-eyebrow { display: flex; align-items: center; gap: 1.2cqw; margin: 0; font-size: .85cqw; line-height: 1.5; letter-spacing: .29cqw; font-weight: 500; }
.home-page .section-eyebrow::before { content: ""; width: 2.75cqw; height: .3cqw; border-radius: 8px; background: #ff7108; flex: 0 0 auto; }
.home-page .section-button { display: inline-flex; align-items: center; justify-content: center; gap: 1cqw; padding: .9cqw 1.1cqw; min-height: 3.6cqw; border: 1px solid transparent; border-radius: .7cqw; color: #f5f8ff; font-size: 1cqw; font-weight: 700; line-height: 1.35; transition: background-color .18s, box-shadow .18s; }
.home-page .section-button .icon { width: 1.5cqw; height: 1.5cqw; }
.home-page .section-button--orange { background: #ff7510; box-shadow: 0 10px 30px #ff7c0b0c; }
.home-page .section-button--orange:hover { background: #ff8a2b; box-shadow: 0 0 24px #ff7a172a; }
.home-page .section-button--outline { border-color: #3195c0; background: #09264099; }
.home-page .section-button--outline:hover { background: #0a4266; }
/* End shared photo and button primitives. */

/* 2. New tab content keeps the accepted overview/sidebar/curved scene intact. */
.home-page .company-features[hidden], .home-page .company-photo-caption[hidden] { display: none; }
.home-page .company-tags { display: flex; flex-wrap: wrap; gap: .55cqw; padding: 0; list-style: none; margin: 0 0 2.1cqw; }
.home-page .company-tags li { border: 1px solid #17628a; border-radius: 999px; padding: .55cqw .85cqw; color: #c8e5f6; background: #0525417a; font-size: .79cqw; font-weight: 600; }
.home-page .company-panel--detail h2 { font-size: 2.94cqw; line-height: 1.08; letter-spacing: -.045em; }
.home-page .company-panel--detail .company-description { font-size: 1.12cqw; line-height: 1.48; margin-top: 1.2cqw; }
.home-page .company-checklist { display: grid; gap: .85cqw; padding: 0; list-style: none; margin: 1.35cqw 0 0; max-width: 37.9cqw; }
.home-page .company-checklist li { display: flex; align-items: flex-start; gap: .7cqw; font-size: 1.02cqw; line-height: 1.4; }
.home-page .company-check { display: grid; place-items: center; flex: 0 0 auto; width: 1.36cqw; height: 1.36cqw; margin-top: .08cqw; border: 1.5px solid #00ccf5; color: #00ccf5; border-radius: 50%; font-size: .95cqw; font-weight: 700; line-height: 1; }
.home-page .company-detail-actions { display: flex; flex-wrap: wrap; gap: .8cqw; margin-top: 2.2cqw; }
.home-page .company-signature { display: flex; align-items: center; gap: .85cqw; margin-top: 2.2cqw; color: #83b0ce; font-size: .77cqw; letter-spacing: .14cqw; }
.home-page .company-signature::before { content: ""; width: 1.8cqw; height: 2px; background: #ff7510; }
.home-page .company-section.is-detail .company-stage { min-height: 51cqw; }
/* Safe inset rectangle excludes the rounded frame and labels in the references. */
.home-page .company-section.is-detail .company-photo-window { container-type: size; }
.home-page .company-section.is-detail .company-photo-image {
  left: calc(50% - max(253.986711cqw, 268.245614cqh));
  top: calc(50% - max(77.574751cqw, 81.929825cqh));
  width: max(318.936877cqw, 336.842105cqh);
  height: max(179.401993cqw, 189.473684cqh);
}
.home-page .company-photo-caption { position: absolute; top: 43.7cqw; right: 2.75cqw; display: flex; align-items: center; gap: 1cqw; width: 34cqw; min-height: 5.65cqw; padding: .75cqw .9cqw; border: 1px solid #285575; border-radius: 1cqw; background: linear-gradient(115deg, #0d2f4d, #041a2f); }
.home-page .company-caption-image { position: relative; overflow: hidden; flex: 0 0 auto; width: 5.5cqw; height: 4cqw; border: 1px solid #275570; border-radius: .6cqw; }
.home-page .company-caption-image img { position: absolute; left: -1290.526316%; top: -1216.176471%; width: 2021.052632%; height: 1588.235294%; max-width: none; object-fit: fill; }
.home-page .company-caption-title { margin: 0 0 .25cqw; color: #f0f5ff; font-size: 1.12cqw; line-height: 1.25; letter-spacing: -.035em; }
.home-page .company-caption-text { color: #b5cce0; font-size: .79cqw; line-height: 1.5; }
/* End chapter details and synchronized photo captions. */

/* 3. Journey composition: CSS sky, isolated photo scenery and a vector timeline. */
@font-face { font-family: "Caveat"; src: url("../fonts/caveat/caveat-latin-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
.home-page .milestones-section { container-type: inline-size; position: relative; isolation: isolate; overflow: hidden; color: #f4f7ff; background: radial-gradient(ellipse at 65% -15%, #5591b4 0, #123b61 25%, #00182f 52%, #000e1b 78%); scroll-margin-top: 64px; }
.home-page .milestone-main { position: relative; isolation: isolate; min-height: 35.325cqw; }
/* Coded sky blends the separate photograph windows without rasterized lettering. */
.home-page .milestone-main::before { content: ""; position: absolute; z-index: -2; top: 0; left: 36%; right: 0; height: 18cqw; background: radial-gradient(ellipse at 56% 0, #d5e1e9 0, #8eafc7 31%, #345e8080 55%, transparent 75%); }
/* End scenic sky blend. */
.home-page .milestone-main::after { content: ""; position: absolute; z-index: -1; bottom: -9cqw; left: 58%; width: 50%; height: 12cqw; border: 1px solid #00609188; border-radius: 50%; transform: rotate(-4deg); background: #000d1c66; }
.home-page .milestone-backdrop { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.home-page .milestone-mountains { position: absolute; top: 0; left: 39.13%; width: 11.07%; height: 16.735cqw; mask-image: linear-gradient(to right, transparent, #000 35%, #000 65%, transparent), linear-gradient(to bottom, #000 45%, transparent); mask-composite: intersect; opacity: .6; }
.home-page .milestone-award-scene { position: absolute; top: 0; right: 0; width: 35.737%; height: 13.645cqw; mask-image: linear-gradient(to bottom, #000 76%, transparent), linear-gradient(to right, transparent, #000 12%); mask-composite: intersect; }
.home-page .milestone-heading { position: relative; padding: 3cqw 0 0 4.53cqw; }
.home-page .milestone-heading h2 { margin: .65cqw 0 .75cqw; font-size: 3.95cqw; font-weight: 800; letter-spacing: -.035em; line-height: .97; }
.home-page .milestone-heading h2 span, .home-page .projects-heading h2 span { color: #00baf1; background: linear-gradient(#a8eaff, #00a9ed 85%); background-clip: text; -webkit-text-fill-color: transparent; }
.home-page .milestone-heading > p:last-child { max-width: 41cqw; font-size: 1.18cqw; line-height: 1.32; color: #d6e2fa; font-weight: 400; }
.home-page .milestone-quote { position: absolute; top: 2cqw; left: 51.5%; width: 13cqw; color: #0b4a79; font: 500 2.75cqw/.83 "Caveat", cursive; text-align: center; transform: rotate(-10deg); }
.home-page .milestone-quote span:first-child { padding-left: 1cqw; }
.home-page .milestone-quote span:last-child { padding-left: 3cqw; }
.home-page .milestone-quote::after { content: ""; position: absolute; bottom: -1cqw; left: 4.1cqw; width: 8cqw; height: .15cqw; border-radius: 80%; background: #ff7300; transform: rotate(-5deg); }
.home-page .milestone-line { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.home-page .milestone-line path { fill: none; stroke: url(#milestone-line-color); stroke-width: 3; filter: drop-shadow(0 0 7px #00aaff); }
.home-page .milestone-events { list-style: none; margin: 0; padding: 0; }
.home-page .milestone-event { position: absolute; left: var(--event-x); top: var(--event-y); width: 12.36cqw; transform: translateX(-50%); text-align: center; }
.home-page .milestone-photo { width: 6.8cqw; height: 6.8cqw; margin: 0 auto; border: 2px solid #cef4ff; border-radius: 50%; box-shadow: 0 0 0 2px #009dffbb, 0 0 18px #0087dd70; background: #073b60; }
.home-page .milestone-connector { display: block; position: relative; height: 1.5cqw; width: 1px; margin: 0 auto; background: linear-gradient(#f2fbff, #00baff); }
.home-page .milestone-connector::before, .home-page .milestone-connector::after { content: ""; position: absolute; left: 50%; border-radius: 50%; transform: translateX(-50%); }
.home-page .milestone-connector::before { top: -.2cqw; width: .58cqw; height: .58cqw; background: #fff; border: 1px solid #00bfff; box-shadow: 0 0 9px #00c9ff; }
.home-page .milestone-connector::after { bottom: 0; width: .45cqw; height: .45cqw; background: #00b9f5; box-shadow: 0 0 12px #009dff; }
.home-page .milestone-event h3 { margin: 0; font-size: 1.02cqw; line-height: 1.3; letter-spacing: -.025em; }
.home-page .milestone-year { display: block; margin: .16cqw 0 .1cqw; color: #00b9f3; font-size: 1.65cqw; line-height: 1.25; font-weight: 800; }
.home-page .milestone-event p { margin: .2cqw 0 0; color: #bcd3ee; font-size: .93cqw; line-height: 1.32; font-weight: 400; letter-spacing: -.025em; }
.home-page .milestone-metrics { position: relative; display: grid; grid-template-columns: .95fr .98fr 1.05fr 1.12fr 1.14fr; min-height: 6.34cqw; align-items: center; padding: .8cqw 4.5cqw; border-top: 1px solid #08446888; background: #000d1bd9; }
.home-page .milestone-metric { display: flex; align-items: center; justify-content: center; gap: 1cqw; padding: .2cqw 1.25cqw; min-height: 4.1cqw; }
.home-page .milestone-metric + .milestone-metric { border-left: 1px solid #86a8dc80; }
.home-page .milestone-metric .icon { width: 3.5cqw; height: 3.5cqw; color: #00b6f0; }
.home-page .milestone-metric p { display: flex; flex-direction: column; font-size: .95cqw; color: #c5daf2; line-height: 1.45; white-space: nowrap; }
.home-page .milestone-metric strong { color: #f4f7ff; font-size: 1.65cqw; line-height: 1.2; }
/* End journey and metrics. */

/* 4. Project hero and service cards are live CSS, with photographic areas only. */
.home-page .projects-section { container-type: inline-size; position: relative; isolation: isolate; padding: 0 1.5cqw 1.1cqw; background: radial-gradient(ellipse at 90% 0, #00476a66, transparent 60%), #00152b; scroll-margin-top: 64px; }
.home-page .projects-hero { position: relative; min-height: 19.6cqw; padding: 2.1cqw 2.2cqw 0; }
.home-page .projects-hero-photo { position: absolute; top: 0; right: -1.5cqw; width: 58cqw; height: 19.45cqw; z-index: -1; mask-image: linear-gradient(to right, transparent, #000 24%), linear-gradient(to bottom, #000 85%, transparent); mask-composite: intersect; }
.home-page .projects-heading h2 { margin: .55cqw 0 .65cqw; font-size: 3.4cqw; font-weight: 800; line-height: .94; letter-spacing: -.035em; }
.home-page .projects-heading > p:last-child { color: #c6e1fa; font-size: 1.01cqw; line-height: 1.3; font-weight: 400; }
.home-page .project-features { display: flex; list-style: none; margin: 1.15cqw 0 0; padding: 0; }
.home-page .project-features li { position: relative; display: flex; align-items: center; gap: 1.1cqw; margin-right: 1.5cqw; padding-right: 1.5cqw; font-size: .79cqw; line-height: 1.4; }
.home-page .project-features li + li::before { content: ""; position: absolute; left: -1.5cqw; top: .3cqw; bottom: .3cqw; width: 1px; background: #5895c699; }
.home-page .project-features .icon { width: 2.6cqw; height: 2.6cqw; color: #00b9fa; --icon-detail: #00152b; }
.home-page .project-grid { display: grid; grid-template-columns: 1fr .95fr .99fr; gap: .85cqw; }
.home-page .project-card { position: relative; overflow: hidden; min-width: 0; border: 1px solid #006d9c; border-radius: .85cqw; background: #001329; }
.home-page .project-card-photo { width: 100%; height: 13.2cqw; }
.home-page .project-card-photo::after { content: ""; position: absolute; inset: auto 0 0; height: 26%; background: linear-gradient(transparent, #001329); }
.home-page .project-number { position: absolute; top: .9cqw; left: 1cqw; padding: .07cqw .6cqw; border-radius: .35cqw; font-size: 1.1cqw; font-weight: 800; background: #008bff; }
.home-page .project-card-copy { position: relative; padding: 0 1.55cqw; }
.home-page .project-card h3 { margin: -.05cqw 0 .2cqw; padding-right: 3.5cqw; font-size: 1.22cqw; line-height: 1.25; letter-spacing: -.035em; }
.home-page .project-card-copy p { max-width: 23.2cqw; color: #bfd6ee; font-size: .82cqw; font-weight: 400; line-height: 1.4; }
.home-page .project-arrow { position: absolute; right: 1.4cqw; top: 0; display: grid; place-items: center; width: 3cqw; height: 3cqw; border-radius: 50%; background: #008bff; border: 1px solid #24a4ff; transition: box-shadow .18s, background-color .18s; }
.home-page .project-arrow .icon { width: 1.8cqw; height: 1.8cqw; }
.home-page .project-arrow:hover { box-shadow: 0 0 24px #00a9ff66; background: #00a9ef; }
.home-page .project-tags { display: flex; gap: .8cqw; margin: .5cqw 1.55cqw .7cqw; padding: .6cqw 0 0; list-style: none; border-top: 1px solid #2a557b66; font-size: .7cqw; line-height: 1.35; white-space: nowrap; }
.home-page .project-tags li { display: flex; align-items: center; gap: .45cqw; }
.home-page .project-tags li::before { content: ""; flex: 0 0 auto; width: .6cqw; height: .6cqw; border-radius: 50%; background: #ff6b08; }
.home-page .project-tags li + li { padding-left: .8cqw; border-left: 1px solid #557fa480; }
.home-page .project-card--orange .project-number, .home-page .project-card--orange .project-arrow { background: #ff6b00; border-color: #ff7d18; }
.home-page .project-card--orange .project-arrow:hover { background: #ff8a24; box-shadow: 0 0 24px #ff6b0050; }
/* End project hero and cards. */

/* 5. Architectural call to action with an SVG blueprint and functional links. */
.home-page .project-commitment { position: relative; overflow: hidden; display: flex; align-items: center; gap: 1.25cqw; min-height: 5.8cqw; padding: 1cqw 2cqw 1cqw 25cqw; margin-top: .7cqw; border: 1px solid #0b587b; border-radius: 1cqw; background: linear-gradient(110deg, #00182e, #022447aa); }
.home-page .project-blueprint { position: absolute; inset: 0 auto 0 0; width: 25%; height: 100%; color: #008cd2; opacity: .5; mask-image: linear-gradient(to right, #000, transparent); }
.home-page .project-commitment-icon { display: grid; place-items: center; width: 3.7cqw; height: 3.7cqw; flex: 0 0 auto; border: 1px solid #056a9d; border-radius: .7cqw; background: #003c6766; color: #11b5ff; }
.home-page .project-commitment-icon .icon { width: 2.75cqw; height: 2.75cqw; }
.home-page .project-commitment-copy { margin-right: auto; }
.home-page .project-commitment-copy h3 { margin: 0; font-size: 1.1cqw; line-height: 1.12; letter-spacing: -.025em; }
.home-page .project-commitment-copy p { margin-top: .25cqw; color: #c4d6ef; font-size: .83cqw; }
.home-page .project-commitment-actions { display: flex; gap: 1.1cqw; }
.home-page .project-commitment-actions .section-button { min-height: 3.1cqw; padding: .65cqw 1.2cqw; font-size: .95cqw; white-space: nowrap; border-radius: .6cqw; }
.home-page .project-commitment-actions .section-button--outline { border-color: #7896b6; }
/* End project call to action. */

/* 6. Footer geometry follows the supplied 1830 × 499 reference canvas. */
.home-page .home-footer--directory {
  --footer-canvas: min(100vw, 1830px);
  --footer-content-width: calc(var(--footer-canvas) * .781420765);
  --footer-inset: calc((100vw - var(--footer-canvas)) / 2 + var(--footer-canvas) * .089617486);
  position: relative;
  scroll-margin-top: 64px;
  padding: 35px max(20px, calc(100% - var(--footer-inset) - var(--footer-content-width))) 29px var(--footer-inset);
  background: #02050d; color: #c1def6; font-size: 15px; font-weight: 400;
}
/* Five aligned columns share the same edges as both horizontal rules. */
.home-page .footer-directory { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 35px; padding-bottom: 46px; scroll-margin-top: 90px; }
.home-page .footer-directory h2 { margin: 0 0 18px; color: #f4f8ff; font-size: 16px; font-weight: 700; text-transform: uppercase; line-height: 1.4; }
.home-page .footer-directory ul { display: grid; gap: 17px; padding: 0; list-style: none; }
.home-page .home-footer--directory .footer-directory li { margin: 0; }
.home-page .footer-directory a { color: #94c3e4; line-height: 1.6; }
.home-page .footer-directory a:hover, .home-page .footer-policies a:hover { color: #00c4ef; }
/* End directory columns and explicit reset of legacy list spacing. */

/* Locale and WhatsApp desk sit between the two full-width divider lines. */
.home-page .footer-locale { display: flex; align-items: center; justify-content: space-between; min-height: 80px; padding-top: 9px; border-block: 1px solid #11141b; color: #8cb8d8; }
.home-page .footer-locale > span, .home-page .footer-whatsapp { display: inline-flex; align-items: center; gap: 10px; }
.home-page .footer-locale .icon { width: 15px; height: 15px; }
.home-page .footer-whatsapp { justify-content: center; min-width: 162px; min-height: 33px; border: 1px solid #075530; border-radius: 25px; padding: 5px 14px; color: #00d65f; background: #061a16; font-size: 14px; line-height: 21px; font-weight: 600; }
.home-page .footer-whatsapp .icon { width: 13px; height: 13px; }
.home-page .footer-whatsapp:hover { background: #064629; }
/* End locale and contact row. */

/* Policy and copyright rows use separate type sizes and retain real links. */
.home-page .footer-policies { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; font-size: 14.4px; line-height: 22.5px; }
.home-page .footer-policies a + a::before { content: "•"; color: #55616e; padding-right: 10px; }
.home-page .footer-copyright { font-size: 14.4px; }
.home-page .home-footer--directory p.footer-copyright { margin: 16px 0 0; line-height: 24px; }
/* End footer text rows; legacy paragraph margins cannot add unwanted space. */

/* Reference chevron stays in the lower-right corner of the footer. */
.home-page .footer-back-top { position: absolute; bottom: 16px; right: 20px; display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid #006c9f; border-radius: 50%; background: #031526; color: #00b9f5; }
.home-page .footer-back-top .icon { width: 25px; height: 25px; }
.home-page .footer-back-top:hover { background: #00446a; }
/* End footer directory. */

/* Compact desktop footers keep readable column widths as the page narrows. */
@media (min-width: 1300px) and (max-width: 1599px) {
  .home-page .home-footer--directory { padding: 35px 40px 75px; }
  .home-page .footer-directory { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 35px; }
}
/* End compact footer reflow. */

/* 7. Tablet reflow keeps all supplied content readable and photos visible. */
@media (max-width: 1099px) {
  .home-page .company-section.is-detail { display: flex; flex-direction: column; }
  .home-page .company-section.is-detail .company-stage { order: 1; min-height: 0; }
  .home-page .company-tags { gap: 7px; margin-bottom: 22px; }
  .home-page .company-tags li { font-size: 11px; padding: 6px 10px; }
  .home-page .company-panel--detail h2 { font-size: clamp(30px, 4vw, 43px); line-height: 1.1; }
  .home-page .company-panel--detail .company-description { font-size: 15px; margin-top: 18px; }
  .home-page .company-checklist { gap: 13px; margin-top: 20px; max-width: none; }
  .home-page .company-checklist li { gap: 10px; font-size: 14px; line-height: 1.5; }
  .home-page .company-check { width: 21px; height: 21px; margin-top: 2px; font-size: 15px; }
  .home-page .company-detail-actions { gap: 10px; margin-top: 26px; }
  .home-page .company-signature { margin-top: 24px; gap: 12px; font-size: 10px; letter-spacing: 1.6px; }
  .home-page .company-signature::before { width: 26px; }
  .home-page .company-section.is-detail .company-scene { order: 2; position: relative; inset: auto; z-index: auto; opacity: 1; width: 100%; height: clamp(250px, 45vw, 430px); aspect-ratio: auto; margin-top: 26px; }
  .home-page .company-section.is-detail .company-photo-window { clip-path: none; border-radius: 18px; border: 1px solid #1686b6; }
  .home-page .company-section.is-detail .company-scene > svg { display: none; }
  .home-page .company-photo-caption { order: 3; position: relative; top: auto; right: auto; width: 100%; min-height: 84px; gap: 15px; padding: 12px; border-radius: 14px; margin-top: 10px; }
  .home-page .company-caption-image { width: 80px; height: 58px; border-radius: 8px; }
  .home-page .company-caption-title { font-size: 17px; margin-bottom: 4px; }
  .home-page .company-caption-text { font-size: 12px; }
  .home-page .company-section.is-detail .company-commitment { order: 4; }

}
/* End company tablet reflow. */

/* New sections reflow sooner so compact laptops retain readable type. */
@media (max-width: 1299px) {
  .home-page .section-button { gap: 12px; padding: 13px 17px; min-height: 48px; border-radius: 10px; font-size: 13px; }
  .home-page .section-button .icon { width: 22px; height: 22px; }
  .home-page .section-eyebrow { gap: 16px; font-size: 11px; letter-spacing: 3px; }
  .home-page .section-eyebrow::before { width: 32px; height: 4px; }
  .home-page .section-desktop-break { display: none; }
  .home-page .milestone-main { min-height: 0; padding: 32px 25px; }
  .home-page .milestone-heading { padding: 0; }
  .home-page .milestone-heading h2 { font-size: 49px; margin: 14px 0; }
  .home-page .milestone-heading > p:last-child { font-size: 16px; max-width: 480px; line-height: 1.55; }
  .home-page .milestone-quote { top: 55px; left: auto; right: 5%; width: 24%; font-size: 34px; color: #a7d8f5; }
  .home-page .milestone-quote::after { height: 2px; width: 100px; bottom: -15px; left: 40%; }
  .home-page .milestone-backdrop { opacity: .35; }
  .home-page .milestone-line { display: none; }
  .home-page .milestone-events { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px 20px; margin-top: 35px; }
  .home-page .milestone-event { position: relative; inset: auto; width: auto; transform: none; }
  .home-page .milestone-photo { width: 95px; height: 95px; }
  .home-page .milestone-connector { height: 24px; }
  .home-page .milestone-connector::before { width: 9px; height: 9px; top: -3px; }
  .home-page .milestone-connector::after { width: 7px; height: 7px; }
  .home-page .milestone-event h3 { font-size: 14px; }
  .home-page .milestone-year { font-size: 27px; margin: 5px 0; }
  .home-page .milestone-event p { font-size: 12px; margin-top: 6px; line-height: 1.5; }
  .home-page .milestone-metrics { grid-template-columns: repeat(3, 1fr); padding: 20px; gap: 20px; }
  .home-page .milestone-metric { gap: 14px; padding: 0; min-height: 60px; }
  .home-page .milestone-metric + .milestone-metric { border: 0; }
  .home-page .milestone-metric .icon { width: 43px; height: 43px; }
  .home-page .milestone-metric p { white-space: normal; font-size: 12px; }
  .home-page .milestone-metric strong { font-size: 25px; }
  .home-page .projects-section { padding: 0 24px 30px; }
  .home-page .projects-hero { padding: 35px 0 25px; min-height: 290px; }
  .home-page .projects-heading h2 { font-size: 40px; line-height: 1.02; margin: 14px 0; }
  .home-page .projects-heading > p:last-child { font-size: 14px; max-width: 530px; line-height: 1.5; }
  .home-page .projects-hero-photo { right: -24px; height: 270px; width: 70%; opacity: .4; }
  .home-page .project-features { margin-top: 22px; gap: 18px; flex-wrap: wrap; }
  .home-page .project-features li { gap: 10px; margin: 0; padding: 0; font-size: 11px; }
  .home-page .project-features li + li::before { display: none; }
  .home-page .project-features .icon { width: 34px; height: 34px; }
  .home-page .project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
  .home-page .project-card { border-radius: 13px; }
  .home-page .project-card-photo { height: 190px; }
  .home-page .project-card-photo::after { height: 50px; }
  .home-page .project-number { top: 14px; left: 14px; padding: 2px 10px; border-radius: 5px; font-size: 19px; }
  .home-page .project-card-copy { padding: 0 18px; }
  .home-page .project-card h3 { padding-right: 0; margin: 0 0 9px; font-size: 20px; }
  .home-page .project-card-copy p { max-width: 100%; padding-right: 35px; font-size: 13px; line-height: 1.5; }
  .home-page .project-arrow { top: 45px; right: 12px; width: 36px; height: 36px; }
  .home-page .project-arrow .icon { width: 23px; height: 23px; }
  .home-page .project-tags { flex-wrap: wrap; gap: 8px 12px; white-space: normal; font-size: 10px; margin: 16px 18px; padding-top: 12px; }
  .home-page .project-tags li { gap: 7px; }
  .home-page .project-tags li::before { width: 7px; height: 7px; }
  .home-page .project-tags li + li { border: 0; padding: 0; }
  .home-page .project-commitment { flex-wrap: wrap; padding: 22px; min-height: 0; gap: 16px; margin-top: 18px; border-radius: 14px; }
  .home-page .project-blueprint { width: 50%; }
  .home-page .project-commitment-icon { width: 54px; height: 54px; border-radius: 10px; }
  .home-page .project-commitment-icon .icon { width: 40px; height: 40px; }
  .home-page .project-commitment-copy h3 { font-size: 17px; }
  .home-page .project-commitment-copy p { font-size: 12px; margin-top: 5px; }
  .home-page .project-commitment-actions { flex-wrap: wrap; gap: 12px; }
  .home-page .project-commitment-actions .section-button { min-height: 48px; padding: 10px 14px; font-size: 13px; border-radius: 9px; }
  .home-page .home-footer--directory { padding: 32px 25px 75px; }
  .home-page .footer-directory { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; }
  .home-page .footer-directory h2 { font-size: 13px; }
  .home-page .footer-directory a { font-size: 12px; }
  .home-page .footer-directory ul { gap: 12px; }
  .home-page .footer-copyright { font-size: 12px; }
  .home-page .home-footer--directory p.footer-copyright { line-height: 1.6; }
}
/* End section tablet reflow. */


/* 7a. Compact laptops use the readable section reflow; the accepted overview stays intact. */
@media (min-width: 1100px) and (max-width: 1299px) {
  .home-page .company-tags li { font-size: 11px; }
  .home-page .company-panel--detail .company-description { font-size: 14px; }
  .home-page .company-checklist li { font-size: 14px; }
  .home-page .company-check { width: 21px; height: 21px; font-size: 15px; }
  .home-page .company-caption-title { font-size: 14px; }
  .home-page .company-caption-text { font-size: 11px; }
}
/* End compact-laptop reflow. */

/* 8. Phone layouts keep every chapter, event, service and footer link available. */
@media (max-width: 699px) {
  .home-page .company-panel--detail h2 { font-size: clamp(28px, 7.7vw, 45px); }
  .home-page .company-panel--detail h2 br { display: none; }
  .home-page .company-panel--detail .company-description { font-size: 14px; }
  .home-page .company-checklist li { font-size: 13px; }
  .home-page .company-detail-actions { display: grid; }
  .home-page .company-detail-actions .section-button { justify-content: space-between; }
  .home-page .company-caption-image { width: 66px; height: 49px; }
  .home-page .company-caption-title { font-size: 14px; }
  .home-page .company-caption-text { font-size: 11px; }
  .home-page .company-section.is-detail .company-scene { height: 285px; }
  .home-page .milestones-section, .home-page .projects-section { scroll-margin-top: 98px; }
  .home-page .milestone-main { padding: 32px 20px; }
  .home-page .milestone-heading h2 { font-size: clamp(38px, 10vw, 58px); }
  .home-page .milestone-heading > p:last-child { font-size: 14px; }
  .home-page .milestone-quote { position: relative; top: auto; right: auto; left: auto; width: 170px; margin: 28px auto 35px; font-size: 33px; color: #91c9ee; }
  .home-page .milestone-quote::after { left: 35%; }
  .home-page .milestone-events { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 20px; }
  .home-page .milestone-event { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 18px; align-items: center; text-align: left; }
  .home-page .milestone-event::before { content: ""; position: absolute; top: 45px; bottom: -70px; left: 43px; width: 1px; background: #008bd0; z-index: -1; }
  .home-page .milestone-event:last-child::before { display: none; }
  .home-page .milestone-photo { width: 86px; height: 86px; }
  .home-page .milestone-connector { display: none; }
  .home-page .milestone-event h3 { font-size: 15px; }
  .home-page .milestone-year { margin-top: 0; font-size: 28px; }
  .home-page .milestone-event p { font-size: 12px; }
  .home-page .milestone-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 15px; padding: 25px 20px; }
  .home-page .milestone-metric { gap: 10px; justify-content: flex-start; }
  .home-page .milestone-metric .icon { width: 34px; height: 34px; }
  .home-page .milestone-metric strong { font-size: 23px; }
  .home-page .milestone-metric p { font-size: 11px; }
  .home-page .milestone-metric:last-child { grid-column: 1 / -1; justify-content: center; }
  .home-page .projects-section { padding: 0 16px 25px; }
  .home-page .projects-hero { padding: 30px 4px 24px; }
  .home-page .projects-heading h2 { font-size: clamp(32px, 8.7vw, 48px); line-height: 1.05; }
  .home-page .projects-heading h2 br { display: none; }
  .home-page .projects-heading > p:last-child { font-size: 13px; }
  .home-page .projects-hero-photo { right: -16px; width: 90%; opacity: .18; }
  .home-page .project-features { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 12px; }
  .home-page .project-features li { font-size: 10px; }
  .home-page .project-features .icon { width: 31px; height: 31px; }
  .home-page .project-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .home-page .project-card-photo { height: clamp(190px, 57vw, 330px); }
  .home-page .project-card h3 { font-size: 20px; }
  .home-page .project-card-copy p { font-size: 12px; }
  .home-page .project-commitment { padding: 20px 16px; gap: 12px; }
  .home-page .project-commitment-icon { width: 43px; height: 50px; }
  .home-page .project-commitment-icon .icon { width: 34px; height: 34px; }
  .home-page .project-commitment-copy { flex: 1; min-width: 0; }
  .home-page .project-commitment-copy h3 { font-size: 14px; line-height: 1.3; }
  .home-page .project-commitment-copy p { font-size: 11px; }
  .home-page .project-commitment-actions { display: grid; width: 100%; }
  .home-page .project-commitment-actions .section-button { justify-content: space-between; font-size: 12px; }
  .home-page .home-footer--directory { padding: 30px 20px 82px; scroll-margin-top: 98px; }
  .home-page .footer-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 20px; padding-bottom: 30px; }
  .home-page .footer-directory h2 { font-size: 12px; margin-bottom: 14px; }
  .home-page .footer-directory a { font-size: 12px; }
  .home-page .footer-locale { min-height: 80px; font-size: 11px; gap: 10px; }
  .home-page .footer-whatsapp { min-width: 0; min-height: 33px; padding: 7px 10px; gap: 6px; font-size: 10px; line-height: 1.5; }
  .home-page .footer-policies { gap: 8px; font-size: 11px; }
  .home-page .footer-policies a + a::before { padding-right: 8px; }
  .home-page .footer-copyright { font-size: 12px; }
  .home-page .footer-back-top { width: 44px; height: 44px; right: 20px; }
}
/* End phone layout. */

/* 9. Reduced motion affects transitions only; all content remains present. */
@media (prefers-reduced-motion: reduce) { .home-page .section-button, .home-page .project-arrow { transition: none; } }
@media print { .home-page .milestone-backdrop, .home-page .milestone-line, .home-page .projects-hero-photo, .home-page .footer-back-top { display: none; } }
/* End display preferences. */
