:root{--navy:#004880;--navy-d:#004880;--sage:#f1f1e6;--gold:#daa21e;--taupe:#887456;--cream:#f1f1e6;--ink:#1a1a1a;
 --fs-h1:clamp(36px,4.2vw,62px);--fs-h2:clamp(26px,2.5vw,36px);--fs-h3:clamp(20px,1.8vw,26px);--fs-sub:clamp(21px,2.1vw,31px);--fs-body:clamp(17px,1.4vw,21px);--fs-sm:15px;--fs-nav:17px;
 --sec:clamp(56px,6.5vw,88px);--gut:clamp(20px,5vw,72px);--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box;margin:0;padding:0}
html,body{font-family:'Raleway',system-ui,sans-serif;background:var(--cream);color:var(--ink);font-weight:400;font-size:var(--fs-body);line-height:1.65;-webkit-font-smoothing:antialiased}
button,input,textarea{font-family:'Raleway',system-ui,sans-serif}
html.is-home,body.is-home{overflow:hidden;height:100%}
button{font-size:inherit;background:none;border:0;cursor:pointer;color:inherit}
img{display:block;max-width:100%}
.page{display:block}
@keyframes pg{from{opacity:0}to{opacity:1}}
/* header */
.hdr{display:flex;align-items:center;justify-content:space-between;padding:24px var(--gut);gap:24px}
@keyframes down{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
.hdr .logo{height:62px;width:auto}
.hdr .brand{display:flex;align-items:center}.tm{font-size:9px;color:var(--navy);margin-bottom:5px}
.nav{display:flex;gap:28px}
.nav a{text-decoration:none;font-size:var(--fs-nav);letter-spacing:.05em;color:var(--navy);font-weight:500;white-space:nowrap;padding:6px 0;position:relative}
.nav a:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--taupe);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav a:hover:after,.nav a.on:after{transform:scaleX(1)}
.nav a.on,.nav a:hover{color:var(--taupe)}
.burger{display:none;width:44px;height:44px;position:relative}
.burger i{position:absolute;left:10px;right:10px;height:2px;background:var(--navy);top:14px;transition:.25s}
.burger i:nth-child(2){top:21px}.burger i:nth-child(3){top:28px}
.burger.open i:nth-child(1){top:21px;transform:rotate(45deg)}
.burger.open i:nth-child(2){opacity:0}
.burger.open i:nth-child(3){top:21px;transform:rotate(-45deg)}
/* type system */
h1.t{font-weight:600;color:var(--navy);font-size:var(--fs-h1);line-height:1.15;letter-spacing:-.005em}
.sub{color:var(--taupe);font-weight:400;font-size:var(--fs-sub);line-height:1.45;margin-top:16px}
.lead{font-size:var(--fs-body);line-height:1.65;max-width:860px;margin:20px auto 0}
.lead.tp{color:var(--taupe)}
h2.h{font-weight:600;color:var(--taupe);font-size:var(--fs-h2);line-height:1.25}
h3.h{font-weight:600;color:var(--taupe);font-size:var(--fs-h3);line-height:1.3}
/* layout system */
.band{background:var(--cream);text-align:center;padding:clamp(24px,3vw,40px) var(--gut) var(--sec)}
.white{background:#fff}
.sec{padding:var(--sec) var(--gut)}
.foot{background:var(--cream);text-align:center;padding:36px 20px;color:var(--taupe);font-size:var(--fs-sm)}
.wrap{max-width:1180px;margin:0 auto}
/* house */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;max-width:1180px;margin:44px auto 0}
.sect-h{text-align:center;margin:34px auto 0}.sect-h b{display:inline-block;color:var(--navy);font-size:var(--fs-h2);font-weight:600;letter-spacing:.01em}.sect-h i{display:block;width:56px;height:2px;background:var(--taupe);margin:14px auto 0}
.tile{position:relative;min-height:440px;overflow:hidden;background:var(--bg) center/cover;isolation:isolate}
.tile:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.62) 42%,rgba(255,255,255,.08) 100%);z-index:-1;transition:opacity .8s var(--ease)}
.tile .tx{padding:34px 32px}
.tile h2{font-weight:500;color:var(--navy);font-size:var(--fs-h1);line-height:1.1}
.tile p{margin-top:14px;font-size:var(--fs-body);line-height:1.5;color:var(--ink);max-width:320px}
.phil{text-align:center}
.phil small{color:var(--taupe);font-size:var(--fs-sub);font-weight:300}
.phil q{display:block;margin-top:22px;font-style:italic;font-weight:300;font-size:var(--fs-h2);line-height:1.5;quotes:none}
.belief{background:#fff;padding-top:clamp(28px,3.5vw,44px);padding-bottom:clamp(28px,3.5vw,44px)}
.hww{display:grid;grid-template-columns:1fr 1fr;align-items:center;max-width:1100px;margin:0 auto}
.hww .l small{display:block;color:var(--taupe);font-size:var(--fs-sub);font-weight:300}
.hww .l b{display:block;color:var(--ink);font-size:var(--fs-h1);font-weight:300;line-height:1.15}
.hww .r{border-left:2px solid var(--taupe);padding:10px 0 10px 10%;font-size:var(--fs-sub);color:var(--ink);line-height:2}
.hww .r b{color:var(--navy);font-weight:600}
/* split / how */
.split{display:grid;grid-template-columns:1fr minmax(0,.8fr);align-items:center}
.split .pic{overflow:hidden}
.split .pic img{width:100%;height:auto;display:block;}
.split .tx{padding:var(--sec) 7%;display:flex;flex-direction:column;justify-content:center}
.split .d{margin-top:20px}
.split h3.h{margin:28px 0 6px;display:flex;align-items:center;gap:10px}
.split h3.h:before{content:"";border-left:11px solid var(--taupe);border-top:7px solid transparent;border-bottom:7px solid transparent}
.split h3.h+p{padding-left:21px}
.soon{color:var(--navy);font-size:var(--fs-h3);margin-top:2px;font-weight:500}
.alt{background:var(--cream);grid-template-columns:minmax(0,.8fr) 1fr}.alt .pic{order:-1}
/* founder */
.fnd{display:grid;grid-template-columns:1fr 1fr;background:#fff}
.fndp{position:relative;overflow:hidden;min-height:clamp(560px,78vh,860px)}
.fnd img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 14%}
.fnd .tx{padding:var(--sec) var(--gut) var(--sec) 5%;text-align:left}
.fnd .tx{display:flex;flex-direction:column;justify-content:center}.fnd .tx p+p{margin-top:22px}.fnd .tx p.cl{color:var(--taupe);font-weight:500;font-size:var(--fs-h3);line-height:1.55;margin-top:34px;padding-left:20px;border-left:3px solid var(--taupe)}
.fnd .fm{margin-top:28px;display:flex;align-items:center;gap:12px;font-weight:400}.fnd .fm .ic.sm{background:var(--navy)}.fnd .fm .ic.sm:hover{background:var(--taupe)}
.li{width:30px;height:30px;background:#4d79b5;border-radius:4px;color:#fff;font-weight:700;display:grid;place-items:center;font-size:17px}
.closing{text-align:center;color:var(--taupe);font-weight:500;font-size:var(--fs-sub);line-height:1.55;max-width:900px;margin:0 auto;padding:var(--sec) var(--gut)}
/* connect */
.form{max-width:860px;margin:0 auto}
.form .i{text-align:center;margin-bottom:32px}
.row{display:grid;grid-template-columns:200px 1fr 20px;align-items:center;gap:16px;margin-bottom:22px}
.row.top{align-items:start}
.row label{font-size:var(--fs-body)}
.row input,.row textarea{width:100%;font-size:var(--fs-body);padding:12px 14px;border:1.5px solid var(--taupe);background:#fff;border-radius:0;outline:0;transition:border-color .3s,box-shadow .3s}
.row input:focus,.row textarea:focus{border-color:var(--navy);box-shadow:0 0 0 4px rgba(0,72,128,.1)}
.row textarea{height:150px;resize:vertical}
.terms a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:3px}.terms{margin-left:216px;font-size:var(--fs-sm);line-height:1.5;max-width:520px}
.row .st{color:var(--navy);font-weight:700;font-size:30px;line-height:1;text-align:center}
.sub-btn{display:block;margin:18px 0 0 216px;width:calc(100% - 252px);cursor:pointer;background:#887456;color:#fff;font-size:var(--fs-body);letter-spacing:.06em;padding:16px;transition:.3s}
.sub-btn:hover{background:var(--navy)}
.follow{text-align:center;padding:44px 20px;background:var(--cream);border-bottom:2px solid rgba(136,116,86,.35)}
.follow span{letter-spacing:.2em;font-weight:500;font-size:var(--fs-body);margin-right:16px;vertical-align:middle}
.ic svg{width:46%;height:46%}.ic.sm{width:36px;height:36px;margin:0}.ic{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;margin:0 4px;vertical-align:middle;transition:transform .3s}
.ic:hover{transform:translateY(-3px);background:var(--taupe)}
.thanks{display:none;text-align:center;color:var(--navy);font-size:var(--fs-h3);padding:36px 0}
/* insights */
.ban{height:clamp(180px,20vw,300px);overflow:hidden;position:relative}
.ban div{position:absolute;inset:0;background:url(../img/banner.jpg) center/cover;}
.post{max-width:1180px;margin:0 auto;padding:var(--sec) var(--gut);border-bottom:2px solid #887456}
.post h2{color:var(--navy);font-weight:600;font-size:var(--fs-h2)}
.post .m{color:var(--taupe);font-weight:500;font-size:var(--fs-body);margin-top:4px}
.post p.e{font-size:var(--fs-body);line-height:1.7;margin-top:24px}
.post .by{color:var(--taupe);font-weight:500;margin-top:14px}
.post .lk{font-size:var(--fs-body);color:var(--navy);margin-top:8px;font-weight:500}
.post .lk a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.post .lk a:hover{color:var(--taupe)}.post .lk .bar{font-style:normal;color:var(--taupe);margin:0 12px}
.gap{height:clamp(60px,10vw,140px)}
/* reveal */
.rv{opacity:1}
/* home */
.home{height:100vh;height:100dvh;background-color:var(--sage);display:flex;flex-direction:column;position:relative;overflow:hidden}
.home .hdr{position:relative;z-index:30;background:none}
.home .burger{display:block}
.home .nav{display:none;position:absolute;top:calc(100% - 6px);right:var(--gut);flex-direction:column;gap:0;min-width:250px;background:#fff;padding:8px 24px;box-shadow:0 18px 40px rgba(0,72,128,.16);z-index:40}
.home .nav.open{display:flex}
.home .nav a{text-align:left;font-size:var(--fs-nav);padding:14px 0;border-bottom:1px solid rgba(136,116,86,.25);color:var(--navy)}
.home .nav a:last-child{border-bottom:0}.home .nav a:after{display:none}
.home .nav a:hover{color:var(--taupe)}
.ring{position:absolute;left:50%;top:50%;width:min(86vh,86vw);aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid rgba(218,162,30,.45);border-radius:50%;}
.ring:after{content:"";position:absolute;inset:7%;border:1px solid rgba(0,72,128,.1);border-radius:50%}
@keyframes ringin{from{opacity:0;transform:translate(-50%,-50%) scale(.85)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.hero{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;position:relative;z-index:2;padding:clamp(20px,5vh,64px) var(--gut) 0 clamp(var(--gut),22.5vw,520px);min-height:0}
.hero h2{font-weight:500;color:var(--navy);font-size:clamp(54px,min(9vw,15vh),150px);line-height:.94;letter-spacing:-.01em}
.hero h2 span{display:block;overflow:hidden;padding:.08em 0;margin:-.08em 0}
.hero h2 span i{display:block;font-style:normal}
.hero h2 span:nth-child(2) i{color:var(--taupe)}
@keyframes rise{from{transform:translateY(105%)}to{transform:none}}
.enter{text-decoration:none;margin-top:clamp(28px,5vh,52px);font-size:clamp(17px,1.5vw,22px);color:var(--navy);font-weight:500;display:block;width:auto;align-self:flex-start;text-align:left;line-height:1.5;border-bottom:1px solid transparent;padding-bottom:3px;transition:border-color .4s,color .3s}
.enter b{display:inline-block;margin-left:.4em;font-weight:500;transition:transform .35s var(--ease)}
.enter:hover{border-color:var(--navy)}.enter:hover b{transform:translateX(6px)}
.home .cp{position:relative;z-index:3;text-align:center;color:var(--taupe);font-size:var(--fs-sm);padding:0 0 18px}
body:not(.is-home) .hdr{position:sticky;top:0;z-index:50;background:rgba(241,241,230,.98);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:padding .35s var(--ease),box-shadow .35s}
body:not(.is-home) .hdr .logo{height:42px}
body:not(.is-home) .hdr.sc{padding-top:12px;padding-bottom:12px;box-shadow:0 6px 24px rgba(0,72,128,.12)}

@media(min-width:901px){.split:not(.alt) .tx{padding-left:max(var(--gut),calc((100vw - 1100px)/2))}}
.sep{font-style:normal;color:var(--taupe);font-weight:700;font-size:1.6em;line-height:0;margin:0 .3em;vertical-align:-.12em}
/* responsive */
@media(max-width:1100px){.nav{gap:18px}.nav a{font-size:15.5px}}
@media(max-width:900px){
 .hero{padding:7vh var(--gut) 0}.hero h2{font-size:clamp(56px,19vw,96px)}
 .hdr{padding:14px 20px}body:not(.is-home) .hdr.sc{padding-top:8px;padding-bottom:8px}body:not(.is-home) .hdr .logo{height:34px}.hdr .logo{height:40px}
 .burger{display:block}
 .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--cream);z-index:20;box-shadow:0 14px 24px rgba(0,72,128,.18);padding:6px 20px 14px}
 .nav.open{display:flex}
 .nav a{text-align:left;font-size:17px;padding:14px 0;border-bottom:1px solid rgba(136,116,86,.25)}.nav a:after{display:none}
 .home .nav{left:20px;right:20px;min-width:0}
 .tiles{grid-template-columns:1fr;margin-top:30px}.tile{min-height:380px}
 .tile .tx{padding:26px 24px}
 .hww{grid-template-columns:1fr;gap:24px}
 .hww .r{border-left:0;border-top:2px solid var(--taupe);padding:22px 0 0}
 .split,.alt,.fnd{grid-template-columns:1fr}.alt .pic{order:0}
.split .tx{padding:var(--sec) var(--gut)}
 .fndp{min-height:0;height:min(120vw,560px)}.fnd img{object-position:50% 12%}.fnd .tx{padding:var(--sec) var(--gut)}
 .row{grid-template-columns:1fr 14px;gap:6px 8px;margin-bottom:18px}
 .row label{grid-column:1/-1}
 .terms,.sub-btn{margin-left:0}.sub-btn{width:100%}.row .st{text-align:left}
 .follow span{display:block;margin:0 0 14px}

}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.split .pic div,.fnd img,.ban div{transform:none}}

.fndp.v2 img{object-position:50% 45%}

/* ---- PHP version additions ---- */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.row input.err,.row textarea.err{border-color:var(--gold);box-shadow:0 0 0 3px rgba(218,162,30,.25)}
.row .fe{grid-column:2;color:var(--navy);font-weight:600;font-size:var(--fs-sm);margin-top:-4px}
.form-msg{background:#ffedcb;border-left:4px solid var(--gold);color:var(--navy);padding:14px 18px;margin:0 0 26px;font-weight:500}
.thanks{display:block}
.hdr .brand{text-decoration:none}
@media(max-width:900px){.row .fe{grid-column:1/-1}}

.band.tight{padding-bottom:clamp(22px,2.4vw,32px)}
.practices{margin-top:clamp(28px,3vw,40px);color:var(--taupe);font-weight:700;font-size:var(--fs-body)}

/* legal pages */
.legal{max-width:820px;margin:0 auto;padding:var(--sec) var(--gut)}
.legal h2{color:var(--navy);font-size:var(--fs-h3);font-weight:600;line-height:1.3;margin:44px 0 12px}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{line-height:1.8}
.legal p+p{margin-top:14px}
.legal ul{margin:12px 0 0;padding-left:1.3em}
.legal li+li{margin-top:8px}
.legal a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.legal a:hover{color:var(--taupe)}