*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#FCFCFA;color:#0E100E;font-family:'Source Serif 4',Georgia,serif;font-optical-sizing:none;font-variation-settings:'opsz' 30;-webkit-font-smoothing:antialiased}
a{color:#2E5F73;text-decoration:none}
a:hover{color:#5E7A43}

.sans{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif}
.gradient{background:linear-gradient(90deg,#ACD08B 0%,#7DB8B8 55%,#65AFD2 100%)}
.wrap{max-width:1000px;margin:0 auto;width:100%;padding-left:40px;padding-right:40px}

.page{min-height:100vh;display:flex;flex-direction:column}
main{flex:1;display:flex;flex-direction:column}

/* Header */
.header{position:sticky;top:0;z-index:20;background:#FCFCFA;border-bottom:1px solid #DBDFD7}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;height:68px}
.header-rule{height:2px}
.brand{display:flex;align-items:center;gap:7.4px;color:#0E100E}
.brand:hover{color:#0E100E}
.mark{position:relative;width:34px;aspect-ratio:915/935;flex:none;transform:translateY(13.1%)}
.mark img,.hero-logo img,.hero-seal img{position:absolute;inset:0;width:100%;height:100%}
.brand-name{font-size:16px;letter-spacing:0.005em}
.nav{display:flex;align-items:flex-start;gap:26px;font-size:11.5px;letter-spacing:0.11em;text-transform:uppercase}
.nav-item{display:flex;flex-direction:column;gap:6px}
.nav-item a{color:#262A26}
.nav-item .active-bar{height:2px;background:#0E100E}

/* Home hero */
.hero{flex:1;display:flex;flex-direction:column;justify-content:center;padding:88px 40px 76px}
.hero-inner{max-width:1000px;margin:0 auto;width:100%;display:flex;flex-direction:column;align-items:center;gap:44px;text-align:center}
.hero-logo{position:relative;width:210px;aspect-ratio:915/935;transform:translate(-12.46%,13.16%)}
.hero-text{display:flex;flex-direction:column;align-items:center;gap:26px}
.eyebrow{font-size:11.5px;letter-spacing:0.2em;text-transform:uppercase;color:#6E756D}
.hero h1{margin:0;font-size:64px;line-height:1.1;font-weight:400;letter-spacing:0.005em;max-width:18ch;text-wrap:pretty}
.hero-rule{width:120px;height:2px}
.kicker{font-size:12px;letter-spacing:0.09em;text-transform:uppercase;color:#6E756D}

/* Areas */
.areas{padding-bottom:96px}
.areas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#DBDFD7;border-top:1px solid #DBDFD7;border-bottom:1px solid #DBDFD7}
.area{background:#FCFCFA;padding:28px 26px 30px;display:flex;flex-direction:column;gap:14px}
.area-bar{height:3px;width:38px}
.area h2{margin:0;font-size:25px;font-weight:400;letter-spacing:0.005em}
.area p{margin:0;font-size:16px;line-height:1.65;color:#262A26;text-wrap:pretty}

/* Inner pages */
.inner{padding-top:96px}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:56px 80px;align-items:start}
.inner h1{margin:0;font-size:64px;line-height:1.05;font-weight:400;letter-spacing:0.005em}
.stack{display:flex;flex-direction:column;padding-top:10px}
.block{display:flex;flex-direction:column;gap:14px}
.contact .stack{gap:48px}
.contact h2{margin:0;font-size:32px;line-height:1.1;font-weight:400;letter-spacing:0.005em}
.contact .value{font-size:19px;line-height:1.6}
.contact .address{font-size:19px;line-height:1.75}
.asof{font-size:11px;letter-spacing:0.13em;text-transform:uppercase;color:#6E756D}
.privacy .stack{gap:36px;max-width:62ch}
.privacy .block{gap:10px}
.privacy h2{margin:0;font-size:24px;line-height:1.2;font-weight:400;letter-spacing:0.005em}
.privacy p{margin:0;font-size:17px;line-height:1.7;color:#262A26;text-wrap:pretty}

/* Footer */
.footer{padding-top:72px;padding-bottom:56px}
.footer-row{display:flex;flex-wrap:wrap;gap:36px;justify-content:space-between;align-items:flex-end;border-top:1px solid #EAEDE7;padding-top:22px}
.footer-brand{display:flex;align-items:center;gap:7.4px}
.footer-brand span{font-size:15px;letter-spacing:0.005em}
.footer-links{display:flex;flex-wrap:wrap;gap:40px;font-size:12.5px;line-height:1.75;color:#6E756D}
.footer-links a{color:#262A26}
.footer-links a:hover{color:#5E7A43}
.disclaimer{margin:20px 0 0;max-width:96ch;font-size:11px;line-height:1.8;color:#6E756D}

/* Small screens */
@media (max-width:700px){
  .wrap{padding-left:20px;padding-right:20px}
  .hero{padding:56px 20px 56px}
  .hero-inner{gap:32px}
  .hero-logo{width:150px}
  .hero h1,.inner h1{font-size:42px}
  .areas-grid{grid-template-columns:1fr}
  .areas{padding-bottom:64px}
  .inner{padding-top:56px}
  .split{gap:32px}
  .footer{padding-top:56px;padding-bottom:40px}
  .footer-links{gap:20px 28px}
}
