/* Hunter elite system: a restrained, premium engineering-consultancy visual language. */
:root {
  --ink: #0b2236;
  --ink-deep: #061724;
  --ink-soft: #385066;
  --slate: #58758c;
  --steel: #9bb3c4;
  --brass: #a78a5c;
  --paper: #f5f3ee;
  --warm-white: #fcfbf8;
  --mist: #e6eaeb;
  --line: rgba(11, 34, 54, .17);
  --page-gutter: clamp(1.25rem, 5vw, 5.75rem);
  --font-body: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-display: "Avenir Next", "Segoe UI", Helvetica, Arial, sans-serif;
}

* { text-wrap: pretty; }
html { background: var(--paper); }
body { color: var(--ink); background: var(--paper); font-family: var(--font-body); font-size: 16px; letter-spacing: .002em; }
main { background: var(--paper); }
::selection { color: var(--warm-white); background: var(--ink); }
:focus-visible { outline: 3px solid var(--brass); outline-offset: 4px; }

/* Navigation */
.utility-bar { color: #d6e0e6; background: var(--ink-deep); border-bottom: 1px solid rgba(255,255,255,.12); }
.utility-inner { min-height: 2.25rem; padding-block: .22rem; }
.utility-inner p { color: #c3d0d8; font-size: .62rem; letter-spacing: .18em; }
.utility-actions { gap: .8rem; }
.utility-actions > .utility-call, .utility-actions > .utility-phone { color: var(--warm-white); font-size: .66rem; letter-spacing: .13em; }
.utility-actions > .utility-call::before { display: inline-block; width: .42rem; height: .42rem; margin-right: .45rem; border: 1px solid var(--brass); border-radius: 50%; content: ""; }
.utility-phone { padding-left: .8rem; border-left: 1px solid rgba(255,255,255,.28); color: var(--warm-white) !important; letter-spacing: .07em !important; }
.utility-linkedin { width: 1.3rem; height: 1.3rem; border-color: rgba(255,255,255,.46); }
.utility-linkedin:hover { color: var(--ink-deep); background: var(--warm-white); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background:
    radial-gradient(55rem 24rem at 102% -12%, rgba(130,166,192,.34), transparent 68%),
    linear-gradient(118deg, #d6e2e9 0%, #f3f1ec 51%, #c2d4df 100%);
  border-bottom: 3px solid var(--brass);
  box-shadow: 0 8px 30px rgba(6,23,36,.07);
  backdrop-filter: blur(14px);
}
.header-inner { min-height: 5.4rem; gap: 2rem; }
.brand-logo { width: clamp(184px, 18vw, 238px); }
.primary-nav { gap: clamp(1.25rem, 2.3vw, 2.65rem); }
.primary-nav a { padding-block: .8rem; color: var(--ink); font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.primary-nav a::after { bottom: .42rem; height: 2px; background: var(--brass); }
.primary-nav a[aria-current="page"] { color: var(--ink); }
.mobile-navigation summary { color: var(--ink); font-size: .74rem; letter-spacing: .11em; text-transform: uppercase; }
.mobile-nav { border: 1px solid var(--line); box-shadow: 0 1.2rem 3rem rgba(6,23,36,.18); }
.mobile-nav a { padding-block: .84rem; color: var(--ink); font-size: .82rem; letter-spacing: .06em; }
.mobile-nav a:hover, .mobile-nav a[aria-current="page"] { color: var(--warm-white); background: var(--ink); }

/* Shared type and actions */
.eyebrow, .home-kicker, .leader-label, .service-number, .pricing-number, .pricing-promise-label { color: var(--slate); font-size: .64rem; font-weight: 800; letter-spacing: .18em; line-height: 1.5; text-transform: uppercase; }
.eyebrow { display: flex; align-items: center; gap: .65rem; padding: 0; background: transparent; border: 0; }
.eyebrow::before { width: 1.85rem; height: 1px; background: var(--brass); content: ""; }
h1, h2, h3 { color: var(--ink); font-family: var(--font-display); font-weight: 750; letter-spacing: -.025em; }
p { color: var(--ink-soft); }
.button-row { margin-top: 2rem; }
.button { min-height: 3.15rem; padding: .82rem 1.25rem; border: 1px solid var(--ink); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.button-primary { color: var(--warm-white); background: var(--ink); }
.button-primary:hover { color: var(--ink); background: var(--brass); border-color: var(--brass); }
.text-link { padding-top: 1rem; color: var(--ink); font-size: .7rem; letter-spacing: .095em; text-decoration: none; text-transform: uppercase; }
.text-link::after { color: var(--brass); }
.text-link:hover { color: var(--slate); }

/* Home: editorial field narrative */
.home-hero { min-height: clamp(39rem, 64vw, 50rem); background: var(--ink-deep); }
.home-hero-photo { object-position: center 55%; filter: saturate(.64) contrast(1.12) brightness(.78); }
.home-hero-shade { background: linear-gradient(90deg, rgba(6,23,36,.96) 0%, rgba(6,23,36,.88) 35%, rgba(6,23,36,.43) 65%, rgba(6,23,36,.14) 100%); }
.home-hero::after { display: none; }
.home-hero-content { position: relative; max-width: min(100%, 86rem); padding-top: clamp(4.5rem, 9vw, 9rem); padding-bottom: clamp(4.5rem, 9vw, 8.5rem); }
.home-kicker { color: #cad8e0; margin-bottom: 1.35rem; }
.home-kicker::before { display: inline-block; width: 2.2rem; height: 1px; margin: 0 .7rem .25rem 0; background: var(--brass); content: ""; }
.home-hero h1 { max-width: 10.8ch; margin-bottom: 1.5rem; color: var(--warm-white); font-size: clamp(3.55rem, 7vw, 7.2rem); font-weight: 720; letter-spacing: -.035em; line-height: .94; }
.home-hero h1 span { color: #b8cfde; }
.home-hero-content > p:not(.home-kicker) { max-width: 38rem; color: #d9e3e8; font-size: clamp(1rem, 1.4vw, 1.16rem); }
.home-hero .button-primary { color: var(--ink-deep); background: var(--warm-white); border-color: var(--warm-white); }
.home-hero .button-primary:hover { color: var(--warm-white); background: transparent; border-color: var(--brass); }
.home-hero-notes { gap: 0; margin-top: 2.75rem; border-top: 1px solid rgba(255,255,255,.28); color: #d4e0e7; }
.home-hero-notes span { padding: .8rem 1.05rem .1rem 0; font-size: .64rem; letter-spacing: .14em; }
.home-hero-notes span + span { padding-left: 1.05rem; border-left-color: rgba(255,255,255,.3); }

.capability-rail { color: var(--ink); background: var(--warm-white); border-bottom: 1px solid var(--line); }
.capability-rail-inner { padding-inline: var(--page-gutter); }
.capability-rail a, .capability-rail a:first-child { min-height: 6.55rem; color: var(--ink); border-color: var(--line); }
.capability-rail a:hover { color: var(--warm-white); background: var(--ink); }
.capability-rail span { color: var(--brass); font-size: .65rem; letter-spacing: .16em; }
.capability-rail strong { font-size: clamp(.98rem, 1.35vw, 1.15rem); font-weight: 700; letter-spacing: -.01em; }
.capability-rail i { color: var(--brass); }

.field-statement { min-height: clamp(31rem, 47vw, 40rem); background: var(--ink); }
.field-statement > img { left: auto; width: 46%; object-position: center; filter: saturate(.54) contrast(1.12) brightness(.76); }
.field-statement-wash { background: linear-gradient(90deg, var(--ink) 0%, var(--ink) 46%, rgba(11,34,54,.92) 58%, rgba(11,34,54,.23) 100%); }
.field-statement::after { position: absolute; inset: 1.25rem; z-index: -1; border: 1px solid rgba(255,255,255,.14); content: ""; pointer-events: none; }
.field-statement-content { max-width: min(100%, 86rem); padding-top: clamp(4rem, 8vw, 7rem); padding-bottom: clamp(4rem, 8vw, 7rem); }
.field-statement h2 { max-width: 10.5ch; color: var(--warm-white); font-size: clamp(3rem, 6.6vw, 6.25rem); font-weight: 720; letter-spacing: -.035em; line-height: .94; text-transform: none; }
.field-statement-content > p:last-child { max-width: 34rem; color: #d7e1e7; font-weight: 400; }
.field-statement .home-kicker { color: #c9d8e1; }

.home-service-section { padding-top: clamp(5rem, 9vw, 8rem); padding-bottom: clamp(4rem, 7vw, 6.5rem); }
.home-service-section::before, .home-approach-section::before, .home-contact-section::before, .section::before { display: none; }
.home-section-heading { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(2rem, 7vw, 8rem); margin-bottom: clamp(2.3rem, 4vw, 3.8rem); }
.home-section-heading h2 { max-width: 10.5ch; font-size: clamp(2.7rem, 5vw, 5rem); line-height: .98; }
.home-section-heading > p:last-child { color: var(--ink-soft); font-size: 1.03rem; line-height: 1.75; }
.home-service-section .service-cards { gap: 0; border: 0; }
.home-service-section .service-card { min-height: 25rem; padding: clamp(1.6rem, 3vw, 3rem); background: transparent; border: 1px solid var(--line); border-left: 0; box-shadow: none; }
.home-service-section .service-card:first-child { border-left: 1px solid var(--line); }
.home-service-section .service-card:hover { background: var(--warm-white); box-shadow: 0 1.1rem 3rem rgba(6,23,36,.09); transform: translateY(-5px); }
.home-service-section .service-card .card-index { margin-bottom: 5rem; color: var(--brass); font-size: .66rem; letter-spacing: .16em; }
.home-service-section .service-card h3 { max-width: 10ch; color: var(--ink); font-size: clamp(1.55rem, 2.25vw, 2.25rem); font-weight: 700; letter-spacing: -.025em; line-height: 1.04; }
.home-service-section .service-card p { font-size: .94rem; line-height: 1.7; }

.home-approach-section { padding-block: clamp(3.5rem, 6vw, 6.5rem); border-block: 1px solid var(--line); background: #ebe9e3; }
.home-approach-section .split-section { gap: clamp(2.5rem, 7vw, 7rem); }
.split-image { padding: .85rem; background: var(--warm-white); box-shadow: 0 1.25rem 3.3rem rgba(6,23,36,.12); }
.split-image::before { position: absolute; z-index: 2; top: -.55rem; right: -.55rem; width: 3.4rem; height: 3.4rem; border-top: 1px solid var(--brass); border-right: 1px solid var(--brass); content: ""; }
.split-image img { border: 0; box-shadow: none; filter: saturate(.74) contrast(1.04); }
.split-copy h2 { max-width: 11ch; font-size: clamp(2.45rem, 4vw, 4.35rem); letter-spacing: -.03em; line-height: .98; }
.split-copy p { line-height: 1.75; }
.list-checks { gap: .75rem; margin-top: 1.7rem; }
.list-checks li { padding-left: 1.45rem; color: var(--ink-soft); }
.list-checks li::before { top: .53rem; width: .48rem; height: .48rem; background: var(--brass); }

.home-contact-section { padding-top: clamp(4rem, 7vw, 6.5rem); padding-bottom: clamp(4.5rem, 8vw, 7rem); }
.dark-panel { padding: clamp(2.7rem, 5vw, 5.6rem); background: linear-gradient(135deg, #071a2b 0%, #0b2c44 62%, #174560 100%); border: 1px solid rgba(255,255,255,.14); box-shadow: 0 1.5rem 4rem rgba(6,23,36,.2); }
.dark-panel::before { position: absolute; inset: 1rem; border: 1px solid rgba(255,255,255,.15); content: ""; pointer-events: none; }
.dark-panel::after { right: -6rem; bottom: -6rem; width: 22rem; height: 22rem; border-color: rgba(183,205,221,.23); box-shadow: 0 0 0 2rem rgba(183,205,221,.04), 0 0 0 4.2rem rgba(183,205,221,.025); }
.dark-panel > * { position: relative; z-index: 1; }
.dark-panel .eyebrow { color: #b7c8d3; }
.dark-panel .eyebrow::before { background: var(--brass); }
.dark-panel h2 { max-width: 13ch; color: var(--warm-white); font-size: clamp(2.5rem, 4.7vw, 4.75rem); letter-spacing: -.03em; line-height: .98; }
.dark-panel p { color: #d4e0e7; }
.dark-panel .button-primary { color: var(--ink-deep); background: var(--warm-white); border-color: var(--warm-white); }
.dark-panel .button-primary:hover { color: var(--warm-white); background: transparent; border-color: var(--brass); }

/* Secondary page framing */
.page-intro { position: relative; max-width: none; margin-top: clamp(1.5rem, 3vw, 2.75rem); padding: clamp(3rem, 6vw, 6rem) clamp(1.4rem, 5vw, 5.75rem); overflow: hidden; color: var(--warm-white); background: var(--ink); border: 1px solid rgba(255,255,255,.1); box-shadow: 0 1.3rem 3.5rem rgba(6,23,36,.14); }
.page-intro::before { position: absolute; top: -8rem; right: -7rem; width: 31rem; height: 31rem; border: 1px solid rgba(186,208,222,.23); border-radius: 50%; box-shadow: 0 0 0 2rem rgba(186,208,222,.04), 0 0 0 4.5rem rgba(186,208,222,.025); content: ""; }
.page-intro::after { position: absolute; inset: 1rem; border: 1px solid rgba(255,255,255,.13); content: ""; pointer-events: none; }
.page-intro > * { position: relative; z-index: 1; }
.page-intro .eyebrow { min-height: auto; padding: 0; color: #c4d4df; background: transparent; border-left: 0; }
.page-intro .eyebrow::before { background: var(--brass); }
.page-intro h1 { max-width: 11.5ch; color: var(--warm-white); font-size: clamp(3rem, 6vw, 6rem); letter-spacing: -.035em; line-height: .94; }
.page-intro .lead { max-width: 44rem; color: #d8e3e9; font-size: clamp(1.02rem, 1.5vw, 1.18rem); line-height: 1.7; }

.legacy-page-visual, .inspection-visual { margin-top: clamp(1.4rem, 3vw, 2.5rem); }
.legacy-page-visual img, .inspection-visual img { border: 0; box-shadow: 0 1.2rem 3.4rem rgba(6,23,36,.13); filter: saturate(.72) contrast(1.08); }
.legacy-page-visual { padding: .7rem; background: var(--warm-white); }
.inspection-visual { grid-template-columns: minmax(0, 1fr); margin-bottom: clamp(3rem, 6vw, 5.5rem); }
.inspection-visual img { aspect-ratio: 2.15 / 1; }

.section { padding-block: clamp(4rem, 7vw, 7rem); }
.section-heading h2, .section-title { color: var(--ink); font-size: clamp(2.5rem, 4.5vw, 4.4rem); letter-spacing: -.03em; line-height: 1; }
.section-heading p { color: var(--ink-soft); }
.service-detail { padding-block: clamp(3.2rem, 6vw, 5.5rem); border-top-color: var(--line); }
.service-detail-grid { gap: clamp(2rem, 8vw, 9rem); }
.service-number { color: var(--brass); }
.service-detail h2 { max-width: 12ch; font-size: clamp(2rem, 3.5vw, 3.45rem); letter-spacing: -.03em; line-height: 1; }
.service-detail-copy { max-width: 50rem; }
.service-detail-copy p { color: var(--ink-soft); line-height: 1.78; }
.detail-list { gap: .7rem 1.5rem; }
.detail-list li { padding-left: 1.1rem; border-left-color: var(--brass); color: var(--ink-soft); }

.about-lead { gap: clamp(2rem, 8vw, 9rem); }
.about-lead p { color: var(--ink-soft); line-height: 1.78; }
.about-quote { margin: 0; padding: clamp(1.7rem, 3.5vw, 3rem); color: var(--ink); background: var(--warm-white); border: 1px solid var(--line); border-left: 4px solid var(--brass); box-shadow: 0 1rem 2.5rem rgba(6,23,36,.08); font-size: clamp(1.35rem, 2.35vw, 2rem); letter-spacing: -.02em; line-height: 1.32; }
.principles { border-color: var(--line); }
.principle h3 { color: var(--ink); font-size: 1.12rem; letter-spacing: -.015em; }
.principle p { color: var(--ink-soft); }
.leader-card { padding: clamp(2rem, 4.5vw, 4.5rem); background: var(--ink); border: 1px solid rgba(255,255,255,.12); }
.leader-label { color: #b9cbd8; }
.leader-card h2 { color: var(--warm-white); font-size: clamp(2rem, 3.4vw, 3.25rem); letter-spacing: -.03em; }
.leader-role, .leader-card p { color: #d4e0e7; }
.leader-card .text-link { color: var(--warm-white); }

/* Pricing: clarity without visual noise */
.pricing-overview, .pricing-schedule { gap: clamp(2rem, 8vw, 9rem); }
.pricing-lead, .pricing-schedule-copy > p:last-child { color: var(--ink-soft); line-height: 1.78; }
.pricing-promise, .pricing-schedule-panel { color: var(--ink); background: var(--warm-white); border: 1px solid var(--line); border-top: 3px solid var(--brass); box-shadow: 0 1rem 2.6rem rgba(6,23,36,.08); }
.pricing-promise p:last-child { color: var(--ink); font-weight: 600; }
.pricing-number, .pricing-promise-label { color: var(--brass); }
.pricing-grid { gap: 0; padding-bottom: clamp(3.5rem, 7vw, 6.5rem); }
.pricing-card { padding: clamp(1.6rem, 3vw, 2.8rem); background: transparent; border: 1px solid var(--line); border-left: 0; border-top: 3px solid var(--brass); box-shadow: none; }
.pricing-card:first-child { border-left: 1px solid var(--line); }
.pricing-card:nth-child(2) { transform: none; border-top-color: var(--steel); }
.pricing-card h2 { color: var(--ink); font-size: clamp(1.55rem, 2.3vw, 2.15rem); letter-spacing: -.025em; line-height: 1.08; }
.pricing-card p:last-child { color: var(--ink-soft); line-height: 1.72; }
.pricing-schedule h2 { color: var(--ink); font-size: clamp(2.35rem, 4vw, 4.15rem); letter-spacing: -.03em; line-height: 1; }
.pricing-schedule-panel .list-checks li::before { background: var(--brass); }

/* Contact */
.contact-grid { gap: 1.25rem; }
.contact-card { padding: clamp(1.7rem, 3vw, 3rem); background: var(--warm-white); border: 1px solid var(--line); border-top: 3px solid var(--brass); box-shadow: 0 .8rem 2.4rem rgba(6,23,36,.06); }
.contact-card:hover { border-top-color: var(--ink); box-shadow: 0 1.2rem 3rem rgba(6,23,36,.11); transform: translateY(-4px); }
.contact-card h2 { color: var(--ink); font-size: clamp(1.6rem, 2.5vw, 2.2rem); letter-spacing: -.025em; }
.contact-card address, .contact-note { color: var(--ink-soft); }
.contact-card a { color: var(--ink); }
.contact-actions { gap: .7rem 1.4rem; }
.email-panel { padding: clamp(1.6rem, 3.5vw, 3rem); background: var(--ink); border: 1px solid rgba(255,255,255,.12); }
.email-panel h2 { color: var(--warm-white); letter-spacing: -.02em; }
.email-panel p { color: #d4e0e7; }
.email-panel .button-primary { color: var(--ink); background: var(--warm-white); border-color: var(--warm-white); }

/* Footer: a light mineral finish keeps the transparent wordmark and every detail legible. */
.site-footer {
  color: #17384d;
  background:
    radial-gradient(55rem 24rem at 102% -12%, rgba(130,166,192,.34), transparent 68%),
    linear-gradient(118deg, #d6e2e9 0%, #f3f1ec 51%, #c2d4df 100%);
  border-top: 3px solid var(--brass);
}
.footer-inner { padding-top: clamp(3rem, 6vw, 5.5rem); padding-bottom: 2.6rem; }
.footer-brand > a { display: inline-flex; width: fit-content; padding: 0; background: transparent; border: 0; box-shadow: none; }
.footer-logo { width: min(255px, 100%); padding: 0; background: transparent; filter: drop-shadow(0 .25rem .7rem rgba(11,34,54,.12)); }
.footer-intro { color: #27485d; }
.footer-heading { color: #654b2b; }
.footer-links a, .footer-contact a, .footer-credit a { color: #0b2236; }
.footer-links a:hover, .footer-contact a:hover, .footer-credit a:hover { color: #46697f; text-decoration-color: var(--brass); }
.footer-contact address, .footer-bottom, .footer-credit { color: #36566a; }
.footer-bottom { border-top-color: rgba(11,34,54,.24); }
.footer-social a { color: #0b2236; border-color: rgba(11,34,54,.38); }
.footer-social a:hover { color: var(--warm-white); background: var(--ink); border-color: var(--ink); }

@media (max-width: 960px) {
  .header-inner { min-height: 5rem; }
  .primary-nav { gap: .85rem; }
  .primary-nav a { font-size: .62rem; letter-spacing: .1em; }
  .home-hero::after { inset: .8rem; }
  .home-section-heading { gap: 2.5rem; }
}
@media (max-width: 760px) {
  .utility-inner { min-height: 2.2rem; }
  .utility-actions { gap: .55rem; }
  .utility-actions > .utility-call::before { display: none; }
  .utility-phone { padding-left: .55rem; font-size: .58rem !important; }
  .site-header { position: relative; }
  .header-inner { min-height: 4.75rem; }
  .brand-logo { width: clamp(172px, 55vw, 220px); }
  .home-hero { min-height: 42rem; }
  .home-hero-photo { object-position: 61% center; }
  .home-hero-shade { background: linear-gradient(90deg, rgba(6,23,36,.95) 0%, rgba(6,23,36,.81) 64%, rgba(6,23,36,.34) 100%); }
  .home-hero::after { inset: .6rem; background: none; border-color: rgba(255,255,255,.14); }
  .home-hero h1 { max-width: 10ch; font-size: clamp(3.1rem, 14vw, 5.4rem); }
  .home-hero-notes { gap: .2rem; }
  .home-hero-notes span { padding-block: .55rem; }
  .capability-rail-inner { padding-inline: var(--page-gutter); }
  .capability-rail a, .capability-rail a:first-child { min-height: 4.25rem; border-color: var(--line); }
  .capability-rail a:hover { color: var(--ink); background: transparent; }
  .field-statement { min-height: 39rem; }
  .field-statement > img { width: 100%; opacity: .43; }
  .field-statement-wash { background: linear-gradient(90deg, rgba(11,34,54,.97), rgba(11,34,54,.82)); }
  .field-statement::after { inset: .65rem; }
  .field-statement h2 { font-size: clamp(3rem, 13.2vw, 5.25rem); }
  .home-section-heading { display: block; }
  .home-section-heading h2 { font-size: clamp(2.7rem, 11.8vw, 4.5rem); }
  .home-service-section .service-card { min-height: auto; padding-block: 2.3rem; border-left: 1px solid var(--line); border-top: 0; }
  .home-service-section .service-card:first-child { border-top: 1px solid var(--line); }
  .home-service-section .service-card .card-index { margin-bottom: 2.2rem; }
  .home-approach-section { padding-block: 3rem; }
  .split-image { padding: .55rem; }
  .home-contact-section { padding-block: 3rem 4rem; }
  .dark-panel { padding: 2.3rem 1.6rem; }
  .dark-panel::before { inset: .65rem; }
  .dark-panel h2 { font-size: clamp(2.55rem, 11.5vw, 4.2rem); }
  .page-intro { margin-top: 1rem; padding-block: 3.25rem; }
  .page-intro::after { inset: .65rem; }
  .page-intro h1 { font-size: clamp(3rem, 12.3vw, 5rem); }
  .legacy-page-visual { padding: .45rem; }
  .inspection-visual img { aspect-ratio: 1.28 / 1; }
  .service-detail-grid { gap: 1.4rem; }
  .service-detail h2 { font-size: clamp(2rem, 9vw, 3.3rem); }
  .pricing-grid { gap: 1rem; }
  .pricing-card, .pricing-card:first-child { border-left: 1px solid var(--line); }
  .footer-inner { gap: 2.2rem 1.4rem; }
}
@media (prefers-reduced-motion: reduce) {
  .service-card, .contact-card, .capability-rail a, .button, .text-link::after { transition: none; }
  .service-card:hover, .contact-card:hover { transform: none; }
}

/* Keep deep-linked service and section headings clear of the sticky navigation. */
:where(h1, h2, h3)[id], section[id] { scroll-margin-top: 7.5rem; }
@media (max-width: 760px) {
  :where(h1, h2, h3)[id], section[id] { scroll-margin-top: 5.75rem; }
}

/* Curated Hunter field gallery and post-gallery video */
.home-gallery-section {
  padding-top: clamp(4.5rem, 8vw, 7.5rem);
  padding-bottom: clamp(4.5rem, 8vw, 7.5rem);
  background: linear-gradient(180deg, var(--paper) 0%, var(--warm-white) 100%);
  border-top: 1px solid var(--line);
}
.home-gallery-heading {
  display: grid;
  grid-template-columns: minmax(0, .98fr) minmax(16rem, .72fr);
  align-items: end;
  gap: clamp(2rem, 8vw, 8rem);
  margin-bottom: clamp(2rem, 4.5vw, 4rem);
}
.home-gallery-heading h2 {
  max-width: 9ch;
  margin-bottom: 0;
  color: var(--ink);
  font-size: clamp(2.7rem, 5vw, 5rem);
  letter-spacing: -.03em;
  line-height: .98;
}
.home-gallery-heading > p {
  max-width: 31rem;
  margin-bottom: .35rem;
  color: var(--ink-soft);
  line-height: 1.75;
}
.home-gallery-grid {
  display: grid;
  grid-auto-flow: dense;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: clamp(7.25rem, 9vw, 9.5rem);
  gap: clamp(.65rem, 1.4vw, 1.25rem);
}
.gallery-card {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: var(--ink-deep);
  border: 1px solid rgba(11,34,54,.14);
  box-shadow: 0 1rem 2.4rem rgba(6,23,36,.07);
}
.gallery-card--wide { grid-column: span 2; grid-row: span 2; }
.gallery-card--tall { grid-row: span 3; }
.gallery-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.86) contrast(1.04);
  transition: transform .55s ease, filter .55s ease;
}
.gallery-card:hover img { filter: saturate(1.03) contrast(1.03); transform: scale(1.045); }
.home-gallery-section .button-row { margin-top: clamp(2rem, 4vw, 3.4rem); }

.home-video-section {
  padding-block: clamp(3.8rem, 7vw, 7rem);
  color: var(--warm-white);
  background:
    radial-gradient(42rem 26rem at 102% 0%, rgba(67,113,144,.58), transparent 68%),
    linear-gradient(135deg, #061724 0%, #0b2c44 62%, #173f59 100%);
  border-block: 1px solid rgba(255,255,255,.12);
}
.home-video-inner {
  display: grid;
  grid-template-columns: minmax(16rem, .76fr) minmax(0, 1.24fr);
  align-items: center;
  gap: clamp(2.5rem, 7vw, 8rem);
}
.home-video-copy .home-kicker { margin-bottom: 1.25rem; }
.home-video-copy h2 {
  max-width: 10ch;
  margin-bottom: 1.3rem;
  color: var(--warm-white);
  font-size: clamp(2.65rem, 4.8vw, 4.9rem);
  letter-spacing: -.03em;
  line-height: .98;
}
.home-video-copy > p:last-child { max-width: 30rem; color: #d6e2e9; line-height: 1.75; }
.home-video-media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #061724;
  border: 1px solid rgba(255,255,255,.21);
  box-shadow: 0 1.5rem 4rem rgba(0,0,0,.26);
}
.home-video-media::before {
  position: absolute;
  z-index: 1;
  inset: .8rem;
  border: 1px solid rgba(255,255,255,.18);
  content: "";
  pointer-events: none;
}
.home-video-media video, .home-video-poster { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-video-poster { display: none; }

@media (max-width: 760px) {
  .home-gallery-heading, .home-video-inner { display: block; }
  .home-gallery-heading > p { margin-top: 1.35rem; }
  .home-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: clamp(7rem, 29vw, 10rem); gap: .65rem; }
  .gallery-card--wide { grid-column: span 2; grid-row: span 2; }
  .gallery-card--tall { grid-row: span 2; }
  .home-video-copy { margin-bottom: 1.8rem; }
  .home-video-media::before { inset: .55rem; }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-card img { transition: none; }
  .gallery-card:hover img { transform: none; }
  .home-video-media video { display: none; }
  .home-video-poster { display: block; }
}
