:root{--ink:#2b2f55;--indigo:#4a4e7a;--aqua:#2b86ae;--aqua-d:#1d6a8f;--sky:#eaf4f9;--sun:#e9d97a;--paper:#fbfdfe}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:'Figtree',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:1.05rem;line-height:1.65}
h1,h2,h3{font-family:'Gloock',Georgia,serif;font-weight:400;line-height:1.1;color:var(--indigo)}
h2{font-size:clamp(2rem,4vw,3rem)}
a{color:var(--aqua-d)}
.eyebrow{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;color:var(--aqua-d)}
.util-bar{background:var(--indigo);color:#fff;font-size:.85rem;padding:.4rem 0}
.util-bar a{color:#fff;text-decoration:none}
.util-bar a:hover{text-decoration:underline}
.util-links{display:flex;gap:1.1rem;flex-wrap:wrap;justify-content:flex-end}
.main-nav{background:rgba(251,253,254,.96);backdrop-filter:blur(6px);border-bottom:1px solid #dbe8ef}
.navbar-brand{display:flex;align-items:center;gap:.7rem;font-family:'Gloock',serif;color:var(--indigo);font-size:1.15rem}
.navbar-brand img{height:46px;width:auto}
.nav-link{color:var(--ink);font-weight:600}
.nav-link:hover{color:var(--aqua-d)}
.btn-sail{background:var(--aqua-d);color:#fff;border:0;border-radius:999px;font-weight:700;padding:.55rem 1.3rem}
.btn-sail:hover{background:var(--indigo);color:#fff}
.btn-outline-sail{border:2px solid var(--indigo);color:var(--indigo);border-radius:999px;font-weight:700;padding:.5rem 1.3rem}
.btn-outline-sail:hover{background:var(--indigo);color:#fff}
.btn-lg{padding:.75rem 1.7rem}
.hero{position:relative;background:linear-gradient(180deg,var(--sky),#fff 85%);padding:4.5rem 0 8rem;overflow:hidden}
.hero h1{font-size:clamp(2.4rem,5.6vw,4.4rem);margin:.5rem 0 1.2rem}
.hero .lead{font-size:1.2rem;max-width:36rem;margin-bottom:1.8rem}
.hero-sail{position:absolute;right:-60px;top:-30px;width:520px;color:#c9d6e6;opacity:.8}
.portrait{margin:0;position:relative;max-width:380px;margin-inline:auto}
.portrait img{width:100%;height:auto;aspect-ratio:1/1.12;object-fit:cover;object-position:50% 20%;border-radius:999px 999px 18px 18px;border:6px solid #fff;box-shadow:14px 14px 0 var(--sun)}
.portrait figcaption{position:absolute;left:-14px;bottom:18px;background:var(--indigo);color:#fff;padding:.6rem 1rem;border-radius:10px;display:flex;flex-direction:column;line-height:1.25}
.portrait figcaption span{font-size:.8rem;opacity:.85}
.wave{position:absolute;left:0;width:100%;height:70px;display:block}
.wave-1{bottom:-1px;fill:var(--indigo)}
.stats{background:var(--indigo);color:#fff;padding:2.2rem 0 2.6rem}
.stats b{display:block;font-family:'Gloock',serif;font-size:2.8rem;font-weight:400;color:var(--sun);line-height:1}
.stats span{font-size:.9rem;opacity:.9}
.section{padding:5.5rem 0}
.side-sticky{top:110px}
.service-list{list-style:none;margin:0;padding:0;counter-reset:none}
.service-list li{padding:1.6rem 0 1.6rem 1.8rem;border-top:2px solid #cfe0ea;position:relative}
.service-list li:last-child{border-bottom:2px solid #cfe0ea}
.service-list li::before{content:"";position:absolute;left:0;top:2.1rem;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:16px solid var(--aqua)}
.service-list h3{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:.4rem}
.service-list p{margin:0;max-width:40rem}
.company{position:relative;background:var(--sky);padding:7rem 0 5.5rem}
.wave-top{top:-1px;fill:var(--paper);transform:scaleY(-1)}
.creds{display:flex;flex-wrap:wrap;gap:1.2rem 2rem;align-items:center;margin-top:1.6rem;background:#fff;padding:1rem 1.3rem;border-radius:14px;width:fit-content;max-width:100%}
.creds img{height:34px;width:auto;max-width:100%}
.desk{width:100%;height:auto;border-radius:18px 18px 18px 120px;box-shadow:-14px 14px 0 var(--sun)}
.person{display:flex;gap:1.3rem;align-items:flex-start;height:100%;padding:1.5rem;border:2px solid #cfe0ea;border-radius:18px;background:#fff}
.person img{width:120px;height:120px;object-fit:cover;border-radius:50%;flex:none}
.person b,.roster b{display:block;font-family:'Gloock',serif;font-weight:400;font-size:1.3rem;color:var(--indigo)}
.person em,.roster em{display:block;font-style:normal;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--aqua-d);font-weight:700;margin-bottom:.5rem}
.person p,.roster p{margin:0;font-size:.97rem}
.roster{height:100%;border-left:4px solid var(--aqua);padding:.3rem 0 .3rem 1rem}
.quotes{background:var(--indigo);color:#fff;padding:5rem 0 4.5rem;text-align:center}
.quotes .eyebrow{color:var(--sun)}
.quotes blockquote{max-width:46rem;margin:1.2rem auto 0}
.quotes blockquote p{font-family:'Gloock',serif;font-size:clamp(1.6rem,3.6vw,2.6rem);line-height:1.2}
.quotes cite{display:block;font-style:normal;opacity:.85;margin-top:1rem}
.q-controls{display:flex;gap:.8rem;justify-content:center;margin-top:2rem}
.q-btn{width:46px;height:46px;border-radius:50%;border:2px solid #fff;background:transparent;color:#fff}
.q-btn:hover{background:#fff;color:var(--indigo)}
.contact-list{list-style:none;padding:0;margin:1.4rem 0}
.contact-list li{display:flex;gap:.9rem;margin-bottom:.8rem}
.contact-list i{color:var(--aqua-d);font-size:1.2rem}
.hours{width:100%;max-width:340px;margin-bottom:1.5rem}
.hours caption{caption-side:top;font-weight:700;color:var(--indigo);padding-bottom:.3rem}
.hours th,.hours td{padding:.3rem 0;border-bottom:1px dashed #cfe0ea;font-weight:500}
.hours td{text-align:right}
.map{height:100%;min-height:420px;border-radius:18px;overflow:hidden;border:2px solid #cfe0ea}
.map iframe{width:100%;height:100%;min-height:420px;border:0}
.site-footer{position:relative;background:var(--indigo);color:#fff;padding:6rem 0 2rem}
.wave-foot{top:-1px;fill:var(--paper);transform:scaleY(-1)}
.site-footer a{color:#fff}
.foot-logo{width:200px;height:auto}
.soc{font-size:1.5rem;margin-left:.8rem;text-decoration:none}
.site-footer hr{border-color:rgba(255,255,255,.3);margin:1.8rem 0 1rem}
@media(max-width:991px){.hero{padding-top:3rem}.hero-sail{width:340px;right:-80px}.navbar-brand span{font-size:1rem}.side-sticky{position:static!important}}
@media(max-width:575px){.person{flex-direction:column}.portrait figcaption{left:0}.navbar-brand img{height:38px}.util-links{gap:.7rem;font-size:.8rem}}
