/* Supplied mockup composition. Homepage only; shared/inner-page styles are separate. */
.home-page {
  --home-navy: #001a2c;
  --home-dark: #05151e;
  --home-light: #f5f8fb;
  --home-ink: #071c2b;
  --home-muted: #506778;
  --home-border: #e0e7ed;
  --home-blue: #076fcb;
  --home-link: #066cb6;
  --home-on-dark: #e2eaf2;
  --home-accent: #55baf4;
  --home-space: 84px;
  --accent: var(--home-blue);
  --accent-hover: #065eab;
  background: var(--page-bg);
  padding-bottom: 0;
}
:root[data-theme=dark] .home-page {
  --home-light: #183044;
  --home-ink: #f4f8fb;
  --home-muted: #c4d2df;
  --home-border: #385167;
  --home-link: #8bceff;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .home-page {
    --home-light: #183044;
    --home-ink: #f4f8fb;
    --home-muted: #c4d2df;
    --home-border: #385167;
    --home-link: #8bceff;
  }
}
.home-page .container { width: min(100% - 120px,1320px); }
.home-page .mobile-contact { display: none; }
.home-page .button { border-radius: 3px; min-height: 60px; padding: 17px 28px; gap: 22px; font-size: .9375rem; }
.home-page .button-outline { background: rgba(0,17,33,.15); border: 1px solid #d3e0ed; color: white; }
.home-page .button-outline:hover { background: rgba(0,17,33,.5); }
.home-page .button-outline .icon { width: 19px; height: 19px; }
.home-page .eyebrow { font-size: .875rem; line-height: 1.4; letter-spacing: .12em; font-weight: 800; margin: 0 0 18px; color: var(--home-link); }
/* Small stroke reinforcement keeps the existing local font, whose maximum weight is 800. */
.home-page h2 { font-size: clamp(1.9rem,calc(2.85vw * var(--site-text-scale, 1)),2.625rem); font-weight: 800; -webkit-text-stroke: .01em currentColor; line-height: 1.12; letter-spacing: -.025em; }
.home-page h3 { font-weight: 800; letter-spacing: -.02em; }
.home-page .text-link { font-size: .875rem; min-height: 44px; gap: 12px; color: var(--home-link); }
.home-page .text-link .icon { width: 19px; height: 19px; }
.home-section { padding-block: var(--home-space); }
.home-section-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 72px; margin-bottom: 48px; }
.home-section-heading--three { grid-template-columns: 1.15fr 1.05fr auto; gap: 50px; }
.home-section-heading .section-intro { font-size: 1rem; line-height: 1.6; max-width: 48ch; margin: 0; }
.home-section-heading > .text-link { justify-self: end; white-space: nowrap; }

/* Integrated header, composed dark-left/photo-right hero. */
.home-page .site-header { position: absolute; inset: 0 0 auto; background: rgba(3,17,25,.54); border-bottom: 1px solid rgba(182,211,231,.08); }
.home-page .header-inner { min-height: 98px; gap: 34px; }
.home-page .header-inner .brand { width: 70px; }
.home-page .desktop-navigation { gap: 30px; }
.home-page .desktop-navigation > a { font-size: .875rem; text-decoration: none; font-weight: 650; }
.home-page .desktop-navigation > a:hover { color: #99d6ff; }
.home-page .desktop-navigation > a[aria-current] { text-decoration: underline; text-decoration-color: #55baf4; text-underline-offset: 10px; }
.home-page .desktop-tools { gap: 28px; }
.home-page .header-phone { font-size: .875rem; font-weight: 700; }
.home-page .site-header .button { min-height: 48px; padding: 12px 22px; font-size: .875rem; gap: 18px; }
.home-hero { position: relative; isolation: isolate; overflow: hidden; background: var(--home-navy); color: white; height: clamp(760px,59vw,1040px); }
.home-hero-image { position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg,#061720,#12232c 45%); overflow: hidden; border-radius: 3px; }
.home-hero-image img { position: absolute; inset: 0 0 0 auto; width: 66%; max-width: none; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: 65% top; mask-image: linear-gradient(90deg,transparent,#000 20%); }
.home-hero-shade { position: absolute; inset: 0; z-index: 1; background: linear-gradient(80deg,#001a2c 0%,#001a2c 39%,rgba(0,26,44,.95) 45%,rgba(0,26,44,.3) 57%,transparent 69%),linear-gradient(0deg,rgba(0,20,33,.74),transparent 28%); pointer-events: none; }
.home-hero .brand-lines { z-index: 2; pointer-events: none; }
.home-hero-inner { position: relative; z-index: 3; height: 100%; display: flex; align-items: center; padding-top: 74px; padding-bottom: 68px; }
.home-hero-copy { width: 44%; max-width: 590px; }
.home-page .hero-eyebrow { color: #57bbf4; font-size: .8125rem; margin-bottom: 30px; }
.home-hero h1 { font-size: clamp(2.75rem,calc(3.825vw * var(--site-text-scale, 1)),4.04rem); font-weight: 800; -webkit-text-stroke: .008em currentColor; line-height: .98; letter-spacing: -.01em; text-wrap: initial; }
/* Broaden the display lettering slightly and soften its tall proportions. */
.home-hero h1 > span { display: block; transform: scale(1.025,.92); transform-origin: left center; }
.home-hero h1 .hero-statement { font-size: .62em; margin-top: 14px; white-space: nowrap; }
.hero-support { font-size: 1.125rem; line-height: 1.55; max-width: 49ch; color: #d3dfe9; margin-top: 32px; }
.home-hero .actions { margin-top: 34px; gap: 26px; }
.home-hero-base { position: absolute; bottom: 58px; left: 0; display: flex; align-items: center; gap: 24px; width: 44%; font-size: .75rem; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; color: #c5d4df; white-space: nowrap; }
.hero-metadata-rule { height: 2px; flex: 1; background: #e5404e; }
.brand-lines { position: absolute; inset: 0 auto 0 calc(47% - 18px); width: 180px; height: 100%; z-index: -1; fill: none; stroke-width: 3; opacity: .9; pointer-events: none; }
.line-red { stroke: #e5404e; }
.line-blue { stroke: #148cdf; }
.pipe-mobile { display: none; }

/* Six editorial service columns on a light field. */
.home-services, .home-why { background: var(--home-light); color: var(--home-ink); }
.home-services { padding-block: 64px; }
.home-services .home-section-heading { margin-bottom: 32px; }
.home-services .section-intro, .home-why .section-intro { color: var(--home-muted); }
.home-service-illustrations { display: grid; grid-template-columns: repeat(3,minmax(0,110px)); gap: 12px; margin-top: 18px; }
.home-service-illustrations .service-illustration { width: 100%; margin: 0; --illustration-ratio: 3 / 2; }
.home-services-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); }
.home-service { min-width: 0; padding: 26px 24px 14px; border-left: 1px solid var(--home-border); }
.home-service:first-child { border-left: 0; padding-left: 0; }
.home-service:last-child { padding-right: 0; }
.home-service .virgo-icon { --virgo-icon-size: 54px; margin: 0 0 22px; }
.home-service h3 { font-size: 1.0625rem; line-height: 1.35; min-height: 2.7em; max-width: 16ch; }
.home-service h3 a { color: var(--home-ink); text-decoration: none; display: block; }
.home-service h3 a:hover { color: var(--home-link); text-decoration: underline; }
.home-service p { font-size: .9375rem; line-height: 1.6; margin-top: 13px; color: var(--home-muted); }

/* Separate dark introduction and three touching photographic slices. */
.home-sectors { background: var(--home-navy); color: white; }
.home-sector-intro { padding-block: 56px; }
.home-sector-intro .home-section-heading { margin-bottom: 0; }
.home-sector-intro .section-intro { color: var(--home-on-dark); }
.home-sector-intro .eyebrow, .home-projects .eyebrow { color: var(--home-accent); }
.home-sector-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; }
.home-sector { position: relative; isolation: isolate; overflow: hidden; min-height: clamp(480px,37vw,650px); display: flex; align-items: flex-end; background: #092335; }
.home-sector-image { position: absolute; inset: 0; z-index: 0; border-radius: 3px; overflow: hidden; }
.home-sector-image picture, .home-sector-image img { width: 100%; height: 100%; object-fit: cover; }
.home-sector--commercial img { object-position: 45% center; }
.home-sector--education img { object-position: 60% center; }
.home-sector::before { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(0deg,#001a2c 0%,rgba(0,26,44,.92) 17%,rgba(0,26,44,.65) 37%,transparent 75%); }
.home-sector-copy { position: relative; z-index: 2; width: 100%; padding: 44px clamp(28px,3.7vw,70px) 38px; }
.home-sector h3 { text-transform: uppercase; font-size: 1.125rem; letter-spacing: .06em; }
.home-sector-copy p { color: #e4edf4; font-size: 1rem; line-height: 1.5; margin-top: 12px; max-width: 31ch; min-height: 4.5em; }
.home-sector-copy .text-link { color: #66c5fb; margin-top: 16px; }
.sector-image-note { position: absolute; top: 24px; right: 24px; font-size: .6875rem; color: white; background: rgba(0,20,33,.84); padding: 5px 9px; }

/* Quiet title row and four horizontal proof points, with the left-edge callback. */
.home-why { position: relative; padding-block: 72px; padding-left: 70px; }
.home-why .container { width: min(100% - 120px,1220px); }
.why-brand-lines { position: absolute; inset: 0 auto 0 max(4.4vw,calc((100vw - 1360px)/2 - 16px)); width: 32px; display: flex; justify-content: space-between; pointer-events: none; }
.why-brand-lines span { width: 3px; background: #e5404e; opacity: .74; }
.why-brand-lines .line-blue { background: #148cdf; }
.home-trust-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.home-trust-list li { min-width: 0; border-left: 1px solid var(--home-border); padding: 0 32px; }
.home-trust-list li:first-child { border: 0; padding-left: 0; }
.home-trust-list li:last-child { padding-right: 0; }
.home-trust-list .virgo-icon { --virgo-icon-size: 56px; margin: 0 0 20px; }
.home-trust-list h3 { font-size: 1.125rem; line-height: 1.35; }
.home-trust-list p { color: var(--home-muted); font-size: 1rem; line-height: 1.55; margin-top: 12px; }

/* Client project images; architectural visualisations retain their labels. */
.home-projects { background: var(--home-navy); color: white; padding-block: 64px; }
.home-projects .home-section-heading { margin-bottom: 32px; }
.home-projects .section-intro { color: var(--home-on-dark); }
.home-projects .text-link { color: #66c5fb; }
.home-project-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.home-project { min-width: 0; }
.home-project-image { position: relative; overflow: hidden; border-radius: 3px; }
.home-project-image img { width: 100%; aspect-ratio: 1.6; object-fit: cover; }
.home-project-image figcaption { position: absolute; inset: auto 0 0; padding: 9px 12px; background: rgba(0,20,33,.93); color: #e1eaf2; font-size: .6875rem; line-height: 1.5; }
.home-project h3 { font-size: 1.25rem; line-height: 1.4; margin-top: 18px; }
.home-project > p { color: #cedee9; font-size: 1rem; line-height: 1.5; margin-top: 5px; }
.home-project > .text-link { margin-top: 6px; }

/* Blue full-width photograph, left actions, central pipes, factual right-hand proof. */
.home-contact { position: relative; isolation: isolate; overflow: hidden; background: #075c9b; color: white; min-height: 480px; padding-block: 78px; }
.home-contact-image { position: absolute; inset: 0; z-index: -3; background: #0870b5; border-radius: 3px; overflow: hidden; }
.home-contact-image picture, .home-contact-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 55%; }
.home-contact-image picture { mix-blend-mode: multiply; }
.home-contact-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg,rgba(0,56,96,.75),rgba(0,75,126,.52) 52%,rgba(0,53,89,.69)),linear-gradient(0deg,rgba(0,39,73,.24),transparent); }
.home-contact-layout { display: grid; grid-template-columns: 1fr .48fr; gap: 28%; align-items: center; }
.home-contact-content { min-width: 0; }
.home-contact .eyebrow { color: #e1edf8; font-size: .8125rem; margin-bottom: 24px; }
.home-contact h2 { font-size: clamp(2.375rem,calc(3.325vw * var(--site-text-scale, 1)),3.04rem); }
.home-contact-content > p:not(.eyebrow) { color: #eaf3fa; font-size: 1.125rem; line-height: 1.5; margin-top: 28px; max-width: 49ch; }
.home-contact .actions { gap: 26px; margin-top: 32px; }
.home-contact .button:not(.button-outline) { background: #f8fbff; color: #07599a; }
.home-contact .button:not(.button-outline):hover { background: #deedfa; }
.home-contact .brand-lines { left: calc(55% - 18px); }
.home-contact-proof { min-width: 0; padding-top: 35px; }
.contact-proof-rule { width: 50px; height: 2px; background: #7bc7f7; margin-bottom: 22px; display: block; }
.home-contact-proof p { font-size: 1rem; line-height: 1.6; color: #e1effa; }
.home-contact-proof .contact-proof-heading { font-size: 1.375rem; font-weight: 800; color: white; }
.home-contact-proof p + p { margin-top: 12px; }
.home-contact-proof a { color: #e1effa; display: inline-block; font-size: .8125rem; margin-top: 20px; overflow-wrap: anywhere; }

/* Compact homepage footer; internal pages keep the existing footer. */
.home-page .home-footer { background: var(--home-dark); padding: 28px 0 24px; border-top: 0; }
.home-footer-top { display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.home-footer-top .brand { width: 76px; }
.home-footer-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 16px 30px; }
.home-footer-nav a { font-size: .8125rem; font-weight: 700; color: #9dc5df; text-decoration: none; min-height: 44px; display: flex; align-items: center; }
.home-footer-nav a:hover { color: white; text-decoration: underline; }
.home-footer-top .theme-switch { margin: 0; width: auto; }
.home-footer-top .theme-option-content { width: 40px; min-height: 44px; }
.home-footer-details { display: flex; justify-content: space-between; gap: 40px; font-size: .6875rem; line-height: 1.6; color: #97b1c6; margin-top: 16px; }
.home-footer-details > div { display: flex; gap: 20px; flex-wrap: wrap; }
.home-footer-details a { color: #b4cde0; }
.home-footer-details address { max-width: 76ch; text-align: right; }
.home-page .home-footer .footer-bottom { flex-direction: row; justify-content: space-between; align-items: center; border-color: #243b4b; margin-top: 24px; padding-top: 22px; gap: 20px; font-size: .6875rem; color: #97b1c6; }
.home-footer .footer-bottom a { color: #b4cde0; }

@media (min-width: 768px) {
  /* Keep the continuous path quieter through navigation, then fade to full strength. */
  .home-hero .brand-lines { mask-image: linear-gradient(180deg,rgba(0,0,0,.6) 0,rgba(0,0,0,.6) 72px,#000 148px); }
}
@media (min-width: 1100px) {
  .home-hero .brand-lines { left: calc(47% + 6px); }
  .why-brand-lines { width: 33.75px; }
  .why-brand-lines span { width: 3px; }
  .home-services { padding-bottom: 24px; }
  .home-service { padding-bottom: 4px; }
}
@media (min-width: 1600px) {
  .home-page .container { width: min(100% - 140px,1360px); }
  .home-why .container { max-width: 1260px; }
  .home-page { --home-space: 96px; }
  .home-hero-copy { width: 43%; }
  .home-sector-intro { padding-block: 76px; }
}
@media (min-width: 1100px) and (max-width: 1240px) {
  .home-page .header-inner { gap: 20px; }
  .home-page .desktop-navigation { gap: 16px; }
  .home-page .desktop-tools { gap: 16px; }
  .home-page .header-phone .icon { display: none; }
  .home-page .site-header .button { padding-inline: 16px; }
}
@media (min-width: 768px) and (max-width: 1099px) {
  .home-page { --home-space: 72px; }
  .home-page .container { width: calc(100% - 64px); }
  .home-section-heading { gap: 36px; }
  .home-section-heading--three { grid-template-columns: 1fr 1fr; }
  .home-section-heading--three > .text-link { justify-self: start; grid-column: 2; }
  .home-page h2 { font-size: 1.9375rem; }
  .home-hero { height: 780px; }
  .home-hero-copy { width: 44%; }
  .home-hero h1 { font-size: clamp(2.1rem,calc(3.9vw * var(--site-text-scale, 1)),2.6rem); }
  .home-page .hero-eyebrow { font-size: .625rem; }
  .hero-support { font-size: 1rem; }
  .home-hero-image img { width: 70%; }
  .home-hero .actions { flex-direction: column; align-items: flex-start; gap: 16px; }
  .home-hero-base { width: 44%; font-size: .625rem; gap: 14px; bottom: 42px; }
  .home-services-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px 0; }
  .home-service { padding: 22px 22px 0; }
  .home-service:nth-child(4) { border: 0; padding-left: 0; }
  .home-service:nth-child(3) { padding-right: 0; }
  .home-service h3 { min-height: 2.7em; }
  .home-sector-intro { padding-block: 60px; }
  .home-sector { min-height: 510px; }
  .home-sector-copy { padding: 32px 24px; }
  .home-sector-copy p { font-size: .9375rem; min-height: 7.5em; }
  .home-sector h3 { font-size: 1rem; }
  .home-why { padding-left: 32px; }
  .home-why .container { width: calc(100% - 80px); }
  .why-brand-lines { left: 20px; width: 26px; }
  .home-trust-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px 0; }
  .home-trust-list li { padding-inline: 26px; }
  .home-trust-list li:nth-child(3) { border: 0; padding-left: 0; }
  .home-trust-list li:nth-child(2) { padding-right: 0; }
  .home-project-grid { gap: 22px; }
  .home-project h3 { font-size: 1.0625rem; }
  .home-project > p { font-size: .9375rem; }
  .home-project-image figcaption { font-size: .625rem; }
  .home-contact-layout { grid-template-columns: 1fr .65fr; gap: 22%; }
  .home-contact .actions { flex-direction: column; align-items: flex-start; gap: 16px; }
  .home-contact-content > p:not(.eyebrow) { font-size: 1rem; }
  .home-contact-proof .contact-proof-heading { font-size: 1.125rem; }
  .home-footer-top { flex-wrap: wrap; gap: 20px; }
  .home-footer-nav { order: 3; width: 100%; gap: 16px 28px; }
  .home-footer-details { flex-direction: column; gap: 12px; }
  .home-footer-details address { text-align: left; }
}
@media (max-width: 767px) {
  .home-page { --home-space: 60px; }
  .home-page .container { width: calc(100% - 48px); }
  .home-page .header-inner { min-height: 86px; }
  .home-page .header-inner .brand { width: 62px; }
  .home-page .site-header { background: linear-gradient(rgba(0,19,35,.96),rgba(0,19,35,.35)); }
  .home-page .button { font-size: .875rem; min-height: 54px; padding: 14px 22px; }
  .home-page .eyebrow { font-size: .75rem; margin-bottom: 16px; }
  .home-page h2 { font-size: 1.9375rem; }
  .home-section-heading, .home-section-heading--three { grid-template-columns: 1fr; gap: 22px; margin-bottom: 34px; }
  .home-section-heading > .text-link { justify-self: start; }
  .home-section-heading .section-intro { font-size: .9375rem; }
  .home-hero { height: auto; min-height: 850px; }
  .home-hero-image { height: 460px; }
  .home-hero-image img { position: static; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: center top; mask-image: none; }
  .home-hero-shade { background: linear-gradient(80deg,rgba(0,26,44,.96) 0%,rgba(0,26,44,.92) 30%,rgba(0,26,44,.75) 36%,transparent 55%) top / 100% 460px no-repeat,linear-gradient(180deg,rgba(0,26,44,.05),rgba(0,26,44,.1) 23%,rgba(0,26,44,.92) 44%,#001a2c 54%); }
  .home-hero-inner { display: block; padding-top: 350px; padding-bottom: 40px; }
  .home-hero-copy { width: 100%; max-width: 510px; }
  .home-page .hero-eyebrow { margin-bottom: 24px; font-size: .625rem; letter-spacing: .09em; }
  .home-hero h1 { font-size: clamp(2rem,calc(10.2vw * var(--site-text-scale, 1)),3.6rem); }
  .home-hero h1 .hero-statement { font-size: .62em; white-space: normal; }
  .hero-support { font-size: 1rem; margin-top: 26px; }
  .home-hero .actions { flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 28px; }
  .home-hero .button { min-width: 190px; }
  .home-hero-base { position: static; width: 100%; font-size: .625rem; gap: 16px; margin-top: 38px; }
  .home-hero .brand-lines { inset: 96px auto auto 6px; height: 210px; }
  .pipe-desktop { display: none; }
  .pipe-mobile { display: block; }
  .home-services-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 0; }
  .home-service { padding: 22px 0 0 20px; border-top: 1px solid var(--home-border); }
  .home-service:nth-child(odd) { border-left: 0; padding-left: 0; padding-right: 20px; }
  .home-service .virgo-icon { --virgo-icon-size: 48px; margin-bottom: 18px; }
  .home-service h3 { font-size: 1rem; min-height: 2.7em; }
  .home-service p { font-size: .875rem; }
  .home-sector-intro { padding-block: 56px; }
  .home-sector-grid { grid-template-columns: 1fr; gap: 3px; }
  .home-sector { min-height: 460px; }
  .home-sector-copy { padding: 30px 24px; }
  .home-sector-copy p { min-height: 0; max-width: 33ch; }
  .home-sector h3 { font-size: 1.125rem; }
  .home-why { padding-left: 20px; }
  .home-why .container { width: calc(100% - 68px); }
  .why-brand-lines { left: 12px; width: 18px; }
  .why-brand-lines span { width: 2px; }
  .home-trust-list { grid-template-columns: 1fr; gap: 28px; }
  .home-trust-list li, .home-trust-list li:first-child, .home-trust-list li:last-child { padding: 24px 0 0; border: 0; border-top: 1px solid var(--home-border); }
  .home-trust-list .virgo-icon { --virgo-icon-size: 48px; margin-bottom: 16px; }
  .home-trust-list h3 { font-size: 1.125rem; }
  .home-trust-list p { font-size: .9375rem; }
  .home-project-grid { grid-template-columns: 1fr; gap: 36px; }
  .home-project-image img { aspect-ratio: 1.5; }
  .home-project h3 { font-size: 1.125rem; margin-top: 16px; }
  .home-project > p { font-size: .9375rem; }
  .home-contact { padding-block: 76px 58px; }
  .home-contact-layout { grid-template-columns: 1fr; gap: 46px; }
  .home-contact .brand-lines { inset: 0 auto auto 6px; height: 48px; }
  .home-contact-shade { background: rgba(0,53,93,.79); }
  .home-contact h2 { font-size: 2.125rem; }
  .home-contact-content > p:not(.eyebrow) { font-size: 1rem; margin-top: 22px; }
  .home-contact .actions { flex-direction: column; align-items: flex-start; gap: 16px; }
  .home-contact-proof { padding-top: 24px; border-top: 1px solid rgba(220,238,251,.4); }
  .contact-proof-rule { display: none; }
  .home-contact-proof .contact-proof-heading { font-size: 1.125rem; }
  .home-footer-top { flex-wrap: wrap; gap: 22px; }
  .home-footer-top .brand { width: 70px; }
  .home-footer-nav { width: 100%; order: 3; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px 18px; }
  .home-footer-nav a { font-size: .75rem; }
  .home-footer-details { flex-direction: column; gap: 18px; margin-top: 20px; font-size: .75rem; }
  .home-footer-details > div { flex-direction: column; gap: 10px; }
  .home-footer-details address { text-align: left; }
  .home-page .home-footer .footer-bottom { flex-direction: column; align-items: flex-start; gap: 12px; font-size: .6875rem; }
}
@media (max-width: 359px) {
  .home-page .container { width: calc(100% - 40px); }
  .home-hero-base { font-size: .5625rem; gap: 10px; }
  .home-services-grid { grid-template-columns: 1fr; }
  .home-service, .home-service:nth-child(odd) { border-left: 0; padding-inline: 0; }
  .home-service h3 { min-height: 0; }
  .home-why .container { width: calc(100% - 52px); }
  .home-footer-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (forced-colors: active) {
  .home-hero-shade, .home-sector::before, .home-contact-shade { background: Canvas; }
  .home-hero, .home-sector, .home-contact { color: CanvasText; }
  .home-project-image figcaption { background: Canvas; color: CanvasText; }
}
