/* Materia Medica V5 — original responsive redesign, 2026-10-13 */
:root{--navy:#142d39;--navy-2:#1b3d49;--ink:#1b343d;--text:#41525a;--muted:#70818a;--sea:#50777b;--sea-dark:#386467;--sage:#dce9e6;--paper:#f8f7f4;--warm:#f2eee8;--line:#e2e7e5;--white:#fff;--shell:1160px;--serif: 'Iowan Old Style',Baskerville,'Palatino Linotype','Book Antiqua',Georgia,serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.7;color:var(--text);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%}svg{width:22px;height:22px;flex:none}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #e0b571;outline-offset:3px}p{margin:0 0 1.3em}h1,h2,h3,h4{margin:0;color:var(--ink)}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.047em;line-height:1.13}h1{font-size:clamp(3.05rem,5.4vw,5.6rem)}h2{font-size:clamp(2.65rem,4.4vw,4.35rem)}h3{font-size:1.3rem;line-height:1.3;letter-spacing:-.025em}h1 em,h2 em{font-weight:400;font-style:italic;color:var(--sea)}.shell{max-width:calc(var(--shell) + 64px);padding-inline:32px;margin-inline:auto}.section{padding-block:112px}.eyebrow{display:inline-flex;gap:13px;align-items:center;font-size:11px;line-height:1.5;letter-spacing:.17em;text-transform:uppercase;font-weight:750;color:var(--sea-dark);margin-bottom:24px}.eyebrow:after{content:'';width:37px;height:1px;background:currentColor;opacity:.55}.eyebrow.light{color:#ebf2ec}.eyebrow.small{font-size:10px;margin-bottom:13px}.section-intro{max-width:800px;margin-bottom:54px}.section-intro.centered{margin:0 auto 56px;text-align:center}.section-intro.centered .eyebrow:before{content:'';width:30px;height:1px;background:currentColor;opacity:.55}.section-intro p{font-size:17px;max-width:670px;margin-top:22px}.section-intro.centered p{margin-inline:auto}.button{min-height:52px;display:inline-flex;gap:20px;justify-content:center;align-items:center;padding:12px 23px;border-radius:4px;font-size:13px;font-weight:750;letter-spacing:.005em;border:1px solid transparent;transition:transform .2s,background .2s,color .2s;line-height:1.45}.button svg{width:17px;height:17px}.button:hover{transform:translateY(-2px)}.button-light{color:var(--navy);background:#f6f3ed}.button-light:hover{background:#fff}.button-outline-light{color:white;border-color:#bfcfcbd4;background:rgba(17,36,46,.24)}.button-outline-light:hover{background:#f8f7f4;color:var(--navy)}.button-dark{background:var(--navy);color:#fff}.button-dark:hover{background:#2e575e}.button-white{background:white;color:var(--navy)}.button-white:hover{background:#e5efed}.text-link{display:inline-flex;gap:12px;align-items:center;color:var(--sea-dark);font-weight:750;font-size:14px;padding-bottom:5px;border-bottom:1px solid #9fb9b4;transition:gap .2s}.text-link:hover{gap:19px}.text-link svg{width:17px;height:17px}
/* Navigation */
.site-header{position:fixed;top:0;inset-inline:0;z-index:80;background:rgba(16,35,45,.84);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);transition:background .2s,box-shadow .2s}.site-header.scrolled{background:rgba(17,40,50,.98);box-shadow:0 6px 20px rgba(0,0,0,.11)}.nav-wrap{height:84px;display:flex;align-items:center;gap:28px}.brand{width:132px;flex:none}.brand img{width:113px;height:auto;max-height:62px;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:clamp(13px,1.55vw,26px);margin-left:auto}.nav-link{position:relative;color:#ebf1f0;font-size:12px;font-weight:650;white-space:nowrap;padding:10px 0}.nav-link:after{content:'';position:absolute;height:2px;bottom:5px;left:0;right:100%;background:#c8ddd5;transition:right .2s}.nav-link:hover:after,.nav-link.active:after{right:0}.nav-call{display:inline-flex;gap:9px;align-items:center;font-size:12px;font-weight:730;color:var(--navy);background:#e5eeea;white-space:nowrap;padding:12px 14px;border-radius:4px}.nav-call svg{width:16px;height:16px}.nav-call:hover{background:white}.menu-toggle{display:none;background:transparent;border:0;color:#fff;padding:10px;margin-left:auto;width:48px;height:48px;flex-direction:column;justify-content:center;gap:6px}.menu-toggle span{height:2px;background:currentColor;display:block;width:26px;transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-8px) rotate(-45deg)}.mobile-nav{display:none}
/* Homepage */
.home-hero{position:relative;min-height:705px;display:flex;align-items:center;color:#fff;background-image:var(--hero-image);background-size:cover;background-position:center 54%;overflow:hidden}.home-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,33,46,.86) 0%,rgba(15,37,48,.64) 39%,rgba(19,45,53,.12) 100%),linear-gradient(0deg,rgba(18,39,46,.4),transparent 40%)}.home-hero-content{position:relative;width:100%;padding-top:115px;padding-bottom:85px;display:flex;justify-content:space-between;align-items:end;gap:70px}.hero-copy{max-width:740px}.hero-copy h1{color:white;max-width:740px;font-size:clamp(3.55rem,5.4vw,5.65rem);text-wrap:balance;margin-bottom:25px}.hero-copy h1 em{color:#e5e4d9}.hero-copy p{font-size:18px;line-height:1.7;max-width:540px;color:#f3f3ef;margin:0 0 34px}.hero-actions{display:flex;flex-wrap:wrap;gap:13px}.hero-stamp{font-family:var(--serif);font-size:19px;font-style:italic;line-height:1.4;text-align:right;min-width:170px;color:#f2eee7;padding-bottom:9px}.hero-stamp span{display:block;height:1px;width:60px;background:#f1ece1;margin:17px 0 0 auto}.hero-number{position:absolute;bottom:24px;right:32px;color:#fcfaf1;font-size:10px;letter-spacing:.13em}.home-quicklinks{background:#fff;border-bottom:1px solid var(--line)}.quicklinks-grid{display:grid;grid-template-columns:repeat(3,1fr)}.quicklinks-grid>a{display:flex;align-items:center;gap:16px;padding:31px 10px;color:var(--sea-dark);min-width:0;border-right:1px solid var(--line)}.quicklinks-grid>a:first-child{padding-left:0}.quicklinks-grid>a:last-child{border-right:0;padding-left:30px}.quicklinks-grid>a:nth-child(2){padding-left:30px}.quicklinks-grid>a>svg:first-child{width:29px;height:29px;stroke-width:1.35}.quicklinks-grid>a>svg:last-child{width:17px;height:17px;margin-left:auto;opacity:.7}.quicklinks-grid span{font-size:15px;font-weight:770;color:var(--ink);line-height:1.4}.quicklinks-grid strong{display:block;color:var(--muted);font-size:12px;font-weight:500;margin-top:4px}.quicklinks-grid>a:hover{background:#f7fbf9}
.intro-grid{display:grid;grid-template-columns:1fr 1.03fr;gap:clamp(50px,7vw,120px);align-items:center}.welcome-copy h2{max-width:550px;margin-bottom:29px}.welcome-copy p{max-width:540px;font-size:16px}.welcome-copy .text-link{margin-top:10px}.welcome-photo{position:relative;margin:0;padding:0 26px 24px 0}.welcome-photo:before{content:'';position:absolute;inset:31px 0 0 40px;background:#e1ece8;border-radius:5px}.welcome-photo img{width:100%;aspect-ratio:1.26;object-fit:cover;object-position:center;border-radius:4px;position:relative;box-shadow:0 14px 40px rgba(29,59,68,.08)}.welcome-photo figcaption{position:relative;text-transform:uppercase;font-size:9px;letter-spacing:.15em;color:#83918f;text-align:right;margin-top:13px}
.services-teaser{background:#ecf2f1}.section-split-heading{display:grid;grid-template-columns:1.2fr .7fr;align-items:end;gap:60px;margin-bottom:48px}.section-split-heading h2{max-width:660px}.section-split-heading p{font-size:16px;max-width:400px;margin-bottom:7px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service-card{background:#fff;border:1px solid #dce4e1;border-radius:5px;padding:30px 25px 25px;min-height:325px;display:flex;flex-direction:column;position:relative;box-shadow:0 15px 30px rgba(30,63,67,.025);transition:transform .2s,box-shadow .2s,border-color .2s}.service-card:hover{transform:translateY(-5px);border-color:#9cbab1;box-shadow:0 17px 33px rgba(30,63,67,.1)}.service-icon{height:49px;width:49px;background:#e6efeb;color:var(--sea-dark);border-radius:50%;display:grid;place-items:center;margin-bottom:35px}.service-icon svg{width:24px;height:24px}.service-index{position:absolute;top:30px;right:25px;font-family:var(--serif);color:#9badaa;font-size:16px}.service-card h3{font-family:var(--serif);font-size:24px;line-height:1.2;font-weight:400;margin:0 0 12px}.service-card p{font-size:13px;line-height:1.65;margin-bottom:25px}.card-link{display:flex;align-items:center;gap:8px;margin-top:auto;font-weight:750;color:var(--sea-dark);font-size:12px}.card-link svg{width:15px;height:15px}.section-button{margin-top:32px}.about-teaser{background:var(--paper)}.about-teaser-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(65px,10vw,155px);align-items:center}.portrait-group{position:relative;max-width:430px;padding:0 20px 24px 20px}.portrait-group:before{content:'';position:absolute;inset:25px 0 0 0;background:#e1ebe8;border-radius:5px}.portrait-group img{position:relative;width:100%;height:475px;object-fit:cover;object-position:50% 22%;border-radius:4px;filter:saturate(.87)}.portrait-small-tag{position:absolute;right:0;bottom:0;background:#fff;padding:17px 24px;color:var(--ink);font-size:14px;font-weight:800;box-shadow:0 7px 25px rgba(0,0,0,.06)}.portrait-small-tag span{font-size:12px;font-weight:500;color:var(--muted)}.about-teaser-copy h2{margin-bottom:26px}.about-teaser-copy p{max-width:640px}.bio-highlights{padding-block:23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:9px;margin:28px 0}.bio-highlights span{display:flex;gap:11px;align-items:center;font-size:13px;color:var(--ink);font-weight:600}.bio-highlights svg{width:16px;height:16px;color:var(--sea-dark)}.visit-section{background:#e8efed}.visit-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:110px;align-items:center}.visit-grid h2{margin-bottom:22px}.visit-grid p{max-width:430px}.visit-contact{display:flex;gap:16px;align-items:start;margin:18px 0;font-weight:650;color:var(--ink)}.visit-contact svg{color:var(--sea-dark);margin-top:2px}.visit-grid .button{margin-top:22px}.visit-photo{height:380px;position:relative;overflow:hidden;border-radius:5px}.visit-photo img{width:100%;height:100%;object-fit:cover}.visit-photo span{position:absolute;left:23px;bottom:22px;background:#fff;color:var(--sea-dark);font-size:11px;font-weight:750;letter-spacing:.14em;padding:12px 16px}
/* Interior */
.inner-hero{position:relative;padding:170px 0 90px;min-height:340px;background-image:var(--hero-image);background-size:cover;background-position:center 45%;color:white;isolation:isolate}.inner-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,38,47,.83),rgba(13,36,43,.48) 66%,rgba(24,48,52,.25));z-index:-1}.inner-content{position:relative}.inner-content .eyebrow{margin-bottom:15px}.inner-hero h1{color:#fff;font-size:clamp(3.3rem,5vw,5rem);margin-bottom:18px}.inner-hero p{max-width:600px;font-size:17px;line-height:1.6;color:#f4f4ef;margin:0}.about-main-grid{display:grid;grid-template-columns:350px minmax(0,1fr);gap:100px;align-items:start}.about-portrait{position:sticky;top:125px}.about-portrait img{width:100%;height:435px;object-fit:cover;object-position:50% 23%;border-radius:5px;filter:saturate(.9)}.photo-caption{background:#e8efeb;padding:17px 22px;font-size:14px;font-weight:750;color:var(--ink)}.photo-caption span{font-size:12px;color:#58747a;font-weight:500}.about-story h2{margin-bottom:25px}.about-story h3{font-family:var(--serif);font-size:26px;font-weight:400;margin:35px 0 13px}.about-story p{font-size:16px;line-height:1.87}.about-story .lead{font-size:19px;line-height:1.75;color:#263f48}.story-rule{height:1px;background:#d5ded9;margin:35px 0}.detailed-services{background:#f7f8f6}.detail-service-list{border-top:1px solid var(--line)}.detail-service{display:grid;grid-template-columns:66px minmax(0,1fr) 175px;gap:35px;padding:40px 0;border-bottom:1px solid var(--line);scroll-margin-top:115px}.detail-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:100px;background:#e8efeb;color:var(--sea-dark)}.detail-icon svg{width:27px;height:27px}.detail-service h3{font-family:var(--serif);font-weight:400;font-size:33px;margin:0 0 13px}.detail-service p{max-width:670px;font-size:15px;line-height:1.88;margin:0}.detail-aside{display:flex;flex-direction:column;gap:6px;border-left:1px solid var(--line);padding-left:25px;justify-content:center}.detail-aside span{color:var(--muted);font-size:12px;line-height:1.5}.detail-aside svg{width:16px;height:16px;vertical-align:middle;margin-right:4px}.detail-aside strong{color:var(--ink);font-family:var(--serif);font-size:23px;font-weight:400;line-height:1.2}.service-end{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#e4eeea;padding:33px 42px;margin-top:46px}.service-end h3{font-family:var(--serif);font-size:27px;font-weight:400}.service-end p{margin:7px 0 0;font-size:14px}.fees-two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:75px}.fees-two-col h2{margin-bottom:23px}.fees-two-col>div>p{max-width:540px}.pricing-cards{margin-top:34px;display:grid;gap:14px}.price-card{background:white;border:1px solid var(--line);border-radius:4px;padding:27px;display:flex;gap:24px;justify-content:space-between;align-items:center}.price-card div:first-child>span{font-size:10px;letter-spacing:.15em;font-weight:800;color:var(--sea-dark)}.price-card h3{margin:9px 0 5px;font-size:21px;font-family:var(--serif);font-weight:400}.price-card p{font-size:13px;margin:0}.price{min-width:100px;text-align:right}.price strong{display:block;color:var(--ink);font-size:27px;line-height:1.3}.price span{font-size:12px;color:var(--muted)}.insurance-card{background:#eaf1ee;padding:47px 40px;border-radius:5px}.insurance-card h2{font-size:39px}.insurance-card p{font-size:14px;line-height:1.75}.insurance-list{display:grid;gap:11px;list-style:none;padding:12px 0 0;margin:0}.insurance-list li{display:flex;align-items:start;gap:13px;font-size:14px;color:var(--ink);font-weight:630;line-height:1.5}.insurance-list li:before{content:'';width:7px;height:7px;background:var(--sea);border-radius:50%;margin-top:8px;flex:none}.pdf-band{background:var(--navy);color:white;padding:35px 42px;margin-top:48px;display:flex;align-items:center;gap:23px}.pdf-band>svg{width:34px;height:34px;color:#d0e4da}.pdf-band>div{flex:1}.pdf-band h3{font-family:var(--serif);font-weight:400;font-size:26px;color:white}.pdf-band p{margin:5px 0 0;color:#cfdbd8;font-size:13px}.intake-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:start}.intake-layout h2{max-width:610px;margin-bottom:25px}.intake-layout>div>p{max-width:600px}.intake-steps{margin-top:35px;display:grid;gap:0}.intake-steps>div{display:flex;gap:24px;border-top:1px solid var(--line);padding:22px 0}.intake-steps>div>span{font-family:var(--serif);font-size:21px;color:var(--sea)}.intake-steps h3{font-family:var(--serif);font-size:24px;font-weight:400;margin-bottom:5px}.intake-steps p{font-size:14px;margin:0}.download-panel{background:#e7efeb;padding:45px;border:1px solid #d6e5df;min-height:410px}.download-panel>svg{width:38px;height:38px;color:var(--sea-dark);margin-bottom:32px}.download-panel .eyebrow{display:flex}.download-panel h3{font-family:var(--serif);font-size:33px;font-weight:400;margin-bottom:16px}.download-panel p{font-size:15px;margin-bottom:30px}.download-panel small{display:block;font-size:11px;color:var(--muted);margin-top:17px}
/* Contact */
.contact-section{background:#f8f7f4}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}.contact-info h2{margin-bottom:24px}.contact-info>p{max-width:420px;margin-bottom:34px}.contact-detail{display:flex;gap:18px;align-items:start;margin-bottom:28px}.contact-detail>svg{width:25px;height:25px;color:var(--sea);margin-top:5px}.contact-detail>div>span{font-size:11px;font-weight:800;letter-spacing:.13em;color:var(--sea-dark)}.contact-detail a{display:block;font-size:20px;color:var(--ink);font-weight:700}.contact-detail p{margin:5px 0 0;color:var(--ink);font-weight:620;font-size:15px}.contact-photo{max-width:420px;margin-top:57px;overflow:hidden;border-radius:5px}.contact-photo img{width:100%;height:240px;object-fit:cover}.form-panel{padding:45px;background:#fff;border:1px solid var(--line);box-shadow:0 17px 48px rgba(24,57,60,.045);border-radius:5px}.form-heading .eyebrow{margin-bottom:12px}.form-heading h2{font-size:40px;margin-bottom:12px}.form-heading p{font-size:14px}.preview-banner,.privacy-note{display:flex;gap:13px;align-items:start;border:1px solid #d0e1dd;background:#eef5f1;border-radius:4px;padding:16px 18px;margin:24px 0;color:#335b59;font-size:13px;line-height:1.55}.preview-banner svg,.privacy-note svg{width:21px;height:21px;flex:none}.privacy-note{margin-top:8px;margin-bottom:26px;background:#f4f7f5}.privacy-note p{margin:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{margin-bottom:22px}.field label,fieldset legend{display:block;color:var(--ink);font-weight:750;font-size:13px;margin-bottom:7px}.field label span,fieldset legend span{color:#a45b46}.field input,.field textarea{display:block;width:100%;border:1px solid #d7e2df;border-radius:3px;padding:12px 14px;background:#fff;color:var(--ink);min-height:47px;outline:none;font-size:14px}.field textarea{resize:vertical;min-height:130px}.field input:focus,.field textarea:focus{border-color:#719c94;box-shadow:0 0 0 3px #e1eeea}.field input::placeholder,.field textarea::placeholder{color:#96a5a6}.choice-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:0;margin:3px 0 18px;border:0}.choice-group legend{margin-bottom:10px}.choice-group label{display:inline-flex;gap:7px;align-items:center;color:var(--ink);font-size:13px;font-weight:560;cursor:pointer}.choice-group input{accent-color:var(--sea-dark);width:16px;height:16px}.preview-submit{width:100%}.form-status{margin:10px 0 0;font-size:13px;color:var(--sea-dark)}.map-panel{margin-top:70px;background:#e9efed;display:grid;grid-template-columns:.5fr 1fr;min-height:300px;overflow:hidden}.map-panel>div{padding:37px}.map-panel .eyebrow{margin-bottom:10px}.map-panel h3{font-family:var(--serif);font-weight:400;font-size:27px;margin-bottom:8px}.map-panel p{font-size:14px}.map-panel iframe{border:0;width:100%;height:100%;min-height:300px}
/* Footer */
.site-footer{background:var(--navy);color:#d0ddd9;padding:71px 0 20px}.footer-grid{display:grid;grid-template-columns:1.65fr .7fr .8fr 1.25fr;gap:40px}.footer-brand img{width:130px;height:auto;max-height:72px;object-fit:contain}.footer-brand p{max-width:270px;margin:21px 0 0;font-size:13px;line-height:1.75}.footer-grid h3{font-family:var(--sans);font-size:11px;letter-spacing:.15em;font-weight:770;color:#f8f9f7;text-transform:uppercase;margin-bottom:21px}.footer-grid a{display:block;width:max-content;max-width:100%;font-size:13px;margin-bottom:13px}.footer-grid a:hover{color:white;text-decoration:underline}.footer-location p{font-size:13px;line-height:1.7}.footer-bottom{display:flex;justify-content:space-between;gap:18px;border-top:1px solid #35505b;margin-top:55px;padding-top:21px;font-size:11px;color:#a8bab6}
@media (max-width:1100px){.desktop-nav{gap:13px}.nav-call{display:none}.about-teaser-grid{gap:65px}.visit-grid{gap:60px}.contact-grid{gap:55px}.fees-two-col{gap:45px}.services-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:850px){.nav-wrap{height:73px}.desktop-nav,.nav-call{display:none}.menu-toggle{display:flex}.mobile-nav{display:block;position:absolute;top:73px;left:0;right:0;height:calc(100dvh - 73px);overflow:auto;padding:18px 32px 40px;background:#17323d;border-top:1px solid #48646e}.mobile-nav[hidden]{display:none}.mobile-nav a{display:flex;align-items:center;justify-content:space-between;font-size:17px;color:#f2f5ef;border-bottom:1px solid #3e5760;padding:18px 1px}.mobile-nav a[aria-current=page]{color:#b5d9cf}.mobile-nav svg{width:17px;height:17px}.mobile-nav .mobile-phone{font-size:15px;color:#c6e0d8}.home-hero{min-height:635px}.home-hero-content{padding-top:130px}.hero-stamp{display:none}.intro-grid{gap:42px}.about-main-grid{grid-template-columns:280px minmax(0,1fr);gap:50px}.about-portrait img{height:370px}.detail-service{grid-template-columns:58px minmax(0,1fr);gap:25px}.detail-aside{grid-column:2;display:block;border:0;border-top:1px solid var(--line);padding:17px 0 0}.detail-aside strong{display:inline-block;font-size:19px;margin-left:8px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:34px}.footer-location{grid-column:1/-1}.inner-hero{padding-top:143px;min-height:325px}.fees-two-col,.intake-layout{grid-template-columns:1fr}.download-panel{min-height:auto}.contact-grid{grid-template-columns:1fr 1.15fr;gap:30px}.form-panel{padding:30px}.contact-info h2{font-size:46px}}
@media (max-width:650px){body{font-size:15px}.shell{padding-inline:22px}.section{padding-block:72px}h2{font-size:clamp(2.4rem,10vw,3.35rem)}.eyebrow{font-size:10px;margin-bottom:17px}.site-header{background:rgba(19,43,53,.96)}.home-hero{min-height:620px;align-items:center;background-position:60% center}.home-overlay{background:linear-gradient(90deg,rgba(13,35,46,.83),rgba(13,35,46,.55)),linear-gradient(0deg,rgba(13,35,46,.3),transparent)}.home-hero-content{padding-top:138px;padding-bottom:62px}.hero-copy h1{font-size:clamp(3.2rem,12vw,4.4rem);line-height:1.05;margin-bottom:23px}.hero-copy p{font-size:16px;line-height:1.65;margin-bottom:28px}.hero-actions{align-items:stretch}.hero-actions .button{width:100%;min-height:51px}.hero-number{display:none}.home-quicklinks .shell{padding-inline:0}.quicklinks-grid{grid-template-columns:1fr}.quicklinks-grid>a,.quicklinks-grid>a:nth-child(2),.quicklinks-grid>a:last-child{padding:19px 22px;border-right:0;border-bottom:1px solid var(--line)}.quicklinks-grid>a>svg:first-child{height:24px;width:24px}.intro-grid,.about-teaser-grid,.visit-grid,.section-split-heading,.fees-two-col,.intake-layout,.contact-grid{grid-template-columns:1fr;gap:36px}.welcome-photo{padding-right:16px;padding-bottom:6px}.welcome-photo:before{inset:21px 0 0 28px}.welcome-photo img{aspect-ratio:1.35}.section-split-heading{margin-bottom:32px}.section-split-heading p{margin:0}.services-grid{grid-template-columns:1fr;gap:12px}.service-card{min-height:auto;padding:24px 25px 25px}.service-icon{margin-bottom:22px}.service-card h3{font-size:25px}.service-card p{font-size:14px;margin-bottom:24px}.section-button{width:100%}.about-teaser-grid{gap:44px}.portrait-group{max-width:360px;margin-inline:auto;width:100%;padding:0 19px 23px}.portrait-group img{height:400px}.visit-photo{height:265px}.inner-hero{min-height:295px;padding:135px 0 56px;background-position:center}.inner-hero h1{font-size:clamp(3.1rem,12vw,4.2rem);margin-bottom:13px}.inner-hero p{font-size:15px}.about-main-grid{display:flex;flex-direction:column;gap:37px}.about-portrait{position:static;width:min(100%,350px);margin-inline:auto}.about-portrait img{height:365px}.about-story h2{font-size:40px}.about-story .lead{font-size:17px}.about-story p{font-size:15px;line-height:1.8}.about-story h3{font-size:25px}.detail-service{grid-template-columns:50px minmax(0,1fr);gap:17px;padding:30px 0}.detail-icon{width:49px;height:49px}.detail-icon svg{width:23px;height:23px}.detail-service h3{font-size:28px}.detail-service p{font-size:14px}.detail-aside{grid-column:2}.service-end{display:grid;gap:22px;padding:25px}.service-end .button{width:100%}.fees-two-col{gap:36px}.insurance-card{padding:31px 27px}.insurance-card h2{font-size:35px}.price-card{padding:20px;gap:11px}.price-card h3{font-size:20px}.price strong{font-size:25px}.pdf-band{display:grid;gap:12px;padding:27px}.pdf-band .button{width:100%}.download-panel{padding:30px}.contact-info h2{font-size:45px}.contact-photo{display:none}.contact-grid{gap:37px}.form-panel{padding:27px 20px}.form-heading h2{font-size:34px}.form-row{grid-template-columns:1fr;gap:0}.choice-group{gap:10px 17px}.preview-banner,.privacy-note{padding:14px}.map-panel{grid-template-columns:1fr;margin-top:40px}.map-panel>div{padding:25px}.map-panel iframe{height:290px;min-height:290px}.site-footer{padding-top:55px}.footer-grid{grid-template-columns:1fr 1fr;row-gap:33px}.footer-brand{grid-column:1/-1}.footer-location{grid-column:1/-1}.footer-bottom{display:grid;gap:8px;margin-top:38px}.button{padding:12px 18px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}

/* V5.1: Improve readability of the monochrome services photograph. */
body:has(.inner-hero[style*="coastal-reeds-bw"]) .inner-shade{background:linear-gradient(90deg,rgba(9,29,40,.94) 0%,rgba(10,30,40,.75) 58%,rgba(13,37,46,.55) 100%)}

/* V5.2: Keep the map with the office details, opposite the contact form. */
.contact-info .map-panel{display:block;margin-top:38px;min-height:0;background:#e9efed;border:1px solid #d7e2df;border-radius:5px;overflow:hidden;box-shadow:0 15px 38px rgba(24,57,60,.045)}
.contact-info .map-panel iframe{display:block;width:100%;height:350px;min-height:0;border:0}
@media(max-width:850px){.contact-info .map-panel iframe{height:300px}}
@media(max-width:650px){.contact-info .map-panel{margin-top:30px}.contact-info .map-panel iframe{height:285px}}

/* V5.3: honeypot is not visually presented. */
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
#contact-turnstile{margin:12px 0 20px}
.preview-submit:disabled{opacity:.65;cursor:wait}

/* V5.7: restrained contact typography, preserve form and map positions */
.contact-info h2{font-size:clamp(2.55rem,3.7vw,3.8rem);line-height:1.12;letter-spacing:-.035em;max-width:500px;margin-bottom:22px}
.contact-info h2 em{color:var(--sea);font-weight:400}
.contact-info>p{font-size:clamp(1rem,1.15vw,1.15rem);line-height:1.65;max-width:420px;margin-bottom:32px}
@media(max-width:850px){.contact-info h2{font-size:clamp(2.2rem,4vw,3rem)}}
@media(max-width:650px){.contact-info h2{font-size:clamp(2.5rem,9.5vw,3.15rem)}.contact-info>p{font-size:1rem}}

/* V6.3 unobtrusive privacy information */
.footer-privacy-link{color:inherit;text-decoration:underline;text-underline-offset:3px;}
.privacy-note a,.privacy-policy-content a{text-decoration:underline;text-underline-offset:3px;color:inherit;}
.privacy-policy-content h2{font-size:clamp(1.45rem,2.5vw,2rem);font-weight:400;margin:1.65rem 0 .5rem;}
.privacy-policy-content p{line-height:1.75;max-width:72ch;margin:0 0 1rem;}
