:root { --ink:#173d33; --cream:#f5f2e9; --paper:#fbfaf5; --sage:#b8c7aa; --line:rgba(23,61,51,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1240px,calc(100% - 48px)); margin-inline:auto; }
.nav { height:92px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.wordmark { display:flex; align-items:center; gap:12px; }
.wordmark>span { display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--ink); border-radius:50%; font-family:Georgia,serif; font-size:13px; letter-spacing:.08em; }
.wordmark b { font-size:14px; font-weight:500; letter-spacing:.02em; }
.nav-links { display:flex; align-items:center; gap:32px; font-size:13px; }
.nav-cta { padding:13px 19px; border:1px solid var(--ink); border-radius:99px; }
.hero { min-height:690px; display:grid; grid-template-columns:1.08fr .92fr; gap:7vw; align-items:center; position:relative; }
.hero-copy { padding-block:70px; position:relative; z-index:1; }
.eyebrow { margin:0 0 26px; color:#577368; font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:760px; margin-bottom:30px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(58px,6.1vw,94px); font-weight:400; line-height:.96; letter-spacing:-.055em; }
h1 em { display:block; color:#56705f; font-weight:400; }
.lead { max-width:600px; font-size:18px; line-height:1.65; color:#53665f; }
.hero-actions { margin-top:38px; display:flex; align-items:center; gap:30px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 25px; border-radius:99px; font-size:13px; }
.button-dark { background:var(--ink); color:#fff; }
.text-link { padding-block:8px; border-bottom:1px solid var(--line); font-size:13px; }
.text-link span { margin-left:8px; }
.hero-card { position:relative; min-height:510px; padding:28px; display:grid; place-items:center; background:#e6eadc; border-radius:260px 260px 24px 24px; overflow:hidden; }
.doctor-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; }
.hero-card::after { content:''; position:absolute; inset:52% 0 0; background:linear-gradient(180deg,transparent,rgba(17,45,38,.45)); pointer-events:none; }
.experience-pill { position:absolute; z-index:2; right:20px; bottom:52px; width:150px; height:150px; display:grid; place-content:center; padding:18px; color:white; background:var(--ink); border-radius:50%; text-align:center; transform:rotate(6deg); }
.experience-pill strong { font-family:Georgia,serif; font-size:30px; font-weight:400; }
.experience-pill span { font-size:10px; line-height:1.35; text-transform:uppercase; letter-spacing:.06em; }
.ivy { position:absolute; pointer-events:none; opacity:.32; }
.ivy-one { left:-65px; top:35px; width:260px; height:190px; border-left:2px solid #607a4e; transform:rotate(15deg); }
.ivy i { position:absolute; width:42px; height:62px; background:#7e986b; border-radius:75% 15% 70% 20%; transform:rotate(35deg); }
.ivy i:nth-child(1){left:3px;top:6px}.ivy i:nth-child(2){left:-35px;top:48px;transform:rotate(-45deg)}.ivy i:nth-child(3){left:8px;top:78px}.ivy i:nth-child(4){left:-31px;top:114px;transform:rotate(-45deg)}.ivy i:nth-child(5){left:8px;top:145px}
.services { padding-block:110px 130px; border-top:1px solid var(--line); }
.section-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:52px; }
.section-heading h2 { margin:0; font-family:Georgia,serif; font-size:clamp(42px,4.3vw,66px); font-weight:400; line-height:1.04; letter-spacing:-.04em; }
.service-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.service-card { min-height:400px; padding:30px; display:flex; flex-direction:column; background:var(--cream); border-radius:18px; border:1px solid transparent; transition:transform .2s ease,border-color .2s ease; }
.service-card:hover { transform:translateY(-4px); border-color:var(--line); }
.service-top { display:flex; justify-content:space-between; color:#697b73; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.service-card h3 { margin:80px 0 18px; font-family:Georgia,serif; font-size:36px; font-weight:400; }
.service-card>p { max-width:490px; color:#5c6c66; line-height:1.6; }
.service-bottom { margin-top:auto; display:flex; align-items:end; justify-content:space-between; padding-top:30px; border-top:1px solid var(--line); }
.service-bottom strong { font-family:Georgia,serif; font-size:30px; font-weight:400; }
.service-bottom a { padding:12px 18px; background:var(--ink); color:#fff; border-radius:99px; font-size:12px; }
@media(max-width:800px){.shell{width:min(100% - 28px,680px)}.nav{height:74px}.nav-links>a:not(.nav-cta){display:none}.nav-cta{padding:11px 14px}.wordmark b{display:none}.hero{grid-template-columns:1fr;gap:0;padding-bottom:70px}.hero-copy{padding:74px 0 46px}h1{font-size:clamp(52px,15vw,76px)}.lead{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-card{min-height:430px}.services{padding-block:80px}.section-heading{display:block}.service-grid{grid-template-columns:1fr}.service-card{min-height:360px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card{transition:none}}

::selection { background:#c9d6bd; color:var(--ink); }
.section { padding-block:120px; }
.nav { position:relative; z-index:20; }
.hero-note { position:absolute; z-index:2; left:28px; bottom:26px; width:max-content; padding-bottom:4px; border-bottom:1px solid rgba(255,255,255,.65); font-size:10px; letter-spacing:.13em; text-transform:uppercase; color:#fff; }
.trust-strip { background:var(--ink); color:#fff; }
.trust-grid { min-height:124px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; }
.trust-grid>div { min-height:64px; display:flex; flex-direction:column; justify-content:center; padding:0 28px; border-left:1px solid rgba(255,255,255,.16); }
.trust-grid>div:first-child { border-left:0; padding-left:0; }
.trust-grid strong { font-family:Georgia,serif; font-size:28px; font-weight:400; }
.trust-grid span { margin-top:5px; color:#c7d1cc; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.services { border-top:0; }
.section-heading>div { max-width:340px; }
.section-intro { color:#687871; line-height:1.6; }
.service-card ul { list-style:none; margin:24px 0 32px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; }
.service-card li { position:relative; padding-left:17px; color:#53665f; font-size:12px; line-height:1.45; }
.service-card li::before { content:'·'; position:absolute; left:0; top:-2px; font-size:20px; }
.payment-note { margin:22px 0 0; color:#74847d; font-size:11px; text-align:center; }
.about { background:#e9ede2; }
.about-grid { display:grid; grid-template-columns:260px 1fr; gap:8vw; }
.about-aside { display:flex; flex-direction:column; justify-content:space-between; }
.seal { width:180px; height:180px; display:grid; place-content:center; border:1px solid var(--line); border-radius:50%; text-align:center; }
.seal span { font-family:Georgia,serif; font-size:52px; line-height:1; }
.seal small { margin-top:10px; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.about-copy h2 { max-width:900px; margin-bottom:56px; font-family:Georgia,serif; font-size:clamp(42px,5vw,72px); font-weight:400; line-height:1.04; letter-spacing:-.045em; }
.about-copy h2 em { color:#667c6b; font-weight:400; }
.about-columns { display:grid; grid-template-columns:1fr 1fr; gap:45px; }
.about-columns p { color:#53665f; line-height:1.75; }
.profile-links { margin-top:52px; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }
.profile-link { padding:24px 0; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); }
.profile-link:first-child { padding-right:28px; }
.profile-link:last-child { padding-left:28px; border-left:1px solid var(--line); }
.profile-link span { color:#6b7c74; font-size:11px; }
.profile-link b { font-size:13px; font-weight:500; }
.principles { display:grid; grid-template-columns:.9fr 1.1fr; gap:9vw; }
.principles-title { position:sticky; top:40px; align-self:start; }
.principles h2 { font-family:Georgia,serif; font-size:clamp(42px,4.7vw,68px); line-height:1.04; font-weight:400; letter-spacing:-.045em; }
.principle-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.principle-list li { min-height:190px; padding:36px 0; display:grid; grid-template-columns:80px 1fr; border-bottom:1px solid var(--line); }
.principle-list>li>span { color:#7b8d84; font-size:11px; }
.principle-list h3 { margin-bottom:13px; font-family:Georgia,serif; font-size:30px; font-weight:400; }
.principle-list p { max-width:500px; color:#687871; line-height:1.65; }
.cases { background:var(--ink); color:#fff; }
.cases .eyebrow { color:#a8b9af; }
.cases-head { display:grid; grid-template-columns:1.4fr .6fr; gap:10vw; align-items:end; margin-bottom:58px; }
.cases-head h2 { margin:0; font-family:Georgia,serif; font-size:clamp(48px,5vw,72px); line-height:1.02; font-weight:400; letter-spacing:-.045em; }
.cases-head>p { color:#b7c3bd; line-height:1.7; font-size:13px; }
.case-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.case-card { min-height:470px; display:flex; flex-direction:column; padding:34px; background:#244a40; border:1px solid rgba(255,255,255,.12); border-radius:18px; }
.case-number { margin-left:auto; font-family:Georgia,serif; color:#91a69c; font-size:28px; }
.case-tag { width:max-content; padding:7px 10px; border:1px solid rgba(255,255,255,.22); border-radius:99px; color:#c6d0cb; font-size:9px; letter-spacing:.09em; text-transform:uppercase; }
.case-card h3 { max-width:520px; margin:40px 0 18px; font-family:Georgia,serif; font-size:36px; font-weight:400; line-height:1.06; }
.case-card>p { color:#c0ccc6; line-height:1.65; }
.case-result { margin-top:auto; padding-top:24px; border-top:1px solid rgba(255,255,255,.14); }
.case-result span { color:#91a69c; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.case-result p { margin:9px 0 0; font-size:13px; line-height:1.55; }
.source-link { display:block; width:max-content; margin:30px 0 0 auto; padding-bottom:7px; border-bottom:1px solid rgba(255,255,255,.35); color:#c5d0ca; font-size:11px; }
.education-head { display:grid; grid-template-columns:1.35fr .65fr; gap:10vw; align-items:end; margin-bottom:65px; }
.education-head h2 { margin:0; font-family:Georgia,serif; font-size:clamp(48px,5vw,72px); line-height:1.03; font-weight:400; letter-spacing:-.045em; }
.education-lead>p { color:#687871; font-size:13px; line-height:1.7; }
.education-lead>a { display:inline-flex; align-items:center; gap:10px; margin-top:16px; padding-bottom:7px; border-bottom:1px solid var(--line); font-size:12px; line-height:1.45; }
.education-lead>a span { font-size:14px; }
.timeline { border-top:1px solid var(--line); }
.timeline-row { min-height:185px; display:grid; grid-template-columns:190px .9fr 1.1fr; gap:48px; align-items:center; border-bottom:1px solid var(--line); }
.timeline-row .year { font-family:Georgia,serif; font-size:24px; }
.timeline-row span { color:#75867e; font-size:9px; letter-spacing:.11em; text-transform:uppercase; }
.timeline-row h3 { margin:12px 0 0; max-width:410px; font-family:Georgia,serif; font-size:27px; line-height:1.15; font-weight:400; }
.timeline-row>p { margin:0; color:#64756d; line-height:1.65; }
.education-more { border-bottom:1px solid var(--line); }
.education-more summary { padding:28px 0; display:flex; align-items:center; justify-content:space-between; cursor:pointer; list-style:none; font-size:13px; }
.education-more summary::-webkit-details-marker { display:none; }
.education-more summary span { font-size:25px; font-weight:300; transition:transform .2s ease; }
.education-more[open] summary span { transform:rotate(45deg); }
.education-tags { padding:0 0 32px; display:flex; flex-wrap:wrap; gap:8px; }
.education-tags span { padding:9px 13px; border:1px solid var(--line); border-radius:99px; color:#607069; font-size:10px; }
.cta-section { min-height:680px; display:grid; place-items:center; position:relative; overflow:hidden; background:#b8c8aa; text-align:center; }
.cta-inner { position:relative; z-index:1; }
.cta-inner h2 { margin:0 auto 26px; font-family:Georgia,serif; font-size:clamp(54px,6vw,88px); line-height:.98; font-weight:400; letter-spacing:-.05em; }
.cta-inner h2 em { color:#4f6858; font-weight:400; }
.cta-inner>p:not(.eyebrow) { max-width:520px; margin:0 auto 30px; color:#496055; line-height:1.65; }
.button-light { background:#f7f4eb; color:var(--ink); }
.ivy-two { right:40px; top:40px; width:260px; height:220px; border-left:2px solid #607a4e; transform:rotate(-25deg); opacity:.45; }
.footer { min-height:170px; display:grid; grid-template-columns:1fr 1.5fr .6fr; gap:50px; align-items:center; }
.footer>p { margin:0; color:#73827c; font-size:10px; line-height:1.6; }
.footer>div { display:flex; justify-content:flex-end; gap:22px; font-size:11px; }
.button,.nav-cta,.service-bottom a { transition:transform .2s ease,background .2s ease; }
.button:hover,.nav-cta:hover,.service-bottom a:hover { transform:translateY(-2px); }
.nav-cta:hover { background:var(--ink); color:white; }

@media(max-width:980px){
  .nav-links>a:not(.nav-cta){display:none}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid>div{padding:24px;border-bottom:1px solid rgba(255,255,255,.16)}.trust-grid>div:nth-child(odd){border-left:0}.section-heading{display:block}.section-heading>div{max-width:520px;margin-bottom:30px}.about-grid{grid-template-columns:170px 1fr;gap:5vw}.principles{grid-template-columns:1fr}.principles-title{position:static}.timeline-row{grid-template-columns:150px 1fr;gap:28px;padding:30px 0}.timeline-row>p{grid-column:2}.footer{grid-template-columns:1fr 1fr}.footer>p{grid-column:1/-1;order:3;padding-bottom:25px}.footer>div{justify-content:flex-end}
}

@media(max-width:680px){
  .section{padding-block:82px}.hero-note{font-size:8px}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid>div{padding:22px 12px}.trust-grid strong{font-size:23px}.trust-grid span{font-size:8px}.service-card ul{grid-template-columns:1fr}.service-bottom{align-items:center}.service-bottom strong{font-size:27px}.about-grid{grid-template-columns:1fr}.about-aside{display:block}.seal{display:none}.about-copy h2{margin-bottom:36px}.about-columns,.profile-links{grid-template-columns:1fr}.profile-link:first-child{padding-right:0}.profile-link:last-child{padding-left:0;border-left:0}.principle-list li{grid-template-columns:48px 1fr}.cases-head,.education-head{grid-template-columns:1fr;gap:24px}.case-grid{grid-template-columns:1fr}.case-card{min-height:440px;padding:26px}.case-card h3{font-size:31px}.source-link{margin-left:0}.timeline-row{grid-template-columns:1fr;gap:12px}.timeline-row>p{grid-column:1}.timeline-row h3{font-size:25px}.footer{grid-template-columns:1fr;gap:25px;padding:36px 0}.footer>p{grid-column:1;order:initial;padding:0}.footer>div{justify-content:flex-start}.cta-section{min-height:600px}.ivy-two{right:-100px}.education-head h2,.cases-head h2{font-size:46px}
}

@media(prefers-reduced-motion:reduce){.button,.nav-cta,.service-bottom a,.education-more summary span{transition:none}}
