@font-face{font-family:Barlow;src:url('/assets/barlow-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url('/assets/barlow-semibold.ttf') format('truetype');font-style:normal;font-weight:600 900;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('/assets/barlow-condensed-bold.ttf') format('truetype');font-style:normal;font-weight:600 900;font-display:swap}
:root{--olive:#006f85;--gold:#55cee5}
body{font-family:Barlow,Arial,sans-serif;font-size:17px;line-height:1.65}
h1,h2,h3,.hero h1,.intro h2,.service h3,.step h3,.landing-intro h1,.faq summary{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:700;font-style:normal;letter-spacing:.3px}
h1,h2,.hero h1,.landing-intro h1{text-transform:uppercase;line-height:1.04}
.hero h1{max-width:820px;font-size:clamp(56px,6.6vw,92px)}
.hero h1 em{font-style:normal;font-weight:700;color:#70d6ea}
h2,.intro h2{font-size:clamp(38px,4.4vw,59px)}
.service h3,.step h3{font-size:29px;line-height:1.12}
.faq summary{font-size:26px}
.area-list{font-family:Barlow,Arial,sans-serif;font-weight:600;font-size:21px}
.eyebrow,.num{font-weight:600;letter-spacing:2.4px}
nav,.btn,.text-link,.strip,label,.detail-list,.service-links{font-family:Barlow,Arial,sans-serif;font-weight:600}
.btn{font-size:13px;letter-spacing:1.1px}
.hero p{font-size:17px;max-width:510px}
.service p,.step p,.feature-copy p,.faq details p,.areas p{font-size:16px}
input,select,textarea{font-size:16px}
.contact-copy small,.form-foot{font-size:13px}
.section-head p{font-size:16px}
header .btn,.btn:not(.light):not(.outline){background:#006f85;border-color:#006f85}
nav a:hover{color:#70d6ea}
.text-link,.strip,.service-links a,.contact-copy small a,.breadcrumbs,.local-note a,.detail-list div span{color:#006f85}
.text-link{border-color:#006f85}
.service-links a:hover{background:#edf6f9}
@media(max-width:850px){.hero h1{font-size:66px}}
@media(max-width:600px){.hero h1{font-size:58px}.hero-inner{padding-top:85px}.hero p{font-size:16px}h2,.intro h2{font-size:43px}.service h3{font-size:25px}.service p{font-size:15px}.area-list{font-size:19px}.hero-foot{letter-spacing:.5px}.landing-intro h1{font-size:44px}}
@media(max-width:360px){.hero h1{font-size:50px}.hero p{font-size:15px}.hero-inner{padding-top:75px}.btn{font-size:12px}}

.hero-image-note{display:block;margin-top:8px;font:600 9px/1.4 Barlow,Arial,sans-serif;letter-spacing:1px;color:#d8e7eb}.hero>img{object-position:center 52%}@media(max-width:600px){.hero>img{object-position:63% center}.hero-image-note{font-size:8px;letter-spacing:.7px}.hero-foot{align-items:flex-end}}

.areas .wrap{grid-template-columns:.8fr 1.2fr;gap:65px}.area-list{gap:15px 24px;font-size:19px}.area-list div{padding-bottom:10px}.areas .wrap>div:first-child{align-self:center}@media(max-width:850px){.areas .wrap{gap:35px}.area-list{font-size:17px}}@media(max-width:600px){.areas .wrap{grid-template-columns:1fr;gap:35px}.area-list{grid-template-columns:1fr 1fr;font-size:17px;gap:15px}}

.professional-partners{background:#fff;border-top:1px solid #d7e3e8}.partners-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:75px}.partners-intro>p{color:#505b5b;font-size:17px;margin-top:25px}.partner-image{height:320px;margin:30px 0}.partner-image img{object-position:center 60%}.partner-audiences article{padding:28px 0;border-top:1px solid #bdd4dd}.partner-audiences article:first-child{padding-top:0;border-top:0}.partner-audiences h3{font-size:32px;line-height:1.08;margin:10px 0 15px}.partner-audiences p{font-size:16px;color:#505b5b}.partner-focus{margin-top:18px;color:#006f85;font:600 12px/1.8 Barlow,Arial,sans-serif}.partner-closing{padding:24px;border-left:3px solid #006f85;background:#edf6f9}.partner-closing strong{font-size:17px}.partner-closing p{font-size:15px;margin-top:8px}header nav{gap:20px}header nav>a{font-size:12px}@media(max-width:1100px){header nav{gap:12px}header nav>a{font-size:11px}.partners-layout{gap:45px}}@media(max-width:700px){.partners-layout{grid-template-columns:1fr;gap:45px}.partner-image{height:300px}.partner-audiences h3{font-size:30px}}

.credentials-section{background:#edf6f9;border-bottom:1px solid #d7e3e8}.credentials-section .wrap{padding-top:65px;padding-bottom:65px}.credentials-intro{color:#505b5b;max-width:680px;margin-top:20px}.credentials-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:25px;margin-top:35px}.credentials-grid>div{padding-top:18px;border-top:2px solid #006f85}.credentials-grid span{font:600 13px Barlow,Arial,sans-serif;letter-spacing:1.5px;color:#006f85}.credentials-grid h3{font-size:26px;line-height:1.15;margin-top:10px}.license-footer{padding:25px 5%;background:#edf6f9;color:#080b0b;border-top:1px solid #bdd4dd}.license-footer strong{font:600 12px Barlow,Arial,sans-serif;letter-spacing:1.5px;color:#006f85}.license-footer p{font-size:14px;margin-top:8px;line-height:1.8}@media(max-width:850px){.credentials-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.credentials-grid{grid-template-columns:repeat(2,1fr);gap:25px 18px}.credentials-grid h3{font-size:24px}.license-footer{padding:25px 6%}}

.social-link{display:inline-flex;align-items:center;gap:10px;font:600 14px Barlow,Arial,sans-serif;color:white;padding:10px 0}.social-link svg{width:22px;height:22px;flex:none}.social-link:hover{color:#70d6ea}.social-link:focus-visible{outline:2px solid #70d6ea;outline-offset:5px}

.social-links{display:flex;flex-wrap:wrap;align-items:center;gap:22px}@media(max-width:600px){.social-links{gap:20px}}

.journal-wrap{max-width:1050px;margin:auto;padding:60px 6% 90px}.journal-meta{font-size:11px;letter-spacing:1.6px;color:#006f85;font-weight:600;margin:15px 0 25px}.journal-article h1{font-size:clamp(42px,5.3vw,72px);max-width:900px}.journal-deck{font-size:21px!important;color:#505b5b;margin-top:26px!important}.journal-article p{font-size:18px;line-height:1.8;margin:20px 0}.journal-article h2{font-size:42px;margin:48px 0 20px}.journal-article h3{font-size:29px;margin:25px 0 15px}.journal-article a:not(.btn){color:#006f85;text-decoration:underline;text-underline-offset:3px}.journal-article figure{margin:36px 0}.journal-article figure img{height:460px;object-position:center}.journal-article figcaption{font-size:12px;line-height:1.6;color:#505b5b;margin-top:12px}.article-contents{display:flex;flex-wrap:wrap;gap:12px 22px;background:#edf6f9;padding:25px}.article-contents strong{width:100%;font-size:11px;letter-spacing:1.8px}.article-contents a{font-size:14px}.palette-examples{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:25px}.palette-chip{display:block;height:90px;border:1px solid #ccd5d6;margin-bottom:15px}.palette-examples strong{font-size:12px;letter-spacing:1px}.palette-examples p{font-size:15px;margin:10px 0}.journal-article .palette-note{font-size:12px;color:#505b5b}.article-table{overflow-x:auto}.article-table table{border-collapse:collapse;min-width:610px;width:100%;font-size:15px}.article-table th,.article-table td{text-align:left;vertical-align:top;border-bottom:1px solid #bdd4dd;padding:16px}.article-table th{background:#edf6f9}.article-takeaway{background:#edf6f9;border-left:3px solid #006f85;padding:28px;margin-top:40px}.article-takeaway h3{margin-top:0}.article-sources{border-top:1px solid #bdd4dd;margin:45px 0}.article-sources h2{font-size:29px}.article-sources p,.article-sources li{font-size:14px}.article-sources li{margin:12px 0}.blog-feature{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.blog-feature>img{height:430px}.blog-feature h2{font-size:43px}.blog-feature p{color:#505b5b;margin:22px 0}.footer-blog{font:600 12px Barlow,Arial,sans-serif;letter-spacing:1px}.footer-blog:hover{color:#70d6ea}header nav{gap:15px}@media(max-width:1050px){header nav{gap:10px}header nav>a{font-size:11px}.company-logo{width:210px}}@media(max-width:850px){.blog-feature{grid-template-columns:1fr;gap:30px}}@media(max-width:600px){.journal-wrap{padding:35px 6% 65px}.journal-deck{font-size:19px!important}.journal-article p{font-size:17px}.journal-article h2{font-size:35px}.journal-article figure img{height:300px}.palette-examples{gap:12px}.palette-chip{height:65px}.palette-examples p{font-size:14px}.blog-feature h2{font-size:36px}.blog-feature>img{height:300px}.article-takeaway{padding:22px}}

.floor-checklist{padding-left:24px;font-size:17px;line-height:1.8}.floor-checklist li{margin:14px 0}.blog-feature+.blog-feature{border-top:1px solid #bdd4dd}

/* Shared responsive navigation and phone layouts. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:25px}
header{position:relative;z-index:30;gap:20px}
.nav-toggle{display:none}
main,section,article,form,.wrap,.journal-wrap,.landing-body>*,.intro>*,.contact>*,.partners-layout>*,.project-card{min-width:0}
img{max-width:100%}
.btn{max-width:100%;min-height:46px;text-align:center;white-space:normal}
input,select,textarea{min-width:0;max-width:100%;font-size:16px}
p,h1,h2,h3,li,.breadcrumbs{overflow-wrap:break-word}
.article-table{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.article-table:focus-visible{outline:2px solid #006f85;outline-offset:4px}
.gallery-filters button,.dialog-toolbar button{min-height:44px;min-width:44px}
.social-link,.footer-blog,.top{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:1050px){
 header{height:84px;padding:0 5%;justify-content:space-between}
 header .company-logo{width:210px;height:auto}
 .nav-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 14px;background:transparent;color:#fff;border:1px solid #70b6c8;font:600 15px Barlow,Arial,sans-serif;cursor:pointer}
 .nav-toggle svg{width:22px;height:22px;flex:none}
 header .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#080b0b;padding:16px 5% 24px;border-top:1px solid #405555;box-shadow:0 12px 24px #0003;max-height:75vh;max-height:75dvh;overflow-y:auto;gap:5px}
 header[data-menu-open="true"] .site-nav{display:flex;flex-direction:column;align-items:stretch}
 header .site-nav>a{display:flex;align-items:center;min-height:48px;padding:12px 15px;font-size:16px;letter-spacing:.5px;border-bottom:1px solid #253638}
 header .site-nav>.btn{justify-content:center;margin-top:12px;font-size:14px;border-bottom:1px solid #006f85}
}
@media(max-width:760px){
 .intro,.contact,.landing-body,.partners-layout,.feature{grid-template-columns:minmax(0,1fr);gap:35px}
 .areas .wrap{grid-template-columns:minmax(0,1fr);gap:35px}
 .feature{gap:0}
 .feature-image{min-height:370px}
 .feature-copy{padding:50px 6%}
 .section-head{display:block}
 .section-head p{margin-top:20px;max-width:none}
 .steps{grid-template-columns:1fr;gap:30px}
}
@media(max-width:600px){
 header{height:78px;gap:12px;padding:0 6%}
 header .company-logo{width:180px}
 .nav-toggle{min-width:84px;padding:9px 11px;font-size:14px}
 .hero{height:auto;min-height:620px}
 .hero-inner{padding:70px 6% 145px}
 .hero h1{font-size:clamp(42px,11vw,58px);line-height:1.04}
 .hero p{font-size:16px;line-height:1.7;margin:24px 0 28px}
 .hero-foot{bottom:22px;left:6%;right:6%;gap:20px;align-items:flex-end}
 .hero-foot>span{max-width:70%;line-height:1.6}
 .hero-foot>a{min-width:65px;min-height:44px;display:flex;align-items:center;text-align:right}
 .wrap{padding:55px 6%}
 .services{padding-top:0}
 .form-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .form-grid label{font-size:11px}
 input,select,textarea{padding:14px 0;font-size:16px}
 .contact-copy small{font-size:14px}
 .contact .btn{width:100%;gap:15px}
 .landing-intro .wrap{padding:45px 6%}
 .landing-intro h1{font-size:clamp(36px,10vw,46px)}
 .service-cta .wrap{display:block}
 .service-cta .btn{margin-top:24px}
 .journal-meta{line-height:1.7;letter-spacing:1px;font-size:10px}
 .journal-article h1{font-size:clamp(36px,10vw,48px)}
 .journal-article h2{font-size:34px;line-height:1.1}
 .journal-article figure{margin:28px 0}
 .article-contents{display:block;padding:20px}
 .article-contents strong{display:block;margin-bottom:12px}
 .article-contents a{display:flex;align-items:center;min-height:44px;padding:8px 0;font-size:15px}
 .article-table th,.article-table td{padding:13px;font-size:14px}
 .palette-examples{grid-template-columns:1fr;gap:24px}
 .palette-chip{height:65px}
 .palette-examples p{font-size:16px}
 .article-sources ul{padding-left:22px}
 .article-sources a{display:inline-block;padding:7px 0;overflow-wrap:anywhere}
 .blog-feature h2{font-size:36px}
 footer{display:flex;align-items:flex-start;flex-direction:column;gap:18px;padding:35px 6%}
 footer p{font-size:13px}
 footer .company-logo{width:200px}
 .social-links{gap:24px}
 .gallery-dialog{width:calc(100vw - 20px);max-width:1100px;max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);overflow:auto}
 .dialog-image-wrap{height:55vh;height:55dvh}
 .dialog-toolbar{gap:6px;padding:10px}
 .dialog-toolbar button{padding:9px 11px;font-size:13px}
 .dialog-caption{padding:18px}
 .dialog-caption h2{font-size:27px}
}
@media(max-width:520px){
 .service-grid,.project-grid{grid-template-columns:minmax(0,1fr)}
 .service{margin-right:0;padding-right:0}
 .service h3{font-size:30px}
 .service p{font-size:16px}
 .project-grid{gap:30px}
 .project-photo{height:auto;aspect-ratio:4/5;max-height:520px}
 .project-caption h3{font-size:27px}
 .gallery-filters{gap:8px}
 .gallery-filters button{padding:10px 12px;font-size:13px}
}
@media(max-width:360px){
 header .company-logo{width:150px}
 .nav-toggle{min-width:76px;padding:9px}
 .hero-inner{padding-top:55px}
 .hero h1{font-size:42px}
 .hero-foot>span{max-width:66%;font-size:8px}
 .credentials-grid{grid-template-columns:1fr}
 .area-list{font-size:16px;gap:13px}
 .dialog-nav{gap:5px}
 .dialog-toolbar button{padding:8px}
}

/* Native phone navigation works even when scripts are unavailable. */
.mobile-navigation,.mobile-shortcuts{display:none}
@media(min-width:1051px){header .site-nav{display:flex}}
@media(max-width:1050px){
 header .site-nav,header[data-menu-open="true"] .site-nav{display:none}
 .mobile-navigation{display:block;margin-left:auto}
 .mobile-menu-summary{display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 13px;min-height:46px;min-width:87px;list-style:none;border:1px solid #70b6c8;color:white;cursor:pointer;font:600 15px Barlow,Arial,sans-serif;touch-action:manipulation}
 .mobile-menu-summary::-webkit-details-marker{display:none}
 .mobile-navigation[open] .mobile-menu-summary{background:#006f85}
 .mobile-navigation .mobile-links{position:absolute;top:100%;left:0;right:0;padding:14px 6% 22px;background:#080b0b;border-top:1px solid #405555;display:flex;flex-direction:column;align-items:stretch;gap:5px;max-height:70vh;max-height:70dvh;overflow:auto;box-shadow:0 12px 24px #0004}
 .mobile-navigation .mobile-links>a{display:flex;align-items:center;min-height:48px;padding:12px;font:600 16px Barlow,Arial,sans-serif;border-bottom:1px solid #253638;color:white}
 .mobile-navigation .mobile-links>.btn{justify-content:center;margin-top:10px}
 .mobile-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0 4%;background:#edf6f9;border-bottom:1px solid #bdd4dd}
 .mobile-shortcuts>a{display:flex;justify-content:center;align-items:center;min-height:48px;font:600 14px Barlow,Arial,sans-serif;color:#006f85;text-align:center;padding:9px 4px;touch-action:manipulation}
 .mobile-shortcuts>a:focus-visible,.mobile-menu-summary:focus-visible{outline:2px solid #006f85;outline-offset:3px}
}
@media(max-width:600px){
 .hero{min-height:590px}
 .hero-inner{padding-top:55px}
 .landing-photo,.landing-photo img{max-width:100%}
 .dialog-toolbar{position:sticky;top:0;z-index:3;background:#080b0b}
 .gallery-dialog{overscroll-behavior:contain}
 .gallery-filters button{touch-action:manipulation}
 .breadcrumbs{font-size:12px;line-height:1.7}
 .btn{font-size:13px;letter-spacing:.7px}
 .service-links a{min-height:44px;display:inline-flex;align-items:center;font-size:14px}
 .article-table{border:1px solid #bdd4dd;border-radius:2px}
 .article-table:before{content:"Swipe to view the full table →";display:block;padding:10px 13px;background:#edf6f9;font:600 12px Barlow,Arial,sans-serif;color:#006f85;position:sticky;left:0}
 footer{padding-bottom:max(35px,env(safe-area-inset-bottom))}
}
@media(max-width:360px){.mobile-menu-summary{min-width:78px;padding:10px}.mobile-shortcuts>a{font-size:13px}}
@media(max-width:1050px){.mobile-navigation:not([open]) .mobile-links{display:none}nav.mobile-shortcuts>a{display:flex}}
