:root{--navy:#12334f;--teal:#087b7e;--ink:#203344;--muted:#4c606b;--line:#c6d4d9;--pale:#edf5f4;--paper:#fff; font-size:112.5%}*{box-sizing:border-box}html{scroll-padding-top:1.5rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:var(--teal);text-underline-offset:.2em}a:hover{text-decoration-thickness:3px}a,button,input,textarea{touch-action:manipulation}:focus-visible{outline:3px solid #a84b00;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--navy);line-height:1.15}h1{font-size:clamp(2.6rem,4.8vw,4.1rem);letter-spacing:-.045em;margin-bottom:1.3rem}h1 em{font-style:normal;color:var(--teal)}h2{font-size:clamp(2rem,3.2vw,2.85rem);letter-spacing:-.035em;margin-bottom:1.3rem}h3{font-size:1.3rem;line-height:1.3}p{margin-bottom:1rem}.wrap{width:min(1200px,90%);margin:auto}.topline{background:var(--navy);color:white;font-size:.85rem;padding:.5rem 0}.topline .wrap{display:flex;justify-content:space-between;gap:1rem}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.2rem 0}header{border-bottom:1px solid var(--line)}.brand{text-decoration:none;color:var(--navy);font-weight:900;font-size:1.9rem;letter-spacing:.015em;line-height:1.1}.brand span{display:block;font-size:.72rem;letter-spacing:.13em;margin-top:.35rem}.header-inner nav{display:flex;gap:1.2rem;flex-wrap:wrap}.header-inner nav a{color:var(--ink);font-size:1rem;text-decoration:none;padding:.6rem .1rem}.header-call{font-weight:700;color:var(--navy);font-size:.95rem}.hero{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:3rem;padding:3.7rem 0}.eyebrow{font-size:.83rem;letter-spacing:.12em;font-weight:700;color:var(--teal);margin-bottom:1.1rem}.intro{font-size:1.16rem;line-height:1.65;max-width:36rem}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;border-radius:6px;padding:.85rem 1.1rem;font:700 1rem/1.4 Arial,Helvetica,sans-serif;text-decoration:none;border:2px solid var(--teal);cursor:pointer;max-width:100%}.primary{color:white;background:var(--teal)}.primary:hover{background:#075e61;border-color:#075e61}.secondary{background:white;color:var(--navy);border-color:var(--navy)}.secondary:hover{background:var(--pale)}.small{font-size:.9rem;color:var(--muted)}.hero-note{margin:1rem 0 0}.section{padding-block:4.6rem}.section-title{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:1.6rem}.section-title>p{max-width:23rem;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(2,1fr);gap:0 2.5rem}.services article{position:relative;border-top:1px solid var(--line);padding:1.7rem 0 1.5rem 3.2rem}.service-number{position:absolute;left:0;top:1.6rem;font-size:.95rem;font-weight:700;color:var(--teal);background:var(--pale);width:2.3rem;height:2.3rem;display:grid;place-items:center;border-radius:50%}.services h3{margin-bottom:.65rem}.services p{color:var(--muted)}.services .detail{font-size:.85rem;color:var(--teal);margin-bottom:0}.service-end{border-top:1px solid var(--line);padding-top:1.4rem;margin-bottom:0}.about{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem}.about>div>p:not(.eyebrow){max-width:34rem}.text-link{display:inline-block;padding:.6rem 0;font-weight:700}.hours-section{background:var(--navy);color:white;padding:3.2rem 0}.hours-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem}.hours-section h2,.hours-section h3{color:white}.hours-section .eyebrow{color:#91ded8}.hours-section p{color:#dfebef}.hours{margin:0}.hours div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #567083;padding:.8rem 0;flex-wrap:wrap}.hours dd{margin:0;font-weight:700}.contact{display:grid;grid-template-columns:1fr 1.15fr;gap:4rem}.contact-phone{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700;display:inline-block;margin-bottom:1.2rem}.email{overflow-wrap:anywhere}.contact form{border:1px solid var(--line);border-radius:8px;padding:2rem;background:#f8fbfb}.contact form h3{font-size:1.5rem;margin-bottom:.6rem}.contact form>p{font-size:.95rem}label{display:block;font-weight:700;margin-top:1.1rem;margin-bottom:.4rem}label span{font-size:.85rem;font-weight:400}input,textarea{width:100%;max-width:100%;border:1px solid #69808d;border-radius:4px;background:white;padding:.75rem;font:inherit;color:var(--ink)}textarea{resize:vertical}input{min-height:52px}.field-help{color:var(--muted);margin:.35rem 0 .7rem;font-size:.85rem!important}#form-status:empty{display:none}#form-status{border-left:4px solid var(--teal);padding:.7rem;margin-top:1rem}footer{border-top:1px solid var(--line);padding:2rem 0;background:var(--pale);font-size:.9rem}footer .wrap{display:flex;justify-content:space-between;gap:2rem}footer p{margin:0}.skip{position:absolute;left:1rem;top:-100px;padding:1rem;background:white;color:var(--navy);z-index:10}.skip:focus{top:1rem}.mobile-contact{display:none}@media(max-width:1050px){.header-inner{flex-wrap:wrap}.header-call{margin-left:auto}.hero{gap:1.8rem}.actions{flex-direction:column;align-items:stretch}.about,.contact{gap:2.5rem}}@media(max-width:760px){.topline .wrap{flex-wrap:wrap;gap:0 .7rem}.header-inner{gap:.6rem}.header-inner nav{order:3;width:100%;justify-content:space-between;gap:.4rem}.header-call{font-size:.85rem}.brand{font-size:1.5rem}.brand span{font-size:.62rem}.hero{grid-template-columns:1fr;padding:2.4rem 0;gap:2rem}h1 br{display:none}.section{padding-block:3rem}.section-title{display:block}.services{grid-template-columns:1fr}.about,.hours-grid,.contact{grid-template-columns:1fr;gap:2rem}.contact form{padding:1.3rem}.hours-section{padding:2.5rem 0}footer .wrap{display:block}footer p+p{margin-top:1rem}body{padding-bottom:85px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:.7rem max(5%,.7rem) calc(.7rem + env(safe-area-inset-bottom));background:white;border-top:1px solid var(--line);z-index:5}.mobile-contact a{text-align:center;padding:.7rem .4rem;background:var(--teal);color:white;font-weight:700;text-decoration:none;border-radius:4px}.mobile-contact a+a{background:var(--navy)}}@media(max-width:390px){.header-call{width:100%;margin:0}.header-inner nav{flex-wrap:wrap}.header-inner nav a{padding:.5rem}.services article{padding-left:0}.service-number{position:static;margin-bottom:.8rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{.mobile-contact,.topline,form{display:none}body{padding:0}.hero,.about,.contact,.hours-grid{display:block}a{color:inherit}.section{padding-block:1rem}}

/* Revised direction: restrained typography, practical service navigation. */
.topline{background:#f0f5f6;color:var(--navy);border-bottom:1px solid var(--line)}
.hero{grid-template-columns:1.45fr 1fr;padding:3.2rem 0;gap:3.5rem;align-items:center}
h1{font-size:clamp(2.35rem,4.2vw,3.45rem);letter-spacing:-.035em;line-height:1.12}
.hero .intro{max-width:32rem;font-size:1.08rem}.eyebrow{letter-spacing:.085em}
.hero-sidebar{border-top:4px solid var(--teal);background:#f0f5f6;padding:1.5rem 1.7rem}
.hero-sidebar h2{font-size:1.2rem;letter-spacing:0;margin-bottom:.7rem}
.hero-sidebar>a{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.7rem 0;color:var(--navy);text-decoration:none;font-size:.95rem}
.hero-sidebar>a:hover{text-decoration:underline}.hero-sidebar>a span{color:var(--teal)}
.hero-sidebar p{font-size:.87rem;margin:1.1rem 0 0;color:var(--muted)}
.hours-link{display:inline-block;padding:.25rem 0}
.section{padding-block:3.2rem}#services{border-top:1px solid var(--line)}
.section-title{align-items:center;gap:2rem}.section-title h2{font-size:2rem;max-width:27rem}
.section-title>p{max-width:20rem}.services article{padding-top:1.4rem;padding-bottom:1.2rem}
.service-number{top:1.3rem;background:transparent;border-radius:0;font-weight:400;font-size:1rem}
.services h3{font-size:1.2rem}.services .detail{color:var(--muted)}
.about{grid-template-columns:.7fr 1.3fr;border-top:1px solid var(--line);gap:3rem}
.about .intro{font-size:1.14rem}.about>div>p:not(.eyebrow){max-width:39rem}
.hours-section{padding:2.6rem 0}.hours-section h2{font-size:2rem}
.contact h2{font-size:2.3rem}.contact .intro{font-size:1.05rem}
@media(max-width:1050px){.hero{gap:2rem}.actions{flex-direction:row}}
@media(max-width:760px){.hero{grid-template-columns:1fr;padding:2rem 0;gap:1.6rem}.hero-sidebar{padding:1.2rem}.about{grid-template-columns:1fr;gap:.4rem}.section{padding-block:2.3rem}.section-title{display:block}.section-title h2{font-size:1.8rem}.actions{flex-direction:column}}
