:root{--ink:#0f2a30;--ink2:#16373e;--cream:#f6f2ea;--sand:#ece6da;--aqua:#7fd0d9;--aqua-d:#3f8f99;--txt:#23363a}
img{max-width:100%;height:auto}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{background:var(--cream);color:var(--txt);font-family:'Jost',sans-serif;font-size:1rem;line-height:1.75}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:400;line-height:1.14}
h1{font-size:clamp(2.6rem,5.2vw,4.4rem)}
h2{font-size:clamp(2.1rem,4vw,3.2rem)}
h1 em,h2 em{font-weight:300;color:var(--aqua-d)}
.hero h1 em,.sect-ink h2 em{color:var(--aqua)}
a{color:var(--aqua-d)}
.eyebrow,.small-caps,.nav-link,.btn,.stat-l,.brand-sub,.index strong,cite,dt,figcaption{font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.24em;font-size:.7rem}
.eyebrow{color:var(--aqua-d);margin-bottom:1rem}
.sect-ink .eyebrow,.hero .eyebrow{color:var(--aqua)}
/* nav */
.topbar{background:var(--ink);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(127,208,217,.2)}
.navbar{padding:.6rem 0}
.brand{display:flex;align-items:center;gap:.9rem;text-decoration:none}
.brand-mark{width:44px;height:auto}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-name{font-family:'Cormorant Garamond',serif;font-size:1.75rem;letter-spacing:.32em;color:var(--aqua);text-transform:uppercase}
.brand-sub{color:rgba(246,242,234,.65);font-size:.58rem;letter-spacing:.34em}
.nav-link{color:rgba(246,242,234,.8)!important;padding:.6rem 1.1rem!important}
.nav-link:hover{color:var(--aqua)!important}
.nav-cta{border:1px solid rgba(127,208,217,.5);padding:.5rem 1.2rem!important}
.navbar-toggler{border-color:rgba(127,208,217,.4)}
@media(max-width:991px){.nav-cta{display:inline-block;margin-top:.4rem}.brand-name{font-size:1.4rem}}
/* buttons */
.btn{border-radius:0;padding:15px 36px}
.btn-wf{background:var(--aqua);color:var(--ink);border:1px solid var(--aqua)}
.btn-wf:hover{background:transparent;color:var(--aqua)}
.btn-ghost{border:1px solid rgba(246,242,234,.4);color:var(--cream)}
.btn-ghost:hover{border-color:var(--aqua);color:var(--aqua)}
/* hero */
.hero{background:var(--ink);color:var(--cream);padding:56px 0 72px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-8%;bottom:-18%;width:520px;height:520px;background:url(img/logo.webp) center/contain no-repeat;opacity:.07;pointer-events:none}
.lede{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:1.35rem;opacity:.85;max-width:34rem;margin-top:1.4rem}
.hero-rating{margin-top:2rem;font-size:.85rem;opacity:.7;letter-spacing:.05em}
.portrait{margin:0;position:relative;z-index:1}
.portrait img{width:100%;max-height:min(66vh,480px);object-fit:cover;object-position:50% 20%;border-radius:2px;display:block;outline:1px solid rgba(127,208,217,.35);outline-offset:10px}
.portrait figcaption{margin-top:1.4rem;color:rgba(246,242,234,.75);text-transform:none;letter-spacing:.06em;font-size:.82rem}
.portrait figcaption span{display:block;font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--aqua)}
@media(max-width:991px){.hero{padding:36px 0 56px}.portrait img{max-height:340px;width:auto;margin:0 auto}.portrait{text-align:center}}
/* stats */
.stats{background:var(--sand);padding:40px 0;border-bottom:1px solid rgba(15,42,48,.1)}
.stat{display:block;font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,5vw,3.4rem);line-height:1;color:var(--ink)}
.stat small{font-size:.5em;color:var(--aqua-d)}
.stat-l{display:block;margin-top:.5rem;color:var(--txt);font-size:.62rem}
/* sections */
.sect{padding:96px 0}
@media(max-width:767px){.sect{padding:64px 0}}
.sect-ink{background:var(--ink);color:var(--cream)}
.sect-sand{background:var(--sand)}
.sub{max-width:40rem;margin:1rem auto 0;opacity:.8}
.photo{width:100%;display:block;border-radius:2px;object-fit:cover}
.photo.wide{aspect-ratio:16/9;margin-bottom:2rem}
#about .photo{aspect-ratio:4/5;object-position:60% 40%}
.pillars h3,.why h3{font-size:1.6rem;border-top:1px solid rgba(63,143,153,.4);padding-top:1.1rem;margin-bottom:.6rem}
.pillars p,.why p{opacity:.85}
/* services split */
.col-h{font-size:2rem;color:var(--aqua);margin-bottom:1rem}
.index{list-style:none;padding:0;margin:0}
.index li{border-top:1px solid rgba(127,208,217,.2);padding:1rem 0}
.index strong{display:block;color:var(--cream);font-weight:500;font-size:.8rem}
.index strong em{font-style:normal;opacity:.6}
.index span{display:block;margin-top:.35rem;font-size:.95rem;opacity:.72;line-height:1.6}
@media(min-width:992px){.split-r{border-left:1px solid rgba(127,208,217,.3)}}
/* strip */
.strip{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.strip figure{margin:0}
.strip img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;border-radius:2px}
.strip figcaption{margin-top:.7rem;font-size:.6rem;color:var(--aqua-d)}
@media(max-width:991px){.strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px}.strip figure{flex:0 0 62%;scroll-snap-align:start}}
/* team */
.small-caps{color:var(--aqua-d);line-height:1.8}
.sub-sm{opacity:.75}
.bio p{max-width:46rem}
/* quotes */
.lead-quote{max-width:820px;margin:0 auto;text-align:center}
.lead-quote p{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.35}
blockquote{margin:0}
blockquote p{font-size:.98rem}
blockquote cite{display:block;font-style:normal;color:var(--aqua-d);margin-top:.6rem}
.quotes .row blockquote{border-top:1px solid rgba(63,143,153,.4);padding-top:1.1rem;height:100%}
.lead-quote cite{margin-top:1rem}
.portal{padding:72px 0}
/* contact */
.contact{margin:1.6rem 0 1.8rem}
dt{color:var(--aqua-d);margin-top:1rem}
dd{margin:0;font-size:1.05rem}
.contact a{text-decoration:none;color:var(--txt);border-bottom:1px solid var(--aqua-d)}
.map iframe{width:100%;height:100%;min-height:440px;border:0;border-radius:2px;filter:saturate(.8)}
/* footer */
.foot{background:var(--ink);color:rgba(246,242,234,.8);padding:64px 0 40px}
.foot-logo{width:150px;height:auto;margin-bottom:1.4rem}
.foot-line{margin:0 0 .3rem;font-size:.9rem}
.foot a{color:var(--aqua)}
.foot-small{margin-top:1.8rem;font-size:.75rem;opacity:.6}
