:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#201f1f;background:#f8f7f4;line-height:1.55;--red:#a82825;--line:#e5ded7;--paper:#fff}
*{box-sizing:border-box}
body{margin:0}
a{color:var(--red);text-underline-offset:.19em}
a:focus-visible,summary:focus-visible{outline:3px solid #bc4e17;outline-offset:4px}
h1,h2,p{margin-top:0}
h1,h2{line-height:1.13}
h1{font-size:clamp(2.25rem,6vw,4.55rem);letter-spacing:-.045em;margin-bottom:1rem}
h2{font-size:clamp(1.5rem,3vw,2.3rem);letter-spacing:-.035em;margin-bottom:1rem}
.wrap{max-width:1160px;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}
header{background:var(--paper);border-bottom:1px solid var(--line)}
.top{min-height:84px;display:flex;align-items:center;gap:1.35rem;justify-content:space-between}
.brand{display:inline-flex;flex-shrink:0}
.brand img{max-width:165px;width:100%;height:48px;object-fit:contain;object-position:left}
nav{display:flex;flex-wrap:wrap;gap:clamp(.55rem,2vw,1.5rem)}
nav a,.top-phone{color:#201f1f;font-weight:650;text-decoration:none}
.top-phone{white-space:nowrap;color:var(--red)}
nav a:hover,.top-phone:hover{text-decoration:underline}
.skip{position:absolute;left:1rem;top:-5rem;padding:.7rem;background:#fff;z-index:10}
.skip:focus{top:.5rem}
.hero{position:relative;overflow:hidden;background:#242121;color:#fff;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#211f1f 0%,#211f1fef 45%,#211f1f50 100%);z-index:-1}
.hero::after{content:"";position:absolute;right:0;inset-block:0;width:38%;background:repeating-linear-gradient(135deg,#fff1 0,#fff1 1px,transparent 1px,transparent 14px);opacity:.34;z-index:-1}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-inner{padding-block:clamp(3rem,11vw,8rem)}
.hero h1{max-width:840px}
.hero p{max-width:600px;font-size:clamp(1.1rem,2vw,1.35rem);color:#eee6e2}
.hero .eyebrow{font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:#ffd8ce}
.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.7rem}
.button{display:inline-flex;width:fit-content;align-items:center;justify-content:center;background:var(--red);color:#fff;padding:.77rem 1.15rem;border:1px solid var(--red);border-radius:5px;text-decoration:none;font-weight:700;min-height:44px}
.button:hover{background:#85201d}
.button.outline{background:transparent;border-color:#ffffff9c}
.button.outline:hover{background:#ffffff17}
.heading{background:#eee9e1;padding-block:2.5rem 2.1rem;border-bottom:1px solid var(--line)}
.heading h1{font-size:clamp(2rem,5vw,3.45rem);margin:.45rem 0 .7rem}
.heading p{max-width:720px;margin-bottom:0}
.crumb{font-size:.92rem}
.block{padding-block:clamp(1.75rem,5vw,3.5rem)}
.block+.block{padding-top:0}
.cards,.certs,.columns{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.columns{grid-template-columns:repeat(2,minmax(0,1fr))}
.card,.cert a,.panel{border:1px solid var(--line);background:var(--paper);border-radius:6px;padding:1.2rem}
.card{display:flex;gap:.75rem;align-items:center;justify-content:space-between;min-height:81px;text-decoration:none;color:#201f1f}
.card span{color:var(--red)}
.card:hover,.cert a:hover{border-color:var(--red)}
.subheading{margin-top:2.1rem}
details{background:var(--paper);border:1px solid var(--line);border-radius:5px;margin-bottom:.55rem}
summary{padding:.85rem 1rem;cursor:pointer;font-weight:700}
summary small{font-weight:500;margin-left:.45rem;color:#615752}
.table{background:var(--paper);border:1px solid var(--line);border-radius:5px;overflow-x:auto}
details .table{border:0;border-top:1px solid var(--line);border-radius:0}
table{border-collapse:collapse;width:100%;text-align:left}
th,td{padding:.65rem .9rem;vertical-align:top}
th{background:#f0eae3}
tr+tr td{border-top:1px solid var(--line)}
td:first-child{white-space:nowrap;font-weight:600}
.callout{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.9rem;margin-top:2rem;padding:1.2rem 1.4rem;background:#efe8e2;border-left:4px solid var(--red)}
.callout h2{font-size:1.35rem;margin-bottom:.3rem}
.callout p{margin:0}
.cert a{height:100%;display:grid;align-content:start;gap:.55rem;text-decoration:none;color:#201f1f}
.cert img{max-width:100%;object-fit:contain;object-position:left;background:#f5f1ed;border-radius:3px}
.cert span{color:var(--red);font-size:.9rem}
.contact-list,.foot>div{display:grid;gap:.35rem;justify-items:start}
.contact-list a{font-weight:650}
footer{background:#242121;color:#f8f7f4;padding-block:2rem;margin-top:1rem}
footer a{color:#f8f7f4}
.foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:1.35rem}
.foot p{margin-bottom:0;color:#ded2cb}
@media(max-width:800px){.top{min-height:auto;padding-block:.85rem;flex-wrap:wrap}.top nav{order:3;width:100%;gap:.45rem 1.05rem}.cards,.certs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.brand img{max-width:135px;height:39px}.top{gap:.6rem}.top-phone{font-size:.92rem}.columns,.foot,.cards,.certs{grid-template-columns:1fr}.hero::after{width:60%}.card{min-height:62px}}
