/* Dr App US — single, shared layout. Original Arvo typeface and source artwork. */
:root{--orange:#f1592a;--orange-text:#bd3b15;--green:#34b44b;--navy:#12364d;--ink:#19394d;--muted:#516675;--paper:#f0f2f3;--line:#d9e0e3;--header-size:102px}
*{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-size) + 20px)}body{margin:0;color:var(--ink);background:#fff;font-family:Arvo,Georgia,serif;font-size:17px;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.23em}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ink);outline-offset:5px}button[hidden],[hidden]{display:none!important}p{margin:0 0 1.2em}h1,h2,h3{font-weight:400;line-height:1.2;letter-spacing:-.028em;margin:0 0 .6em;overflow-wrap:break-word}h1{font-size:clamp(34px,3.7vw,53px)}h2{font-size:clamp(28px,2.8vw,38px)}h3{font-size:24px}ul,ol{padding-left:1.3em;margin:.5em 0 1.3em}li+li{margin-top:.65em}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.section{padding:76px 0}.light{background:var(--paper)}.green{background:var(--green);color:var(--navy)}.orange{background:var(--orange);color:white}.navy{background:var(--navy);color:white}.kicker{font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:17px;line-height:1.5}.muted{color:var(--muted)}.lead{font-size:19px;line-height:1.65}.small{font-size:14px;line-height:1.65}.center{text-align:center}.measure{max-width:760px;margin-inline:auto}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-head p{max-width:590px;margin-bottom:0}.section-head h2{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:13px 23px;border:2px solid var(--navy);border-radius:5px;background:var(--navy);color:#fff;font-size:15px;font-weight:700;line-height:1.4;text-decoration:none;gap:10px}.btn:hover{background:#214b65;border-color:#214b65;text-decoration:none}.btn-outline{background:transparent;border-color:currentColor;color:inherit}.btn-outline:hover{background:rgba(255,255,255,.13);color:inherit;border-color:currentColor}.btn-orange{background:var(--orange-text);border-color:var(--orange-text)}.btn-orange:hover{background:#9e310f;border-color:#9e310f}.text-link{font-size:15px;font-weight:700;white-space:nowrap}.actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:25px}.actions .small{margin:0}.skip-link{position:absolute;left:16px;top:-120px;z-index:1000;background:#fff;padding:12px}.skip-link:focus{top:12px}
/* Header is the same component on the homepage, city, work and article pages. */
.site-header{position:sticky;top:0;z-index:80;background:var(--orange);box-shadow:0 2px 15px #12364d12}.header-main{display:flex;align-items:center;gap:26px;min-height:100px;padding-block:10px}.brand{display:block;flex:0 0 168px;line-height:0}.brand img{width:168px;height:auto;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:14px;font-weight:700;text-transform:uppercase;line-height:1.4}.desktop-nav>a{text-decoration:none}.desktop-nav>a:hover{text-decoration:underline}.nav-disclosure{position:relative}.nav-disclosure>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;min-height:44px}.nav-disclosure>summary::-webkit-details-marker{display:none}.nav-disclosure>summary:after{content:'';height:6px;width:6px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg);margin-bottom:3px}.nav-disclosure[open]>summary:after{transform:rotate(225deg);margin-bottom:0}.nav-dropdown{position:absolute;top:calc(100% + 6px);left:-20px;width:290px;background:#fff;border-radius:6px;padding:12px;box-shadow:0 12px 28px #12364d30;color:var(--ink);text-transform:none}.nav-dropdown a{display:block;padding:10px 12px;text-decoration:none}.nav-dropdown a:hover{background:var(--paper)}.header-actions{display:flex;gap:16px;align-items:center;flex-shrink:0}.call-link{display:flex;align-items:center;gap:7px;text-decoration:none;font-size:14px;font-weight:700;white-space:nowrap}.call-link img{width:36px;height:38px;object-fit:contain}.mail-link{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px}.mail-link img{width:34px;height:34px;object-fit:contain}.menu-button{display:none;width:44px;height:44px;border:2px solid var(--navy);border-radius:5px;background:transparent;position:relative}.menu-button span,.menu-button:before,.menu-button:after{content:'';display:block;width:22px;height:2px;background:var(--navy);position:absolute;left:9px}.menu-button span{top:19px}.menu-button:before{top:12px}.menu-button:after{top:26px}.mobile-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--orange);border-top:1px solid #12364d33;padding:18px 24px 28px;max-height:calc(100dvh - var(--header-size));overflow:auto;box-shadow:0 12px 20px #12364d22}.mobile-nav a{display:block;padding:12px 8px;text-decoration:none;border-bottom:1px solid #12364d33;font-weight:700}.mobile-nav details>summary{padding:12px 8px;font-weight:700;cursor:pointer}.mobile-nav details a{font-weight:400;padding-left:24px}.mobile-nav.is-open{display:block}
/* The lead screen stays readable rather than repeating a keyword-heavy headline. */
.home-hero{padding:70px 0 64px}.home-hero h1{max-width:830px;font-size:clamp(36px,4.5vw,61px);margin:0 auto 25px}.home-hero .tagline{max-width:730px;margin:0 auto;color:var(--navy);font-size:18px}.hero-points{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:48px}.hero-point img{height:80px;width:auto;max-width:95px;object-fit:contain;margin:0 auto 18px}.hero-point p{font-size:19px;line-height:1.35;font-weight:700;max-width:210px;margin:0 auto}.city-hero{padding:39px 0 60px}.breadcrumbs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;margin-bottom:29px;color:var(--navy)}.breadcrumbs a{text-decoration:none}.hero-split{display:grid;grid-template-columns:1.15fr 1fr;gap:58px;align-items:center}.hero-copy h1{max-width:670px}.hero-copy .lead{color:var(--navy)}.hero-copy .kicker{color:var(--navy)}.hero-video{margin:0}.video-trigger{padding:0;border:0;border-radius:5px;display:block;position:relative;width:100%;background:var(--navy);box-shadow:0 12px 24px #12364d22;overflow:hidden}.video-trigger img{width:100%;height:auto;aspect-ratio:948/578;object-fit:contain}.video-caption{margin:12px 0 0;font-size:13px;line-height:1.5}.play-label{position:absolute;bottom:12px;left:12px;background:var(--navy);border-radius:3px;padding:5px 9px;color:#fff;font-size:12px}.jump-nav{border-bottom:1px solid var(--line);background:#fff}.jump-nav .wrap{display:flex;gap:30px;flex-wrap:wrap;padding-block:17px}.jump-nav a{font-size:13px;font-weight:700;text-decoration:none}.jump-nav a:hover{text-decoration:underline}.split{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:start}.split-even{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.editorial h2{max-width:720px}.editorial p{max-width:760px}.brief-aside{background:var(--paper);padding:28px;border-radius:5px;border-top:4px solid var(--green)}.brief-aside h3{font-size:23px}.brief-aside p,.brief-aside li{font-size:16px}.brief-aside p:last-child{margin-bottom:0}.decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px}.decision-grid h3{font-size:26px}.decision-grid p{margin-bottom:0}.section-icon{height:58px;width:auto;max-width:90px;object-fit:contain;margin:0 0 22px}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;margin-top:38px}.service{border-top:2px solid var(--line);padding-top:26px}.service img{height:67px;width:auto;max-width:94px;object-fit:contain;margin:0 0 20px}.service h3{color:var(--orange-text)}.service p{font-size:16px}.service .text-link{font-size:14px}.quote-strip{padding:42px 0}.quote-shell{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:26px;max-width:870px;margin:auto}.quote-shell button{height:46px;width:46px;border:1px solid var(--navy);border-radius:50%;background:transparent;color:var(--navy);font-size:28px}.quote-slide p{font-size:24px;line-height:1.5;margin:0;text-align:center}.quote-slide h3{font-size:18px;font-weight:700;text-align:center;margin-bottom:9px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.project-card{margin:0;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.project-image{display:block;background:#f6f7f8;border-bottom:1px solid var(--line)}.project-image img{width:100%;height:auto;aspect-ratio:850/500;object-fit:contain}.project-body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}.project-body .kicker{font-size:10px;margin-bottom:9px;color:var(--muted)}.project-body h3{color:var(--orange-text);font-size:25px}.project-body h3 a{text-decoration:none}.project-body p{font-size:15px;line-height:1.6}.project-body .text-link{margin-top:auto;font-size:13px}.project-feature{display:grid;grid-template-columns:1.12fr 1fr;gap:48px;align-items:center}.project-feature img{width:100%;border:1px solid var(--line);border-radius:4px;aspect-ratio:850/500;object-fit:contain}.project-feature h3{font-size:28px}.project-feature p{font-size:17px}.project-full-image{width:100%;max-width:850px;margin:38px auto;border:1px solid var(--line)}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:35px}.process-step img{height:58px;width:auto;max-width:100px;object-fit:contain;margin-bottom:19px}.process-step h3{font-size:23px}.process-step p{font-size:16px;margin:0;color:#fff}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;max-width:1000px;margin:32px auto 0}.team-member{min-width:0}.team-member img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:4px}.team-member h3{font-size:23px;margin:21px 0 10px;color:var(--orange-text)}.team-member p{font-size:15px;line-height:1.65;margin:0}.testimonial{display:grid;grid-template-columns:180px 1fr;gap:40px;align-items:center;max-width:970px;margin:auto}.testimonial img{width:180px;height:180px;object-fit:contain;border-radius:4px}.testimonial blockquote{margin:0}.testimonial blockquote p{font-size:25px;line-height:1.6;margin:0 0 18px}.testimonial cite{font-size:14px;font-style:normal;color:var(--navy)}.faq-list{max-width:850px;margin-top:28px}.faq-list details{border-top:1px solid var(--line);padding:0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;position:relative;font-size:18px;font-weight:700;line-height:1.55;padding:22px 36px 22px 0}.faq-list summary:after{content:'+';position:absolute;right:5px;top:20px;font-size:25px;font-weight:400}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:16px;max-width:770px;padding-bottom:13px}.faq-list summary::-webkit-details-marker{display:none}
/* Contact and footer: real text and spacing, never screenshots of either. */
.contact-grid{display:grid;grid-template-columns:1fr 1.13fr;gap:68px;align-items:start}.contact-intro{padding-top:14px}.contact-intro .lead{max-width:480px}.contact-help{border-left:3px solid var(--green);padding-left:22px;margin:28px 0}.contact-help h3{font-size:20px}.contact-help p{font-size:15px;margin-bottom:0}.contact-direct{margin:28px 0 0;font-size:16px}.contact-direct a{display:inline-block;margin:6px 20px 0 0}.contact-card{padding:32px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 24px #12364d0b}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin:0 0 18px;min-width:0}.form-grid .field{margin:0}.form-grid{margin-bottom:18px}label{display:block;font-size:14px;font-weight:700;margin-bottom:7px}input,select,textarea{width:100%;min-width:0;min-height:46px;border:1px solid #aabbc5;background:#fff;border-radius:3px;padding:9px 10px;color:var(--navy);font-size:16px;line-height:1.4}input[type=datetime-local]{appearance:none;-webkit-appearance:none;max-width:100%}textarea{resize:vertical;min-height:130px}.field-note{font-size:12px;color:var(--muted);margin:-8px 0 16px}.form-status{font-size:14px;line-height:1.6;margin:16px 0 0;min-height:1.6em}.form-status[data-state=error]{color:#a52d18}.form-status[data-state=success]{color:#246b34}.transport-hint{font-size:12px;color:var(--muted);margin:15px 0 0}.server-retry{border:0;background:transparent;text-decoration:underline;color:var(--navy);padding:6px 0;font-size:14px;margin-top:9px}.honeypot{display:none}.map-details{margin-top:24px;font-size:13px}.map-details summary{cursor:pointer;text-decoration:underline}.map-frame{margin-top:14px;width:100%;height:260px;border:0;border-radius:4px;background:#e0e7eb}.related{padding:26px 0;border-top:1px solid var(--line);font-size:14px}.related .wrap{display:flex;gap:18px;flex-wrap:wrap;align-items:center}.related p{margin:0;color:var(--muted)}.related a{text-decoration:none}.related a:hover{text-decoration:underline}.site-footer{background:var(--navy);color:#fff}.footer-main{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:55px;padding-block:49px}.footer-brand img{width:160px;height:auto;object-fit:contain;margin-bottom:22px}.footer-brand p{color:#c2d0d8;max-width:350px;font-size:15px;line-height:1.6;margin:0}.site-footer h3{font-size:21px;margin:8px 0 15px}.site-footer a{color:#fff;text-decoration:none}.site-footer a:hover{text-decoration:underline}.footer-links{display:grid;gap:7px;font-size:15px}.footer-bottom{border-top:1px solid #ffffff26;font-size:12px;color:#c2d0d8;padding:18px 0}.footer-bottom .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-bottom p{margin:0}.region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.region-group{border-top:3px solid var(--green);padding-top:19px}.region-group h3{font-size:23px}.city-list{display:grid;gap:6px;font-size:15px}.city-list a{display:block;padding:6px 0;text-decoration:none}.city-list a:hover{text-decoration:underline}.directory-search{max-width:600px;margin:30px 0 40px}.directory-meta{font-size:13px;color:var(--muted);margin:9px 0 0}.state-section{margin-top:34px}.state-section h2{font-size:26px;color:var(--orange-text)}.city-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 34px}.directory-link{padding:13px 0;border-top:1px solid var(--line);text-decoration:none;min-width:0}.directory-link strong{display:block;font-size:17px}.directory-link span{display:block;font-size:13px;margin-top:5px;color:var(--muted);line-height:1.6}.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.article-card{border-top:3px solid var(--green);padding:25px 0}.article-card h2{font-size:28px}.article-card h2 a{text-decoration:none}.article-card p{font-size:16px;max-width:530px}.article-body{max-width:780px;margin-inline:auto}.article-body h2{font-size:29px;margin-top:40px}.article-body p{line-height:1.85}.article-hero{padding:45px 0 55px}.article-hero h1{max-width:850px}.article-hero .lead{color:var(--navy);max-width:760px}.modal{border:0;padding:0;background:transparent;width:min(980px,calc(100% - 36px));max-height:95dvh;overflow:visible;color:#fff}.modal::backdrop{background:#061b2dda}.modal-inner{position:relative;background:var(--navy);padding:10px;border-radius:6px}.modal-close{display:block;margin:0 0 9px auto;border:1px solid #fff;background:transparent;color:#fff;font-size:14px;padding:8px 15px;border-radius:3px;min-height:44px}.video-frame{aspect-ratio:16/9;width:100%;display:block;border:0;background:#000}.modal-fallback{font-size:13px;margin:12px 0 3px}.empty-state{padding:30px 0;font-size:18px}.note{font-size:13px;color:var(--muted)}
@media(min-width:1500px){.header-main{gap:32px}.desktop-nav{gap:28px}}
@media(max-width:1130px){.desktop-nav{display:none}.header-main{min-height:84px}.header-actions{margin-left:auto}.menu-button{display:block}.brand{flex-basis:144px}.brand img{width:144px}.hero-split{gap:36px}.wrap{width:calc(100% - 48px)}h1{font-size:42px}.call-link{font-size:14px}}
@media(max-width:900px){.hero-split,.split,.split-even,.project-feature{grid-template-columns:1fr;gap:34px}.hero-video{max-width:680px}.hero-copy h1{max-width:700px}.city-hero{padding-bottom:48px}.section{padding:56px 0}.decision-grid{gap:32px}.contact-grid{gap:34px;grid-template-columns:1fr 1.15fr}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid>.project-card:last-child:nth-child(3){grid-column:1/-1;max-width:570px}.process-grid{gap:24px}.team-grid{gap:22px}.footer-main{gap:30px}.section-head{align-items:start;flex-direction:column;gap:15px}.project-feature>div{max-width:760px}.city-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){body{font-size:16px}.wrap{width:calc(100% - 36px)}.header-main{min-height:77px;gap:12px}.brand{flex-basis:118px}.brand img{width:118px}.header-actions{gap:8px}.call-link span{display:none}.call-link{width:40px;justify-content:center}.call-link img{width:34px;height:37px}.mail-link{width:38px}.mail-link img{width:30px;height:31px}.menu-button{width:42px;height:42px}.menu-button span,.menu-button:before,.menu-button:after{left:8px}h1{font-size:35px}.home-hero h1{font-size:37px}.home-hero{padding:45px 0}.home-hero .tagline{font-size:16px}.hero-points{grid-template-columns:1fr 1fr;gap:28px 20px;margin-top:36px}.hero-point img{height:64px;margin-bottom:14px}.hero-point p{font-size:18px;max-width:180px}.section{padding:44px 0}.city-hero{padding-top:24px}.hero-copy .lead{font-size:17px}.breadcrumbs{font-size:11px;margin-bottom:22px;gap:7px}.jump-nav .wrap{gap:14px 19px;padding-block:14px}.jump-nav a{font-size:12px}.brief-aside{padding:24px}.decision-grid,.services,.process-grid,.contact-grid,.footer-main,.region-grid,.article-grid{grid-template-columns:1fr}.decision-grid{gap:30px}.services{gap:22px}.service img{height:55px}.service{padding-top:22px}.project-grid{grid-template-columns:1fr;gap:25px}.project-grid>.project-card:last-child:nth-child(3){grid-column:auto;max-width:none}.project-body{padding:22px}.project-feature{gap:25px}.quote-shell{grid-template-columns:35px minmax(0,1fr) 35px;gap:8px}.quote-shell button{height:35px;width:35px;font-size:23px}.quote-slide p{font-size:20px}.team-grid{grid-template-columns:1fr;max-width:420px;gap:32px}.team-member{display:grid;grid-template-columns:135px 1fr;gap:20px;align-items:start}.team-member img{width:135px}.team-member h3{margin:3px 0 10px;font-size:20px}.team-member p{font-size:13px;line-height:1.6}.testimonial{grid-template-columns:90px 1fr;gap:20px}.testimonial img{width:90px;height:90px}.testimonial blockquote p{font-size:20px}.testimonial cite{font-size:12px}.contact-grid{gap:24px}.contact-card{padding:23px 19px}.form-grid{grid-template-columns:1fr}.contact-intro h2{font-size:30px}.footer-main{padding-block:36px;gap:30px}.footer-brand img{width:140px}.footer-bottom .wrap{display:block}.footer-bottom p+p{margin-top:6px}.city-directory{grid-template-columns:1fr}.related .wrap{gap:10px 18px}.faq-list summary{font-size:16px}.faq-list p{font-size:15px}.btn{min-height:47px;padding:11px 19px;font-size:14px}.article-hero{padding:26px 0 40px}}
@media(max-width:360px){.wrap{width:calc(100% - 28px)}.brand{flex-basis:105px}.brand img{width:105px}.header-actions{gap:4px}.call-link,.mail-link{width:35px}.team-member{grid-template-columns:100px 1fr;gap:16px}.team-member img{width:100px}.home-hero h1{font-size:33px}}
@media(prefers-reduced-motion:no-preference){a,button{transition:background-color .15s,color .15s}html{scroll-behavior:smooth}}

.actions.center{justify-content:center}

.orange .kicker,.orange .video-caption{color:var(--navy)}
@media(max-width:640px){.hero-point p{font-size:19px}}
