/* Photo silhouettes and a full-strength navy surface. Homepage study, 2026-10-21. */
html[data-palette] { --shape-radius:88px; --shape-rail:64px; }
.hm-home { overflow-x:clip; }
.hm-home ::selection { background:#a8d9f5; color:#15354f; }
.hm-home :is(a,button,summary):focus-visible { outline:3px solid #126b9d; outline-offset:5px; }
.hm-home .hm-section-head h2::before { display:none; }
.hm-home .hm-header { box-shadow:none; }
.hm-home .hm-header .hm-btn-sm { background:var(--navy); border-color:var(--navy); border-radius:0 18px 0 18px; }
.hm-home .hm-header .hm-btn-sm:hover { background:var(--blue); }
.hm-home .hm-wrap { width:min(1200px,calc(100% - 112px)); }
.hm-home .hm-hero.hm-hero--sculpted { display:block; width:100%; max-width:none; margin:0; padding:0; min-height:0; background:#fff; }
.sculpted-hero-stage { position:relative; width:100%; padding-right:var(--shape-rail); }
.hm-home .hm-hero--sculpted .hm-hero-photo { display:block; position:relative; width:100%; height:auto; min-height:0; max-height:none; margin:0; overflow:visible; border-radius:0; }
.hm-hero--sculpted .hm-photo-frame { position:relative; height:clamp(480px,46.5vw,710px); overflow:hidden; border-radius:0 var(--shape-radius) var(--shape-radius) 0; background:var(--navy); }
.hm-hero--sculpted .hm-photo-frame::before { display:none; }
.hm-hero--sculpted .hm-photo-frame::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 30%,rgba(8,33,49,.12) 56%,rgba(8,33,49,.65) 100%); pointer-events:none; }
.hm-home .hm-hero--sculpted .hm-hero-photo .photo { display:block; width:100%; height:100%; aspect-ratio:auto; border-radius:0; box-shadow:none; object-fit:cover; object-position:47% 57%; }
.hm-hero--sculpted .hm-hero-photo figcaption { position:absolute; right:12px; bottom:15px; z-index:1; padding:0 24px; color:#fff; font-size:11px; line-height:1.8; }
.hm-home .hm-hero--sculpted h1 { position:absolute; top:12%; right:calc(var(--shape-rail) + 7.2%); z-index:2; display:block; width:auto; margin:0; padding:0; writing-mode:vertical-rl; text-orientation:upright; font-family:var(--serif); font-size:clamp(44px,4.55vw,66px); font-weight:500; letter-spacing:.08em; line-height:1.65; color:#fff; text-wrap:nowrap; overflow-wrap:normal; }
.hm-hero--sculpted h1 span { display:block; white-space:nowrap; }
.hero-side-link { position:absolute; top:0; right:0; height:100%; width:var(--shape-rail); display:flex; align-items:center; justify-content:center; gap:24px; writing-mode:vertical-rl; font-size:13px; font-weight:500; letter-spacing:.14em; color:var(--navy); }
.hero-side-link span { writing-mode:horizontal-tb; transform:rotate(90deg); }
.hero-side-link:hover { color:var(--blue); background:#f5f7f9; }
.sculpted-hero-foot { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:15px 48px; width:min(1200px,calc(100% - 112px)); margin:34px auto 0; padding:0; }
.hm-home .hm-hero--sculpted .hm-lead { margin:0; max-width:40em; padding:0; font-size:14px; line-height:2.1; }
.hm-home .hm-hero--sculpted .hm-actions { margin:0; display:flex; flex-direction:row; align-items:center; gap:32px; }
.hm-home .hm-hero--sculpted .hm-btn-primary { background:var(--navy); border-color:var(--navy); border-radius:0 22px 0 22px; min-width:190px; }
.hm-home .hm-hero--sculpted .hm-btn-primary:hover { background:var(--blue); border-color:var(--blue); }
.hm-home .hm-hero--sculpted .hm-btn-outline { background:none; padding:12px 0; border:0; border-bottom:1px solid var(--navy); border-radius:0; color:var(--navy); min-height:44px; }
.hm-home .hm-hero--sculpted .hm-btn-outline:hover { color:var(--blue); border-color:var(--blue); }
.hm-home .hm-hero--sculpted .hm-facts { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:6px 24px; padding:0; margin:0; color:var(--muted); font-size:11px; line-height:1.9; }
.hm-home .hm-hero--sculpted .hm-facts li { border:0; margin:0; padding:0; }

/* One deep, generous plane: white copy and photographs cut into its silhouette. */
.hm-home .hm-discovery { width:calc(100% - var(--shape-rail)); margin:96px var(--shape-rail) 0 0; padding:92px 0 66px; background:var(--navy); border-radius:0 var(--shape-radius) var(--shape-radius) 0; color:#fff; }
.hm-home .hm-discovery > .hm-wrap { width:min(1200px,calc(100% - 112px)); }
.hm-discovery .hm-discovery-head { grid-template-columns:.9fr 1.1fr; gap:80px; margin-bottom:46px; align-items:center; }
.hm-home .hm-discovery h2 { color:#fff; font-size:clamp(34px,3.35vw,48px); line-height:1.65; font-weight:400; letter-spacing:.055em; }
.hm-discovery .hm-discovery-intro p { color:#e4edf4; font-size:14px; line-height:2.2; }
.hm-discovery .hm-discovery-intro .hm-link { color:#fff; border-color:#a8c0d1; margin-top:22px; }
.hm-discovery .hm-discovery-intro .hm-link:hover { color:#b9e6ff; border-color:#b9e6ff; }
.hm-discovery .hm-discovery-scenes { display:grid; grid-template-columns:1.5fr 1fr; gap:54px; align-items:start; }
.hm-discovery .yh-photo-frame::before,.hm-home .consult-photo-crop::before { display:none; }
.hm-discovery .yh-photo-frame > .photo { box-shadow:none; }
.hm-discovery .hm-scene-main .yh-photo-frame { overflow:hidden; border-radius:0 72px 0 72px; }
.hm-discovery .hm-scene-main .photo { aspect-ratio:1.46; height:auto; border-radius:0; object-position:45% 55%; }
.hm-discovery .hm-scene-sub { padding-top:64px; }
.hm-discovery .hm-scene-sub .yh-photo-frame { overflow:hidden; border-radius:170px 170px 0 0; }
.hm-discovery .hm-scene-sub .photo { aspect-ratio:1.03; height:auto; border-radius:0; object-position:50% 50%; }
.hm-discovery .hm-discovery-scenes figcaption { position:static; color:#fff; background:none; font-family:var(--serif); font-size:17px; letter-spacing:.06em; padding:17px 0 0; }
.hm-discovery .hm-scene-note { color:#c7d8e5; margin-top:30px; font-size:11px; }
.hm-discovery :is(a,button,summary):focus-visible { outline-color:#b9e6ff; }

/* Service entrances carry their own image, while text stays on the open page. */
.hm-home .hm-consult { padding:112px 0 98px; background:#fff; }
.hm-home .hm-consult > .hm-wrap > .hm-section-head { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:80px; margin-bottom:48px; }
.hm-home .hm-consult > .hm-wrap > .hm-section-head h2 { font-size:38px; line-height:1.65; }
.hm-home .hm-consult > .hm-wrap > .hm-section-head .hm-lead { margin:0; font-size:14px; line-height:2.15; }
.hm-home .hm-consult-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:38px; row-gap:48px; }
.hm-home .hm-consult .hm-consult-item { display:flex; flex-direction:column; padding:0; gap:0; border:0; min-width:0; }
.consult-photo { margin:0 0 25px; }
.consult-photo-crop { overflow:hidden; border-radius:0 64px 0 0; background:var(--pale); }
.hm-consult-item:nth-child(2) .consult-photo-crop { border-radius:150px 150px 0 0; }
.hm-consult-item:nth-child(3) .consult-photo-crop { border-radius:0 0 64px 0; }
.consult-photo .photo { display:block; width:100%; height:auto; aspect-ratio:1.3; object-fit:cover; box-shadow:none; border-radius:0; }
.consult-photo figcaption { font-size:10px; color:var(--muted); padding-top:10px; }
.hm-home .hm-consult .hm-consult-item h3 { font-size:22px; font-family:var(--serif); line-height:1.7; letter-spacing:.025em; min-height:0; }
.hm-home .hm-consult .hm-consult-item p { margin-top:15px; font-size:13px; line-height:2; }
.hm-home .hm-consult .hm-consult-summary { font-size:14px; line-height:1.95; }
.hm-home .hm-consult .hm-consult-detail { display:block; font-size:12px; line-height:2; margin-top:10px; color:var(--hm-body); }
.hm-home .hm-consult .hm-consult-item .hm-links { margin-top:auto; padding-top:22px; align-items:flex-start; flex-direction:column; gap:10px; }
.hm-home .hm-consult .hm-link { font-size:12px; min-height:36px; }

/* A photo extends from the page edge; the practical details keep a quiet rhythm. */
.hm-home .hm-reasons { padding:38px 0 108px; background:#fff; }
.hm-home .hm-reasons > .hm-wrap { width:calc(100% - var(--shape-rail)); max-width:1550px; margin-left:0; margin-right:auto; }
.hm-home .hm-reasons .hm-split { grid-template-columns:1.05fr 1fr; gap:76px; align-items:center; }
.hm-home .hm-reasons-photo { width:100%; max-width:none; margin:0; overflow:visible; aspect-ratio:auto; }
.hm-reasons-photo .yh-photo-frame { overflow:hidden; border-radius:0 var(--shape-radius) var(--shape-radius) 0; }
.hm-reasons-photo .yh-photo-frame::before { display:none; }
.hm-home .hm-reasons-photo .photo { width:100%; height:auto; aspect-ratio:.96; border-radius:0; box-shadow:none; object-fit:cover; }
.hm-home .hm-reasons-photo figcaption { padding-left:32px; font-size:11px; }
.hm-home .hm-reasons-body { padding:0 max(0px,calc((100vw - 1360px) / 2)) 0 0; }
.hm-home .hm-reasons-body .hm-section-head h2 { font-size:34px; }
.hm-home .hm-reasons-body .hm-section-head .hm-lead { font-size:14px; }
.hm-home .hm-reason-list p { font-size:13px; line-height:2; }
.hm-home .hm-reason-list li { padding-block:19px; }
.hm-home .hm-access { padding-top:0; padding-bottom:100px; }
.hm-home .hm-split-access { padding-top:70px; grid-template-columns:1.08fr 1fr; gap:72px; }
.hm-access-photos .yh-photo-frame::before { display:none; }
.hm-access-photos .photo { box-shadow:none; }
.hm-access-main .yh-photo-frame { overflow:hidden; border-radius:0 68px 0 0; }
.hm-access-sub .yh-photo-frame { overflow:hidden; border-radius:0 0 54px 0; }
.hm-home .hm-voices { padding-block:84px 90px; background:#f5f7f9; }
.hm-home .hm-voice > figure { overflow:visible; aspect-ratio:auto; }
.hm-voice .yh-photo-frame { overflow:hidden; border-radius:0 64px 0 0; }
.hm-voice:nth-child(2) .yh-photo-frame { border-radius:110px 110px 0 0; }
.hm-voice:nth-child(3) .yh-photo-frame { border-radius:64px 0 0 0; }
.hm-voice .yh-photo-frame::before { display:none; }
.hm-home .hm-voice > figure .photo { width:100%; height:auto; aspect-ratio:1.3; border-radius:0; box-shadow:none; }
.hm-home .hm-flow { width:min(1200px,calc(100% - 112px)); }
.hm-home .hm-flow > .hm-wrap { width:100%; }
.hm-home .hm-faq { padding-block:94px; }
.hm-home .hm-cta { padding:0; background:var(--navy); }
.hm-home .hm-cta > .hm-wrap { width:100%; }
.hm-home .hm-cta-panel { grid-template-columns:1.15fr 1fr; gap:0; border:0; padding:0; background:var(--navy); }
.hm-home .hm-cta-body { padding:70px 64px 70px max(56px,calc((100vw - 1200px)/2)); }
.hm-home .hm-cta-body h2 { font-size:34px; }
.hm-home .hm-cta-photo { margin:0; aspect-ratio:auto; height:100%; min-height:600px; border-radius:76px 0 0 0; overflow:hidden; }
.hm-cta-photo .yh-photo-frame { height:100%; }
.hm-cta-photo .yh-photo-frame::before { display:none; }
.hm-home .hm-cta-photo .photo { height:100%; object-fit:cover; box-shadow:none; }
.hm-home .footer { border-top:1px solid #496174; }
/* Content is visible without scroll timing; only deliberate link hovers move. */
html.hm-motion .hm-home [data-reveal] { opacity:1; transform:none; transition:none; }

@media (min-width:1700px) {
  .hm-home .hm-hero--sculpted .hm-photo-frame { height:750px; }
  .hm-home .hm-hero--sculpted h1 { right:calc(var(--shape-rail) + 10%); }
}
@media (max-width:1150px) {
  html[data-palette] { --shape-rail:44px; --shape-radius:64px; }
  .hm-home .hm-wrap,.sculpted-hero-foot { width:calc(100% - 80px); }
  .sculpted-hero-foot { column-gap:28px; }
  .hm-home .hm-hero--sculpted .hm-actions { gap:20px; }
  .hm-home .hm-hero--sculpted .hm-btn-primary { min-width:164px; padding-inline:20px; }
  .hm-home .hm-discovery > .hm-wrap { width:calc(100% - 80px); }
  .hm-discovery .hm-discovery-head,.hm-home .hm-consult > .hm-wrap > .hm-section-head { gap:40px; }
  .hm-discovery .hm-discovery-intro p { font-size:13px; text-wrap:pretty; }
  .hm-discovery-intro .hm-br-pc { display:none; }
  .hm-home .hm-consult-grid { gap:26px; }
  .hm-home .hm-consult .hm-consult-item h3 { font-size:20px; }
  .hm-home .hm-reasons .hm-split { gap:42px; }
  .hm-home .hm-reasons-body .hm-section-head h2 { font-size:29px; }
  .hm-home .hm-split-access { gap:40px; }
  .hm-home .hm-cta-body { padding:52px 38px; }
  .hm-home .hm-cta-body h2 { font-size:29px; }
  .hm-home .hm-cta-photo { min-height:600px; }
  .hm-home .hm-ways { gap:14px; }
}
@media (max-width:800px) {
  html[data-palette] { --shape-rail:28px; --shape-radius:48px; }
  .hm-home .hm-wrap,.sculpted-hero-foot { width:calc(100% - 48px); }
  .hm-home .hm-header { height:76px; padding-inline:24px; }
  .hm-home #full-menu { inset:76px 0 0; }
  .hm-home .hm-hero--sculpted .hm-photo-frame { height:550px; }
  .hm-home .hm-hero--sculpted .hm-hero-photo { max-height:none; aspect-ratio:auto; }
  .hm-home .hm-hero--sculpted .hm-hero-photo .photo { aspect-ratio:auto; object-position:44% 50%; }
  .hm-hero--sculpted .hm-photo-frame::after { background:linear-gradient(90deg,rgba(8,33,49,.08),rgba(8,33,49,.54)); }
  .hm-home .hm-hero--sculpted h1 { top:48px; right:calc(var(--shape-rail) + 26px); font-size:45px; line-height:1.6; letter-spacing:.09em; }
  .hero-side-link { font-size:10px; letter-spacing:.08em; gap:18px; }
  .hm-hero--sculpted .hm-hero-photo figcaption { bottom:14px; right:0; padding:0 14px; font-size:10px; }
  .sculpted-hero-foot { grid-template-columns:1fr; gap:22px; margin-top:27px; }
  .hm-home .hm-hero--sculpted .hm-lead { font-size:13px; line-height:2.15; }
  .hm-home .hm-hero--sculpted .hm-actions { gap:22px; flex-wrap:nowrap; justify-content:flex-start; }
  .hm-home .hm-hero--sculpted .hm-btn-primary { min-width:166px; min-height:52px; padding:14px 18px; font-size:13px; }
  .hm-home .hm-hero--sculpted .hm-btn-outline { font-size:12px; }
  .hm-home .hm-hero--sculpted .hm-facts { font-size:10px; gap:4px 16px; }
  .hm-home .hm-discovery { margin-top:60px; padding-block:55px 45px; }
  .hm-home .hm-discovery > .hm-wrap { width:calc(100% - 44px); }
  .hm-discovery .hm-discovery-head { grid-template-columns:1fr; gap:20px; margin-bottom:30px; }
  .hm-home .hm-discovery h2 { font-size:32px; line-height:1.7; }
  .hm-discovery .hm-discovery-intro p { font-size:13px; line-height:2.15; }
  .hm-discovery .hm-discovery-intro .hm-link { font-size:12px; margin-top:17px; min-height:44px; }
  .hm-discovery .hm-discovery-scenes { grid-template-columns:1.25fr 1fr; gap:18px; }
  .hm-discovery .hm-scene-main .yh-photo-frame { border-radius:0 38px 0 38px; }
  .hm-discovery .hm-scene-main .photo { aspect-ratio:.8; }
  .hm-discovery .hm-scene-sub { padding-top:53px; }
  .hm-discovery .hm-scene-sub .yh-photo-frame { border-radius:90px 90px 0 0; }
  .hm-discovery .hm-scene-sub .photo { aspect-ratio:.73; }
  .hm-discovery .hm-discovery-scenes figcaption { font-size:11px; line-height:1.9; padding-top:13px; letter-spacing:.02em; }
  .hm-discovery .hm-scene-note { font-size:10px; line-height:2; margin-top:23px; }
  .hm-home .hm-consult { padding-block:64px 54px; }
  .hm-home .hm-consult > .hm-wrap > .hm-section-head { grid-template-columns:1fr; gap:20px; margin-bottom:35px; }
  .hm-home .hm-consult > .hm-wrap > .hm-section-head h2 { font-size:30px; }
  .hm-home .hm-consult > .hm-wrap > .hm-section-head .hm-lead { font-size:13px; }
  .hm-home .hm-consult-grid { display:grid; grid-template-columns:1fr; gap:42px; }
  .hm-home .hm-consult .hm-consult-item { display:grid; grid-template-columns:1fr; }
  .consult-photo { margin-bottom:20px; }
  .consult-photo-crop { border-top-right-radius:56px; }
  .hm-consult-item:nth-child(2) .consult-photo-crop { border-radius:160px 160px 0 0; }
  .consult-photo .photo { aspect-ratio:1.5; }
  .hm-home .hm-consult .hm-consult-item h3 { font-size:23px; }
  .hm-home .hm-consult .hm-consult-item p { margin-top:12px; }
  .hm-home .hm-consult .hm-consult-summary { font-size:14px; }
  .hm-home .hm-consult .hm-consult-detail { font-size:13px; }
  .hm-home .hm-consult .hm-consult-item .hm-links { margin-top:0; padding-top:14px; flex-direction:row; flex-wrap:wrap; gap:10px 20px; }
  .hm-home .hm-consult .hm-link { font-size:12px; min-height:44px; }
  .hm-home .hm-reasons { padding-block:10px 58px; }
  .hm-home .hm-reasons > .hm-wrap { width:100%; }
  .hm-home .hm-reasons .hm-split { grid-template-columns:1fr; gap:28px; }
  .hm-home .hm-reasons-photo { width:calc(100% - var(--shape-rail)); }
  .hm-home .hm-reasons-photo .photo { aspect-ratio:1.2; }
  .hm-home .hm-reasons-body { padding:0 24px; }
  .hm-home .hm-reasons-body .hm-section-head h2 { font-size:30px; }
  .hm-home .hm-reason-list p { font-size:14px; }
  .hm-home .hm-access { padding-bottom:60px; }
  .hm-home .hm-split-access { padding-top:42px; grid-template-columns:1fr; gap:30px; }
  .hm-home .hm-access-photos { grid-template-columns:1.45fr 1fr; align-items:end; gap:14px; }
  .hm-access-main .yh-photo-frame { border-top-right-radius:42px; }
  .hm-access-sub .yh-photo-frame { border-bottom-right-radius:36px; }
  .hm-home .hm-voices { padding-block:60px; }
  .hm-home .hm-voice-grid { gap:44px; }
  .hm-home .hm-voice > figure .photo { aspect-ratio:1.45; }
  .hm-home .hm-flow { width:calc(100% - 48px); padding-block:56px; }
  .hm-home .hm-faq { padding-block:60px; }
  .hm-home .hm-cta-panel { grid-template-columns:1fr; }
  .hm-home .hm-cta-body { padding:48px 24px; }
  .hm-home .hm-cta-body h2 { font-size:28px; }
  .hm-home .hm-cta-photo { min-height:0; height:280px; border-radius:48px 0 0 0; }
  .hm-home .hm-cta-photo .photo { object-position:50% 45%; }
}
@media (min-width:801px) and (max-width:1000px) {
  .hm-home .hm-reasons .hm-split { grid-template-columns:1fr; }
  .hm-home .hm-reasons-photo { width:72%; }
  .hm-home .hm-reasons-photo .photo { aspect-ratio:1.7; }
  .hm-home .hm-reasons-body { padding:0 40px; }
  .hm-home .hm-split-access { grid-template-columns:1fr; }
  .hm-home .hm-cta-panel { grid-template-columns:1fr; }
  .hm-home .hm-cta-photo { min-height:0; height:360px; }
}
@media (max-width:380px) {
  .hm-home .hm-header { padding-inline:20px; }
  .hm-home .hm-wrap,.sculpted-hero-foot { width:calc(100% - 40px); }
  .hm-home .hm-hero--sculpted .hm-photo-frame { height:500px; }
  .hm-home .hm-hero--sculpted h1 { font-size:40px; right:calc(var(--shape-rail) + 22px); }
  .hm-home .hm-hero--sculpted .hm-actions { gap:18px; }
  .hm-home .hm-hero--sculpted .hm-btn-primary { min-width:145px; padding-inline:12px; }
  .hm-home .hm-hero--sculpted .hm-btn-outline { font-size:11px; }
  .hm-home .hm-discovery h2 { font-size:29px; }
  .hm-home .hm-reasons-body { padding-inline:20px; }
}
@media (prefers-reduced-motion:reduce) {
  .hm-home *, .hm-home *::before, .hm-home *::after { scroll-behavior:auto; transition:none; animation:none; }
}
