:root{--navy:#15376a;--red:#b91d4f;--ink:#313131;--muted:#676767;--soft:#f4f4f4;--bg:#fff;--line:#ddd}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--muted);font:300 16px/1.75 "Open Sans",Arial,sans-serif}
h1,h2,h3,h4,h5,h6{color:var(--ink);font-weight:400;margin:0 0 .5em;line-height:1.25}
h1{font-size:clamp(28px,4vw,44px)}h2{font-size:clamp(28px,4vw,46px)}h3{font-size:24px}h4{font-size:19px;font-weight:600}
h5{font-size:15px;color:#999;font-weight:400}h6{font-size:14px;font-weight:600;margin:0 0 .3em}
a{color:var(--navy)}img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}.narrow{max-width:780px}.center{text-align:center}
.btn{display:inline-block;padding:8px 22px;border-radius:4px;text-decoration:none;font-weight:400;border:0;cursor:pointer;font:inherit}
.btn-red{background:var(--red);color:#fff}.btn-navy{background:var(--navy);color:#fff;padding:10px 30px}
.top{position:sticky;top:0;z-index:5;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06)}
.bar{display:flex;justify-content:space-between;align-items:center;height:72px}
.bar nav{display:flex;gap:28px;align-items:center}
.bar nav a.current{color:var(--muted);text-decoration:none;border-bottom:2px solid var(--navy);font-size:14px}
.bar .btn{font-size:14px}
.squiggle{white-space:nowrap;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M2 8 C 30 2, 50 12, 80 6 S 140 2, 198 7' fill='none' stroke='%23b91d4f' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") bottom/100% .35em no-repeat;padding-bottom:.15em}
.hero{padding:120px 24px 110px}.hero h1{margin-bottom:1em}.hero p{font-size:14px;max-width:440px}
.about{display:grid;grid-template-columns:1fr 1fr;background:var(--soft)}
.about-text{padding:80px 8vw;max-width:640px;justify-self:end}.about-text h2{font-size:clamp(32px,4vw,52px)}.about-text p{font-size:14px}
.about-img{background:url("img/minimalist-cabin-edited.jpg") center/cover;min-height:420px}
.values{padding:60px 24px 70px}.values .sub{font-size:20px;margin-bottom:3em}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 60px}.grid3 p{font-size:14px;margin:0}
.spark{color:#c8c8c8;font-size:22px;display:block;margin-bottom:1em}
.team{background:var(--soft);padding:60px 0}
.team-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px;align-items:start}.team-intro p{font-size:13px}
.member{all:unset;cursor:pointer;display:block}.member img{filter:grayscale(1);opacity:.7;transition:.3s;aspect-ratio:1;object-fit:cover;margin-bottom:22px}
.member:hover img,.member:focus-visible img{filter:none;opacity:1}.member h5{color:var(--ink);margin:0}.member h3{margin:0}
.member .more{font-size:13px;color:var(--navy)}.member:focus-visible{outline:2px solid var(--navy);outline-offset:4px}
.bio{padding:0;border:0;max-width:980px;width:calc(100% - 32px);max-height:90vh}
.bio[open]{display:grid;grid-template-columns:1fr 1.4fr}.bio::backdrop{background:rgba(0,0,0,.6)}
.bio-img{background-size:cover;background-position:center;min-height:300px}.bio-body{padding:40px;overflow:auto;position:relative;font-size:14px}
.close{position:absolute;top:10px;right:16px;border:0;background:none;font-size:30px;cursor:pointer;color:var(--ink)}
.contact{padding:100px 24px}.contact h2{margin-bottom:1.5em}
.contact-grid{display:grid;grid-template-columns:2fr 1fr;gap:60px;max-width:900px;margin:0 auto}
form label{display:block;font-size:13px;color:var(--ink);font-weight:400;margin-bottom:16px}
form input,form textarea{display:block;width:100%;margin-top:4px;padding:10px;border:1px solid var(--line);border-radius:3px;font:inherit;font-weight:400;color:var(--ink)}
form textarea{min-height:140px;resize:vertical}.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hint{color:#999}.hp{position:absolute;left:-9999px}.cf-turnstile{margin:6px 0 14px}
.status{font-size:14px;color:var(--navy)}.status.bad{color:var(--red)}
.contact-text{font-size:14px}.contact-text h5{color:var(--red);font-weight:600}
footer{background:#2b2b2b;color:#aaa;font-size:13px;padding:60px 0 30px}
footer h6,footer h6 a{color:#fff;text-decoration:none}footer a{color:#aaa;text-decoration:none}
.foot{display:grid;grid-template-columns:1fr 1fr;gap:30px}.copy{margin-top:50px;color:#777}
@media (max-width:820px){
  .about,.grid3,.team-grid,.contact-grid,.bio[open]{grid-template-columns:1fr}
  .about-text{padding:56px 24px;justify-self:stretch}.hero{padding:70px 16px}.wrap{padding:0 16px}
  .grid3{gap:36px}.bio-img{min-height:180px}.bio-body{padding:28px 20px}.bar .brand img{width:130px;height:auto}
}
@media (max-width:480px){.row2,.foot{grid-template-columns:1fr}.bar nav{gap:12px}.bar nav a.current{display:none}}
