/* Page heroes sit in normal flow under the fixed nav. */
header.ph{position:relative;display:flow-root;margin:0;min-height:0;overflow:visible;background:var(--ink);padding-top:calc(70px + clamp(28px,4vw,56px));padding-bottom:clamp(24px,3.2vw,44px)}
header.ph>.wrap{position:relative;z-index:1}
header.ph h1,header.ph .lede,header.ph .eyebrow{position:static}
header.ph+section,header.ph+.sec{margin-top:0}
.sec{padding-block:clamp(36px,5vw,80px)}
.hx-why h3,.hx-why p,.hx-sc h3,.hx-sc p,.svc-card h2,.pcard h3{min-height:0}

/* Production fills for photos that were <image-slot> placeholders in the design reference. */
.iblk-img,.feat-img,.detail-img,.pcard-img{position:relative;aspect-ratio:3/2;background:var(--bone-2);overflow:hidden}
.pcard-img{aspect-ratio:4/3}
.iblk-img img,.pcard-img img,.detail-img img,.feat-img img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block}
.pgrid{align-items:stretch}
.pcard{height:100%}
.pcard h3{min-height:2.3em}
:focus-visible{outline:2px solid #C69A4E;outline-offset:3px}
.pe-mark{width:40px;height:40px;border-radius:50%;background:var(--bone);display:flex;align-items:center;justify-content:center;flex:none}
.pe-mark img{width:26px;height:26px;object-fit:contain}
.foot .pe-mark{width:46px;height:46px}.foot .pe-mark img{width:30px;height:30px}
.nav .logo-tx,.foot .logo-tx{font-family:var(--sans);font-weight:600;font-size:16px;letter-spacing:.02em;text-transform:uppercase;line-height:1}
.nav .logo-sub,.foot .logo-sub{color:var(--brass);letter-spacing:.16em;margin-top:4px}
.nav-links a,.has-mega>button{font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:0;text-transform:none}
.nav-cta .btn{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:none}
.hx-mbar{display:none}
@media(max-width:900px){
  .hx-mbar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:950;background:rgba(17,18,20,.96);backdrop-filter:blur(14px);border-top:1px solid var(--line)}
  .hx-mbar a{display:flex;align-items:center;justify-content:center;min-height:56px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--white);border-left:1px solid var(--line-2)}
  .hx-mbar a.q{background:var(--brass);color:#161104;font-weight:600}
  body{padding-bottom:56px}
}

.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,3vw,36px)}
.svc-card{display:flex;flex-direction:column;gap:10px;min-width:0;color:inherit}
.svc-card .ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bone-2)}
.svc-card .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.svc-card h2{font-size:clamp(22px,2vw,28px);min-height:2.3em}
.svc-card p{color:#575E62;font-size:15px;line-height:1.55}
.svc-card span{margin-top:auto;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.spec-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line-ink);border:1px solid var(--line-ink);margin-bottom:clamp(22px,3vw,36px)}
.spec-strip div{background:var(--bone);padding:16px 18px;display:flex;flex-direction:column;gap:8px;min-width:0}
.spec-strip dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#5A6167}
.spec-strip dd{margin:0;font-size:15px;line-height:1.45;color:var(--ink)}
.brass-rule{height:2px;background:rgba(17,18,20,.12);position:relative;margin:0 0 clamp(22px,3vw,36px);overflow:hidden}
.brass-rule::after{content:"";position:absolute;inset:0 auto 0 0;width:0;background:#C69A4E;animation:brassDraw 1.1s cubic-bezier(.22,.61,.36,1) both;animation-timeline:view();animation-range:entry 0% cover 35%}
@keyframes brassDraw{to{width:100%}}
.job-steps{list-style:none;margin:clamp(28px,4vw,40px) 0 0;padding:0;display:flex;flex-direction:column}
.job-steps li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:16px 0;border-top:1px solid var(--line-ink)}
.job-steps .num{color:#7A5D22;padding-top:3px}
.job-steps b{display:block;font-size:17px;letter-spacing:-.01em}
.job-steps p{margin:4px 0 0;font-size:15px;line-height:1.55;color:#3a3f42}
@media(max-width:700px){.spec-strip{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.brass-rule::after{width:100%;animation:none}}
.read-layout{max-width:820px}
.read-fig{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--bone-2);margin-bottom:clamp(28px,4vw,48px)}
.read-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.prose h2{font-size:clamp(26px,3vw,36px);margin:1.35em 0 .45em}
.prose p,.prose li{font-size:17px;line-height:1.65;color:#3a3f42}
.prose p{margin:0 0 1em}
.prose ul{margin:0 0 1.2em;padding-left:1.15em}
.prose li{margin:.35em 0}
.prose a{text-decoration:underline;text-underline-offset:3px}
.read-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.more-grid a{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:16px;min-height:100%}
.more-ph{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--bone-2);margin-bottom:6px}
.more-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.more-grid strong{font-size:20px}
.more-grid em{font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--brass)}
.post-list{display:flex;flex-direction:column}
.post-row{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:clamp(16px,3vw,32px);align-items:center;padding:22px 0;border-bottom:1px solid var(--line-ink);color:inherit}
.post-row .ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bone-2)}
.post-row .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.post-row h2{font-size:clamp(22px,2.4vw,32px);margin-top:8px}
.post-row p{color:#575E62;margin-top:8px}
.back-link{margin-top:28px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.hp{position:absolute!important;left:-9999px!important;height:1px;width:1px;opacity:0;pointer-events:none}
.foot-col a,.spec dd,h1,h2{overflow-wrap:anywhere}
@media(max-width:800px){
  .svc-grid,.more-grid{grid-template-columns:1fr}
  .post-row{grid-template-columns:1fr;gap:12px}
  .post-row .ar{display:none}
  .jump{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-inline:16px}
  [style*="grid-template-columns"]{grid-template-columns:1fr!important}
}
@media(max-width:720px){
  .row>[style*="min-width"]{min-width:0!important;flex-basis:100%!important}
  .hx-proc{height:auto!important}
  .hx-proc-pin{position:relative!important;height:auto!important;padding-block:72px 96px!important;overflow:visible!important}
  .hx-steps li{display:grid!important;color:var(--ink)!important}
  .hx-steps li p{max-height:none!important;opacity:1!important}
  .hx-bed,.hx-pbar,.hx-readout{width:100%!important}
}
@media(max-width:700px){
  .hx-svc{grid-template-columns:1fr!important}
  input,select,textarea{font-size:16px!important}
}
.nav-quote-short{display:none}
@media(max-width:520px){
  .nav-quote-long{display:none}
  .nav-quote-short{display:inline}
  .nav .logo-tx{font-size:12px;letter-spacing:0}
  .nav .logo{gap:8px}
  .nav .pe-mark{width:32px;height:32px}
  .nav .pe-mark img{width:20px;height:20px}
  .nav-cta{gap:6px}
  .nav-cta .btn-hot{padding:10px 12px}
}
@media(max-width:420px){
  .nav .logo-sub{display:none}
  .nav-in{gap:8px}
}
