.page-hero { padding: 84px 0 96px; border-bottom: 1px solid var(--line); overflow: hidden; }
.page-hero-grid { display: grid; grid-template-columns: 1fr .9fr; gap: 80px; align-items: center; }
.page-hero-grid > *, .split-layout > *, .directions-layout > *, .concept-card > *, .service-row > *, .email-details > * { min-width: 0; }
.page-hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(58px,7vw,96px); font-weight: 400; line-height: .96; letter-spacing: -.05em; }
.page-hero-copy > p:not(.eyebrow) { max-width: 690px; margin: 27px 0 0; color: var(--muted); font-size: 19px; }
.page-hero-media { position: relative; }
.page-hero-media img { width: 100%; height: 545px; object-fit: cover; border-radius: 30px 30px 110px 30px; box-shadow: var(--shadow); }
.page-hero-media figcaption { margin-top: 10px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.page-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.quick-facts { display: flex; flex-wrap: wrap; gap: 26px; margin-top: 44px; }
.quick-facts span { display: grid; gap: 1px; padding-left: 14px; border-left: 1px solid var(--line); }
.quick-facts b { color: var(--mineral); font-size: 13px; }.quick-facts small { color: var(--muted); font-size: 11px; }

.crumbs { padding-top: 25px; color: var(--muted); font-size: 11px; }
.crumbs a { color: var(--mineral); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.content-section { padding-block: 100px; }
.content-section.alt { background: var(--water); }
.content-section.oat { background: var(--oat); }
.content-lead { max-width: 780px; }
.content-lead h1, .content-lead h2, .split-copy h2, .feature-copy h2, .email-preview h2 { margin: 0; font-family: var(--serif); font-size: clamp(42px,5vw,68px); font-weight: 400; line-height: 1.03; letter-spacing: -.04em; }
.content-lead > p:not(.eyebrow), .split-copy > p:not(.eyebrow), .feature-copy > p:not(.eyebrow) { margin: 24px 0 0; color: var(--muted); font-size: 18px; }
.split-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.feature-image { width: 100%; height: 570px; object-fit: cover; border-radius: 28px; box-shadow: var(--shadow); }
.step-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; margin-top: 45px; }
.step-card { min-height: 250px; padding: 27px; border-radius: 21px; background: #fff; }
.step-card > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; color: #fff; background: var(--mineral); font-size: 11px; font-weight: 800; }
.step-card h3 { margin: 55px 0 9px; font-family: var(--serif); font-size: 28px; font-weight: 400; line-height: 1.05; }
.step-card p { margin: 0; color: var(--muted); font-size: 13px; }

.info-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; margin-top: 42px; }
.info-card { min-height: 250px; padding: 28px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.info-card > span { color: var(--tea); font-size: 10px; font-weight: 900; letter-spacing: .15em; }
.info-card h3 { margin: 50px 0 10px; font-family: var(--serif); font-size: 27px; font-weight: 400; }
.info-card p { margin: 0; color: var(--muted); font-size: 13px; }

.full-gallery { display: grid; grid-template-columns: 1.2fr .8fr; gap: 16px; margin-top: 44px; }
.full-gallery img { width: 100%; height: 570px; object-fit: cover; border-radius: 25px; }
.full-gallery img:last-child { object-position: center; }
.concept-card { display: grid; grid-template-columns: 1.15fr .85fr; gap: 0; overflow: hidden; border-radius: 30px; background: var(--mineral); color: #fff; }
.concept-card img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; }
.concept-copy { display: flex; flex-direction: column; justify-content: center; padding: 52px; }
.concept-copy .eyebrow { color: #e7bcb2; }
.concept-copy h2 { margin: 0; font-family: var(--serif); font-size: 48px; font-weight: 400; line-height: 1.04; }
.concept-copy p { color: rgba(255,255,255,.7); }
.concept-label { display: inline-flex; width: fit-content; margin-top: 18px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.25); border-radius: 99px; color: rgba(255,255,255,.74); font-size: 10px; }

.directions-layout { display: grid; grid-template-columns: .74fr 1.26fr; gap: 60px; align-items: center; }
.directions-copy address { margin: 24px 0; font-style: normal; }.directions-copy address strong { color: var(--mineral); font-family: var(--serif); font-size: 28px; font-weight: 400; }
.direction-list { display: grid; gap: 13px; margin: 25px 0 0; padding: 0; list-style: none; }
.direction-list li { padding: 14px 0 14px 26px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 13px; position: relative; }
.direction-list li::before { content: "→"; position: absolute; left: 0; color: var(--tea); }

.email-card { max-width: 820px; margin: 0 auto; border: 1px solid var(--line); border-radius: 22px; overflow: hidden; background: #fff; box-shadow: var(--shadow); }
.email-top { display: flex; justify-content: space-between; gap: 20px; padding: 15px 22px; color: var(--muted); background: #f2f5f4; font-size: 11px; }
.email-body { padding: 45px; }
.email-logo { display: inline-flex; align-items: center; gap: 8px; color: var(--mineral); text-decoration: none; }
.email-logo img { width: 48px; }
.email-body h1 { margin: 42px 0 15px; font-family: var(--serif); font-size: 44px; font-weight: 400; line-height: 1; }
.email-body > p { color: var(--muted); }
.email-details { margin: 28px 0; border-top: 1px solid var(--line); }
.email-details > div { display: grid; grid-template-columns: .65fr 1.35fr; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.email-details span { color: var(--muted); font-size: 12px; }.email-details strong { font-size: 13px; }
.email-help { padding: 18px; border-radius: 14px; background: var(--water); color: var(--muted); font-size: 12px; }
.email-preview-nav { display: flex; justify-content: center; gap: 18px; margin-top: 24px; }

.service-catalog { display: grid; gap: 14px; margin-top: 45px; }
.service-row { display: grid; grid-template-columns: 1.5fr .55fr .7fr auto; gap: 24px; align-items: center; padding: 25px 27px; border: 1px solid var(--line); border-radius: 19px; background: #fff; }
.service-row h2 { margin: 0 0 5px; font-family: var(--serif); font-size: 28px; font-weight: 400; }.service-row p { margin: 0; color: var(--muted); font-size: 12px; }.service-row > span { color: var(--muted); font-size: 12px; }.service-row > strong { color: var(--mineral); font-size: 14px; }
.service-row .button { min-height: 44px; padding-inline: 16px; font-size: 12px; }
.catalog-note { margin-top: 18px; color: var(--muted); font-size: 12px; }

.policy-band { padding: 32px 0; color: #fff; background: var(--mineral); }
.policy-band .shell { display: grid; grid-template-columns: auto 1fr; gap: 24px; align-items: center; }.policy-band strong { font-family: var(--serif); font-size: 22px; font-weight: 400; }.policy-band p { margin: 0; color: rgba(255,255,255,.7); font-size: 13px; }
.boundaries { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 40px; }
.boundary-card { padding: 26px; border-radius: 18px; background: #fff; }.boundary-card h3 { margin: 0 0 8px; color: var(--mineral); font-size: 16px; }.boundary-card p { margin: 0; color: var(--muted); font-size: 13px; }

.founder-quote { padding: 55px; border-left: 4px solid var(--tea); color: var(--mineral); background: #fff; font-family: var(--serif); font-size: clamp(28px,4vw,48px); line-height: 1.15; }
.founder-quote cite { display: block; margin-top: 22px; color: var(--muted); font-family: var(--sans); font-size: 11px; font-style: normal; letter-spacing: .1em; text-transform: uppercase; }

@media (max-width: 950px) {
  .page-hero-grid, .split-layout, .directions-layout, .concept-card { grid-template-columns: 1fr; }
  .page-hero-media img { height: 460px; }.feature-image { height: 500px; }.concept-card img { min-height: 410px; }
  .step-grid, .info-grid { grid-template-columns: 1fr 1fr; }
  .service-row { grid-template-columns: 1fr .45fr .6fr; }.service-row .button { grid-column: 1 / -1; width: fit-content; }
}

@media (max-width: 650px) {
  .page-hero { padding: 55px 0 70px; }.page-hero-grid { gap: 42px; }.page-hero h1 { font-size: 55px; }.page-hero-media img { height: 390px; border-radius: 24px 24px 70px 24px; }.feature-image { height: 420px; }
  .content-section { padding-block: 70px; }
  .step-grid, .info-grid, .full-gallery, .boundaries { grid-template-columns: 1fr; }
  .full-gallery img { height: 390px; }.full-gallery img:last-child { height: 480px; }
  .concept-copy { padding: 34px 25px; }.concept-copy h2 { font-size: 39px; }
  .service-row { grid-template-columns: 1fr; gap: 10px; }.service-row .button { width: 100%; }
  .policy-band .shell { grid-template-columns: 1fr; }
  .email-body { padding: 28px 22px; }.email-body h1 { font-size: 36px; }.email-details > div { grid-template-columns: 1fr; gap: 2px; }
  .page-hero h1, .content-lead h1, .content-lead h2, .split-copy h2, .feature-copy h2, .concept-copy h2, .service-row h2, .founder-quote { overflow-wrap: anywhere; }
}
