.home-review { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(2rem, 6vw, 6rem); padding-block: clamp(3rem, 7vw, 6rem); }
.home-review figure { position: relative; border-bottom: 4px solid var(--gold); background: var(--navy); }
.home-review img { display: block; width: 100%; height: auto; }
.home-review figcaption { position: absolute; right: 0; bottom: 0; padding: .4rem .65rem; background: #fff; font-size: .75rem; }
.home-review h2, .home-brief h2 { margin-block: .65rem 1rem; }
.home-review dl { margin: 1.2rem 0; }
.home-review dl div { padding-block: .65rem; border-top: 1px solid var(--line); }
.home-review dt { color: var(--navy); font-weight: 700; }
.home-review dd { margin: .2rem 0 0; }
.home-brief { padding-block: clamp(2.75rem, 6vw, 5rem); background: #eaf1f9; }
.home-brief ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0; padding: 0; list-style: none; counter-reset: project-brief; }
.home-brief li { padding: 1.15rem; border-top: 3px solid var(--gold); background: #fff; counter-increment: project-brief; }
.home-brief li::before { display: block; margin-bottom: .5rem; color: var(--navy); font-weight: 700; content: counter(project-brief, decimal-leading-zero); }
.home-brief li strong { color: var(--navy); }
.home-brief li p { margin-top: .3rem; }
.home-brief .button { border-radius: 999px; }

@media (max-width: 760px) { .home-review, .home-brief ol { grid-template-columns: minmax(0, 1fr); } }

.home-hero { position: relative; isolation: isolate; display: flex; align-items: center; min-height: max(420px, 33.333vw); padding: clamp(2rem, 4vw, 4rem) var(--pad); overflow: hidden; background: #eaf2fa; }
.home-hero .hero-copy { position: relative; z-index: 1; width: min(55%, 690px); min-width: 0; margin-inline-start: max(0px, calc((100vw - var(--content)) / 2 - var(--pad))); overflow-wrap: anywhere; }
.home-hero .hero-copy .eyebrow { margin-bottom: .75rem; }
.home-hero h1 { font-size: clamp(1.8rem, 1.25rem + 2.35vw, 3.7rem); line-height: 1.08; }
.hero-subtitle { margin-top: .8rem; color: var(--navy); font-size: clamp(1.25rem, 2.1vw, 2.2rem); line-height: 1.16; }
.home-hero .hero-lead { max-width: 465px; margin-top: .85rem; color: var(--navy); }
.home-hero .hero-lead::before { display: block; width: 3.5rem; height: 3px; margin-bottom: .65rem; background: var(--gold); content: ""; }
.home-hero .hero-note { color: var(--navy); font-size: .92rem; font-weight: 600; }
.home-hero .hero-actions { margin-top: 1.15rem; }
.home-hero .button { border-radius: 999px; }
.home-hero .hero-visual { position: absolute; inset: 0; height: auto; min-height: 0; margin: 0; }

.home-hero .hero-visual::after { position: absolute; inset: 0; background: linear-gradient(90deg, #f5f8fc 0%, rgba(245,248,252,.91) 23%, rgba(245,248,252,.68) 46%, transparent 71%); content: ""; }
.home-hero .hero-visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: right center; animation: none; transform: none; }


@media (max-width: 900px) {
  .home-hero { min-height: 440px; padding-block: clamp(2rem, 5vw, 3rem) 5rem; }
  .home-hero .hero-copy { width: min(68%, 580px); margin: 0; }
  .home-hero .hero-visual::after { background: linear-gradient(90deg, #f5f8fc 0%, rgba(245,248,252,.95) 36%, rgba(245,248,252,.72) 62%, transparent 100%); }
}

@media (max-width: 600px) {
  .home-hero { align-items: flex-start; min-height: 0; padding-bottom: clamp(8rem, 28vw, 11rem); }
  .home-hero .hero-copy { width: 100%; }
  .home-hero .hero-visual::after { background: linear-gradient(180deg, rgba(245,248,252,.97) 0%, rgba(245,248,252,.94) 56%, rgba(245,248,252,.78) 73%, transparent 100%); }
  .home-hero .hero-note { font-size: .84rem; }
  .home-hero .hero-actions .button { max-width: 100%; white-space: normal; }
}

.home-summary { --summary-line: #c7d2df; color: var(--navy); background: #fff; }
.home-summary svg { width: 3rem; height: 3rem; flex: none; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.home-summary small { display: block; margin-top: .2rem; font-size: .875rem; }
.summary-services { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 1.2rem var(--pad); border-bottom: 1px solid var(--summary-line); }
.summary-services a { display: flex; align-items: center; gap: clamp(.75rem, 1.5vw, 1.5rem); padding: .35rem clamp(.75rem, 2vw, 2rem); text-decoration: none; }
.summary-services a:hover strong { text-decoration: underline; }
.summary-services a + a { border-inline-start: 1px solid var(--summary-line); }
.summary-benefits { display: grid; grid-template-columns: minmax(230px, 1.25fr) minmax(0, 4fr); align-items: center; padding: 1.2rem var(--pad); }
.summary-benefits-intro { padding-inline-end: 1.25rem; }
.summary-benefits-intro::before, .summary-contact-details > div:first-child::after { display: block; width: 3.5rem; height: 3px; margin-block: .4rem; background: var(--gold); content: ""; }
.summary-benefits h2, .summary-contact h2 { font-size: clamp(1.45rem, 2.2vw, 2rem); }
.summary-benefits p { margin-block: .35rem .65rem; }
.summary-benefits .button { min-height: 40px; padding: .45rem 1.15rem; border-radius: 999px; }
.summary-benefits ul, .summary-presence ul { margin: 0; padding: 0; list-style: none; }
.summary-benefits ul { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.summary-benefits li { padding: .35rem .65rem; border-inline-start: 1px solid var(--summary-line); text-align: center; }
.summary-benefits svg { display: block; width: 2.6rem; height: 2.6rem; margin: 0 auto .35rem; }
.summary-contact { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); background: #eaf1f9; }
.summary-contact-details { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; padding: 1.4rem var(--pad); border-radius: 4.5rem 0 2.25rem 0; background: var(--navy); color: #fff; }
.summary-contact-details h2 { color: inherit; }
.summary-contact-details > div { padding: .2rem .85rem; }
.summary-contact-details > div + div { border-inline-start: 1px solid #ffffff80; }
.summary-contact-details a { display: inline-block; margin-top: .25rem; overflow-wrap: anywhere; }
.summary-presence { display: flex; align-items: center; justify-content: center; gap: 1rem; padding: .9rem 1.25rem; }
.summary-presence svg { width: clamp(3rem, 6vw, 6rem); height: auto; color: #6e87a2; }
.summary-presence h3 { margin-bottom: .25rem; font-size: 1rem; }
.summary-presence li { font-size: .875rem; }
.summary-presence li::before { margin-inline-end: .55rem; color: #82620e; content: "✓"; }
.summary-skyline { grid-column: 1 / -1; min-height: clamp(95px, 9vw, 155px); border-bottom: 4px solid var(--gold); background: var(--navy) url("/assets/images/home/home-international.webp") center 58% / cover no-repeat; }

@media (max-width: 1100px) {
  .summary-contact { grid-template-columns: minmax(0, 1fr) auto; }
  .summary-contact-details { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .summary-contact-details > div:nth-child(3) { border-inline-start: 0; }
}
@media (max-width: 900px) {
  .summary-services { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 0; }
  .summary-services a:nth-child(odd) { border-inline-start: 0; }
  .summary-benefits { grid-template-columns: 1fr; gap: 1.25rem; }
  .summary-benefits li:first-child { border-inline-start: 0; }
}
@media (max-width: 600px) {
  .summary-services a { align-items: flex-start; flex-direction: column; }
  .summary-services svg { width: 2.3rem; height: 2.3rem; }
  .summary-benefits ul { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1rem; }
  .summary-benefits li:nth-child(odd) { border-inline-start: 0; }
  .summary-benefits li:last-child { grid-column: 1 / -1; }
  .summary-contact { grid-template-columns: 1fr; }
  .summary-contact-details { padding-block: 1.35rem; border-radius: 2rem 0; }
  .summary-presence { justify-content: flex-start; padding-inline: calc(var(--pad) + .85rem); }
}
@media (max-width: 360px) {
  .summary-contact-details { grid-template-columns: 1fr; }
  .summary-contact-details > div + div { border-inline-start: 0; }
}

.summary-presence-map { position: relative; flex: 0 1 14rem; min-width: 0; aspect-ratio: 2 / 1; background: url("/assets/images/home/home-presence-map.webp") center / 100% 100% no-repeat; }
.summary-presence-map span { position: absolute; left: var(--pin-x); top: var(--pin-y); width: .67rem; height: .67rem; border: 1px solid #fff; border-radius: 50% 50% 50% 0; background: var(--navy); transform: translate(-50%, -92%) rotate(-45deg); }
.summary-presence-map span::after { position: absolute; inset: 2px; border-radius: 50%; background: #fff; content: ""; }
.summary-presence > div:last-child { flex-shrink: 0; }

.home-hero .hero-visual img[hidden], .hero-slider-controls[hidden] { display: none; }
.hero-slider-controls { position: absolute; z-index: 2; bottom: .8rem; right: var(--pad); display: flex; align-items: center; gap: .15rem; padding: .15rem .3rem; border-radius: 999px; background: var(--navy); color: #fff; }
.hero-slider-controls button { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; padding: 0; border: 0; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; }
.hero-slider-controls button[data-hero-slide]::before { width: .48rem; height: .48rem; border: 1px solid #fff; border-radius: 50%; content: ""; }
.hero-slider-controls button[aria-current="true"]::before { border-color: var(--gold); background: var(--gold); }
.hero-slider-controls button:focus-visible { outline: 2px solid #fff; outline-offset: -3px; }
@media (prefers-reduced-motion: no-preference) {
  .home-hero .hero-visual img:not([hidden]) { animation: home-slide-in .4s ease-out; }
  @keyframes home-slide-in { from { opacity: .55; } to { opacity: 1; } }
}

@media (max-width: 900px) { .hero-slider-controls { right: auto; left: 50%; bottom: .55rem; transform: translateX(-50%); } }
