/* =====================================================================================================================
   STRATEGIC LABS — V5 HOME OPENING REBUILD (loaded last)
   Owner directive: a responsive-IMPLEMENTATION study of https://reyiada.com/ (structure/UX discipline only — no
   Strategic Labs brand/visual/code copied) applied to HomeMaster's three opening chapters. The old approach made
   the proof/practices bands LOOK independent at <=1199 via full-bleed calc(50%-50vw) breakouts and !important
   overrides while they stayed DOM descendants of <section class="hm-hero">. HomeMaster.tsx now renders three real
   sibling <section> elements (.hm-hero-cover / .hm-proof / .hm-practices-strip) inside one positioning wrapper
   (.hm-opening, which still carries hm-hero/hm-hero--owner so every desktop selector keeps matching unchanged).
   This file is the single, consolidated <=1199 composition for that wrapper.

   SPECIFICITY NOTE (root cause of the "giant rounded box" / "excess empty space" rejection): because `.hm-opening`
   still carries `hm-hero--owner` for desktop compatibility, every UNSCOPED desktop rule written as
   `.hm-hero--owner .hm-metrics` / `.hm-hero--owner .hm-strip` (m6-correction.css, 2-class specificity) still matches
   at every width. A same-property override written as a single bare class (`.hm-metrics {...}`) LOSES that
   specificity fight regardless of load order, so the desktop glass-panel `.hm-strip` background/border/blur and the
   desktop `.hm-metrics` margin/padding/border-top were bleeding straight through to mobile/tablet. Every selector
   below that restyles a desktop-authority element is therefore written as `.hm-proof .X` / `.hm-practices-strip .X`
   (2-class minimum) so it matches or beats the desktop rule's specificity and wins on load order.
   Breakpoints (the R1 system, unchanged):
     phone        <=599px      · tablet portrait  600–899px
     large tablet 900–1199px   · desktop          >=1200px (untouched)
   ===================================================================================================================== */

/* ---------------------------------------------------------------------------------------------------------------------
   DESKTOP SAFETY SHIMS — the only >=1200 rules in this file.
   --------------------------------------------------------------------------------------------------------------------- */
@media (min-width: 1200px) {
  .hm-practices-strip__eyebrow, .hm-proof__eyebrow { display: none; }
  .hm-opening .hm-proof .hm-metrics { max-inline-size: 40rem; }
}

/* =========================================================================
   A. WRAPPER — natural stacking, no forced viewport-height, no full-bleed
   ========================================================================= */
@media (max-width: 1199px) {
  .hm-opening {
    display: block; min-block-size: 0;
    margin-block-start: calc(-1 * var(--header-h)); padding-block-start: var(--header-h);
  }
  .hm-opening .hm-hero__scene {
    position: absolute; inset-inline: 0; inset-block-start: 0; inset-block-end: auto;
    block-size: var(--hm-cover-h, clamp(560px, 78vh, 720px));
  }
}

/* =========================================================================
   B. HERO COVER — content-only chapter; finishes completely before PROOF
   ========================================================================= */
@media (max-width: 1199px) {
  .hm-hero-cover {
    position: relative; z-index: 1;
    display: flex; align-items: flex-end;
    min-block-size: var(--hm-cover-h, clamp(560px, 78vh, 720px));
    padding-block: clamp(2.5rem, 2rem + 2vw, 3.5rem) clamp(2.25rem, 1.8rem + 1.5vw, 3rem);
  }
  /* Art direction: source photo (owner-hero, 1600x900) has the executive subject at ~22-30%
     of its width, the Kingdom Tower landmark at ~51-57%. At these narrow/tall aspect ratios
     object-fit:cover is height-constrained, so only the horizontal component of
     object-position matters. 32% keeps the subject in frame and still reaches the tower —
     echoing desktop's subject-led 24% composition instead of centering on the tower alone. */
  .hm-opening .hm-hero__scene img { object-position: 32% 50% !important; }
  .hm-opening .hm-hero__scene::after {
    background:
      linear-gradient(to top, rgba(4,17,15,.86) 0%, rgba(4,17,15,.5) 38%, rgba(4,17,15,.12) 68%, rgba(4,17,15,0) 82%),
      linear-gradient(to bottom, rgba(4,17,15,.5) 0%, rgba(4,17,15,0) 26%) !important;
  }
  /* `.hm-hero__grid` carried the desktop 6fr/6fr column split, confining `.hm-hero__copy` to
     the right half of the screen — collapse to one column and let `.wrap`'s normal centered
     gutter (the same mechanism every other section already uses) apply, plus a touch of
     extra inline padding so the block reads as deliberately composed, not edge-to-edge. */
  .hm-hero-cover .hm-hero__grid { display: block; padding-inline: clamp(2px, 2vw, 10px); }
  .hm-hero-cover .hm-hero__copy { grid-column: auto; max-inline-size: 100%; }
  .hm-hero-cover .hm-hero__eyebrow { margin-block-end: .9rem; }
  .hm-hero-cover .hm-hero__title {
    font-size: clamp(2.15rem, 1.55rem + 4.2vw, 2.65rem); line-height: 1.32; letter-spacing: -.01em;
    max-inline-size: 13.5ch;
  }
  .hm-hero-cover .hm-hero__lead { margin-top: .9rem; max-inline-size: 30ch; font-size: .98rem; line-height: 1.7; }
  .hm-hero-cover .hm-hero__actions {
    display: flex; flex-direction: column; align-items: stretch; gap: .85rem;
    margin-top: 1.75rem;
  }
  .hm-hero-cover .hm-hero__actions .btn { inline-size: auto; }
  .hm-hero-cover .hm-hero__actions .btn--primary {
    min-block-size: 54px; padding-inline: 1.7rem; font-size: 1rem; align-self: flex-start;
  }
  /* Secondary CTA — a real premium glass pill, paired with the primary as one action group,
     not plain underlined text. Selector must out-specificity the desktop authority rule
     `.hm .section--dark .hm-hero__btn.btn--ghost` (4 classes: m6-correction.css) — same
     bleed-through class of bug as .hm-strip / .hm-metrics above. */
  .hm-opening .hm-hero-cover .hm-hero__actions .hm-hero__btn.btn--ghost {
    align-self: flex-start;
    display: inline-flex; align-items: center; gap: .6rem;
    min-block-size: 50px; padding-inline: 1.4rem;
    border-radius: var(--r-pill, 999px);
    border: 1px solid rgba(174,226,209,.38);
    background: rgba(8,28,25,.4); backdrop-filter: blur(14px) saturate(1.2); -webkit-backdrop-filter: blur(14px) saturate(1.2);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 26px rgba(0,0,0,.22);
    font-size: .94rem; font-weight: 600; color: var(--on-dark, #F2F8F5);
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
  }
  .hm-opening .hm-hero-cover .hm-hero__actions .hm-hero__btn.btn--ghost:hover,
  .hm-opening .hm-hero-cover .hm-hero__actions .hm-hero__btn.btn--ghost:focus-visible {
    background: rgba(174,226,209,.14); border-color: rgba(174,226,209,.55); transform: translateY(-1px);
  }
  .hm-hero-cover .hm-hero__btn-ico { display: inline-grid; place-items: center; inline-size: 18px; block-size: 18px; color: var(--mint, #AEE2D1); }
  .hm-hero-cover .hm-hero__btn-ico .hm-ico { inline-size: 16px; block-size: 16px; }
  .hm-hero-cover .hm-hero__actions .btn--primary .hm-hero__btn-ico { display: none; }
}
@media (min-width: 600px) and (max-width: 1199px) {
  .hm-hero-cover { min-block-size: var(--hm-cover-h, clamp(620px, 74vh, 760px)); padding-block-end: clamp(2.5rem, 2rem + 2vw, 3.5rem); }
  .hm-hero-cover .hm-hero__grid { max-inline-size: 62%; }
  .hm-hero-cover .hm-hero__title { font-size: clamp(2.75rem, 1.9rem + 3.4vw, 3.6rem); max-inline-size: 12ch; }
  .hm-hero-cover .hm-hero__lead { max-inline-size: 40ch; font-size: 1.05rem; }
  .hm-hero-cover .hm-hero__actions { flex-direction: row; align-items: center; gap: 1.1rem; }
  .hm-hero-cover .hm-hero__actions .btn--primary { min-block-size: 56px; }
  .hm-hero-cover .hm-hero__actions .btn--ghost { min-block-size: 56px; }
}

/* =========================================================================
   C. PROOF / STATISTICS — premium annual-report proof block
   ========================================================================= */
@media (max-width: 1199px) {
  .hm-proof {
    position: relative; z-index: 1;
    background: var(--paper-2, #F3F6F3);
    padding-block: clamp(3rem, 2.5rem + 2vw, 4rem);
  }
  .hm-proof .hm-proof__eyebrow {
    display: flex; align-items: center; gap: .7rem;
    margin: 0 0 1.75rem; color: var(--brand-deep, #1A4B44); letter-spacing: .14em;
  }
  .hm-proof .hm-proof__eyebrow::before {
    content: ""; inline-size: 28px; block-size: 3px; border-radius: 2px;
    background: var(--brand, #44BCA7); flex: none;
  }
  /* No folio counters — Owner ruling: they added noise without improving the composition.
     The numbers themselves, tied together by rule + baseline + spacing, are the authority. */
  .hm-proof .hm-metrics {
    display: grid; grid-template-columns: 1fr 1fr; grid-template-areas: "lead lead" "b c";
    column-gap: 1.5rem; row-gap: 0;
    margin: 0; padding: 1.5rem 0 0; border: 0; border-block-start: 1px solid rgba(26,75,68,.18);
  }
  .hm-proof .hm-metrics__item { display: block; padding: 0; border: 0; text-align: start; }
  .hm-proof .hm-metrics b { display: block; line-height: 1.05; color: inherit; }
  .hm-proof .hm-metrics__item > span { display: block; margin-top: .5rem; line-height: 1.4; color: var(--ink-700, #2E4440); }
  .hm-proof .hm-metrics__item:nth-child(1) {
    grid-area: lead; padding-block-end: 1.65rem; margin-block-end: 1.65rem;
    border-block-end: 2px solid var(--brand, #44BCA7);
  }
  .hm-proof .hm-metrics__item:nth-child(1) b { font-size: clamp(3.1rem, 2.3rem + 5vw, 3.9rem); color: var(--ink-900, #071614); letter-spacing: -.015em; }
  .hm-proof .hm-metrics__item:nth-child(1) > span { font-size: .98rem; font-weight: 600; color: var(--ink-700, #2E4440); margin-top: .55rem; }
  .hm-proof .hm-metrics__item:nth-child(2) { grid-area: b; }
  .hm-proof .hm-metrics__item:nth-child(3) { grid-area: c; padding-inline-start: 1.25rem; border-inline-start: 1px solid rgba(26,75,68,.16); }
  .hm-proof .hm-metrics__item:nth-child(2) b, .hm-proof .hm-metrics__item:nth-child(3) b {
    font-size: clamp(1.6rem, 1.25rem + 1.7vw, 1.9rem); color: var(--brand-deep, #1A4B44);
  }
  .hm-proof .hm-metrics__item:nth-child(2) > span, .hm-proof .hm-metrics__item:nth-child(3) > span {
    font-size: .8rem; color: var(--ink-700, #2E4440); opacity: .85;
  }
}
@media (min-width: 600px) and (max-width: 1199px) {
  /* Tablet: a stronger horizontal editorial grid — three peers on one baseline, framed by a
     single rule above and below like a bounded annual-report spread. */
  .hm-proof { padding-block: clamp(3.5rem, 3rem + 2vw, 4.5rem); }
  .hm-proof .hm-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-areas: none;
    column-gap: clamp(2.25rem, 1.75rem + 2vw, 4rem); row-gap: 0;
    padding-block: 1.75rem; border-block: 1px solid rgba(26,75,68,.18);
  }
  /* nth-child(1/2/3) each carry an explicit grid-area from the phone rule above — grid-area
     is not cleared by grid-template-areas:none, so it must be reset per item here or the
     three stats collapse into the same auto-placed cell and overlap. */
  .hm-proof .hm-metrics__item, .hm-proof .hm-metrics__item:nth-child(1), .hm-proof .hm-metrics__item:nth-child(2), .hm-proof .hm-metrics__item:nth-child(3) {
    grid-area: auto; grid-column: auto; grid-row: auto;
  }
  .hm-proof .hm-metrics__item {
    padding-inline-start: clamp(1.5rem, 1rem + 2vw, 2.5rem);
    border-inline-start: 1px solid rgba(26,75,68,.16);
  }
  .hm-proof .hm-metrics__item:first-child { padding-inline-start: 0; border-inline-start: 0; }
  .hm-proof .hm-metrics__item:nth-child(1) { padding-block-end: 0; border-block-end: 0; margin-block-end: 0; }
  .hm-proof .hm-metrics__item:nth-child(1) b { font-size: clamp(2.6rem, 2rem + 2.4vw, 3.2rem); }
  .hm-proof .hm-metrics__item:nth-child(1) > span { font-size: .94rem; }
  .hm-proof .hm-metrics__item:nth-child(2) b, .hm-proof .hm-metrics__item:nth-child(3) b { font-size: clamp(2.2rem, 1.7rem + 2vw, 2.75rem); color: var(--ink-900, #071614); }
  .hm-proof .hm-metrics__item:nth-child(2) > span, .hm-proof .hm-metrics__item:nth-child(3) > span { font-size: .92rem; opacity: 1; }
  .hm-proof .hm-metrics__item:nth-child(3) { padding-inline-start: clamp(1.5rem, 1rem + 2vw, 2.5rem); }
}

/* =========================================================================
   D. PRACTICES — premium editorial service index, no cards, no glass panel
   ========================================================================= */
@media (max-width: 1199px) {
  .hm-practices-strip {
    position: relative; z-index: 1;
    padding-block: 3.5rem 3rem;
    background:
      radial-gradient(65% 55% at 50% 0%, rgba(21,112,94,.28) 0%, transparent 65%),
      linear-gradient(to bottom, var(--hm-night-2, #071F1D), var(--hm-night, #04110F));
  }
  .hm-practices-strip .hm-practices-strip__eyebrow {
    display: block; margin: 0 0 1.25rem; color: var(--mint, #AEE2D1); letter-spacing: .14em;
  }
  /* Strip the desktop glass panel — no rounded box, no blur, no border, no background.
     The list lives directly on the section's own dark ground, held together only by rules. */
  .hm-practices-strip .hm-strip {
    list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0;
    background: none; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none;
  }
  .hm-practices-strip .hm-strip > li { border: 0; }
  .hm-practices-strip .hm-strip > li + li { border-inline-start: 0; }
  /* featured (first) — icon, folio, title, description, cue; closing rule only */
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__item {
    display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto auto;
    column-gap: 1.1rem; row-gap: .65rem; align-items: start; min-block-size: 0;
    padding: 0 0 2.25rem; border: 0; border-radius: 0; background: none;
    border-block-end: 1px solid rgba(174,226,209,.18);
  }
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__n {
    grid-column: 2; grid-row: 1; font-size: .78rem; font-weight: 700; letter-spacing: .13em;
    color: var(--mint, #AEE2D1); opacity: .85;
  }
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__ico {
    grid-column: 1; grid-row: 1 / span 2; inline-size: 30px; block-size: 30px;
    border: 0; border-radius: 0; background: none; color: var(--mint, #AEE2D1);
  }
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__name { grid-column: 2; grid-row: 2; font-size: 1.3rem; font-weight: 800; line-height: 1.32; color: var(--white, #fff); }
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__desc {
    display: block; grid-column: 1 / -1; grid-row: 3; font-size: .93rem; line-height: 1.68;
    color: var(--on-dark-soft, rgba(242,248,245,.7));
  }
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__arrow {
    grid-column: 1 / -1; grid-row: 4; justify-self: start; margin-top: .2rem;
    display: inline-flex; inline-size: auto; block-size: auto; border: 0; background: none;
    color: var(--mint, #AEE2D1); transform: scaleX(-1);
  }
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__arrow .hm-ico { inline-size: 18px; block-size: 18px; }
  /* supporting — small refined folio numbers, no icons, generous row rhythm, thin dividers */
  .hm-practices-strip .hm-strip > li:not(:first-child) { border-block-end: 1px solid rgba(174,226,209,.13); }
  .hm-practices-strip .hm-strip > li:not(:first-child) .hm-strip__item {
    display: grid; grid-template-columns: 2.2rem 1fr auto; align-items: center;
    min-block-size: 0; padding: 1.6rem 0; border: 0; border-radius: 0; background: none;
  }
  .hm-practices-strip .hm-strip > li:not(:first-child) .hm-strip__n {
    display: block; font-size: .82rem; font-weight: 700; letter-spacing: .08em; line-height: 1;
    font-family: var(--font-lat, Arial, sans-serif); direction: ltr;
    color: var(--mint, #AEE2D1); opacity: .65;
  }
  .hm-practices-strip .hm-strip > li:not(:first-child) .hm-strip__ico { display: none; }
  .hm-practices-strip .hm-strip > li:not(:first-child) .hm-strip__name { font-size: 1.04rem; font-weight: 700; line-height: 1.4; align-self: center; color: var(--white, #fff); }
  .hm-practices-strip .hm-strip > li:not(:first-child) .hm-strip__desc { display: none; }
  .hm-practices-strip .hm-strip > li:not(:first-child) .hm-strip__arrow {
    display: inline-flex; inline-size: auto; block-size: auto; border: 0; background: none;
    color: var(--on-dark-muted, rgba(242,248,245,.4)); transform: scaleX(-1);
  }
  .hm-practices-strip .hm-strip > li:not(:first-child) .hm-strip__arrow .hm-ico { inline-size: 15px; block-size: 15px; }
}
@media (min-width: 600px) and (max-width: 1199px) {
  /* Tablet: asymmetric premium composition — featured practice spans full width, supporting
     practices become a structured two-column list beneath it. */
  .hm-practices-strip { padding-block: 4rem 3.5rem; }
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__item {
    grid-template-columns: auto auto 1fr; grid-template-rows: auto auto; column-gap: 1.25rem; padding-block-end: 2.5rem;
  }
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__ico { grid-column: 1; grid-row: 1 / span 2; inline-size: 34px; block-size: 34px; }
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__n { grid-column: 2; grid-row: 1; align-self: end; }
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__name { grid-column: 2 / -1; grid-row: 2; font-size: 1.5rem; }
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__desc { grid-column: 2 / -1; grid-row: 3; max-inline-size: 62ch; }
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__arrow { grid-column: 2 / -1; grid-row: 4; }
  .hm-practices-strip .hm-strip { display: grid; grid-template-columns: 1fr 1fr; column-gap: clamp(2rem, 1.6rem + 2vw, 3rem); row-gap: 0; }
  .hm-practices-strip .hm-strip > li:first-child { grid-column: 1 / -1; }
  .hm-practices-strip .hm-strip > li:not(:first-child) .hm-strip__item { padding-block: 1.4rem; }
  /* explicit RTL placement — grid auto-placement does not reliably follow dir="rtl" reading order */
  .hm-practices-strip .hm-strip > li:nth-child(2) { grid-column: 1; grid-row: 2; }
  .hm-practices-strip .hm-strip > li:nth-child(3) { grid-column: 1; grid-row: 3; }
  .hm-practices-strip .hm-strip > li:nth-child(4) { grid-column: 2; grid-row: 2; }
  .hm-practices-strip .hm-strip > li:nth-child(5) { grid-column: 2; grid-row: 3; }
}

/* =========================================================================
   E. FOOT — the micro-label / brand-cross closing row
   ========================================================================= */
@media (max-width: 599px) {
  .hm-opening .hm-hero__foot { padding-block: .9rem 1rem; }
  .hm-opening .hm-hero__tag { font-size: .72rem; }
  .hm-opening .hm-hero__tag::before, .hm-opening .hm-hero__foot-mark::after { inline-size: 22px; }
}


/* =========================================================================
   OWNER DIRECT FINAL PASS - 2026-09-19
   Mobile/tablet translation of the approved V002 desktop language.
   Desktop >=1200 is intentionally untouched.
   ========================================================================= */
@media (max-width: 1199px) {
  .hm-opening { --hm-cover-h: clamp(590px, 76vh, 720px); }

  .hm-hero-cover {
    min-block-size: var(--hm-cover-h);
    padding-block: 2.25rem 2.5rem;
  }
  .hm-opening .hm-hero__scene {
    block-size: var(--hm-cover-h);
  }
  .hm-opening .hm-hero__scene img {
    object-position: 28% 50% !important;
  }
  .hm-opening .hm-hero__scene::after {
    background:
      linear-gradient(90deg, rgba(4,17,15,.06) 0%, rgba(4,17,15,.16) 40%, rgba(4,17,15,.58) 100%),
      linear-gradient(to top, rgba(4,17,15,.90) 0%, rgba(4,17,15,.40) 42%, rgba(4,17,15,.08) 72%, rgba(4,17,15,.18) 100%) !important;
  }

  .hm-hero-cover .hm-hero__grid {
    display: block;
    width: 100%;
    max-inline-size: none;
    padding-inline: clamp(18px, 5vw, 34px);
  }
  .hm-hero-cover .hm-hero__copy {
    max-inline-size: 35rem;
    margin-inline: auto;
    text-align: right;
  }
  .hm-hero-cover .hm-hero__eyebrow {
    margin-block-end: .75rem;
  }
  .hm-hero-cover .hm-hero__title {
    max-inline-size: none;
    font-size: clamp(2.05rem, 7.9vw, 3.35rem);
    line-height: 1.15;
    letter-spacing: -.025em;
    text-wrap: balance;
  }
  .hm-hero-cover .hm-hero__accent {
    display: block;
    margin-block-start: .08em;
  }
  .hm-hero-cover .hm-hero__lead {
    max-inline-size: 34rem;
    margin-top: 1rem;
    font-size: clamp(.91rem, 2.5vw, 1.04rem);
    line-height: 1.75;
    color: rgba(242,248,245,.86);
  }
  .hm-hero-cover .hm-hero__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
    margin-top: 1.45rem;
  }
  .hm-hero-cover .hm-hero__actions .btn,
  .hm-opening .hm-hero-cover .hm-hero__actions .hm-hero__btn.btn--ghost {
    width: 100%;
    min-block-size: 52px;
    align-self: stretch;
    justify-content: center;
    padding-inline: 1rem;
    border-radius: 999px;
    font-size: .9rem;
    white-space: nowrap;
  }
  .hm-opening .hm-hero-cover .hm-hero__actions .hm-hero__btn.btn--ghost {
    border: 1px solid rgba(174,226,209,.36);
    background: linear-gradient(180deg, rgba(24,59,53,.54), rgba(7,27,24,.38));
    backdrop-filter: blur(16px) saturate(1.18);
    -webkit-backdrop-filter: blur(16px) saturate(1.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 10px 28px rgba(0,0,0,.20);
  }

  .hm-proof {
    background:
      radial-gradient(110% 120% at 100% 0%, rgba(68,188,167,.09), transparent 52%),
      linear-gradient(180deg, #08201d 0%, #061714 100%);
    color: #f2f8f5;
    padding-block: 2.35rem 2.5rem;
    border-block: 1px solid rgba(174,226,209,.16);
  }
  .hm-proof .hm-proof__eyebrow {
    margin: 0 0 1.35rem;
    color: #aee2d1;
    font-size: .76rem;
    letter-spacing: .12em;
  }
  .hm-proof .hm-proof__eyebrow::before {
    inline-size: 28px;
    block-size: 1px;
    background: rgba(174,226,209,.7);
  }
  .hm-proof .hm-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    grid-template-areas: none;
    gap: 0;
    margin: 0;
    padding: 1.35rem 0;
    border: 0;
    border-block: 1px solid rgba(174,226,209,.18);
  }
  .hm-proof .hm-metrics__item,
  .hm-proof .hm-metrics__item:nth-child(1),
  .hm-proof .hm-metrics__item:nth-child(2),
  .hm-proof .hm-metrics__item:nth-child(3) {
    grid-area: auto;
    margin: 0;
    padding: .15rem .75rem;
    border: 0;
    text-align: center;
  }
  .hm-proof .hm-metrics__item + .hm-metrics__item {
    border-inline-start: 1px solid rgba(174,226,209,.15);
  }
  .hm-proof .hm-metrics b,
  .hm-proof .hm-metrics__item:nth-child(1) b,
  .hm-proof .hm-metrics__item:nth-child(2) b,
  .hm-proof .hm-metrics__item:nth-child(3) b {
    display: block;
    font-size: clamp(1.55rem, 5.8vw, 2.25rem);
    line-height: 1;
    letter-spacing: -.025em;
    color: #f4fbf8;
  }
  .hm-proof .hm-metrics__item:nth-child(2) b {
    color: #aee2d1;
  }
  .hm-proof .hm-metrics__item > span,
  .hm-proof .hm-metrics__item:nth-child(1) > span,
  .hm-proof .hm-metrics__item:nth-child(2) > span,
  .hm-proof .hm-metrics__item:nth-child(3) > span {
    display: block;
    margin-top: .6rem;
    font-size: clamp(.66rem, 2.15vw, .82rem);
    line-height: 1.45;
    font-weight: 500;
    color: rgba(242,248,245,.72);
    opacity: 1;
  }

  .hm-practices-strip {
    padding-block: 3.1rem 3.25rem;
    background:
      radial-gradient(80% 55% at 100% 0%, rgba(68,188,167,.14), transparent 58%),
      linear-gradient(180deg, #061714 0%, #04110f 100%);
  }
  .hm-practices-strip .hm-practices-strip__eyebrow {
    margin: 0 0 1rem;
    color: #aee2d1;
    font-size: .76rem;
    letter-spacing: .12em;
  }
  .hm-practices-strip .hm-strip {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    border-radius: 0;
  }
  .hm-practices-strip .hm-strip > li {
    position: relative;
    border: 0;
    border-block-start: 1px solid rgba(174,226,209,.14);
  }
  .hm-practices-strip .hm-strip > li:last-child {
    border-block-end: 1px solid rgba(174,226,209,.14);
  }
  .hm-practices-strip .hm-strip .hm-strip__item,
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__item,
  .hm-practices-strip .hm-strip > li:not(:first-child) .hm-strip__item {
    display: grid;
    grid-template-columns: 2.25rem 2rem minmax(0,1fr) 1.25rem;
    grid-template-rows: auto auto;
    column-gap: .65rem;
    row-gap: .38rem;
    align-items: center;
    min-block-size: 0;
    padding: 1.35rem 0;
    border: 0;
    background: transparent;
    border-radius: 0;
  }
  .hm-practices-strip .hm-strip .hm-strip__n,
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__n,
  .hm-practices-strip .hm-strip > li:not(:first-child) .hm-strip__n {
    display: block;
    grid-column: 1;
    grid-row: 1;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .10em;
    color: rgba(174,226,209,.72);
    opacity: 1;
  }
  .hm-practices-strip .hm-strip .hm-strip__ico,
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__ico,
  .hm-practices-strip .hm-strip > li:not(:first-child) .hm-strip__ico {
    display: grid;
    grid-column: 2;
    grid-row: 1;
    place-items: center;
    inline-size: 28px;
    block-size: 28px;
    border: 0;
    border-radius: 0;
    background: none;
    color: #aee2d1;
  }
  .hm-practices-strip .hm-strip .hm-strip__ico .hm-ico {
    inline-size: 20px;
    block-size: 20px;
  }
  .hm-practices-strip .hm-strip .hm-strip__name,
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__name,
  .hm-practices-strip .hm-strip > li:not(:first-child) .hm-strip__name {
    grid-column: 3;
    grid-row: 1;
    font-size: clamp(1rem, 3.5vw, 1.18rem);
    font-weight: 750;
    line-height: 1.38;
    color: #fff;
  }
  .hm-practices-strip .hm-strip .hm-strip__desc,
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__desc {
    display: block;
    grid-column: 2 / 4;
    grid-row: 2;
    margin: 0;
    max-inline-size: 48ch;
    font-size: .82rem;
    line-height: 1.65;
    color: rgba(242,248,245,.62);
  }
  .hm-practices-strip .hm-strip > li:not(:first-child) .hm-strip__desc {
    display: none;
  }
  .hm-practices-strip .hm-strip .hm-strip__arrow,
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__arrow,
  .hm-practices-strip .hm-strip > li:not(:first-child) .hm-strip__arrow {
    display: grid;
    grid-column: 4;
    grid-row: 1;
    place-items: center;
    inline-size: 20px;
    block-size: 20px;
    margin: 0;
    color: rgba(174,226,209,.68);
    transform: scaleX(-1);
  }
  .hm-practices-strip .hm-strip__item:hover {
    background: linear-gradient(90deg, transparent, rgba(68,188,167,.05));
  }
}

@media (max-width: 359px) {
  .hm-hero-cover .hm-hero__actions { grid-template-columns: 1fr; }
  .hm-proof .hm-metrics { grid-template-columns: 1fr; }
  .hm-proof .hm-metrics__item + .hm-metrics__item {
    border-inline-start: 0;
    border-block-start: 1px solid rgba(174,226,209,.15);
    margin-top: 1rem;
    padding-top: 1rem;
  }
}

@media (min-width: 600px) and (max-width: 1199px) {
  .hm-opening { --hm-cover-h: clamp(640px, 72vh, 760px); }
  .hm-hero-cover .hm-hero__grid { padding-inline: clamp(28px, 5vw, 58px); }
  .hm-hero-cover .hm-hero__copy {
    max-inline-size: min(36rem, 58vw);
    margin-inline-start: auto;
    margin-inline-end: 0;
  }
  .hm-hero-cover .hm-hero__title { font-size: clamp(2.75rem, 5.7vw, 4.15rem); }
  .hm-hero-cover .hm-hero__actions { max-inline-size: 31rem; }
  .hm-proof { padding-block: 3rem; }
  .hm-proof .hm-metrics { padding-block: 1.6rem; }
  .hm-proof .hm-metrics__item,
  .hm-proof .hm-metrics__item:nth-child(1),
  .hm-proof .hm-metrics__item:nth-child(2),
  .hm-proof .hm-metrics__item:nth-child(3) {
    padding-inline: 1.4rem;
  }
  .hm-proof .hm-metrics b,
  .hm-proof .hm-metrics__item:nth-child(1) b,
  .hm-proof .hm-metrics__item:nth-child(2) b,
  .hm-proof .hm-metrics__item:nth-child(3) b {
    font-size: clamp(2rem, 4.1vw, 3.1rem);
  }
  .hm-practices-strip { padding-block: 3.8rem 4rem; }
  .hm-practices-strip .hm-strip {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: clamp(2rem, 4vw, 4rem);
  }
  .hm-practices-strip .hm-strip > li:first-child {
    grid-column: 1 / -1;
  }
  .hm-practices-strip .hm-strip > li:nth-child(2),
  .hm-practices-strip .hm-strip > li:nth-child(3),
  .hm-practices-strip .hm-strip > li:nth-child(4),
  .hm-practices-strip .hm-strip > li:nth-child(5) {
    grid-column: auto;
    grid-row: auto;
  }
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__item {
    padding-block: 1.75rem 2rem;
  }
  .hm-practices-strip .hm-strip > li:first-child .hm-strip__name {
    font-size: 1.35rem;
  }
}



/* Owner-direct geometry safeguards */
@media (max-width: 1199px) {
  .hm-hero-cover .hm-hero__title { padding-block: .08em .12em; }
}
@media (min-width: 360px) and (max-width: 374px) {
  .hm-proof .hm-metrics__item:nth-child(2) b,
  .hm-proof .hm-metrics__item:nth-child(3) b { font-size: 1.42rem; }
}



@media (min-width: 600px) and (max-width: 1199px) {
  .hm-hero-cover .hm-hero__title { padding-block: .14em .18em; }
  .hm-proof .hm-metrics b,
  .hm-proof .hm-metrics__item:nth-child(1) b,
  .hm-proof .hm-metrics__item:nth-child(2) b,
  .hm-proof .hm-metrics__item:nth-child(3) b {
    line-height: 1.12;
    padding-block: .04em .08em;
  }
}



/* =========================================================================
   OWNER DESKTOP RESTORE - approved V002 visual language
   Current separated DOM is visually recomposed back into the original
   desktop Hero/metrics/practices treatment without touching mobile/tablet.
   ========================================================================= */
@media (min-width: 1200px) {
  .hm-opening.hm-hero--owner {
    position: relative;
    overflow: clip;
    min-block-size: 860px;
    padding-block: 0 1.25rem;
    background: #04110f;
  }

  .hm-opening.hm-hero--owner > .hm-hero__scene {
    position: absolute;
    inset: 0;
    block-size: 100%;
    z-index: 0;
  }

  .hm-opening.hm-hero--owner > .hm-hero-cover {
    position: relative;
    z-index: 1;
    padding: 0;
    background: transparent;
  }

  .hm-opening.hm-hero--owner .hm-hero-cover .hm-hero__grid {
    min-block-size: 470px;
    grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
    align-content: center;
    padding-block: clamp(2rem, 4vh, 3.5rem) 1.5rem;
  }

  .hm-opening.hm-hero--owner .hm-hero-cover .hm-hero__copy {
    grid-column: 1;
    max-inline-size: 610px;
  }

  .hm-opening.hm-hero--owner > .hm-proof,
  .hm-opening.hm-hero--owner > .hm-practices-strip {
    position: relative;
    z-index: 1;
    background: transparent;
    border: 0;
  }

  .hm-opening.hm-hero--owner > .hm-proof {
    padding: 0;
  }

  .hm-opening.hm-hero--owner > .hm-proof .hm-proof__eyebrow,
  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-practices-strip__eyebrow {
    display: none;
  }

  .hm-opening.hm-hero--owner > .hm-proof .hm-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 0 0 .55rem;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .hm-opening.hm-hero--owner > .hm-proof .hm-metrics__item {
    padding: .4rem clamp(1rem, 2vw, 2rem) .65rem;
    text-align: center;
    border: 0;
  }

  .hm-opening.hm-hero--owner > .hm-proof .hm-metrics b {
    display: block;
    font-size: clamp(2.4rem, 3vw, 3.6rem);
    line-height: 1;
    letter-spacing: -.035em;
    color: #fff;
  }

  .hm-opening.hm-hero--owner > .hm-proof .hm-metrics__item > span {
    display: block;
    margin-top: .5rem;
    font-size: .82rem;
    color: rgba(242,248,245,.76);
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip {
    padding: 0;
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-hero__strip {
    padding: 0;
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    overflow: clip;
    border-radius: 22px;
    border: 1px solid rgba(174,226,209,.24);
    background: rgba(4,17,15,.40);
    backdrop-filter: blur(22px) saturate(1.28);
    -webkit-backdrop-filter: blur(22px) saturate(1.28);
    box-shadow: 0 30px 80px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06);
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip > li {
    border: 0;
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip > li + li {
    border-inline-start: 1px solid rgba(174,226,209,.16);
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__item {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    grid-template-rows: auto auto auto;
    column-gap: .8rem;
    row-gap: .35rem;
    align-items: start;
    min-block-size: 260px;
    padding: 1rem 1.1rem 1.15rem;
    background: transparent;
    border: 0;
    border-radius: 0;
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__n {
    grid-column: 2;
    grid-row: 1;
    display: block;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .15em;
    color: #44bca7;
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__ico {
    grid-column: 1;
    grid-row: 1 / span 2;
    display: grid;
    place-items: center;
    inline-size: 44px;
    block-size: 44px;
    border-radius: 12px;
    border: 1px solid rgba(174,226,209,.30);
    color: #aee2d1;
    background: rgba(68,188,167,.07);
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__name {
    grid-column: 2;
    grid-row: 2;
    font-size: .92rem;
    font-weight: 750;
    line-height: 1.35;
    color: #fff;
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__desc {
    display: block;
    grid-column: 1 / -1;
    grid-row: 3;
    margin-top: .65rem;
    font-size: .88rem;
    line-height: 1.75;
    color: rgba(242,248,245,.84);
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__arrow {
    grid-column: 3;
    grid-row: 1 / span 2;
    display: grid;
    place-items: center;
    inline-size: 30px;
    block-size: 30px;
    border-radius: 50%;
    border: 1px solid rgba(174,226,209,.28);
    color: #aee2d1;
  }

  .hm-opening.hm-hero--owner > .hm-hero__foot {
    position: relative;
    z-index: 1;
    margin-top: 1rem;
  }
}



/* =========================================================================
   OWNER DIRECT — DESKTOP PRACTICES: TITLES ONLY
   Hide body copy and re-balance the five glass columns.
   ========================================================================= */
@media (min-width: 1200px) {
  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__desc {
    display: none !important;
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip {
    min-block-size: 184px;
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__item {
    min-block-size: 184px;
    grid-template-columns: auto minmax(0,1fr) auto;
    grid-template-rows: auto auto 1fr;
    align-content: center;
    align-items: center;
    column-gap: .9rem;
    row-gap: .65rem;
    padding: 1.35rem 1.2rem 1.45rem;
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__n {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    font-size: .66rem;
    letter-spacing: .18em;
    opacity: .82;
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__ico {
    grid-column: 1;
    grid-row: 1 / span 2;
    inline-size: 46px;
    block-size: 46px;
    border-radius: 14px;
    background:
      linear-gradient(180deg, rgba(68,188,167,.14), rgba(68,188,167,.05));
    border: 1px solid rgba(174,226,209,.34);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.06),
      0 10px 24px rgba(0,0,0,.14);
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__name {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    max-inline-size: 16ch;
    font-size: clamp(.95rem, .8rem + .25vw, 1.08rem);
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: -.01em;
    color: #fff;
    text-wrap: balance;
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__arrow {
    grid-column: 3;
    grid-row: 1 / span 2;
    align-self: center;
    inline-size: 32px;
    block-size: 32px;
    border-color: rgba(174,226,209,.26);
    background: rgba(4,17,15,.22);
    transition:
      transform .25s ease,
      border-color .25s ease,
      background .25s ease;
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__item:hover .hm-strip__arrow,
  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__item:focus-visible .hm-strip__arrow {
    transform: translateX(-3px);
    border-color: rgba(174,226,209,.48);
    background: rgba(68,188,167,.12);
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__item:hover,
  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__item:focus-visible {
    background:
      linear-gradient(180deg, rgba(68,188,167,.055), rgba(68,188,167,.015));
  }
}



/* OWNER DIRECT — desktop practice title width correction */
@media (min-width: 1200px) {
  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__item {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: .75rem;
    row-gap: .85rem;
    align-content: center;
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__n {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
    align-self: center;
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__ico {
    grid-column: 1;
    grid-row: 1;
    inline-size: 40px;
    block-size: 40px;
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__name {
    grid-column: 1 / -1;
    grid-row: 2;
    max-inline-size: none !important;
    inline-size: 100%;
    font-size: clamp(.94rem, .82rem + .2vw, 1.05rem);
    line-height: 1.45;
    text-wrap: pretty;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
    text-align: start;
  }

  .hm-opening.hm-hero--owner > .hm-practices-strip .hm-strip__arrow {
    display: none !important;
  }
}

