.page-hero { position: relative; overflow: hidden; padding: calc(var(--header-h) + 72px) 0 74px; background: linear-gradient(145deg, rgba(255,255,255,.8), rgba(248,240,231,.92)); }
.page-hero::after { content: ""; position: absolute; width: 450px; height: 450px; right: -165px; top: -165px; border-radius: 50%; background: radial-gradient(circle, rgba(193,136,80,.23), rgba(193,136,80,0) 70%); }
.page-hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(44px, 6vw, 70px); align-items: center; }
.page-hero h1 { max-width: 760px; margin-bottom: 0; font-size: clamp(2.9rem, 4.7vw, 4.65rem); }
.page-hero .lead { margin: 0; max-width: 560px; font-size: 1.04rem; line-height: 1.72; }
.content-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(48px, 6vw, 78px); align-items: start; }
.content-grid.reverse { grid-template-columns: 1.05fr .95fr; }
.sticky-heading { position: sticky; top: calc(var(--header-h) + 28px); }
.sticky-heading h2 { max-width: 520px; font-size: clamp(2.15rem, 3.2vw, 3.15rem); line-height: 1.08; }
.copy-column { max-width: 650px; }
.copy-column p { font-size: 1rem; }
.feature-list { list-style: none; padding: 0; margin: 0; display: grid; }
.feature-list li { position: relative; padding: 14px 0 14px 24px; border-top: 1px solid var(--line); color: rgba(44,41,38,.8); }
.feature-list li::before { content: ""; position: absolute; left: 0; top: 25px; width: 6px; height: 6px; border-radius: 50%; background: var(--gold); }
.feature-list li:last-child { border-bottom: 1px solid var(--line); }
.split-panels { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }
.info-panel { padding: clamp(28px, 3.6vw, 42px); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.info-panel.soft { background: var(--ivory); }
.info-panel h2, .info-panel h3 { margin-bottom: 22px; }
.service-stack { display: grid; gap: 12px; margin-top: 38px; }
.service-detail { display: grid; grid-template-columns: 112px 1fr; gap: 30px; padding: 32px 0; border-top: 1px solid var(--line); }
.service-detail:last-child { border-bottom: 1px solid var(--line); }
.service-index { color: var(--gold); font-size: .71rem; font-weight: 700; letter-spacing: .15em; }
.service-detail h2 { font-size: clamp(1.85rem, 2.7vw, 2.75rem); margin-bottom: 14px; }
.service-detail p { max-width: 720px; }
.profile-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(46px, 6vw, 82px); align-items: center; }
.profile-card {
    position: relative;
    aspect-ratio: 2 / 3;
    overflow: hidden;
    border-radius: 46% 46% 18px 18px / 24% 24% 18px 18px;
    background: linear-gradient(160deg, #e4d5c5 0%, #f2e9df 58%, #cdb69e 100%);

    width: 75%;
    justify-self: center;

    box-shadow:
        0 14px 12px rgba(44, 24, 35, 0.10),
        0 2px 6px rgba(44, 24, 35, 0.20);
}
.profile-card > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.profile-card .portrait-letter { font-family: var(--serif); font-size: clamp(8rem, 15vw, 13rem); color: rgba(255,255,255,.62); }
.profile-card .portrait-note { position: absolute; bottom: 28px; color: rgba(44,41,38,.46); font-size: .69rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.credentials { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin-top: 34px; }
.credential { padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.58); }
.credential strong { display: block; font-family: var(--serif); font-size: 1.28rem; font-weight: 400; line-height: 1.2; }
.credential span { display: block; margin-top: 7px; color: rgba(44,41,38,.58); font-size: .81rem; }
.contact-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(46px, 6vw, 78px); align-items: start; }
.contact-layout h2 { font-size: clamp(2.1rem, 3.2vw, 3.1rem); }
.contact-card { padding: clamp(28px, 4vw, 48px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: rgba(255,255,255,.7); box-shadow: var(--shadow); }
.contact-form { display: grid; gap: 18px; }
.form-row { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.form-status { min-height: 1.4em; margin: 0; font-size: .82rem; color: var(--plum); }
.contact-aside { margin-top: 34px; padding: 26px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.contact-aside p:last-child { margin-bottom: 0; }
.legal-wrap { width: min(calc(100% - 40px), 820px); margin-inline: auto; }
.legal-wrap h1 { max-width: 760px; }
.legal-content { padding: 60px 0 92px; }
.legal-content h2 { margin-top: 44px; margin-bottom: 18px; font-size: clamp(1.65rem, 2.6vw, 2.25rem); }
.legal-content h3 { margin-top: 28px; margin-bottom: 12px; font-size: 1.28rem; }
.legal-content ul { padding-left: 1.3rem; color: rgba(44,41,38,.78); }
.legal-content li { margin-bottom: 7px; }
.legal-meta { color: rgba(44,41,38,.52); font-size: .85rem; }
.legal-contact { margin-top: 44px; padding: 25px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--ivory); }
.legal-contact h2 { margin-top: 0; }
@media (max-width: 920px) {
  .page-hero-inner, .content-grid, .content-grid.reverse, .profile-grid, .contact-layout { grid-template-columns: 1fr; }
  .page-hero-inner { gap: 28px; }
  .page-hero .lead { max-width: 720px; }
  .sticky-heading { position: static; }
  .split-panels { grid-template-columns: 1fr; }
  .profile-card { width: min(75%, 400px); justify-self: center; }
}
@media (max-width: 720px) {
  .page-hero { padding: calc(var(--header-h) + 54px) 0 58px; }
  .page-hero h1 { font-size: clamp(2.65rem, 12vw, 3.55rem); }
  .service-detail { grid-template-columns: 1fr; gap: 8px; }
  .credentials { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .legal-wrap { width: min(calc(100% - 28px), 820px); }
}

.about-profile-section { padding-top: calc(var(--header-h) + clamp(54px, 6vw, 82px)); }
.about-profile-section h1 { margin-bottom: 24px; font-size: clamp(2.65rem, 4.4vw, 4.25rem); }
.discovery-list { margin-top: 24px; }
.discovery-policy-note { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--line); }
.discovery-policy-note p { margin-bottom: 8px; font-size: .9rem; color: rgba(44,41,38,.64); }
@media (max-width: 720px) {
  .about-profile-section { padding-top: calc(var(--header-h) + 42px); }
}
