/* Homepage-only visual refresh. */
:root{--orange:#c2411c;--orange-hover:#a23314;--navy:#0f2a3a;--deep:#0a1e2a;--accent:#ffb08a;--cream:#f7f3ea;--line:#e3ddd0;--radius:20px;--shadow:0 18px 50px rgba(15,42,58,.12)}
body{font-family:"Avenir Next","Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,sans-serif;background:#fffdf9}
h1,h2,h3{font-family:"Avenir Next","Segoe UI Variable Display","Trebuchet MS",system-ui,sans-serif;font-weight:800;letter-spacing:-.035em}
h1 em{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;color:var(--accent)}
.site-header{position:sticky;top:0;min-height:92px;padding-top:8px;padding-bottom:8px;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.brand-logo{height:78px;width:auto;display:block;mix-blend-mode:multiply}
.footer .brand{background:#fff;border-radius:14px;padding:6px 12px}
.footer .brand-logo{height:72px}
.site-header nav>a:not(.nav-cta){position:relative;font-weight:600}
.site-header nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--orange);transform:scaleX(0);transition:transform .25s}
.site-header nav>a:not(.nav-cta):hover:after{transform:scaleX(1)}
.nav-cta,.button{background:linear-gradient(135deg,#d8501f,#b3361a);color:#fff;border:0;border-radius:999px;font-weight:700;box-shadow:0 8px 22px rgba(194,65,28,.32);transition:transform .2s,box-shadow .2s}
.nav-cta:hover,.button:hover,.site-header nav>.nav-cta:hover{background:linear-gradient(135deg,#e25a28,#c2411c);transform:translateY(-2px);box-shadow:0 14px 30px rgba(194,65,28,.4)}
.hero{min-height:min(86vh,780px)}
.hero-shade{background:linear-gradient(100deg,rgba(8,26,38,.92) 0%,rgba(8,26,38,.72) 45%,rgba(8,26,38,.18) 100%)}
.hero h1{font-size:clamp(38px,4.8vw,66px);line-height:1.04;text-wrap:balance}
.hero-copy{font-size:clamp(17px,1.5vw,21px);max-width:34em;color:#dbe6ec}
.hero-bottom span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(8px);border-radius:999px;padding:9px 18px;font-weight:600}
.eyebrow{color:var(--orange);font-weight:800}
.eyebrow.light{color:var(--accent)}
.service-card,.topic-grid article,.steps article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 0 rgba(15,42,58,.03);transition:transform .25s,box-shadow .25s,border-color .25s;overflow:hidden}
.service-card:hover,.topic-grid article:hover,.steps article:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:#e8b9a5}
.service-card{border-top:5px solid var(--orange)}
.card-num{display:inline-block;background:#fbe9e1;color:var(--orange);border-radius:999px;padding:5px 14px;font-weight:800;font-size:12px;letter-spacing:.08em}
.service-estimate{border-radius:999px}
.steps article>span,.why-list li>span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--orange);color:#fff;font-weight:800}
.why-image img,.work-image img,.service-photo img{border-radius:var(--radius)}
.work-band,.service-panel{border-radius:var(--radius);overflow:hidden}
.work-copy{background:linear-gradient(160deg,#12344a,#0a1e2a)}
details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px 22px;margin-bottom:12px;transition:border-color .2s,box-shadow .2s}
details[open]{border-color:#e8b9a5;box-shadow:var(--shadow)}
summary{font-weight:700}
.estimate{background:linear-gradient(160deg,#12344a,#0a1e2a)}
.estimate form{border-radius:24px;box-shadow:0 30px 70px rgba(0,0,0,.35)}
input,select,textarea{border-radius:12px;border:1.5px solid var(--line);background:#fffdf9}
input:focus,select:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(194,65,28,.15);outline:0}
.footer{background:var(--deep)}
.service-hero{background:linear-gradient(160deg,#12344a,#0a1e2a)}
.service-next{background:linear-gradient(135deg,#12344a,#0a1e2a)}
@media(max-width:680px){.brand-logo{height:56px}.site-header{min-height:72px}.hero{min-height:620px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:680px){.hero h1 br:first-child{display:inline}}

/* ===== Bold homepage v9 ===== */
.hx{position:relative;min-height:min(92vh,860px);display:flex;align-items:center;color:#fff;background:#0a1e2a;clip-path:polygon(0 0,100% 0,100% calc(100% - 90px),0 100%);margin-bottom:-90px;padding-bottom:90px;z-index:1}
.hx-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.hx:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(7,22,32,.94) 0%,rgba(7,22,32,.78) 42%,rgba(7,22,32,.05) 85%)}
.hx-in{position:relative;padding:70px 0 40px}
.hx-kick{display:inline-block;background:#ffcf5c;color:#10202b;font-weight:800;font-size:14px;padding:7px 16px;border-radius:999px;margin-bottom:26px}
.hx h1{font-size:clamp(50px,9.2vw,138px);line-height:.92;font-weight:900;letter-spacing:-.05em;margin-bottom:28px}
.hx h1 span{color:#ffcf5c}
.hx-sub{font-size:clamp(18px,1.8vw,24px);max-width:27em;color:#e5edf1;margin-bottom:34px}
.hx-acts{display:flex;flex-wrap:wrap;gap:14px}
.hx-call,.hx-ghost{display:inline-flex;align-items:center;min-height:62px;padding:0 34px;border-radius:999px;font-weight:800;font-size:18px;transition:transform .2s,box-shadow .2s}
.hx-call{background:#ffcf5c;color:#10202b;box-shadow:0 12px 34px rgba(255,207,92,.35)}
.hx-ghost{border:2px solid rgba(255,255,255,.7);color:#fff}
.hx-call:hover,.hx-ghost:hover{transform:translateY(-3px)}
.hx-ghost:hover{background:#fff;color:#10202b}
.tick{background:#c2411c;color:#fff;padding:114px 0 22px;overflow:hidden;white-space:nowrap}
.tick-track{display:inline-flex;gap:46px;animation:tick 42s linear infinite;font-weight:900;font-size:clamp(22px,3vw,36px);letter-spacing:-.02em}
.tick-track span:after{content:"\2022";margin-left:46px;color:#ffcf5c}
@keyframes tick{to{transform:translateX(-50%)}}
.pick{background:#fffdf9}
.pick h2{font-size:clamp(40px,6vw,84px);font-weight:900;line-height:.98;margin-bottom:44px}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tile{position:relative;min-height:520px;border-radius:28px;overflow:hidden;background:#0a1e2a;color:#fff;border:0;display:flex;align-items:flex-end}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.tile:hover img{transform:scale(1.07)}
.tile:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,22,32,.92) 8%,rgba(7,22,32,.1) 65%);z-index:1}
.tile-in{position:relative;z-index:2;padding:30px}
.tile h3{font-size:clamp(28px,3vw,40px);font-weight:900;line-height:1;margin-bottom:12px}
.tile h3 a:after{content:"";position:absolute;inset:0;z-index:3}
.tile p{color:#d9e4ea;margin-bottom:18px}
.tile-go{position:relative;z-index:4;display:inline-block;background:#ffcf5c;color:#10202b;border-radius:999px;padding:10px 20px;font-weight:800;font-size:14px}
.pick-links{display:flex;flex-wrap:wrap;gap:12px;margin:34px 0 0}
.pick-links a{border:1.5px solid var(--line);border-radius:999px;padding:10px 22px;font-weight:700}
.pick-links a:hover{border-color:#c2411c;color:#c2411c}
.flow{background:#0f2a3a;color:#fff;padding:var(--space) 0}
.flow h2{font-size:clamp(40px,6vw,84px);font-weight:900;margin-bottom:12px}
.flow-lead{color:#b9cad3;font-size:19px;margin-bottom:40px}
.flow-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.flow-svg{width:100%;background:rgba(255,255,255,.05);border-radius:28px;padding:20px}
.flow-svg path{fill:none;stroke:#5d7686;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s,filter .3s}
.flow-svg .flow-wall{stroke:#2c4658;stroke-width:4}
.flow-svg g.on path{stroke:#ffcf5c;filter:drop-shadow(0 0 8px rgba(255,207,92,.7))}
.flow-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.flow-tabs button{border:1.5px solid rgba(255,255,255,.3);background:none;color:#fff;border-radius:999px;padding:11px 20px;font-weight:700}
.flow-tabs button[aria-selected=true]{background:#ffcf5c;color:#10202b;border-color:#ffcf5c}
.flow-copy h3{font-size:clamp(26px,3vw,38px);font-weight:900}
.flow-copy p{color:#c9d8df;font-size:18px}
.flow-cta{margin-top:12px}
.callbar{display:none}
@media(max-width:900px){.tiles,.flow-grid{grid-template-columns:1fr}.tile{min-height:420px}.hx{clip-path:polygon(0 0,100% 0,100% calc(100% - 50px),0 100%);margin-bottom:-50px;padding-bottom:50px}.tick{padding-top:74px}}
@media(max-width:680px){.callbar{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:50;justify-content:center;align-items:center;min-height:56px;border-radius:999px;background:#ffcf5c;color:#10202b;font-weight:900;font-size:18px;box-shadow:0 10px 30px rgba(0,0,0,.35)}body{padding-bottom:84px}}
@media(prefers-reduced-motion:reduce){.tick-track{animation:none}.tile img{transition:none}}
.hx-photo{z-index:0}.hx:before{z-index:1}.hx-in{z-index:2}
@media(max-width:680px){.hx-acts .hx-call{display:none}.hx-kick{font-size:13px}}
.topic-grid article,.steps article{padding:28px 26px 30px}.steps article>span{margin-bottom:6px}

/* CSP-safe image positioning and accessible motion/keyboard states. */
.tile img{object-position:center}
.tile:last-child img{object-position:85% 70%}
.tick{position:relative;white-space:normal}
.tick-track{animation:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;padding:0 5%;font-size:clamp(16px,2vw,24px)}
.tick-track span:after{margin-left:26px}
.flow-tabs button:focus-visible,.hx-call:focus-visible,.hx-ghost:focus-visible,.tile-go:focus-visible{outline:3px solid #ffcf5c;outline-offset:5px}
.flow-tabs button[aria-selected=true]:focus-visible,.hx-call:focus-visible,.tile-go:focus-visible{outline-color:#fff}
@media(max-width:680px){.hx-in{padding-top:44px}.hx-kick{white-space:normal}.hx h1{font-size:clamp(44px,12vw,70px)}.hx-ghost{min-height:54px;padding:0 24px}.site-header{z-index:60}.flow-tabs button{padding:11px 15px}}
