:root{--ink:#183e30;--paper:#fbfdf9;--muted:#496454;--line:#cfdfd1;--blue:#deedda;--accent:#b5d3aa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #4d834b;outline-offset:5px}.skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}.draft{background:var(--ink);color:#fff;text-align:center;padding:8px 20px;font-size:.75rem;letter-spacing:.1em}.draft span{margin-left:20px;letter-spacing:0;font-size:.875rem;color:#d7e1ea}header{max-width:1320px;margin:auto;padding:27px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:16px;align-items:center;font-family:Georgia,serif;font-size:1.35rem}.brand small{display:block;font-family:Arial,sans-serif;font-size:.75rem;letter-spacing:.08em;color:var(--muted)}.monogram{font-size:1.1rem;border:1px solid #9eb79e;border-radius:50%;width:48px;height:48px;display:grid;place-items:center}nav{display:flex;gap:36px;align-items:center;font-size:.875rem}.nav-contact{border:1px solid var(--ink);padding:9px 23px}.menu{display:none}.hero{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.15fr 1fr;padding:60px 5% 70px;gap:70px;min-height:670px;align-items:center}.eyebrow{font-size:.75rem;letter-spacing:.2em;margin:0 0 26px}h1,h2,h3,p{margin-top:0}h1{font:normal clamp(3.5rem,6vw,6rem)/1.1 Georgia,serif;letter-spacing:-.04em;margin-bottom:25px}.hero-sub{font:normal 1.7rem/1.4 Georgia,serif;max-width:420px;margin-bottom:20px}.hero-text{max-width:430px;color:var(--muted);margin-bottom:30px}.placeholder{color:var(--muted)}.button{display:inline-block;background:var(--ink);color:white;padding:13px 28px;font-size:.875rem}.button:hover{background:#285c43}.hero-bottom{display:flex;flex-wrap:wrap;gap:14px 24px;border-top:1px solid var(--line);padding-top:24px;margin-top:46px;font-size:.75rem;color:var(--muted)}.portrait{position:relative;padding-bottom:30px}.portrait-frame{min-height:440px;background:var(--blue);border-radius:180px 180px 2px 2px;padding:85px 45px 45px;display:flex;flex-direction:column;justify-content:center;text-align:center;border:1px solid #bbd4b4}.portrait-label{font-size:.75rem;letter-spacing:.15em;color:#385b41}.portrait-frame p{font:normal 2.4rem/1.3 Georgia,serif;margin:25px 0 30px;color:#385b41}.photo-note{font-size:.875rem;color:#496454}.portrait-index{position:absolute;bottom:0;right:0;font-size:.75rem;letter-spacing:.13em}.section{padding:80px 5%;display:grid;grid-template-columns:1fr 2.3fr;gap:70px;scroll-margin-top:15px}.section-label{display:flex;gap:23px;align-items:baseline;font-size:.75rem;letter-spacing:.14em}.section-label>span{color:#53725a}.section-body{max-width:720px}h2{font:normal clamp(2rem,3.5vw,3rem)/1.25 Georgia,serif;letter-spacing:-.025em;margin-bottom:30px}.about{max-width:1320px;margin:auto;border-top:1px solid var(--line)}.about .section-body p{max-width:580px}.education{background:#edf5e9}.education .section-label,.contact .section-label{justify-self:end;width:100%;max-width:285px}.education .section-body,.contact .section-body{width:100%}.education-row{border-top:1px solid #cfdfd1;display:grid;grid-template-columns:145px 1fr 25px;padding:26px 0;gap:12px;align-items:baseline}.degree{font-size:.75rem;letter-spacing:.07em;color:var(--muted)}h3{font:normal 1.25rem/1.45 Georgia,serif;margin-bottom:5px}.education-row p{margin:0;color:var(--muted);font-size:.875rem}.row-number{font-size:.75rem;color:#53725a}.education-note{font-size:.875rem;margin-top:24px}.contact{background:var(--ink);color:white}.contact .section-label>span{color:#d6e8d1}.contact .placeholder{color:#d6e8d1}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 35px;margin-top:40px;border-top:1px solid #54745c;padding-top:30px}.contact-grid h3{font-family:Arial,sans-serif;font-size:.875rem}.contact-grid p{font-size:.875rem;color:#d6e8d1;margin:0}footer{max-width:1320px;margin:auto;padding:28px 5%;display:flex;justify-content:space-between;gap:20px;font-size:.875rem}.footer-brand{font-family:Georgia,serif}.footer-brand span{color:var(--muted)}@media(min-width:1500px){.section{padding-left:calc((100vw - 1188px)/2);padding-right:calc((100vw - 1188px)/2)}.about{padding-left:66px;padding-right:66px}}@media(max-width:800px){header{padding:20px 6%}nav{gap:20px}.hero{gap:30px;padding:45px 6%;min-height:auto}.portrait-frame{min-height:350px;padding:55px 20px 30px}.portrait-frame p{font-size:1.9rem}.section{gap:30px;padding:55px 6%;grid-template-columns:1fr 2fr}.education-row{grid-template-columns:1fr 25px}.degree{grid-column:1/-1}.hero-bottom{margin-top:30px}.draft span{display:block;margin:0}.hero-sub{font-size:1.4rem}}@media(max-width:600px){html{scroll-padding-top:20px}header{position:relative}.menu{display:block;font:inherit;font-size:.875rem;border:1px solid var(--line);background:transparent;padding:8px 15px;color:var(--ink)}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);z-index:5;border-bottom:1px solid var(--line);padding:20px 6%;flex-direction:column;align-items:stretch;gap:15px}nav.open{display:flex}.nav-contact{text-align:center}.hero{grid-template-columns:1fr;gap:40px;padding:45px 6%}.hero h1{font-size:3.5rem}.hero-copy{max-width:100%}.portrait{max-width:380px;width:100%;justify-self:center}.portrait-frame{min-height:340px}.section{grid-template-columns:1fr;gap:15px;padding:45px 6%}.section-label{gap:15px}.education .section-label,.contact .section-label{justify-self:start;max-width:none}.contact-grid{grid-template-columns:1fr}footer{align-items:flex-start}.footer-brand span{display:block}.draft{font-size:.75rem}.draft span{font-size:.75rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Clear navigation and calm green surfaces. */
header{padding-top:22px;padding-bottom:22px}.brand small,.eyebrow,.section-label,.degree,.hero-bottom,.portrait-label{font-size:.875rem}.hero{padding-top:48px;padding-bottom:56px;gap:56px;min-height:560px}h1{font-size:clamp(2.8rem,5vw,4.8rem);letter-spacing:-.025em}.hero-sub{font-size:1.5rem}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.button,.nav-contact{border-radius:8px}.button{font-size:1rem;padding:14px 26px}.text-link{text-decoration:underline;text-underline-offset:5px;font-size:1rem}.nav-contact{background:var(--ink);color:#fff}.nav-contact:hover{background:#285c43}.portrait-frame{position:relative;overflow:hidden;min-height:390px;border-radius:24px;padding:48px 30px}.portrait-frame p{font-size:1.8rem}.portrait{padding-bottom:0}.hero-bottom{margin-top:30px}.section{padding-top:60px;padding-bottom:60px;gap:48px}.education-row{grid-template-columns:135px 1fr}.section-body p{white-space:pre-line}h2{font-size:clamp(1.8rem,3vw,2.5rem)}.contact-grid p{font-size:1rem;overflow-wrap:anywhere}.contact-grid a{text-decoration:underline;text-underline-offset:4px}.contact-grid>div:last-child{grid-column:1/-1}.contact-intro{max-width:560px}.education-note{font-size:1rem}footer{padding-top:22px;padding-bottom:22px}
@media(max-width:800px){.hero{gap:30px}.portrait-frame{min-height:330px}.education-row{grid-template-columns:1fr}.degree{grid-column:auto}.section{gap:30px}}
@media(max-width:600px){.hero{padding:32px 6% 40px;gap:28px}.hero h1{font-size:2.9rem}.hero-sub{font-size:1.35rem}.hero-actions .button{flex:1;text-align:center}.portrait{max-width:330px}.portrait-frame{min-height:290px}.section{padding:40px 6%;gap:12px}.contact-grid{margin-top:24px}.brand{font-size:1.15rem}.brand small{font-size:.875rem}nav{font-size:1rem}.monogram{width:42px;height:42px}}

/* Palette from the supplied reference. */
:root{--ink:#294e45;--paper:#f6f5f0;--muted:#56614e;--line:#dce2d7;--blue:#e2ebe0;--accent:#cfddcb}h1,h2,.eyebrow,.section-label{color:#58634f}.education{background:#edf1e8}.portrait-frame{background:#e2ebe0;border-color:#ccd9ca}.button,.nav-contact{background:#294e45}.button:hover,.nav-contact:hover{background:#1f4038}.contact{background:#294e45}.contact h2,.contact .section-label{color:#f6f5f0}.contact .placeholder,.contact-grid p{color:#dbe6db}.about .section-body{background:#edf1e8;border-radius:16px;padding:32px}.appointment-action{display:inline-flex;align-items:center;justify-content:center;margin-top:28px;background:#e2ebe0;color:#294e45;padding:13px 25px;border-radius:8px;font-weight:600;font-size:1rem}.appointment-action:hover{background:#cfddcb}.appointment-note{margin-top:14px;color:#dbe6db;font-size:.875rem}.contact-grid{border-color:#647e72}@media(max-width:600px){.about .section-body{padding:24px}.appointment-action{width:100%}}

.appointment-section{max-width:1050px;margin:0 auto;padding:64px 5%;scroll-margin-top:24px}.appointment-heading{max-width:650px}.appointment-heading .eyebrow{margin-bottom:12px}.appointment-heading h2{margin-bottom:14px}.appointment-heading p{color:var(--muted)}.appointment-form{padding:30px;border:1px solid var(--line);border-radius:16px;background:#edf1e8;margin-top:28px}.appointment-form label{display:block;font-size:1rem;font-weight:600;margin-bottom:22px}.appointment-form label span{font-weight:400;font-size:.875rem}.appointment-form input,.appointment-form textarea{display:block;width:100%;font:inherit;line-height:1.5;color:var(--ink);background:#fafbf7;border:1px solid #b8c8b6;border-radius:8px;padding:13px;margin-top:8px}.appointment-form textarea{resize:vertical;min-height:120px}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-hint{font-size:.875rem;color:var(--muted)}.form-status{font-size:.9375rem;padding:14px 18px;background:#e2ebe0;border-radius:8px}.appointment-form button{width:100%;padding:14px;border:0;border-radius:8px;background:#294e45;color:white;font:inherit;font-weight:600}.appointment-form button:disabled{opacity:.65;cursor:not-allowed}.appointment-form input:focus,.appointment-form textarea:focus{outline:2px solid #58634f;outline-offset:3px}@media(max-width:600px){.appointment-section{padding:40px 6%}.appointment-form{padding:20px}.form-columns{grid-template-columns:1fr;gap:0}}

.professional-education{margin-top:48px;padding-top:32px;border-top:1px solid var(--line)}.professional-education h2{font-size:clamp(1.6rem,3vw,2.1rem)}.education-row p{white-space:pre-line}

/* Equal heading levels across both education groups; retain original entry typography. */
.professional-education h2{font-size:clamp(1.8rem,3vw,2.5rem)}

.blog-main{max-width:1100px;margin:auto;padding:44px 5% 80px;min-height:65vh}.blog-heading{padding:32px 0 38px;border-bottom:1px solid var(--line);margin-bottom:32px}.blog-heading h1{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:16px}.blog-heading p{max-width:700px;color:var(--muted);white-space:pre-line}.blog-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.blog-card{background:#edf1e8;border:1px solid var(--line);border-radius:14px;padding:28px;display:flex;flex-direction:column}.blog-card h2{font-size:1.6rem;line-height:1.35;margin:12px 0 16px;overflow-wrap:anywhere}.blog-card p{color:var(--muted);white-space:pre-line}.blog-meta{font-size:.875rem;color:var(--muted)}.blog-read{margin-top:auto;text-decoration:underline;text-underline-offset:5px;padding-top:12px}.blog-back{font-size:1rem;text-decoration:underline;text-underline-offset:5px}.blog-empty{padding:40px;background:#edf1e8;border-radius:14px;color:var(--muted)}.blog-article{max-width:760px;margin:auto}.blog-article .blog-meta{margin-top:36px}.blog-article h1{font-size:clamp(2.2rem,4vw,3.6rem);overflow-wrap:anywhere}.article-body{font-size:1.0625rem;line-height:1.85}.article-body p{white-space:pre-line;overflow-wrap:anywhere;margin-bottom:24px}@media(max-width:700px){.blog-grid{grid-template-columns:1fr}.blog-main{padding:30px 6% 50px}.blog-card{padding:24px}}nav{gap:24px}

.portrait-frame{aspect-ratio:4/3;min-height:0}.portrait-frame:has(img) .portrait-label,.portrait-frame:has(img) p,.portrait-frame:has(img) .photo-note{visibility:hidden}
.portrait-frame:has(img){padding:0}.portrait-frame:has(img) .portrait-label,.portrait-frame:has(img) p,.portrait-frame:has(img) .photo-note{display:none}
.brand-logo{display:block;width:48px;height:48px;object-fit:contain;flex-shrink:0}@media(max-width:600px){.brand-logo{width:42px;height:42px}}
