:root{
  --ink:#1A1718;
  --ink-soft:#241F20;
  --bone:#F2EDE8;
  --bone-dim:#A89F99;
  --oxblood:#9E342B;
  --oxblood-bright:#C46A5E;
  --line:rgba(242,237,232,0.14);
  --line-dark:rgba(26,23,24,0.12);
  --paper:#FBFAF8;
  --paper-alt:#F4EFEA;
  --text-body:#4a4344;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;line-height:1.6;}
.sans{font-family:'Helvetica Neue',Arial,sans-serif;}
img{display:block;max-width:100%;}
a{color:var(--oxblood);}
.wrap{max-width:1080px;margin:0 auto;padding:0 32px;}
.eyebrow{font-family:'Helvetica Neue',Arial,sans-serif;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;}

/* preview bar */
.preview-bar{background:var(--oxblood);color:#fff;text-align:center;font-family:'Helvetica Neue',Arial,sans-serif;font-size:12px;letter-spacing:0.5px;padding:8px 16px;}

/* nav */
nav{background:var(--ink);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;max-width:1180px;margin:0 auto;}
.logo{display:flex;align-items:center;gap:10px;color:var(--bone);font-size:18px;letter-spacing:0.3px;text-decoration:none;}
.logo .mark{width:30px;height:30px;border-radius:7px;background:var(--oxblood);display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-family:'Helvetica Neue',Arial,sans-serif;font-weight:700;}
.logo b{font-weight:600;}
.logo .sub{color:var(--bone-dim);font-size:11px;font-family:'Helvetica Neue',Arial,sans-serif;letter-spacing:1px;display:block;margin-top:1px;}
.nav-links{display:flex;align-items:center;gap:24px;font-family:'Helvetica Neue',Arial,sans-serif;font-size:13.5px;}
.nav-links a{color:var(--bone-dim);text-decoration:none;transition:color .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--bone);}
.nav-cta{background:var(--oxblood);color:#fff !important;padding:9px 18px;border-radius:7px;font-weight:600;}
.nav-cta:hover{background:#b03d33;}

/* hero (interior pages) */
.page-hero{position:relative;background:var(--ink);min-height:340px;display:flex;align-items:flex-end;overflow:hidden;}
.page-hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.42;}
.page-hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,23,24,0.35),rgba(26,23,24,0.82));}
.page-hero .inner{position:relative;padding:54px 0;width:100%;}
.page-hero .eyebrow{color:var(--oxblood-bright);margin-bottom:14px;}
.page-hero h1{color:var(--bone);font-size:clamp(32px,4.4vw,48px);line-height:1.1;font-weight:400;letter-spacing:-0.5px;}

/* sections */
section.block{padding:78px 0;}
section.block.alt{background:var(--paper-alt);}
.section-eyebrow{color:var(--oxblood);margin-bottom:14px;}
h2.title{font-size:clamp(25px,3vw,34px);font-weight:400;letter-spacing:-0.5px;line-height:1.15;margin-bottom:22px;}
h3.sub{font-size:21px;font-weight:400;margin:0 0 10px;color:var(--ink);}
.lead-body{font-size:17px;line-height:1.8;color:var(--text-body);max-width:680px;}
.lead-body p{margin-bottom:18px;}
.lead-body p:last-child{margin-bottom:0;}

/* protect trio */
.protect{display:grid;grid-template-columns:1fr;gap:34px;margin-top:8px;}
.protect .item{display:grid;grid-template-columns:170px 1fr;gap:26px;align-items:start;}
.protect .item .label{border-top:2px solid var(--oxblood);padding-top:14px;}
.protect .item .label h3{font-size:20px;font-weight:400;line-height:1.2;}
.protect .item .body{font-family:'Helvetica Neue',Arial,sans-serif;font-size:14.5px;line-height:1.75;color:#5a5354;}

/* stat band */
.statband{background:var(--ink-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.statband .grid{display:grid;grid-template-columns:repeat(3,1fr);}
.statband .stat{padding:40px 28px;text-align:center;border-right:1px solid var(--line);}
.statband .stat:last-child{border-right:none;}
.statband .num{color:var(--oxblood-bright);font-size:38px;line-height:1.05;letter-spacing:-1px;margin-bottom:12px;}
.statband .lbl{font-family:'Helvetica Neue',Arial,sans-serif;color:var(--bone-dim);font-size:13.5px;line-height:1.55;}

/* cta band */
.cta-band{background:var(--oxblood);text-align:center;padding:64px 32px;}
.cta-band h2{color:#fff;font-size:clamp(26px,3vw,34px);font-weight:400;margin-bottom:26px;letter-spacing:-0.5px;}
.btn{display:inline-block;font-family:'Helvetica Neue',Arial,sans-serif;padding:14px 28px;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;letter-spacing:0.3px;transition:.2s;}
.btn-primary{background:var(--oxblood);color:#fff;}
.btn-primary:hover{background:#b03d33;transform:translateY(-1px);}
.btn-ghost{border:1px solid rgba(242,237,232,0.45);color:var(--bone);}
.btn-ghost:hover{border-color:var(--bone);background:rgba(242,237,232,0.07);}
.cta-band .btn-light{background:#fff;color:var(--oxblood);}
.cta-band .btn-light:hover{background:var(--bone);}
.cta-band .btn-outline{border:1px solid rgba(255,255,255,0.6);color:#fff;margin-left:10px;}
.cta-band .btn-outline:hover{background:rgba(255,255,255,0.1);}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;}

/* team grid */
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:48px 40px;margin-top:44px;}
.member{}
.member .pic{width:130px;height:130px;border-radius:50%;object-fit:cover;margin-bottom:18px;border:1px solid var(--line-dark);}
.member .name{font-size:23px;font-weight:400;margin-bottom:2px;}
.member .role{font-family:'Helvetica Neue',Arial,sans-serif;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--oxblood);margin-bottom:14px;}
.member .bio{font-family:'Helvetica Neue',Arial,sans-serif;font-size:14px;line-height:1.7;color:#5a5354;}
.member .bio p{margin-bottom:12px;}
.member .disc{font-family:'Helvetica Neue',Arial,sans-serif;font-size:11px;color:#8a8280;margin-top:12px;line-height:1.5;}

/* occupations index grid */
.occ-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px;}
.occ-card{position:relative;border-radius:12px;overflow:hidden;text-decoration:none;color:#fff;aspect-ratio:4/3;display:block;}
.occ-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.occ-card .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,23,24,0.1),rgba(26,23,24,0.78));}
.occ-card .cap{position:absolute;left:0;right:0;bottom:0;padding:20px;}
.occ-card .cap span{font-family:'Helvetica Neue',Arial,sans-serif;font-size:18px;font-weight:600;}
.occ-card:hover img{transform:scale(1.05);}

/* contact card */
.contact-card{background:var(--ink);color:var(--bone);border-radius:16px;margin-top:36px;display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center;padding:32px 38px;}
.contact-card .avatar{width:62px;height:62px;border-radius:50%;object-fit:cover;}
.contact-card .who{font-size:21px;margin-bottom:4px;}
.contact-card .addr{font-family:'Helvetica Neue',Arial,sans-serif;font-size:13px;color:var(--bone-dim);line-height:1.5;}
.contact-card .meta{font-family:'Helvetica Neue',Arial,sans-serif;font-size:13.5px;text-align:right;line-height:2;}
.contact-card .meta a{color:var(--bone);text-decoration:none;}
.contact-card .meta .k{color:var(--bone-dim);margin-right:8px;}
.hours{font-family:'Helvetica Neue',Arial,sans-serif;font-size:13.5px;color:#5a5354;margin-top:24px;line-height:1.8;}

/* form */
.form{max-width:620px;margin-top:36px;}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form label{display:block;font-family:'Helvetica Neue',Arial,sans-serif;font-size:13px;font-weight:600;letter-spacing:0.3px;margin:16px 0 6px;}
.form input,.form select,.form textarea{width:100%;font-family:'Helvetica Neue',Arial,sans-serif;font-size:15px;padding:12px 14px;border:1px solid var(--line-dark);border-radius:8px;background:#fff;color:var(--ink);}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--oxblood);box-shadow:0 0 0 3px rgba(158,52,43,0.1);}
.form textarea{min-height:120px;resize:vertical;}

/* video */
.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;}
.video-grid video{width:100%;border-radius:12px;border:1px solid var(--line-dark);background:#000;}
.video-cap{font-family:'Helvetica Neue',Arial,sans-serif;font-size:13px;color:#5a5354;margin-top:10px;}

/* footer */
footer{background:var(--ink);color:var(--bone-dim);padding:54px 0 40px;border-top:1px solid var(--line);}
footer .net{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:34px;}
footer .net .tag{font-family:'Helvetica Neue',Arial,sans-serif;font-size:13px;border:1px solid var(--line);border-radius:8px;padding:9px 18px;color:var(--bone);}
footer .disc{font-family:'Helvetica Neue',Arial,sans-serif;font-size:11.5px;line-height:1.8;color:#7d7470;max-width:900px;margin-bottom:16px;}
footer .disc a{color:#9a918c;}
footer .links{font-family:'Helvetica Neue',Arial,sans-serif;font-size:12px;margin:22px 0;}
footer .links a{color:var(--bone-dim);text-decoration:none;margin-right:18px;}
footer .meta-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;border-top:1px solid var(--line);padding-top:22px;font-family:'Helvetica Neue',Arial,sans-serif;font-size:11.5px;color:#7d7470;}

@media(max-width:860px){
  .nav-links a:not(.nav-cta){display:none;}
  .protect .item{grid-template-columns:1fr;gap:10px;}
  .protect .item .label{border-top:none;border-left:2px solid var(--oxblood);padding:2px 0 2px 16px;}
  .statband .grid{grid-template-columns:1fr;}
  .statband .stat{border-right:none;border-bottom:1px solid var(--line);}
  .team-grid{grid-template-columns:1fr;}
  .occ-grid{grid-template-columns:1fr;}
  .contact-card{grid-template-columns:1fr;text-align:center;}
  .contact-card .meta{text-align:center;}
  .contact-card .avatar{margin:0 auto;}
  .form .row{grid-template-columns:1fr;}
  .video-grid{grid-template-columns:1fr;}
}
