/* Brand contrast, legibility and cursor behavior shared by every page. */
:root{--muted:#52616c;--line:#dbe3e6}
body{cursor:default;caret-color:transparent;font-size:15px}
body *{caret-color:transparent}
input,textarea,select,[contenteditable="true"]{caret-color:var(--navy)}
a,button,summary{cursor:pointer}
input,textarea,[contenteditable="true"]{cursor:text}
input:disabled,textarea:disabled,button:disabled{cursor:not-allowed}
::selection{background:#b8eee7;color:#0d1b2a}
.teal,.sidebar-box a.selected,.sidebar-box a span,.specialty-number,.specialty-arrow,.principles-inner span,.check-list li:before,.values span,.service-icon,.detail span{color:#007c70}
.featured .service-icon,.featured .detail span{color:var(--teal)}
nav{font-size:13px}
.eyebrow{font-size:11px;letter-spacing:1.6px}
.service p,.about-copy p,.steps p,.questions p,.scope-grid p,.process-list p,.project-fields p,.contact-note p,.sidebar-help p,.specialty-card p{font-size:14px;line-height:1.85}
.service p{min-height:80px}
.featured p{color:#c4d0d9}
.section-heading>p,.contact-intro>p,.corporate-intro p,.detail-content>section>p,.contact-form-panel>p{font-size:15px;line-height:1.9}
.detail,.text-link{font-size:13px}
.contact p,.hero p,.page-hero p{font-size:15px;color:#c9d5dd}
.contact h2 span{color:#b2c2ce}
.hero-bottom{color:#cad5dd}
.principles-inner div{font-size:13px}
.footer-columns p,.footer-columns>div>a:not(.brand),.footer-bottom{font-size:12px;line-height:1.8}
.footer-columns .footer-cta{color:#007c70!important}
.footer-columns h3{font-size:13px}
.footer-bottom{align-items:center;gap:20px}
.footer-end{display:flex;align-items:center;gap:28px}
.vero-credit{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;transition:transform .2s}
.vero-credit img{width:30px;height:30px;object-fit:contain;display:block}
.vero-credit:hover{transform:translateY(-2px)}
.footer-bottom>span:last-child{display:inline}
.contact-page{gap:65px;padding-bottom:65px}
.contact-info{margin-top:32px;border-top:1px solid var(--line)}
.contact-info article{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}
.info-symbol{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;background:#e4f5f1;color:#007c70;border-radius:50%;font-size:21px}
.contact-info h3{font-size:14px;margin-bottom:7px}
.contact-info a{font-size:16px;font-weight:600;color:#007c70;overflow-wrap:anywhere}
.contact-info p{margin:0;font-size:15px;line-height:1.8}
.contact-info small{display:block;color:var(--muted);font-size:12px;line-height:1.7;margin-top:5px}
.contact-tip{padding:25px 0 0}
.contact-tip h3{font-size:16px}
.contact-tip p{color:var(--muted);font-size:14px;line-height:1.85}
.contact-form-panel{padding:35px;background:#f5f8f9}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form-panel label{font-size:13px;line-height:1.6}
.contact-form-panel input,.contact-form-panel select,.contact-form-panel textarea{font-size:14px;padding:13px;min-width:0;border-color:#bdcbd1}
.required-hint{font-size:10px}
.form-note{font-size:12px;line-height:1.8;color:var(--muted)}
.contact-form-panel .button{font-size:14px;justify-content:center;gap:15px}
.contact-form-panel #form-status{font-size:13px;color:#006b60}
.email-fallback{font-size:13px;color:#007c70;text-decoration:underline;text-underline-offset:4px}
.email-fallback[hidden]{display:none}
.map-section{padding-bottom:80px}
.map-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}
.map-heading h2{font-size:30px}
.map-heading p{font-size:13px;line-height:1.8;color:var(--muted)}
.map-frame{height:400px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#eef3f4}
.map-frame iframe{display:block;width:100%;height:100%;border:0}
.map-link{margin-top:20px;display:inline-flex}
@media(max-width:1100px){.nav{gap:18px}.contact-page{gap:40px}.form-row{grid-template-columns:1fr}}
@media(max-width:800px){.contact-page{gap:40px}.form-row{grid-template-columns:1fr 1fr}.map-heading{align-items:start;flex-direction:column;gap:5px}.service p{min-height:120px}.principles-inner div{font-size:12px}.specialty-card p{font-size:13px}}
@media(max-width:580px){.hero .eyebrow,.page-hero .eyebrow{font-size:10px;letter-spacing:1.3px}.eyebrow{font-size:10px}.hero p,.page-hero p{font-size:14px}.hero h1{font-size:46px}.hero-bottom{font-size:9px;letter-spacing:1px}.hero-bottom a{gap:7px}.section-heading>p,.about-copy p,.detail-content>section>p{font-size:14px}.service p{min-height:0}.detail{font-size:13px}.contact-form-panel{padding:24px 20px}.form-row{grid-template-columns:1fr}.map-frame{height:320px}.map-heading h2{font-size:26px}.map-section{padding-bottom:50px}.footer-bottom{gap:10px;font-size:10px}.footer-end{gap:12px}.footer-end>a:not(.vero-credit){display:none}.vero-credit{width:36px;height:36px}.vero-credit img{width:28px;height:28px}.contact h2{font-size:27px}.specialty-grid,.detail-content .specialty-grid{grid-template-columns:1fr}.specialty-card p{font-size:14px}.sidebar-box>a{font-size:13px}.questions summary{font-size:14px}.questions p{font-size:14px}}
input::placeholder,textarea::placeholder{color:#66737d;opacity:1}
.steps article>span,.process-list>div>span,.project-fields article>span,.equipment-list li>span{color:#007c70}
.number{color:#64727d}.featured .number{color:#bdcbd5}
/* Keep the four primary links on the right after removing the duplicate CTA. */
.nav>#navigation{margin-left:auto}
@media(max-width:800px){.nav>#navigation{margin-left:0}.nav>#menu{margin-left:auto}}
/* The brand plus replaces the active-page dot on both desktop and mobile. */
#navigation a.active:after{content:'+';display:block;position:absolute;left:50%;bottom:1px;transform:translateX(-50%);width:14px;height:16px;line-height:16px;background:none;border-radius:0;color:#007c70;font-size:21px;font-weight:800;font-family:Arial,sans-serif;text-align:center}
@media(max-width:800px){#navigation a{padding-right:42px}#navigation a.active:after{left:auto;right:14px;bottom:50%;transform:translateY(50%);color:#007c70}}
#navigation a.active:after{content:'';width:12px;height:12px;background:#00c5b5;clip-path:polygon(36% 0,64% 0,64% 36%,100% 36%,100% 64%,64% 64%,64% 100%,36% 100%,36% 64%,0 64%,0 36%,36% 36%)}
