@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--navy:#15283F;--evergreen:#245C46;--gold:#C5A15A;--ivory:#F7F3EA;--sage:#DCE6DC;--slate:#414B54;--cream:var(--ivory);--ink:var(--navy);--terracotta:var(--gold);--paper:#fffdfb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.65}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--terracotta);outline-offset:4px}.wrap{width:min(1140px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:-9999px;top:10px;background:white;padding:10px;z-index:10}.skip:focus{left:10px}.header{background:var(--cream);border-bottom:1px solid #d6ddd4;position:sticky;top:0;z-index:5}.nav{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:20px}.logo{text-decoration:none;font-weight:700;letter-spacing:.055em;font-size:14px;line-height:1.1}.logo i{font-family:"DM Serif Display",Georgia,serif;font-size:24px;font-weight:400;letter-spacing:0;display:block}.star{position:absolute;margin:-36px 0 0 158px;color:var(--terracotta);font-size:28px}nav{display:flex;gap:27px;align-items:center}nav a{text-decoration:none;font-size:13px;font-weight:600}nav a:hover,.underlink:hover{text-decoration:underline}.navbutton{border:1px solid var(--ink);padding:10px 16px;border-radius:50px}.menu{display:none;background:transparent;border:1px solid var(--ink);padding:8px 14px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:700;color:#245C46;margin:0 0 22px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08}h1,h2{font-family:"DM Serif Display",Georgia,serif;font-weight:400;letter-spacing:-.025em}h1{font-size:clamp(60px,8vw,112px);margin-bottom:28px}h2{font-size:clamp(43px,6vw,75px);margin-bottom:28px}h1 em,h2 em{font-weight:400;color:var(--terracotta)}.hero{padding:105px 0 120px}.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;align-items:center}.lead{font-size:19px;max-width:600px;color:#414B54}.button{display:inline-flex;gap:50px;justify-content:space-between;align-items:center;text-decoration:none;border-radius:40px;background:var(--ink);color:white;padding:15px 24px;font-size:14px;font-weight:700;margin-top:18px}.button:hover{background:#1B4938}.note{background:var(--sage);padding:40px;transform:rotate(2deg);box-shadow:14px 14px 0 #c9d6ca}.note span,.service-grid span{font-size:11px;font-weight:700;letter-spacing:.12em}.note p{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(26px,3vw,39px);line-height:1.2;margin:22px 0}.scribble{font-family:"DM Serif Display",Georgia,serif;font-style:italic;color:#245C46;text-align:right;font-size:25px}.split{display:grid;grid-template-columns:1fr 1.35fr;gap:80px}.intro,.process,.services,.residency,.about,.contact{padding:115px 0}.intro{background:var(--paper)}.intro p:not(.eyebrow),.residency p:not(.eyebrow),.about p:not(.eyebrow){font-size:17px}.process{background:var(--sage)}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:55px}.steps article{border-top:1px solid #9CB4A2;padding-top:18px}.steps b{font-size:12px;color:#245C46}.steps h3,.service-grid h3{font-family:"DM Serif Display",Georgia,serif;font-size:26px;font-weight:400;margin:25px 0 10px}.steps p{font-size:14px}.services{background:var(--ink);color:var(--paper)}.services .eyebrow{color:#C5A15A}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:55px}.service-grid article{border:1px solid #6B7A84;padding:34px}.service-grid h3{font-size:34px}.service-grid p{color:#E7EDE9}.residency{background:#E6EDE4}.large{font-family:"DM Serif Display",Georgia,serif;font-size:27px!important;line-height:1.3}.underlink{font-weight:700;text-underline-offset:5px}.about{background:var(--paper)}.contact{background:var(--terracotta);text-align:center}.contact .eyebrow{color:#15283F}.contact h2{font-size:clamp(50px,7vw,90px)}.contact h2 em{color:#F7F3EA}.contact p{max-width:620px;margin:0 auto 20px}.button.light{background:var(--ink);margin-bottom:22px}.small{font-size:12px;opacity:.8}footer{background:var(--ink);color:#F7F3EA;padding:28px 0}.footer{display:flex;justify-content:space-between;gap:20px;font-size:12px}@media(max-width:850px){.menu{display:block}nav{display:none;position:absolute;top:81px;left:0;right:0;background:var(--cream);padding:22px 24px;border-bottom:1px solid #d6ddd4;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero-grid,.split{grid-template-columns:1fr;gap:40px}.steps{grid-template-columns:repeat(2,1fr)}.hero{padding:80px 0}.intro,.process,.services,.residency,.about,.contact{padding:75px 0}}@media(max-width:540px){.wrap{width:min(100% - 32px,1140px)}.steps,.service-grid{grid-template-columns:1fr}.hero{padding:65px 0}.note{padding:28px;box-shadow:8px 8px 0 #c9d6ca}.footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Website Checkup additions — updated brand palette */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.note-link{display:block;text-decoration:none;transition:transform .15s ease;color:#245C46}.note-link:hover{transform:translateX(3px);text-decoration:underline;text-underline-offset:5px}.note-link:focus-visible{outline:3px solid var(--terracotta);outline-offset:5px}
.service-link{display:inline-block;margin-top:12px;color:var(--paper);font-size:14px;text-underline-offset:5px;font-weight:700}
.checkup-hero{background:var(--sage);padding:86px 0 72px}.checkup-hero h1{font-size:clamp(52px,7vw,88px);max-width:880px}.checkup-hero .lead{max-width:740px}.checkup-main{padding:70px 0 100px}.checkup-shell{max-width:850px;margin:0 auto}.checkup-panel{background:var(--paper);padding:clamp(24px,5vw,54px);border:1px solid #CED9D0;border-radius:8px;box-shadow:10px 10px 0 #E6EDE4}.checkup-progress{height:8px;background:#DCE6DC;border-radius:20px;overflow:hidden;margin:14px 0 36px}.checkup-progress>div{height:100%;width:0;background:var(--terracotta);transition:width .2s}.checkup-counter{font-size:12px;font-weight:700;letter-spacing:.12em;color:#414B54}.checkup-panel h2{font-size:clamp(32px,4.5vw,48px);margin:12px 0 16px}.checkup-panel .hint{color:#414B54;font-size:15px}.answer-list{border:0;padding:0;margin:32px 0 24px;min-width:0}.answer-list legend{font-weight:700;font-size:14px;margin-bottom:12px}.answer-option{display:flex;align-items:flex-start;gap:14px;border:1px solid #A8B9AC;border-radius:6px;padding:17px 18px;margin-bottom:12px;cursor:pointer;background:#FFFEFA}.answer-option:hover,.answer-option:has(input:checked){border-color:#245C46;background:#F7F3EA}.answer-option input{accent-color:#245C46;width:19px;height:19px;flex-shrink:0;margin-top:3px}.checkup-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.checkup-actions .button{margin-top:0;cursor:pointer;border:0}.secondary-button{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:13px 22px;border-radius:30px;cursor:pointer;font-weight:700}.secondary-button:hover{background:var(--sage)}button:disabled{opacity:.45;cursor:not-allowed}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:25px 0}.result-card{border:1px solid #C7D5CB;border-radius:6px;padding:18px;background:var(--cream)}.result-card h3{font-family:"DM Serif Display",Georgia,serif;font-size:24px;font-weight:400;margin:5px 0 9px}.result-card p{font-size:14px;margin:0}.result-tag{font-size:11px;letter-spacing:.1em;font-weight:700;color:#245C46}.result-summary{padding:22px;background:var(--sage);border-radius:6px;margin:24px 0}.result-summary p:last-child{margin-bottom:0}.checkup-disclaimer{font-size:13px;color:#414B54;margin-top:22px}.checkup-cta{margin-top:30px}.checkup-cta .button{margin-top:6px}.checkup-intro{margin-bottom:35px}.checkup-footer-link{margin-top:30px;font-size:14px}.hidden{display:none!important}@media(max-width:600px){.result-grid{grid-template-columns:1fr}.checkup-hero{padding:65px 0 55px}.checkup-main{padding:40px 0 80px}.checkup-panel{box-shadow:6px 6px 0 #E6EDE4}}

/* Brand identity system — applied site-wide */
.logo{display:inline-flex;align-items:center;flex-shrink:0;letter-spacing:normal;line-height:1}
.logo img{display:block;width:220px;height:auto;max-height:83px;object-fit:contain}
.nav{min-height:94px}
.header{border-bottom-color:#D2DDD4}
nav a:hover{color:var(--evergreen)}
.navbutton{border-color:var(--evergreen);color:var(--evergreen)}
.navbutton:hover{background:var(--evergreen);color:var(--ivory);text-decoration:none}
.eyebrow{color:var(--evergreen)}
h1 em,h2 em{color:var(--evergreen)}
.button,.button.light{background:var(--evergreen);color:#fff}
.button:hover,.button.light:hover{background:#193F30}
.note{background:var(--sage);box-shadow:14px 14px 0 #C9D6CA}
.note-link{color:var(--evergreen)}
.services{background:var(--navy);color:var(--ivory)}
.services h2 em{color:var(--gold)}
.services .eyebrow,.service-grid span{color:var(--gold)}
.service-grid article{border-color:#647483}
.service-grid p{color:#E7EDE9}
.service-link{color:var(--gold)}
.process,.checkup-hero{background:var(--sage)}
.residency{background:#E6EDE4}
.contact{background:var(--evergreen);color:var(--ivory)}
.contact .eyebrow{color:#DCE6DC}
.contact h2 em{color:var(--gold)}
.contact .button.light{background:var(--ivory);color:var(--navy)}
.contact .button.light:hover{background:var(--gold)}
footer{background:var(--navy);color:var(--ivory)}
.checkup-progress>div{background:var(--evergreen)}
.answer-option input{accent-color:var(--evergreen)}
.result-tag{color:var(--evergreen)}
:focus-visible{outline-color:var(--gold)}
@media(max-width:850px){.nav{min-height:82px}.logo img{width:185px;max-height:72px}}
@media(max-width:540px){.logo img{width:168px}.note{box-shadow:8px 8px 0 #C9D6CA}}

/* Homepage content refresh */
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.hero-actions .button{margin:0}.hero-emphasis{margin-top:20px}.button-outline{background:transparent!important;border:2px solid var(--evergreen,#245C46);color:var(--evergreen,#245C46)!important}.button-outline:hover,.button-outline:focus-visible{background:var(--evergreen,#245C46)!important;color:white!important}.service-grid article{display:flex;flex-direction:column}.service-grid article .service-link{margin-top:auto;padding-top:16px}.service-secondary{display:inline-block;margin-top:10px;font-size:.88rem;text-decoration:underline;text-underline-offset:3px}.about-heading{font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.3;margin:0 0 20px}.intro .split>div p{max-width:72ch}

/* October homepage batch: mobile controls and circular profile */
.menu{color:var(--evergreen);font:inherit;font-size:14px;font-weight:700;border-color:var(--evergreen);border-radius:24px;-webkit-appearance:none;appearance:none}
.note-link span[aria-hidden]{font:inherit;letter-spacing:normal;color:inherit}
.button span[aria-hidden]{color:inherit}
.about-profile{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.headshot{display:block;width:230px;height:230px;max-width:100%;object-fit:cover;object-position:center 30%;border-radius:50%;border:4px solid var(--sage)}
.linkedin-link{display:inline-block;color:var(--evergreen);margin-top:4px}
@media(max-width:850px){.about-profile{flex-direction:row;align-items:center;justify-content:space-between;gap:16px}.about-profile h2{margin-bottom:0;font-size:clamp(34px,7vw,60px)}.headshot{width:clamp(104px,27vw,180px);height:auto;aspect-ratio:1;flex-shrink:0}}

/* Services overview: shared brand typography, cards and buttons */
.overview-hero{padding:70px 0 90px;background:var(--cream)}
.overview-breadcrumb{font-size:13px;margin-bottom:35px;color:var(--slate)}
.overview-breadcrumb a{text-underline-offset:3px}
.overview-hero h1{font-size:clamp(44px,6.2vw,82px);max-width:960px}
.overview-hero .lead{max-width:760px}
.overview-intro-copy{max-width:760px;font-size:17px}
.overview-options{padding:80px 0;background:var(--paper)}
.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.overview-card{padding:36px;border:1px solid #C9D6CA;background:var(--cream);display:flex;flex-direction:column;min-width:0}
.overview-card .eyebrow{margin-bottom:22px}
.overview-card h2{font-size:clamp(29px,3vw,39px);margin-bottom:20px}
.overview-card h3{font-family:"DM Sans",Arial,sans-serif;font-size:17px;line-height:1.4;color:var(--evergreen);margin-bottom:14px}
.overview-card p{font-size:16px}
.overview-card .underlink{color:var(--evergreen);margin-top:auto;padding-top:16px}
.overview-selfcheck{font-size:14px!important;color:var(--slate);border-top:1px solid #C9D6CA;padding-top:18px}
.overview-selfcheck a{font-weight:700;text-underline-offset:3px}
.overview-card:last-child{grid-column:1/-1;background:var(--sage)}
.overview-card:last-child p:not(.eyebrow){max-width:760px}
.overview-faq{padding:90px 0;background:var(--cream)}
.overview-faq details{border-bottom:1px solid #C9D6CA;padding:20px 0}
.overview-faq details:first-child{border-top:1px solid #C9D6CA}
.overview-faq summary{cursor:pointer;font-size:17px;font-weight:700;line-height:1.5;padding-right:12px;color:var(--navy)}
.overview-faq details p{margin:18px 0 0;color:var(--slate)}
@media(max-width:850px){.overview-hero{padding:45px 0 65px}.overview-options,.overview-faq{padding:60px 0}.overview-card{padding:28px}}
@media(max-width:600px){.overview-grid{grid-template-columns:1fr}.overview-card:last-child{grid-column:auto}.overview-hero h1{font-size:clamp(38px,10vw,56px)}.overview-card{padding:24px}.overview-hero .button{gap:20px}}

/* Expanded primary menu: Portfolio is available on desktop and mobile. */
.header nav#links{gap:20px}
@media(max-width:1050px){.header .menu{display:block}.header .nav{min-height:82px}.header .logo img{width:185px;max-height:72px}.header nav#links{display:none;position:absolute;top:81px;left:0;right:0;background:var(--cream);padding:22px 24px;border-bottom:1px solid #D2DDD4;flex-direction:column;align-items:stretch;gap:20px}.header nav#links.open{display:flex}}
@media(max-width:540px){.header .logo img{width:168px}}
