/* Shared masthead: the supplied logo is the complete brand treatment. */
.site-header { background: #0b2545; }
.header-inner { min-height: 112px; }
.brand img, .footer-main .brand img { width: 112px; height: 112px; mix-blend-mode: lighten; }
.site-header nav { gap: 30px; }
.site-header nav a { font-size: 12px; }
.site-header nav .nav-contact { border-color: #d4af3770; padding: 12px 22px; }
.site-footer { background: #0b2545; }
.footer-main .brand { width: fit-content; }
.footer-main > div > p { margin-top: 8px; }

/* Editorial opening: content and photography have equal visual weight. */
.editorial-hero { display: grid; grid-template-columns: 1fr 1fr; background: #fafaf8; }
.editorial-copy { padding: 58px 58px 40px max(40px,calc((100vw - 1280px)/2)); align-self: center; }
.hero-discipline { font-size: 11px; font-weight: 600; letter-spacing: .35px; color: #53606b; max-width: 360px; margin: 0 0 26px; padding-left: 18px; border-left: 2px solid #d4af37; }
.editorial-copy h1 { font-size: clamp(40px,3.9vw,58px); line-height: 1.13; letter-spacing: -1.3px; max-width: 560px; margin-bottom: 24px; }
.hero-description { font-size: 14px; line-height: 1.9; max-width: 490px; color: #505a62; }
.editorial-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 28px; }
.editorial-actions .button, .home-consultation .button { background: #0b2545; color: #fafaf8; border-color: #0b2545; padding: 15px 21px; }
.editorial-actions .button:hover, .home-consultation .button:hover { background: #173d63; }
.quiet-link { display: inline-flex; align-items: center; gap: 14px; color: #0b2545; font-size: 11px; font-weight: 600; text-decoration: none; padding-block: 8px; border-bottom: 1px solid #b3974e; }
.quiet-link span { font-size: 17px; transition: transform 180ms ease; }
.quiet-link:hover span { transform: translate(2px,-2px); }
.brand-statement { font: 400 18px/1.5 var(--serif); color: #0b2545; margin-top: 39px; }
.project-photo { position: relative; margin: 0; min-height: 580px; overflow: hidden; }
.project-photo img { width: 100%; height: 100%; position: absolute; object-fit: cover; object-position: 58% center; }
.project-photo figcaption { position: absolute; bottom: 0; right: 0; left: 0; padding: 17px 26px; background: #0b2545; color: #fafaf8; font-size: 10px; letter-spacing: .6px; }
.specialties { display: flex; justify-content: space-between; align-items: center; gap: 25px; padding-block: 26px; border-bottom: 1px solid #d8d9d4; }
.specialties p { margin: 0; font: 400 17px var(--serif); color: #0b2545; white-space: nowrap; }
.specialties ul { display: flex; gap: 28px; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; font-size: 10px; color: #57616a; }
.section-kicker { font-size: 11px; color: #74602a; font-weight: 500; margin-bottom: 22px; }

/* Territory is the first offer, with a geographically legible radius diagram. */
.representation { display: grid; grid-template-columns: .85fr 1.3fr; gap: 78px; padding-block: 90px; align-items: center; }
.representation h2 { font-size: 38px; line-height: 1.2; letter-spacing: -.7px; }
.representation-copy > p:not(.section-kicker) { font-size: 13px; color: #505a62; }
.representation-copy .muted { font-size: 11px; }
.coverage-panel { padding: 28px 28px 20px; background: #f1f2ed; border-top: 2px solid #b3974e; }
.coverage-heading h3 { font: 400 20px/1.4 var(--serif); margin-bottom: 5px; }
.coverage-heading > span { font-size: 10px; color: #667079; }
.coverage-map { display: block; width: 100%; height: auto; margin-top: 18px; }
.coverage-key { display: grid; grid-template-columns: 1fr 1fr 1.35fr; gap: 15px; border-top: 1px solid #cdd1cc; padding-top: 20px; margin: 8px 0 22px; }
.coverage-key dt { font: 400 19px var(--serif); color: #0b2545; margin-bottom: 6px; }
.coverage-key dd { margin: 0; font-size: 10px; color: #56616a; }
.coverage-note { font-size: 10px; line-height: 1.85; color: #59616a; }

/* Photo plus service rows, without cards or decorative service icons. */
.services-editorial { background: #f1f2ed; padding-block: 80px 90px; }
.services-heading { display: grid; grid-template-columns: 1.2fr 1fr; gap: 90px; align-items: end; margin-bottom: 45px; }
.services-heading h2 { font-size: 39px; margin-bottom: 0; }
.services-heading > p { max-width: 430px; font-size: 13px; color: #59616a; padding-bottom: 4px; }
.services-composition { display: grid; grid-template-columns: .9fr 1.3fr; gap: 70px; }
.trade-photo { margin: 0; position: relative; min-height: 510px; }
.trade-photo img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 53% center; }
.trade-photo figcaption { position: absolute; left: 0; bottom: 0; right: 0; background: #0b2545; color: #fafaf8; padding: 22px 28px; font: 400 20px/1.5 var(--serif); }
.service-rows article { display: grid; grid-template-columns: .7fr 1fr; gap: 28px; padding-block: 24px; border-top: 1px solid #c4cac7; }
.service-rows h3 { font-size: 23px; line-height: 1.3; margin: 0; }
.service-rows p { font-size: 12px; color: #505a62; margin: 0; }
.service-rows > .quiet-link { margin-top: 15px; }
.working-relationship { background: #0b2545; padding-block: 78px; }
.working-inner { display: grid; grid-template-columns: 1fr 1.15fr; gap: 100px; }
.working-inner h2 { color: #fafaf8; font-size: 40px; }
.working-inner .section-kicker { color: #d4bc77; }
.working-inner .quiet-link { color: #fafaf8; margin-top: 12px; }
.working-details article { border-bottom: 1px solid #ffffff26; padding-block: 0 24px; margin-bottom: 24px; }
.working-details article:last-child { margin-bottom: 0; padding-bottom: 0; border: 0; }
.working-details h3 { color: #fafaf8; font-size: 24px; margin-bottom: 10px; }
.working-details p { color: #cbd4df; font-size: 12px; }
.home-process { padding-block: 80px; }
.process-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.process-heading h2 { font-size: 38px; margin: 0; }
.home-process .process { margin-top: 36px; }
.home-process .process span { font-size: 19px; margin-bottom: 16px; }
.home-process .process h3 { font-size: 22px; }
.home-consultation { border-top: 1px solid #bdc4c6; display: flex; justify-content: space-between; align-items: center; gap: 50px; padding-block: 65px 80px; }
.home-consultation h2 { font-size: 39px; }
.home-consultation p:not(.section-kicker) { color: #59616a; font-size: 13px; }
.home-consultation .button { flex-shrink: 0; }

@media (max-width: 1150px) {
  .site-header nav { gap: 21px; }
  .site-header nav a { font-size: 11px; }
  .editorial-copy { padding: 42px 32px; }
  .editorial-copy h1 { font-size: 46px; }
  .editorial-actions { align-items: flex-start; gap: 12px; }
  .brand-statement { margin-top: 27px; font-size: 17px; }
  .specialties ul { gap: 18px; }
  .representation { gap: 35px; }
  .representation h2 { font-size: 34px; }
  .coverage-panel { padding: 22px 18px; }
  .services-composition { gap: 40px; }
  .services-heading { gap: 50px; }
  .service-rows article { grid-template-columns: 1fr; gap: 10px; padding-block: 19px; }
  .working-inner { gap: 60px; }
}
@media (max-width: 920px) {
  .header-inner { min-height: 100px; }
  .brand img, .footer-main .brand img { width: 100px; height: 100px; }
  .site-header nav { background: #0b2545; }
  .site-header nav a { font-size: 13px; }
  .editorial-copy { padding: 36px 30px; }
  .editorial-copy h1 { font-size: 39px; letter-spacing: -.9px; }
  .hero-description { font-size: 12px; }
  .hero-discipline { font-size: 10px; margin-bottom: 22px; }
  .project-photo { min-height: 560px; }
  .editorial-actions .button { padding-inline: 17px; font-size: 10px; }
  .editorial-actions .quiet-link { font-size: 10px; }
  .brand-statement { font-size: 15px; }
  .specialties { align-items: start; }
  .specialties ul { gap: 8px 18px; justify-content: flex-end; }
  .representation { grid-template-columns: 1fr; gap: 30px; padding-block: 60px; }
  .representation-copy { max-width: 560px; }
  .representation h2 br { display: none; }
  .coverage-panel { padding: 26px; }
  .services-heading { gap: 30px; }
  .services-heading h2 { font-size: 33px; }
  .services-heading > p { font-size: 12px; }
  .services-composition { gap: 30px; grid-template-columns: .8fr 1fr; }
  .working-inner { gap: 35px; }
  .working-inner h2 { font-size: 34px; }
  .process-heading h2 { font-size: 32px; }
  .home-consultation h2 { font-size: 32px; }
}
@media (max-width: 700px) {
  .header-inner { min-height: 82px; }
  .brand img { width: 82px; height: 82px; }
  .editorial-hero { grid-template-columns: 1fr; }
  .editorial-copy { padding: 35px 24px 27px; }
  .hero-discipline { max-width: 320px; margin-bottom: 20px; line-height: 1.6; }
  .editorial-copy h1 { font-size: clamp(35px,8.9vw,48px); max-width: 480px; line-height: 1.12; margin-bottom: 18px; }
  .hero-description { font-size: 12px; line-height: 1.8; max-width: 480px; margin-bottom: 0; }
  .editorial-actions { gap: 12px 18px; margin-top: 23px; align-items: center; }
  .editorial-actions .button { padding: 13px 17px; }
  .editorial-actions .quiet-link { gap: 7px; }
  .brand-statement { font-size: 16px; margin-top: 24px; }
  .project-photo { min-height: 275px; }
  .project-photo img { object-position: center 65%; }
  .project-photo figcaption { font-size: 9px; padding: 12px 24px; }
  .specialties { display: block; padding-block: 22px; }
  .specialties p { font-size: 16px; margin-bottom: 12px; }
  .specialties ul { justify-content: flex-start; gap: 9px 18px; font-size: 10px; }
  .representation { padding-block: 48px; gap: 28px; }
  .section-kicker { margin-bottom: 17px; }
  .representation h2 { font-size: 31px; max-width: 350px; }
  .coverage-panel { padding: 20px 14px; margin-inline: -4px; }
  .coverage-heading h3 { font-size: 21px; }
  .coverage-map { margin-inline: -8px; width: calc(100% + 16px); }
  .coverage-map text { font-size: 17px; }
  .coverage-key { gap: 12px; margin-top: 14px; }
  .coverage-key dt { font-size: 18px; }
  .coverage-key dd { font-size: 10px; }
  .coverage-note { font-size: 10px; }
  .services-editorial { padding-block: 48px; }
  .services-heading { display: block; margin-bottom: 25px; }
  .services-heading h2 { font-size: 31px; margin-bottom: 21px; }
  .services-composition { grid-template-columns: 1fr; gap: 30px; }
  .trade-photo { min-height: 290px; }
  .trade-photo img { object-position: center 42%; }
  .trade-photo figcaption { font-size: 19px; padding: 17px 21px; }
  .service-rows article { padding-block: 22px; gap: 12px; }
  .service-rows h3 { font-size: 25px; }
  .service-rows p { font-size: 12px; }
  .working-relationship { padding-block: 48px; }
  .working-inner { grid-template-columns: 1fr; gap: 35px; }
  .working-inner h2 { font-size: 33px; }
  .working-inner .quiet-link { margin-top: 0; }
  .working-details h3 { font-size: 24px; }
  .home-process { padding-block: 48px; }
  .process-heading { display: block; }
  .process-heading h2 { font-size: 31px; margin-bottom: 15px; }
  .home-process .process { gap: 28px 20px; }
  .home-process .process h3 { font-size: 21px; }
  .home-consultation { display: block; padding-block: 42px 50px; }
  .home-consultation .button { margin-top: 25px; }
  .home-consultation h2 { font-size: 31px; }
}
@media (prefers-reduced-motion: reduce) {
  .quiet-link span { transition: none; }
  .quiet-link:hover span { transform: none; }
}

/* Offer details from the October 20 business brief. */
.home-plans { padding-block: 0 65px; }
.home-plans .process-heading { align-items: end; margin-bottom: 30px; }
.home-plans .process-heading h2 { max-width: 650px; }
.home-plans .quiet-link { flex-shrink: 0; }
.plan-preview-list { border-top: 1px solid #c4cac7; }
.plan-preview { display: flex; justify-content: space-between; gap: 24px; padding: 20px 0; border-bottom: 1px solid #c4cac7; color: #0b2545; text-decoration: none; font: 400 23px/1.4 var(--serif); }
.plan-preview > span:last-child { text-align: right; flex-shrink: 0; }
.plan-preview small { display: block; font: 500 10px/1.8 var(--sans); color: #59616a; margin-top: 4px; }
.flagship-preview { border-left: 2px solid #d4af37; padding-left: 20px; }
.flagship-preview > span:first-child > small { color: #74602a; }
.plan-preview:hover { background: #f1f2ed; }
.teaser-disclosure { max-width: 760px; color: #59616a; font-size: 12px; margin-top: 24px; }
.agreement-notes section { border-bottom: 1px solid #dcdedc; padding-block: 25px; }
.agreement-notes section:last-child { border: 0; }
.agreement-notes p { font-size: 13px; }
.plans .plan-market { min-height: 64px; }
.plans dt { max-width: 155px; }
.trade-example { display: grid; grid-template-columns: 1fr 1fr; gap: 75px; padding-block: 0 85px; align-items: center; }
.trade-example h2 { font-size: 38px; }
.trade-example > div > p:not(.section-kicker) { color: #59616a; font-size: 13px; }
.trade-example-diagram { padding: 25px 28px; border-top: 2px solid #b3974e; background: #f1f2ed; }
.trade-example-diagram > p:first-child { font-family: var(--serif); font-size: 22px !important; color: #0b2545 !important; }
.trade-example-diagram ul { list-style: none; padding: 0; margin: 0 0 20px; }
.trade-example-diagram li { padding-block: 15px; border-bottom: 1px solid #cdd1cc; }
.trade-example-diagram li span { font: 400 20px var(--serif); color: #0b2545; }
.trade-example-diagram li strong { display: block; font-size: 11px; font-weight: 500; margin-top: 5px; color: #59616a; }
.trade-example-diagram .competing-trade { border-left: 2px solid #8c7740; padding-left: 14px; margin-top: 15px; }
@media (max-width: 920px) {
  .home-plans .process-heading { display: block; }
  .home-plans .quiet-link { margin-top: 18px; }
  .trade-example { gap: 35px; }
  .trade-example h2 { font-size: 32px; }
}
@media (max-width: 700px) {
  .home-plans { padding-bottom: 48px; }
  .plan-preview { font-size: 20px; gap: 12px; }
  .flagship-preview { padding-left: 12px; }
  .plan-preview small { font-size: 10px; }
  .trade-example { grid-template-columns: 1fr; padding-bottom: 48px; }
  .trade-example-diagram { padding: 22px 20px; }
  .plans .plan-market { min-height: 0; }
}

/* Construction-led homepage, October 2026. */
.site-header { border-bottom: 0; }
.header-inner { min-height: 108px; }
.brand img { width: 100px; height: 100px; mix-blend-mode: normal; }
.site-header nav a { font-size: 12px; }
.site-header nav .nav-contact { background: transparent; border: 1px solid #d4af37; padding: 12px 23px; }
.iris-home { --ink: #0b2545; --paper: #fafaf8; }
.iris-home h2 { font-size: clamp(33px,3vw,46px); line-height: 1.2; font-weight: 400; letter-spacing: -.8px; }
.iris-home p { margin-top: 0; }
.iris-home .section-label { font-size: 12px; font-weight: 600; margin-bottom: 22px; }
.opening { display: grid; grid-template-columns: 54% 46%; min-height: 656px; }
.opening-copy { padding: 64px 54px 42px max(56px,calc((100vw - 1280px)/2)); align-self: center; }
.opening-label { font-size: 12px; font-weight: 600; max-width: 380px; color: #53616e; padding-left: 17px; border-left: 2px solid var(--gold); margin-bottom: 28px; }
.opening h1 { font-size: clamp(44px,4.2vw,62px); line-height: 1.1; font-weight: 400; letter-spacing: -1.7px; margin: 0 0 30px; }
.opening-description { font-size: 17px; font-weight: 600; color: var(--ink); line-height: 1.6; max-width: 450px; margin-bottom: 12px; }
.opening-detail { max-width: 460px; font-size: 15px; line-height: 1.85; color: #56616b; }
.opening-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 30px; }
.iris-home .button { background: var(--ink); color: var(--paper); border: 1px solid var(--ink); font-size: 12px; padding: 16px 24px; letter-spacing: 0; text-transform: none; border-radius: 0; }
.iris-home .button:hover { background: #163e68; }
.opening-actions > a:not(.button) { font-size: 12px; font-weight: 600; text-decoration-color: #b3994e; }
.opening-signature { font: 400 19px/1.5 var(--serif); margin: 36px 0 0 !important; color: var(--ink); }
.opening-photo { position: relative; margin: 0; overflow: hidden; }
.opening-photo img { width: 100%; height: 100%; position: absolute; object-fit: cover; object-position: center 60%; }
.opening-photo figcaption { position: absolute; right: 0; bottom: 0; padding: 27px 42px; background: #0b2545; color: #fafaf8; font: 400 29px/1.25 var(--serif); border-top: 2px solid #d4af37; }
.offer-strip { background: #eeeee8; }
.offer-strip > div { display: grid; grid-template-columns: 1.25fr 1fr 1fr; padding-block: 28px; gap: 40px; }
.offer-strip p { margin: 0; font-size: 12px; line-height: 1.8; color: #626970; }
.offer-strip p + p { padding-left: 36px; border-left: 1px solid #c8cdc9; }
.offer-strip strong { font-weight: 500; font-size: 14px; color: var(--ink); }
.iris-home .market-section { background: var(--ink); color: #d3dee7; padding: 92px 0; }
.market-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 85px; align-items: center; }
.market-copy h2 { color: #fafaf8; margin-bottom: 28px; }
.market-copy .section-label { color: #e4c56b; }
.market-copy > p { font-size: 16px; line-height: 1.85; }
.market-copy .market-detail { font-size: 13px; color: #bdcbd8; margin-top: 24px; }
.market-detail strong { font-weight: 600; color: #fafaf8; }
.text-cta { display: inline-flex; align-items: center; gap: 28px; font-size: 13px; font-weight: 600; text-decoration: none; border-bottom: 1px solid #ad913d; padding: 9px 0; color: var(--ink); }
.text-cta span { font-size: 22px; line-height: 1; }
.iris-home .market-section .text-cta { color: #fafaf8; }
.market-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 17px 24px; margin-top: 24px; }
.iris-home .market-button { background: #fafaf8; border-color: #fafaf8; color: #0b2545; }
.iris-home .market-button:hover { background: #f6d47c; border-color: #f6d47c; }
.diagram-label { display: flex; justify-content: space-between; gap: 20px; color: #fafaf8; font-size: 12px; margin-bottom: 20px; }
.diagram-label span { color: #a9bdcf; font-size: 10px; }
.market-options { border: 0; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; }
.market-options > input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.market-options > label { text-align: center; padding: 12px 8px; color: #cbd8e2; border: 1px solid #486078; font-size: 12px; cursor: pointer; }
.market-options > input:checked + label { background: #d4af37; border-color: #d4af37; color: #0b2545; font-weight: 600; }
.market-options > input:focus-visible + label { outline: 3px solid #fafaf8; outline-offset: 4px; }
.market-drawing { grid-column: 1 / -1; position: relative; margin-top: 20px; }
.market-drawing svg { display: block; width: 100%; }
.active-territory { transition: r .35s ease; }
#market-regional:checked ~ .market-drawing .active-territory { r: 145; }
.radius-caption { position: absolute; left: 0; bottom: 0; padding: 10px 15px 8px 0; background: #0b2545; color: #f6d47c; font: 400 29px/1.3 var(--serif); }
.radius-caption small { display: block; font: 400 10px/1.8 var(--sans); color: #bccddd; }
.regional-caption { display: none; }
#market-regional:checked ~ .market-drawing .local-caption { display: none; }
#market-regional:checked ~ .market-drawing .regional-caption { display: inline; }
.diagram-footnote { font-size: 11px; color: #afc1d1; border-top: 1px solid #40566d; padding-top: 20px; margin: 22px 0 0; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.service-section { padding-block: 95px 75px; }
.service-intro { max-width: 730px; margin-bottom: 48px; }
.service-intro > p:last-child { font-size: 16px; color: #59616a; max-width: 630px; }
.service-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: stretch; }
.service-photograph { margin: 0; position: relative; min-height: 630px; }
.service-photograph img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 50% center; }
.service-photograph figcaption { position: absolute; bottom: 24px; left: 24px; right: 24px; padding: 25px; background: #fafaf8; color: #0b2545; font: 400 25px/1.4 var(--serif); }
.service-sequence { margin: 0; padding: 0; list-style: none; counter-reset: service; }
.service-sequence li { display: flex; gap: 24px; counter-increment: service; border-top: 1px solid #cdd1ce; padding: 23px 0; }
.service-sequence li::before { content: '0' counter(service); font: 400 15px/2 var(--serif); color: #8d7332; }
.service-sequence h3 { font: 400 26px/1.3 var(--serif); margin: 0 0 12px; }
.service-sequence p { font-size: 13px; color: #59616a; line-height: 1.85; margin-bottom: 11px; }
.service-sequence li span { font-size: 10px; font-weight: 600; color: #57636b; }
.service-scope { display: flex; align-items: center; justify-content: space-between; gap: 50px; border-bottom: 1px solid #cdd1ce; padding: 30px 0; }
.service-scope p { font-size: 11px; color: #59616a; max-width: 750px; margin: 0; }
.service-scope a { flex-shrink: 0; }
.accountability { background: #eeeee8; padding-block: 60px; }
.accountability > div { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.accountability h2 { margin: 0; }
.accountability p { font-size: 14px; color: #59616a; }
.investment { padding-block: 95px 85px; }
.investment-heading { display: grid; grid-template-columns: 1.1fr 1fr; gap: 100px; align-items: end; margin-bottom: 38px; }
.investment-heading h2 { margin: 0; }
.investment-heading > p { font-size: 15px; color: #59616a; }
.fees-table { overflow-x: auto; }
.fees-table table { width: 100%; border-collapse: collapse; min-width: 620px; color: #0b2545; }
.fees-table th, .fees-table td { padding: 23px 24px; text-align: left; border-bottom: 1px solid #ccd1cc; }
.fees-table thead th { font-size: 11px; font-weight: 500; line-height: 1.6; background: #eeeee8; }
.fees-table tbody th { font: 400 25px/1.4 var(--serif); width: 40%; }
.fees-table tbody th a { text-decoration: none; }
.fees-table tbody th a:hover { text-decoration: underline; }
.fees-table small { display: block; font: 400 11px/1.8 var(--sans); color: #59616a; margin-top: 4px; }
.fees-table td { font: 400 26px/1.4 var(--serif); }
.fees-table .local-plan { background: #f1eee3; }
.fees-table .local-plan th { box-shadow: inset 3px 0 #d4af37; }
.investment-notes { display: flex; justify-content: space-between; gap: 50px; align-items: start; padding-top: 25px; }
.investment-notes p { font-size: 11px; color: #59616a; max-width: 750px; }
.investment-notes a { flex-shrink: 0; }
.investment-fine { font-size: 10px; color: #59616a; max-width: 750px; }
.consultation-close { background: #0b2545; color: #d0dbe5; padding: 78px 0; border-top: 3px solid #d4af37; }
.consultation-close > div { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 100px; }
.consultation-close h2 { color: #fafaf8; margin-bottom: 0; }
.consultation-close .section-label { color: #e4c56b; }
.consultation-close p { font-size: 15px; }
.consultation-close .button { background: #fafaf8; color: #0b2545; border-color: #fafaf8; margin-top: 10px; }
.consultation-close .button:hover { background: #e8d9a7; }
.consultation-close .close-note { font-size: 10px; color: #aebfd0; margin: 20px 0 0; }
.site-footer { border-top: 1px solid #ffffff20; }
.light-link { color: #fafaf8; border-bottom-color: #d4af37; margin-top: 18px; }
.cta .light-link { color: #0b2545; }
@media (min-width: 1600px) { .opening-copy { padding-right: 80px; } }
@media (max-width: 1100px) {
 .opening { min-height: 620px; grid-template-columns: 56% 44%; }
 .opening-copy { padding: 45px 35px; }
 .opening h1 { font-size: 46px; }
 .opening-description { font-size: 15px; }
 .opening-detail { font-size: 14px; }
 .market-layout,.service-layout { gap: 45px; }
 .opening-actions { gap: 18px; }
 .site-header nav { gap: 17px; }
 .site-header nav a { font-size: 11px; }
 .investment-heading,.consultation-close > div { gap: 45px; }
}
@media (max-width: 920px) {
 .header-inner { min-height: 90px; }
 .brand img { width: 85px; height: 85px; }
 .site-header nav a { font-size: 14px; }
 .opening { display: flex; flex-direction: column; min-height: 0; }
 .opening-copy { padding: 38px 30px; }
 .opening-photo { width: 100%; height: 480px; }
 .opening-photo img { object-position: center 55%; }
 .opening h1 { font-size: 38px; letter-spacing: -.9px; }
 .opening-label { font-size: 11px; }
 .opening-signature { font-size: 16px; }
 .opening-photo figcaption { font-size: 24px; padding: 25px; }
 .offer-strip > div { gap: 24px; }
 .offer-strip p + p { padding-left: 24px; }
 .offer-strip strong { font-size: 12px; }
 .market-layout { grid-template-columns: 1fr; gap: 45px; }
 .market-copy { max-width: 600px; }
 .market-explorer { max-width: 600px; width: 100%; }
 .service-layout { grid-template-columns: .8fr 1fr; gap: 30px; }
 .service-sequence h3 { font-size: 23px; }
 .service-photograph figcaption { left: 14px; right: 14px; bottom: 14px; padding: 20px; font-size: 21px; }
 .service-scope,.investment-notes { flex-direction: column; gap: 15px; }
 .accountability > div { gap: 35px; }
 .investment-heading { gap: 35px; }
}
@media (max-width: 700px) {
 .header-inner { min-height: 84px; }
 .brand img { width: 80px; height: 80px; }
 .opening { display: flex; flex-direction: column; }
 .opening-copy { padding: 34px 24px 30px; }
 .opening-label { font-size: 11px; margin-bottom: 25px; max-width: 310px; }
 .opening h1 { font-size: clamp(36px,9.1vw,52px); line-height: 1.12; margin-bottom: 23px; }
 .opening-description { font-size: 15px; max-width: 340px; }
 .opening-detail { font-size: 13px; }
 .opening-actions { margin-top: 24px; gap: 20px; }
 .iris-home .button { padding: 15px 18px; font-size: 11px; }
 .opening-actions > a:not(.button) { font-size: 11px; }
 .opening-signature { margin-top: 25px !important; font-size: 16px; }
 .opening-photo { height: 340px; width: 100%; }
 .opening-photo img { object-position: center 65%; }
 .opening-photo figcaption { font-size: 23px; padding: 20px 25px; }
 .offer-strip > div { grid-template-columns: 1fr 1fr; gap: 18px; padding-block: 24px; }
 .offer-strip p:first-child { grid-column: 1/-1; padding-bottom: 18px; border-bottom: 1px solid #c8cdc9; }
 .offer-strip p { font-size: 10px; }
 .offer-strip p + p { padding: 0; border: 0; }
 .offer-strip strong { font-size: 11px; }
 .iris-home .market-section { padding: 55px 0; }
 .iris-home h2 { font-size: 33px; letter-spacing: -.6px; }
 .iris-home .section-label { font-size: 11px; margin-bottom: 20px; }
 .market-copy > p { font-size: 14px; }
 .market-copy .market-detail { font-size: 12px; }
 .market-layout { gap: 35px; }
 .diagram-label { font-size: 10px; gap: 12px; }
 .diagram-label span { font-size: 9px; white-space: nowrap; }
 .market-options > label { font-size: 11px; }
 .diagram-footnote { font-size: 10px; }
 .service-section { padding-block: 55px 45px; }
 .service-intro { margin-bottom: 28px; }
 .service-intro > p:last-child { font-size: 14px; }
 .service-layout { display: flex; flex-direction: column; gap: 30px; }
 .service-photograph { min-height: 330px; }
 .service-photograph img { object-position: center 55%; }
 .service-photograph figcaption { font-size: 22px; padding: 18px 22px; max-width: 330px; }
 .service-sequence h3 { font-size: 25px; }
 .service-sequence li { padding: 23px 0; gap: 18px; }
 .service-sequence p { font-size: 13px; }
 .service-scope { padding-top: 12px; }
 .accountability { padding-block: 45px; }
 .accountability > div { grid-template-columns: 1fr; gap: 25px; }
 .accountability p { font-size: 13px; }
 .investment { padding-block: 55px 45px; }
 .investment-heading { grid-template-columns: 1fr; gap: 20px; margin-bottom: 24px; }
 .investment-heading > p { font-size: 13px; }
 .fees-table table { min-width: 0; }
 .fees-table thead { display: none; }
 .fees-table tr { display: grid; grid-template-columns: 1fr 1fr; padding: 21px 16px; border-bottom: 1px solid #ccd1cc; gap: 16px 10px; }
 .fees-table th,.fees-table td { padding: 0; border: 0; }
 .fees-table tbody th { width: auto; font-size: 23px; }
 .fees-table tbody th small { font-size: 10px; }
 .fees-table td { font-size: 24px; }
 .fees-table td:nth-child(2) { text-align: right; }
 .fees-table td:nth-child(2)::after { content: '/ month'; display: block; font: 400 10px/1.7 var(--sans); color: #59616a; }
 .fees-table td:nth-child(3)::before,.fees-table td:nth-child(4)::before { display: block; font: 400 9px/1.8 var(--sans); color: #59616a; }
 .fees-table td:nth-child(3)::before { content: 'First qualifying collections'; }
 .fees-table td:nth-child(4)::before { content: 'Qualifying repeat collections'; }
 .fees-table .local-plan { box-shadow: inset 3px 0 #d4af37; }
 .fees-table .local-plan th { box-shadow: none; }
 .investment-notes { gap: 8px; padding-top: 22px; }
 .investment-fine { margin-top: 18px !important; }
 .consultation-close { padding-block: 50px; }
 .consultation-close > div { grid-template-columns: 1fr; gap: 25px; }
 .consultation-close p { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .active-territory { transition: none; } }
