/* Above-the-fold content must never depend on animation or script timing. */
.hero .reveal {
  opacity: 1;
  transform: none;
}

/* Navigation is a separate surface; hero media begins below it. */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #11100e;
  border-bottom: 1px solid rgba(255,255,255,.1);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.site-header.scrolled {
  background: #11100e;
}

.hero {
  height: calc(100svh - 88px);
}

.hero h1 {
  line-height: .94;
}

.hero h1 em {
  display: inline-block;
  margin-top: .06em;
}

.phone-break { display: none; }

/* Keep the temporary video indicator out of the hero copy area. */
.video-placeholder {
  display: block;
}

.hero-video iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 177.78vh;
  height: 56.25vw;
  min-width: 100%;
  min-height: 100%;
  border: 0;
  pointer-events: none;
  transform: translate(-50%, -50%);
}

/* Explicit breakpoint ownership keeps the mobile control dependable. */
.menu-button {
  display: block;
  flex: 0 0 44px;
  position: relative;
  z-index: 2;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 50%;
  color: #fff;
  -webkit-tap-highlight-color: transparent;
}

.menu-button span {
  position: absolute;
  left: 11px;
  width: 20px;
  margin: 0;
  transition: top .2s ease, transform .2s ease;
}

.menu-button span:first-child { top: 17px; }
.menu-button span:last-child { top: 24px; }

.menu-button[aria-expanded="true"] span:first-child {
  top: 21px;
  transform: rotate(45deg);
}

.menu-button[aria-expanded="true"] span:last-child {
  top: 21px;
  transform: rotate(-45deg);
}

@media (min-width: 901px) {
  .menu-button { display: none; }
}

.credentials { background: #e6ded0; border-bottom: 1px solid rgba(17,16,14,.14); }
.service { grid-template-columns: 1fr 1.2fr; }
.mission-note { margin: 48px 0 0; font: italic 400 25px/1.35 "Instrument Serif",serif; color: #756c61; }
.mission-image { position: relative; margin-top: 92px; margin-bottom: -210px; z-index: 2; }
.mission-image img { display: block; width: 82%; height: 520px; margin-left: auto; object-fit: cover; object-position: center 44%; border-radius: 2px 86px 2px 2px; filter: saturate(.78); }
.mission-image figcaption { position: absolute; left: 0; bottom: 52px; width: 34%; padding: 31px 34px; background: #fff; border-left: 4px solid #11100e; }
.mission-image figcaption span { display: block; font: 400 28px/1.05 "Instrument Serif",serif; }
.mission-image figcaption small { display: block; margin-top: 12px; color: #756c61; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.services { padding-top: 330px; }
.principles > div { grid-template-columns: 1fr; }
.promise-grid { display: block; }
.promise-copy { max-width: 940px; margin: 0 auto; }
.promise-copy .display { max-width: 850px; }
.credential-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.credential-grid > div { padding: 38px 24px; border-right: 1px solid rgba(17,16,14,.14); }
.credential-grid > div:last-child { border: 0; }
.credential-grid strong { display: block; font: 400 42px/1 "Instrument Serif",serif; }
.credential-grid span { display: block; margin-top: 8px; font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; color: #665e53; }
.audience { background: #11100e; color: #fff; }
.audience-grid,.founder-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9vw; }
.audience-copy { color: #a9a197; font-size: 18px; }
.audience-copy p { margin: 0 0 22px; }
.audience-image { width: 78%; margin: 68px 0 -210px auto; position: relative; z-index: 2; }
.audience-image img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: 52% center; border-radius: 48% 48% 3px 3px; filter: saturate(.82); }
.audience-tags,.specialties { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.audience-tags span,.specialties span { padding: 8px 13px; border: 1px solid rgba(255,255,255,.2); border-radius: 50px; font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.founder { background: #f3eee4; }
.founder-copy { color: #625a51; font-size: 17px; }
.founder-copy p { margin: 0 0 20px; }
.founder-lead { font: italic 400 32px/1.2 "Instrument Serif",serif; color: #11100e; }
.specialties span { border-color: rgba(17,16,14,.2); color: #11100e; }
.referrals { background: #1a1815; color: #fff; }
.referral-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 9vw; align-items: start; }
.referral-copy { color: #a9a197; font-size: 17px; }
.referral-copy p { margin: 0 0 22px; }
.referral-copy .button { margin-top: 10px; }
.standards { background: #11100e; color: #fff; }
.standards-heading { max-width: 820px; margin-bottom: 72px; }
.standards-heading .kicker.dark { color: #c3b8a8; }
.standards-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.standard-card { min-height: 430px; padding: 38px 34px; display: flex; flex-direction: column; background: #1a1815; border: 1px solid rgba(255,255,255,.14); border-radius: 2px 38px 2px 38px; transition: transform .25s ease,border-color .25s ease,background .25s ease; }
.standard-card:hover { transform: translateY(-5px); border-color: rgba(255,255,255,.3); background: #201e1a; }
.standard-card.payment-card { display: flex; }
.standard-label { display: block; margin-bottom: auto; padding-bottom: 52px; color: #b9aa96; font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.standard-card h3 { margin: 0 0 24px; color: #fff; font: 400 34px/1.04 "Instrument Serif",serif; }
.standard-card p { margin: 0; color: #aaa197; font-size: 14px; line-height: 1.75; }
.standard-card .payment-note { margin-top: 20px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); color: #827a71; font-size: 12px; }
.license-line { margin: 24px auto 0; padding-top: 20px; width: min(1220px,calc(100% - 64px)); border-top: 1px solid rgba(255,255,255,.1); color: #777168; text-align: center; font-size: 9px; letter-spacing: .08em; }
.contact-details { margin: 28px 0; border-top: 1px solid rgba(255,255,255,.15); }
.contact-details a,.contact-details p { display: block; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.15); color: #fff; text-decoration: none; margin: 0; overflow-wrap: anywhere; }
.contact-details small { display: block; margin: 0 0 2px; color: #8f887f; font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
.footer-grid a { text-decoration: none; }
.career-hero { position: relative; min-height: 720px; padding: 190px 0 100px; display: flex; align-items: flex-end; overflow: hidden; color: #fff; background: #11100e; }
.career-hero-image { position: absolute; inset: 0 0 0 auto; width: 58%; height: 100%; object-fit: cover; object-position: center 24%; filter: saturate(.78); }
.career-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,#11100e 12%,rgba(17,16,14,.94) 38%,rgba(17,16,14,.22) 75%),linear-gradient(0deg,rgba(17,16,14,.65),transparent 55%); }
.career-hero-content { position: relative; z-index: 1; }
.career-hero h1 { margin: 0 0 28px; font: 400 clamp(4rem,8vw,7.5rem)/.86 "Instrument Serif",serif; letter-spacing: -.025em; }
.career-hero p:not(.kicker) { max-width: 560px; margin: 0 0 32px; color: #c5beb5; font-size: 18px; }
.career-intro,.career-apply { background: #f3eee4; }
.apply-card { border-top: 1px solid rgba(17,16,14,.2); padding-top: 30px; color: #625a51; }
.apply-card .button { width: 100%; margin: 20px 0; background: #11100e; color: #fff; }
.apply-card small { display: block; line-height: 1.6; color: #756c61; }

@media (max-width: 900px) {
  .menu-button {
    display: block;
    flex: 0 0 44px;
    position: relative;
    z-index: 2;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 50%;
  }
  .mobile-nav {
    position: absolute;
    z-index: 1001;
    top: 100%;
    right: 0;
    bottom: auto;
    left: 0;
    height: calc(100vh - 76px);
    height: calc(100dvh - 76px);
    padding: 38px max(24px, env(safe-area-inset-right)) max(38px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background: #11100e;
  }
  .credential-grid { grid-template-columns: 1fr 1fr; }
  .credential-grid > div:nth-child(2) { border-right: 0; }
  .credential-grid > div { border-bottom: 1px solid rgba(17,16,14,.14); }
  .audience-grid,.founder-grid { grid-template-columns: 1fr; gap: 48px; }
  .mission-image { margin-top: 64px; margin-bottom: -130px; }
  .mission-image img { width: 88%; height: 430px; }
  .mission-image figcaption { bottom: 34px; width: 42%; }
  .services { padding-top: 230px; }
  .audience-image { width: min(520px,82%); margin: 52px auto 0; }
  .referral-grid { grid-template-columns: 1fr; gap: 42px; }
  .standards-grid { grid-template-columns: 1fr; }
  .standard-card { min-height: 0; }
  .standard-label { margin-bottom: 42px; padding-bottom: 0; }
  .service { grid-template-columns: 1fr; }
  .service p { grid-column: auto; }
  .career-hero { min-height: 650px; padding: 150px 0 72px; }
  .career-hero-image { width: 76%; }
  .career-hero-shade { background: linear-gradient(90deg,#11100e 5%,rgba(17,16,14,.91) 47%,rgba(17,16,14,.28)),linear-gradient(0deg,rgba(17,16,14,.72),transparent 60%); }
  .hero { height: calc(100svh - 76px); }
}

@media (max-width: 600px) {
  .shell {
    width: min(calc(100% - 40px), var(--max));
  }

  .hero h1 {
    font-size: clamp(3.1rem, 14.5vw, 4.4rem);
    line-height: .96;
  }
  .phone-break { display: inline; }

  .hero-copy { max-width: calc(100vw - 40px); }

  .credential-grid { grid-template-columns: 1fr; }
  .mission-image { width: 100%; margin-top: 50px; margin-bottom: 0; }
  .mission-image img { width: calc(100% - 20px); height: 360px; margin-left: 20px; border-radius: 2px 48px 2px 2px; }
  .mission-image figcaption { position: relative; left: 0; bottom: auto; width: calc(100% - 40px); margin: -58px 20px 0 0; padding: 24px; }
  .mission-image figcaption span { font-size: 25px; }
  .services { padding-top: 76px; }
  .audience-image { width: 88%; margin: 42px auto 4px; }
  .career-hero-image { width: 100%; opacity: .82; }
  .career-hero-shade { background: linear-gradient(90deg,rgba(17,16,14,.88),rgba(17,16,14,.28)),linear-gradient(0deg,#11100e 2%,rgba(17,16,14,.48) 62%); }
  .credential-grid > div { border-right: 0; padding: 25px 4px; display: grid; grid-template-columns: 95px 1fr; align-items: center; gap: 16px; }
  .credential-grid strong { font-size: 34px; }
  .credential-grid span { margin: 0; }
  .standard-card { padding: 32px 26px; border-radius: 2px 28px 2px 28px; }
  .license-line { width: calc(100% - 40px); }
}

/* Embedded care request form */
.contact-card .button-outline { width: 100%; margin-top: 12px; border: 1px solid rgba(255,255,255,.35); color: #fff; }
.request-care { margin-top: 110px; padding-top: 70px; border-top: 1px solid rgba(255,255,255,.15); display: grid; grid-template-columns: .7fr 1.3fr; gap: 18px 6vw; align-items: start; }
.request-care-intro h3 { font-family: "Instrument Serif", serif; font-weight: 400; font-size: clamp(2.2rem, 3.6vw, 3.4rem); line-height: 1; letter-spacing: -.02em; margin: 0 0 22px; }
.request-care-intro p:not(.kicker) { color: var(--muted); margin: 0; }
.request-care-intro a { color: #fff; }
.request-care-frame { background: var(--cream); border-radius: 4px; overflow: hidden; }
.request-care-frame iframe { display: block; width: 100%; height: 1900px; border: 0; }
.request-care-fallback { grid-column: 2; margin: 0; font-size: 13px; color: #8f887f; }
.request-care-fallback a { color: #fff; }
@media (max-width: 900px) {
  .request-care { grid-template-columns: 1fr; margin-top: 80px; padding-top: 56px; gap: 32px; }
  .request-care-fallback { grid-column: 1; margin: 0; }
  .request-care-frame iframe { height: 2150px; }
}
