/* Self-hosted fonts (SIL OFL 1.1) — no third-party requests */
@font-face{font-family:'Newsreader';font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/fonts/newsreader-latin-opsz-normal.woff2) format('woff2')}
@font-face{font-family:'Newsreader';font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/fonts/newsreader-latin-opsz-italic.woff2) format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/fonts/instrument-sans-latin-wght-normal.woff2) format('woff2')}

body{margin:0;background:#FCFBF7;font-family:"Instrument Sans",system-ui,sans-serif;color:#12211F;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{color:#1C5C54;text-decoration:none}a:hover{color:#C2593B}
::placeholder{color:#8B9A96}
input:focus,textarea:focus{border-color:#2F7A6E;outline:none}
.sv-hero,.sv-model-head,.sv-behav,.sv-contact,.sv-g4,.sv-form,.sv-g2c{display:grid}
.sv-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.sv-model-head{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.sv-behav{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.sv-contact{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}
.sv-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sv-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.sv-g2c{grid-template-columns:repeat(2,minmax(0,1fr))}
.sv-path-line{position:absolute;top:23px;left:23px;right:calc(-1 * clamp(20px,2.4vw,40px) - 23px);height:1px;background:rgba(18,33,31,.16)}
.sv-phone{position:absolute;right:clamp(20px,3vw,48px);bottom:-56px;width:clamp(170px,16vw,230px)}
@media (max-width:1040px){
  .sv-g4{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:44px}
  .sv-path-line{display:none}
}
@media (max-width:860px){
  .sv-hero,.sv-model-head,.sv-behav,.sv-contact,.sv-g2c{grid-template-columns:minmax(0,1fr)}
  .sv-hero-card{position:static !important;width:auto !important;margin-top:16px;box-shadow:none !important}
  .sv-hero-photo{aspect-ratio:4/3 !important}
  .sv-phone{display:none}
  .sv-portal{margin-bottom:0 !important}
}
@media (max-width:620px){
  .sv-g4,.sv-form{grid-template-columns:minmax(0,1fr)}
  .sv-nowrap{white-space:normal !important}
  .sv-logos{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .sv-more{grid-column:auto !important}
}

/* ---- Production additions (not in design canvas) ---- */
.role-btn{font-family:inherit;font-weight:500;font-size:14px;line-height:1;padding:14px 20px;border-radius:999px;cursor:pointer;background:#E9F2EE;color:#12211F;border:1px solid rgba(18,33,31,.12);min-height:44px}
.role-btn[aria-pressed="true"]{background:#0E3B36;color:#FCFBF7;border-color:#0E3B36}
.role-group{display:flex;flex-wrap:wrap;gap:9px}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-status{margin:18px 0 0;padding:14px 16px;border-radius:13px;font-size:14px;line-height:1.5}
.form-status[data-state="success"]{background:#E9F2EE;color:#0E3B36;border:1px solid #2F7A6E}
.form-status[data-state="error"]{background:#FBEDE8;color:#8A2E17;border:1px solid #C2593B}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#C2593B !important}
button[disabled]{opacity:.6;cursor:progress !important}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #C2593B;outline-offset:3px}
.skip-link{position:absolute;left:16px;top:-60px;z-index:100;background:#0E3B36;color:#FCFBF7;padding:10px 16px;border-radius:999px;font-size:14px}
.skip-link:focus{top:12px;color:#FCFBF7}
html{scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
