*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --g:#063C35;--gd:#04302a;--gl:#2f6b5e;
  --mint:#8ECCB4;--mintl:#EAF5F0;--blue:#3d6f7a;--bluel:#81B6C1;--blush:#EDC4B1;--blushl:#F8E9E2;
  --ow:#FAFAF7;--w:#fff;--ch:#1c2a27;--mid:#55665f;--line:#d6e6df
}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:var(--ow);color:var(--ch);overflow-x:hidden;line-height:1.65;font-size:17px}
a{color:inherit}
img{display:block;max-width:100%}
[id]{scroll-margin-top:110px}
.skip{position:absolute;left:-9999px;top:0;background:var(--g);color:#fff;padding:10px 16px;z-index:200}
.skip:focus{left:16px;top:16px}

/* type */
.eyebrow{font-family:'Josefin Sans',sans-serif;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gl);display:flex;align-items:center;gap:12px;margin-bottom:22px}
.eyebrow::before{content:'';width:32px;height:1px;background:currentColor;flex-shrink:0}
.center .eyebrow{justify-content:center}
h1,h2,h3,h4{font-family:'Josefin Sans',sans-serif;font-weight:300;color:var(--g);line-height:1.12}
h1{font-size:clamp(42px,5vw,78px);letter-spacing:-.01em;margin-bottom:26px}
h2{font-size:clamp(32px,3.3vw,50px);margin-bottom:24px}
h3{font-size:clamp(22px,2vw,28px);font-weight:400;line-height:1.3;margin-bottom:14px}
h1 em,h2 em,h3 em{font-family:'Jost',sans-serif;font-style:italic;font-weight:300;color:var(--gl)}
p{margin-bottom:18px}
p:last-child{margin-bottom:0}
.lede{font-size:20px;font-weight:300;color:var(--mid)}
.muted{color:var(--mid);font-weight:300}
.statement{font-size:clamp(24px,2.4vw,32px);font-weight:300;line-height:1.35;color:var(--g)}
.statement em,.it{font-style:italic}
.big-italic{font-size:clamp(26px,2.8vw,40px);font-style:italic;font-weight:300;line-height:1.3;color:var(--g)}
strong{font-weight:500}

/* buttons */
.btnp{display:inline-block;background:var(--g);color:#fff;text-decoration:none;font-family:'Josefin Sans',sans-serif;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:17px 32px;border-radius:2px;border:0;cursor:pointer;transition:background .2s,transform .2s;text-align:center}
.btnp:hover{background:var(--gl);transform:translateY(-1px)}
.btnp.light{background:#fff;color:var(--g)}
.btnp.light:hover{background:var(--mint)}
.btng{color:var(--g);text-decoration:none;font-weight:500;font-size:16px;display:inline-flex;gap:8px;align-items:center;transition:gap .2s}
.btng:hover{gap:14px}
.dark .btng{color:var(--mint)}
.actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:36px}

/* header + nav */
header.site{position:sticky;top:0;z-index:100;background:rgba(250,250,247,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 40px;height:86px;max-width:1600px;margin:0 auto}
.logo{display:flex;align-items:center;gap:14px;text-decoration:none;flex-shrink:0}
.mark{width:50px;height:50px;background:var(--g);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:'Josefin Sans',sans-serif;line-height:1;flex-shrink:0}
.mark b{font-size:21px;font-weight:600;letter-spacing:.02em}
.mark i{font-style:normal;font-size:6px;letter-spacing:.25em;margin-top:4px}
.logo span{font-family:'Josefin Sans',sans-serif;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--g)}
.menu{display:flex;align-items:center;gap:2px;list-style:none}
.menu>li{position:relative;display:flex;align-items:center}
.menu>li>a{display:inline-block;padding:12px 10px;text-decoration:none;font-family:'Josefin Sans',sans-serif;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--mid);white-space:nowrap}
.menu>li>a:hover,.menu>li>a.active{color:var(--g)}
.menu>li>a.active{box-shadow:inset 0 -2px 0 var(--mint)}
.drop-btn{background:none;border:0;cursor:pointer;color:var(--mid);padding:12px 8px 12px 0;display:flex;align-items:center}
.drop-btn svg{width:10px;height:10px;transition:transform .2s}
.has-drop.open>.drop-btn svg{transform:rotate(180deg)}
.drop{position:absolute;top:100%;left:0;min-width:260px;list-style:none;background:var(--w);border:1px solid var(--line);border-top:2px solid var(--mint);box-shadow:0 16px 36px rgba(6,60,53,.12);padding:8px 0;display:none;z-index:120}
.drop::before{content:'';position:absolute;left:0;right:0;top:-14px;height:14px}
.drop a{display:block;padding:11px 22px;text-decoration:none;font-size:15px;color:var(--ch);white-space:nowrap}
.drop a:hover,.drop a.active{background:var(--mintl);color:var(--g)}
.has-drop.open>.drop{display:block}
@media (hover:hover) and (min-width:1241px){.has-drop:hover>.drop{display:block}.has-drop:hover>.drop-btn svg{transform:rotate(180deg)}}
.menu .cta-li{margin-left:12px}
.menu .cta-li .btnp{padding:13px 20px;font-size:11px;color:#fff;letter-spacing:.14em;font-weight:600}
.menu .cta-li .btnp:hover{color:#fff}
.menu-btn{display:none;background:none;border:1px solid var(--line);width:48px;height:48px;align-items:center;justify-content:center;cursor:pointer;color:var(--g)}
.menu-btn svg{width:22px;height:22px}

/* hero (home) */
.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:calc(100vh - 86px)}
.hl{padding:96px 64px 80px;display:flex;flex-direction:column;justify-content:center}
.hsub{font-size:21px;font-weight:300;color:var(--mid);max-width:480px;margin-bottom:14px}
.byline{font-family:'Josefin Sans',sans-serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--g);margin-bottom:4px}
.byline-sub{font-style:italic;color:var(--gl);font-weight:300}
.hr{position:relative;background:var(--mintl) center/cover no-repeat;min-height:420px}
.credcard{position:absolute;left:-48px;bottom:56px;background:var(--w);padding:26px 30px;box-shadow:0 18px 40px rgba(6,60,53,.12);max-width:350px;border-top:3px solid var(--mint)}
.credcard p{font-size:15px;color:var(--mid);display:flex;gap:10px;padding:7px 0;margin:0;border-bottom:1px solid var(--line)}
.credcard p:last-child{border:0}
.credcard p::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--mint);margin-top:10px;flex-shrink:0}
.credcard a{color:var(--g)}

/* page hero (inner) */
.phero{display:grid;grid-template-columns:1.1fr .9fr;min-height:560px;border-bottom:1px solid var(--line)}
.phero .txt{padding:96px 64px;display:flex;flex-direction:column;justify-content:center}
.phero .img{background:var(--mintl) center/cover no-repeat;min-height:360px}
.phero.solo{display:block;min-height:0;text-align:center;padding:110px 24px 90px}
.phero.solo .eyebrow{justify-content:center}
.phero.solo .lede{max-width:720px;margin:0 auto}
.phero .sub{font-family:'Josefin Sans',sans-serif;font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--gl);margin:-10px 0 22px}

/* breadcrumbs */
.crumbs{font-size:13px;color:var(--mid);margin-bottom:26px}
.crumbs a{color:var(--gl);text-decoration:none}
.crumbs a:hover{text-decoration:underline}

/* marquee */
.mq{background:var(--g);padding:18px 0;overflow:hidden}
.mqt{display:flex;width:max-content;animation:mq 38s linear infinite}
.mqt span{font-family:'Josefin Sans',sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.75);padding:0 26px;display:flex;align-items:center;gap:52px;white-space:nowrap}
.mqt span::after{content:'';width:4px;height:4px;border-radius:50%;background:var(--mint)}
@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.mqt{animation:none}}

/* sections */
.sec{padding:110px 64px}
.sec.tight{padding-top:0}
.wrap{max-width:1240px;margin:0 auto}
.narrow{max-width:780px;margin:0 auto}
.center{text-align:center}
.center .actions{justify-content:center}
.white{background:var(--w)}
.mintbg{background:var(--mintl)}
.blushbg{background:var(--blushl)}
.dark{background:var(--g);color:rgba(255,255,255,.82)}
.dark h2,.dark h3,.dark .statement,.dark .big-italic{color:#fff}
.dark h2 em,.dark .eyebrow{color:var(--mint)}
.dark .lede,.dark .muted{color:rgba(255,255,255,.72)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.split.top{align-items:start}
.split .pic{aspect-ratio:4/5;background:var(--mintl) center/cover no-repeat}
.split .pic.sq{aspect-ratio:1/1}
.split .pic.wide{aspect-ratio:4/3}
.rhead{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:56px;padding-bottom:32px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.rhead h2{margin:0}
.dark .rhead{border-color:rgba(255,255,255,.12)}
.banner{height:340px;background:var(--mintl) center/cover no-repeat}
.prose p{font-size:18px;font-weight:300;color:var(--ch)}
.prose h2{margin-top:56px}
.prose h3{margin-top:40px}
.prose a:not(.btnp):not(.btng){color:var(--gl)}
.dark .prose a:not(.btnp):not(.btng){color:var(--mint)}
.dark .prose p{color:rgba(255,255,255,.85)}
.rule{border:0;border-top:1px solid var(--line);margin:56px 0}

/* line lists */
.lines{list-style:none;border-top:1px solid var(--line)}
.lines li{padding:14px 0;border-bottom:1px solid var(--line);font-size:19px;font-weight:300;color:var(--g)}
.lines.it li{font-style:italic;font-size:21px}
.dark .lines,.dark .lines li{border-color:rgba(255,255,255,.12);color:#fff}
.qbox{background:var(--w);border:1px solid var(--line);padding:40px 44px}
.qbox h3{font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gl);margin-bottom:12px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.chips span,.chips a{font-size:15px;color:var(--g);border:1px solid var(--line);background:var(--w);padding:9px 16px;border-radius:40px;text-decoration:none;transition:all .2s}
.chips a:hover{background:var(--mint);border-color:var(--mint)}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.cards.four{grid-template-columns:repeat(4,1fr)}
.cards.two{grid-template-columns:repeat(2,1fr)}
.cards.five{grid-template-columns:repeat(5,1fr)}
.card{background:var(--w);padding:40px 34px;position:relative;transition:transform .3s;text-decoration:none;display:flex;flex-direction:column}
a.card:hover{transform:translateY(-4px)}
.card::after{content:'';position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--g);transition:width .35s}
a.card:hover::after{width:100%}
.mintbg .card{background:var(--w)}
.num{font-family:'Josefin Sans',sans-serif;font-size:13px;letter-spacing:.14em;color:var(--blue);margin-bottom:20px}
.card h3{font-size:22px;margin-bottom:12px}
.card p{font-size:16px;font-weight:300;color:var(--mid)}
.card .go{margin-top:auto;padding-top:22px;color:var(--g);font-weight:500;font-size:15px}
.dark .card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.dark .card h3{color:#fff}.dark .card p{color:rgba(255,255,255,.7)}

/* checklist */
.check{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:2px}
.check li{background:var(--w);padding:18px 22px 18px 54px;position:relative;font-size:17px;color:var(--g)}
.check li::before{content:'';position:absolute;left:22px;top:22px;width:16px;height:9px;border-left:2px solid var(--gl);border-bottom:2px solid var(--gl);transform:rotate(-45deg)}

/* quote */
.quote{text-align:center}
.qm{font-family:'Jost',sans-serif;font-size:90px;line-height:.6;color:var(--blush);font-weight:300}
.quote blockquote{font-size:clamp(23px,2.4vw,32px);font-weight:300;font-style:italic;line-height:1.45;color:var(--g);max-width:940px;margin:24px auto 28px}
.quote cite{font-family:'Josefin Sans',sans-serif;font-style:normal;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gl)}
.tgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.tcard{background:var(--w);padding:36px 36px 30px;border-top:3px solid var(--blush)}
.tcard p{font-size:17px;font-style:italic;font-weight:300;color:var(--g)}
.tcard cite{display:block;margin-top:16px;font-style:normal;font-family:'Josefin Sans',sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gl)}

/* credentials */
.creds{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.creds dl{border-top:1px solid var(--line)}
.creds dl div{display:flex;justify-content:space-between;gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}
.creds dt{font-size:18px;color:var(--g)}
.creds dd{font-size:15px;color:var(--mid);text-align:right}
.icons{display:flex;gap:16px;margin:8px 0 36px}
.icons img{width:84px;height:84px;object-fit:cover}

/* press + logos */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.pcard{background:var(--w);text-decoration:none;display:flex;flex-direction:column;transition:transform .3s;border:1px solid var(--line)}
.pcard:hover{transform:translateY(-4px)}
.pcard .pi{aspect-ratio:1/1;background:#fff center/cover no-repeat}
.pcard span{padding:14px 16px;font-family:'Josefin Sans',sans-serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--g);display:flex;justify-content:space-between;gap:8px}
.press-strip{padding:56px 64px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--w);text-align:center}
.press-strip .eyebrow{justify-content:center}
.plist{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 40px;max-width:1100px;margin:0 auto 26px}
.plist span{font-family:'Josefin Sans',sans-serif;font-size:20px;letter-spacing:.06em;color:#56655f}
.logos{display:grid;grid-template-columns:repeat(5,1fr);gap:2px}
.logos a{background:var(--w);display:flex;align-items:center;justify-content:center;padding:28px;height:130px;transition:background .2s}
.logos a:hover{background:var(--mintl)}
.logos img{max-height:64px;max-width:100%;object-fit:contain;filter:grayscale(1);opacity:.8;transition:all .2s}
.logos a:hover img{filter:none;opacity:1}

/* posts */
.wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.post{text-decoration:none;background:var(--w);display:flex;flex-direction:column;transition:transform .3s}
.post:hover{transform:translateY(-4px)}
.post .pi{aspect-ratio:16/10;background:var(--mintl) center/cover no-repeat}
.post .pb{padding:26px 28px 30px}
.post small{font-family:'Josefin Sans',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue)}
.post h3{font-size:21px;margin:10px 0 8px}
.post p{font-size:15px;font-weight:300;color:var(--mid)}

/* article */
.article-head{padding:96px 24px 56px;text-align:center}
.article-head .eyebrow{justify-content:center}
.article-head h1{max-width:980px;margin:0 auto 18px}
.article-hero{max-width:1240px;margin:0 auto;aspect-ratio:21/8;background:var(--mintl) center/cover no-repeat}
.article{padding:80px 24px}
.pull{border-left:0;padding:36px 0;margin:36px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}

/* forms */
.form{display:grid;gap:22px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label,.form legend{display:block;font-size:15px;font-weight:500;color:var(--g);margin-bottom:8px}
.form .req{font-weight:300;color:var(--mid);font-size:13px;margin-left:6px}
.form input[type=text],.form input[type=email],.form input[type=tel],.form input[type=date],.form textarea{width:100%;font:inherit;font-size:16px;padding:14px 16px;border:1px solid #b9cec6;background:#fff;color:var(--ch);border-radius:2px}
.form textarea{min-height:130px;resize:vertical}
.form input:focus,.form textarea:focus{outline:2px solid var(--mint);outline-offset:1px;border-color:var(--gl)}
.form fieldset{border:0}
.form .opt{display:flex;align-items:flex-start;gap:12px;font-weight:300;font-size:16px;color:var(--ch);margin:8px 0;cursor:pointer}
.form .opt input{width:20px;height:20px;margin-top:3px;accent-color:var(--g);flex-shrink:0}
.form .hint{font-size:14px;color:var(--mid);font-weight:300;margin:-4px 0 8px}
.formcard{background:var(--w);padding:48px;border:1px solid var(--line)}
.news{display:flex;max-width:540px;margin:36px auto 0;background:var(--w);padding:6px;gap:6px}
.news input{flex:1;border:0;font:inherit;font-size:16px;padding:0 16px;background:transparent;min-width:0}
.news input:focus{outline:2px solid var(--mint)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* cta band */
.cta{background:var(--mint);text-align:center}
.cta h2{color:var(--g);max-width:860px;margin:0 auto 20px}
.cta .lede{margin:0 auto;color:var(--gd);max-width:680px}
.cta .eyebrow{justify-content:center;color:var(--g)}

/* footer */
footer.site{background:var(--gd);color:rgba(255,255,255,.66);padding:72px 64px 40px;font-size:15px}
.fgrid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:40px}
footer.site h4{font-family:'Josefin Sans',sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin-bottom:16px;font-weight:600}
footer.site .fcol a{display:block;text-decoration:none;padding:5px 0}
footer.site a:hover{color:var(--mint)}
footer.site .logo span{color:#fff}
footer.site .mark{background:var(--mint);color:var(--g)}
footer.site .fname{font-family:'Jost',sans-serif;font-style:italic;font-size:22px;color:#fff;margin:20px 0}
footer.site .fcol a.insta{display:flex;align-items:center;gap:8px}
.insta svg{width:18px;height:18px}
.disclaimer{max-width:1240px;margin:56px auto 0;padding-top:28px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;line-height:1.7;color:rgba(255,255,255,.55)}
.legal{max-width:1240px;margin:24px auto 0;font-size:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:rgba(255,255,255,.5)}

/* responsive */
@media (max-width:1360px){.bar .logo span{display:none}}
@media (max-width:1240px){
  .menu-btn{display:flex}
  header.site nav{display:none;position:absolute;left:0;right:0;top:86px;background:var(--ow);border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(6,60,53,.1);max-height:calc(100vh - 86px);overflow:auto}
  header.site nav.open{display:block}
  .menu{flex-direction:column;align-items:stretch;padding:10px 20px 24px;gap:0}
  .menu>li{flex-wrap:wrap;border-bottom:1px solid var(--line)}
  .menu>li>a{flex:1;padding:16px 4px;font-size:13px}
  .drop-btn{width:48px;height:48px;justify-content:center;padding:0}
  .drop-btn svg{width:14px;height:14px}
  .drop{position:static;width:100%;box-shadow:none;border:0;border-left:2px solid var(--mint);margin:0 0 12px 4px;padding:0;min-width:0}
  .drop::before{display:none}
  .drop a{white-space:normal;padding:12px 18px}
  .menu .cta-li{margin:20px 0 0;border:0}
  .menu .cta-li .btnp{width:100%;padding:16px}
}
@media (max-width:1000px){
  .bar{padding:0 20px}
  .hero,.phero,.split{grid-template-columns:1fr;gap:48px}
  .phero .txt{padding:64px 20px 40px}
  .phero .img{min-height:320px}
  .hl{padding:64px 20px}
  .credcard{left:16px;right:16px;bottom:16px;max-width:none}
  .cards,.cards.four,.cards.five,.wgrid,.creds,.tgrid{grid-template-columns:1fr}
  .cards.two{grid-template-columns:1fr}
  .pgrid{grid-template-columns:repeat(2,1fr)}
  .logos{grid-template-columns:repeat(2,1fr)}
  .check{grid-template-columns:1fr}
  .sec{padding:72px 20px}
  .press-strip{padding:44px 20px}
  .article{padding:56px 20px}
  .article-head{padding:64px 20px 40px}
  .fgrid{grid-template-columns:1fr 1fr}
  footer.site{padding:56px 20px 32px}
  .formcard{padding:28px 20px}
  .form .row{grid-template-columns:1fr}
  .split .pic{aspect-ratio:4/3}
}
@media (max-width:560px){
  .fgrid{grid-template-columns:1fr}
  .pgrid{grid-template-columns:1fr 1fr;gap:12px}
  .news{flex-direction:column}
  .news input{padding:14px 16px}
  .creds dl div{flex-direction:column;gap:2px}
  .creds dd{text-align:left}
  .qbox{padding:28px 22px}
}
