:root{--ink:#334a5f;--deep:#334a5f;--cream:#ffffff;--gold:#1b9b9a;--muted:#66727c;--line:#d8e3e3}
.utility{background:#258b8d}
.header{background:#fff}
.brand img{display:block;max-width:100%;height:auto}
.hero{background:linear-gradient(115deg,#334a5f,#2b7882)}
.hero .eyebrow,.inner-hero .eyebrow{color:#a1e3df}
.inner-hero{background:#334a5f}
.button{color:#fff;border-radius:25px}
.button:hover{background:#15807f}
.button-outline{background:transparent}
.pale{background:#eaf5f4}
.quote{border-color:#1b9b9a}
.card .card-label{color:#177e7c}
nav a[aria-current],nav a:hover{color:#177e7c}
.footer{background:#334a5f}
.callout{background:#248b8d}
@media(max-width:760px){.brand img{width:250px}}
.form-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:70px;align-items:start}
.form-layout>div p{max-width:420px;color:var(--muted)}
.form-layout>div a{font-weight:700}
.contact-form{background:#fff;border:1px solid var(--line);padding:32px}
.contact-form label{display:block;font-weight:700;margin:0 0 7px}
.contact-form input,.contact-form textarea{display:block;width:100%;font:inherit;color:var(--ink);border:1px solid #a9bbbb;border-radius:3px;background:#fff;padding:11px 13px;margin:0 0 22px}
.contact-form input:focus,.contact-form textarea:focus{outline:3px solid #a1e3df;outline-offset:1px;border-color:#177e7c}
.contact-form textarea{resize:vertical}
.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form button{border:0;font:700 1rem 'DM Sans',Arial,sans-serif;cursor:pointer}
.contact-form .small-note{margin-bottom:0}
@media(max-width:760px){.form-layout,.contact-form .form-row{grid-template-columns:1fr}.form-layout{gap:25px}.contact-form{padding:23px}}

.podcast-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.podcast-secondary{background:var(--deep)}.podcast-secondary:hover{background:#263d50}

.nav-dropdown{position:relative}
.nav-dropdown summary{list-style:none;cursor:pointer;font-size:.92rem;font-weight:700;line-height:1.7}
.nav-dropdown summary::-webkit-details-marker{display:none}
.nav-dropdown summary:after{content:"▾";display:inline-block;margin-left:7px;color:#177e7c}
.nav-dropdown summary:hover,.nav-dropdown summary[aria-current="page"]{color:#177e7c}
.nav-dropdown summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.nav-menu{position:absolute;z-index:20;top:calc(100% + 15px);left:50%;transform:translateX(-50%);min-width:230px;background:#fff;border:1px solid var(--line);box-shadow:0 15px 30px #1b35451f;padding:7px}
.nav-menu a{display:block;padding:9px 11px;white-space:nowrap;text-decoration:none;color:var(--ink)}
.nav-menu a:hover,.nav-menu a:focus-visible{background:#eaf5f4;color:#177e7c}
@media(max-width:760px){.nav-menu{top:calc(100% + 8px)}}

/* Service headings with accessible text and decorative icons. */
.infographic-card{border-top:4px solid #258b8d;padding:28px;background:linear-gradient(180deg,#f1faf9 0,#fff 145px)}
.service-visual{display:flex;align-items:center;gap:18px;margin-bottom:27px;min-height:72px}
.service-symbol{display:flex;align-items:center;justify-content:center;flex:0 0 72px;width:72px;height:72px;border-radius:18px;background:#d9efed;color:#177e7c}
.service-symbol svg{width:42px;height:42px}
.visual-label{font-size:1.15rem;font-weight:700;line-height:1.3;color:#177e7c;overflow-wrap:anywhere}
.infographic-card:first-child .visual-label{font-size:1.5rem}
.visual-page-heading{display:flex;align-items:center;gap:24px;margin-bottom:18px}
.visual-page-heading h1{margin:0;min-width:0}
.page-heading-symbol{display:flex;align-items:center;justify-content:center;flex:0 0 84px;height:84px;border-radius:20px;background:#ffffff15;color:#a1e3df;border:1px solid #ffffff30}
.page-heading-symbol svg{width:46px;height:46px}
@media(max-width:760px){.visual-page-heading{align-items:flex-start;gap:16px}.page-heading-symbol{flex-basis:58px;height:58px;border-radius:14px}.page-heading-symbol svg{width:34px;height:34px}.infographic-card{padding:24px}}

.linked-trade-flyer{position:relative}.flyer-hotspot{position:absolute;display:block;border-radius:3px;border-bottom:2px solid #177e7c80}.flyer-phone{left:42.2%;top:48.1%;width:16%;height:2.45%}.flyer-contact{left:36%;top:51.25%;width:28.7%;height:2.05%}.flyer-hotspot:hover{background:#1b9b9a18}.flyer-hotspot:focus-visible{outline:3px solid #177e7c;outline-offset:2px;background:#1b9b9a18}.flyer-contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.flyer-contact-actions .button{min-height:44px}

/* Keep long headings, links, and expanded navigation within phone screens. */
.wrap{min-width:0}
.grid>* , .split>* , .form-layout>* , .service-visual>*{min-width:0}
h1,h2,h3,.footer a,.form-layout a,.brochure-link a{overflow-wrap:anywhere}
img{max-width:100%;height:auto}
@media(max-width:760px){
 .wrap{padding-left:20px;padding-right:20px}
 nav{position:relative;max-width:100%}
 .nav-dropdown{position:static}
 .nav-menu{left:0;right:0;top:calc(100% + 8px);transform:none;min-width:0;width:100%;max-width:100%}
 .nav-menu a{white-space:normal;overflow-wrap:anywhere}
 .visual-page-heading{flex-direction:column;gap:18px}
 .page-heading-symbol{flex:none;width:58px;height:58px}
 .visual-page-heading h1{width:100%;font-size:clamp(1.9rem,8vw,2.3rem)}
 .service-visual{gap:14px}
 .visual-label{min-width:0}
 .footer .links{flex-wrap:wrap}
 .button{max-width:100%;white-space:normal;text-align:center;overflow-wrap:anywhere}
}

.brochure-link a.button{color:#fff;text-decoration:none}

/* Homepage service blocks, with touch and keyboard controls. */
.motion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.motion-card{appearance:none;display:block;width:100%;padding:0;border:0;border-radius:18px;background:transparent;color:#fff;text-align:left;font:inherit;cursor:pointer;perspective:1200px;min-width:0}
.motion-card:focus-visible{outline:3px solid #177e7c;outline-offset:5px}
.motion-inner{display:grid;transform-style:preserve-3d;transition:transform .55s ease;min-height:310px}
.motion-face{grid-area:1/1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:15px;padding:32px;border-radius:18px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow-wrap:anywhere}
.motion-front{background:#227e80}
.motion-front .service-symbol{width:58px;height:58px;flex:0 0 58px;border-radius:15px;background:#ffffffdd}
.motion-front .service-symbol svg{width:34px;height:34px}
.motion-back{background:#334a5f;transform:rotateY(180deg)}
.motion-title{display:block;font:700 1.35rem/1.4 'Libre Baskerville',Georgia,serif}
.motion-teaser,.motion-copy{display:block;font-size:1rem;line-height:1.65}
.motion-hint{display:block;font-size:.9rem;font-weight:700;color:#d3f5f1;margin-top:auto;text-decoration:underline;text-underline-offset:4px}
.motion-card.is-open .motion-inner{transform:rotateY(180deg)}
.values-section{background:#fff}
.values-collage{margin:0;aspect-ratio:1.6;border-radius:18px;overflow:hidden;background:#334a5f;min-width:0}
.values-collage img{display:block;width:100%;height:100%;object-fit:cover;object-position:right center}
@media(max-width:760px){.motion-grid{grid-template-columns:1fr}.motion-face{padding:26px}.motion-inner{min-height:320px}.values-collage{width:100%}}
@media(prefers-reduced-motion:reduce){.motion-inner{transition:none}}
