*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{background:#0E0E0F;color:#F2F0EB;font-family:'Barlow',system-ui,sans-serif;font-size:17px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
::selection{background:#F88000;color:#0E0E0F}
.wrap{width:100%;max-width:1320px;margin:0 auto;padding:0 28px}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:#F88000;color:#0E0E0F;padding:10px 16px;font-weight:700}
.skip:focus{top:12px}
:focus-visible{outline:3px solid #F88000;outline-offset:3px}
/* type */
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:#F88000}
.eyebrow::before{content:"";width:34px;height:4px;background:#F88000;transform:skewX(-30deg)}
.h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(44px,6.4vw,92px);line-height:.9;letter-spacing:-.01em;margin-top:18px;text-wrap:balance}
.h2 em{font-style:italic;color:#F88000}
.lede{color:#9C9CA2;font-size:18px;max-width:58ch;margin-top:20px;text-wrap:pretty}
.sec{padding:130px 0;position:relative}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:58px;padding:0 30px;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:19px;letter-spacing:.08em;text-transform:uppercase;clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%);transition:background .25s,color .25s,transform .2s;white-space:nowrap}
.btn svg{width:20px;height:20px;transition:transform .25s}
.btn:hover svg.arrow{transform:translateX(4px)}
.btn:active{transform:translateY(1px) scale(.98)}
.btn-or{background:#F88000;color:#0E0E0F}
.btn-or:hover{background:#F2F0EB}
.btn-gh{background:rgba(242,240,235,.08);color:#F2F0EB;box-shadow:inset 0 0 0 1.5px rgba(242,240,235,.35)}
.btn-gh:hover{background:#F2F0EB;color:#0E0E0F}
/* cursor */
.cur{position:fixed;left:0;top:0;z-index:300;pointer-events:none;will-change:transform;opacity:0;transition:opacity .2s}
.cur.on{opacity:1}
.cur .dot{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:#F88000}
.cur .ring{position:absolute;left:-19px;top:-19px;width:38px;height:38px;border-radius:50%;border:1.5px solid rgba(248,128,0,.85);transition:transform .25s,background .25s,border-color .25s}
.cur.hov .ring{transform:scale(1.55);background:rgba(248,128,0,.12);border-color:#F88000}
.cur.down .ring{transform:scale(.8)}
@media (hover:hover) and (pointer:fine){body.has-cur,body.has-cur a,body.has-cur button,body.has-cur select,body.has-cur label{cursor:none}}
/* header */
.hd{position:fixed;left:0;right:0;top:0;z-index:100;transition:background .35s,box-shadow .35s,height .35s;height:92px;display:flex;align-items:center}
.hd.solid{background:rgba(14,14,15,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(242,240,235,.08);height:78px}
.hd .wrap{display:flex;align-items:center;gap:28px}
.hd-logo{flex:none;display:block;height:76px;transition:height .35s}
.hd.solid .hd-logo{height:60px}
.hd-logo img{height:100%;width:auto}
.nav{display:flex;gap:30px;margin-left:auto}
.nav a{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:17px;letter-spacing:.1em;text-transform:uppercase;position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#F88000;transform:scaleX(0);transform-origin:right;transition:transform .3s}
.nav a:hover::after{transform:scaleX(1);transform-origin:left}
.hd-call{display:flex;align-items:center;gap:12px;flex:none}
.hd-call .ph{display:flex;flex-direction:column;line-height:1.1;text-align:right}
.hd-call .ph small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#9C9CA2;font-weight:600}
.hd-call .ph b{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;letter-spacing:.03em}
.hd .btn{height:50px;padding:0 24px;font-size:17px}
.hd .btn{display:inline-grid;place-items:center}
.hd .btn span{grid-area:1/1;transition:opacity .2s}
.hd .btn .t2{opacity:0}
.hd .btn:hover .t1,.hd .btn:focus-visible .t1{opacity:0}
.hd .btn:hover .t2,.hd .btn:focus-visible .t2{opacity:1}
@media (max-width:1280px){.hd .btn{padding:0 18px;font-size:16px;letter-spacing:.06em}}
@media (max-width:1240px){.nav{gap:22px}}
@media (max-width:1060px){.hd .btn{padding:0 14px;font-size:15px;letter-spacing:.04em}.nav{gap:16px}}
.burger{display:none;width:50px;height:50px;background:#F88000;color:#0E0E0F;position:relative;flex:none;margin-left:auto;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.burger span{position:absolute;left:14px;right:14px;height:3px;background:#0E0E0F;transition:transform .3s,opacity .2s}
.burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:24px}.burger span:nth-child(3){top:32px}
.menu-open .burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-open .burger span:nth-child(2){opacity:0}
.menu-open .burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.drawer{position:fixed;inset:0;z-index:90;background:#0E0E0F;padding:110px 28px 40px;overflow-y:auto;display:flex;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s,visibility .35s}
.menu-open .drawer{opacity:1;visibility:visible;pointer-events:auto}
.drawer nav{display:flex;flex-direction:column;margin-bottom:auto}
.drawer nav a{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:44px;line-height:1.15;border-bottom:1px solid #2A2A2E;padding:10px 0;display:flex;justify-content:space-between;align-items:center}
.drawer nav a span{color:#F88000;font-size:16px;letter-spacing:.14em}
.drawer .dr-cta{display:grid;gap:12px;margin-top:32px}
.drawer .dr-cta .btn{width:100%}

/* dropdowns */
.dd{position:relative;display:flex;align-items:center}
.nav .dd-l{display:inline-flex;align-items:center;gap:6px}
.dd-l .cv{width:14px;height:14px;transition:transform .25s}
.dd.open .dd-l .cv{transform:rotate(180deg)}
.dd-p{position:absolute;left:-22px;top:100%;padding-top:16px;min-width:290px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s}
.dd.open .dd-p,.dd:focus-within .dd-p{opacity:1;visibility:visible;transform:none}
.dd-p ul{list-style:none;background:#161618;border:1px solid #2A2A2E;border-top:3px solid #F88000;padding:10px 0;box-shadow:0 24px 50px rgba(0,0,0,.5)}
.nav .dd-p a{display:block;padding:11px 22px;font-size:16px;letter-spacing:.08em;white-space:nowrap;transition:background .2s,color .2s}
.nav .dd-p a::after{display:none}
.nav .dd-p a:hover{background:rgba(248,128,0,.1);color:#F88000}
.dr-g{border-bottom:1px solid #2A2A2E}
.dr-row{display:flex;align-items:center;gap:8px}
.drawer nav .dr-row a{flex:1;border-bottom:0}
.dr-t{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:#F88000;flex:none;border:1px solid #2A2A2E}
.dr-t svg{width:24px;height:24px;transition:transform .3s}
.dr-g.open .dr-t svg{transform:rotate(180deg)}
.dr-sub{list-style:none;display:none;padding:2px 0 16px}
.dr-g.open .dr-sub{display:block}
.drawer nav .dr-sub a{font-family:'Barlow',sans-serif;font-weight:600;text-transform:none;font-size:20px;line-height:1.3;border:0;padding:9px 0 9px 16px;color:rgba(242,240,235,.85);border-left:3px solid #F88000}
.lb{position:fixed;inset:0;z-index:150;background:rgba(8,8,9,.94);display:flex;align-items:center;justify-content:center;padding:70px 20px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,visibility .3s}
.lb.open{opacity:1;visibility:visible;pointer-events:auto}
.lb img{max-width:min(1200px,100%);max-height:100%;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lb-x{position:absolute;top:18px;right:18px;width:52px;height:52px;background:#F88000;color:#0E0E0F;display:flex;align-items:center;justify-content:center}
.lb-x svg{width:24px;height:24px}
.lb-c{position:absolute;left:0;right:0;bottom:22px;text-align:center;font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9C9CA2}
/* cta strip */
.cta{position:relative;overflow:hidden;background:#F88000;color:#0E0E0F}
.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:70px;padding-bottom:70px;flex-wrap:wrap}
.cta h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(44px,6vw,86px);line-height:.88}
.cta h2 span{color:transparent;-webkit-text-stroke:2px #0E0E0F}
.cta .btn-dk{background:#0E0E0F;color:#F2F0EB}
.cta .btn-dk:hover{background:#F2F0EB;color:#0E0E0F}
.cta .btn-ln{box-shadow:inset 0 0 0 2px #0E0E0F;color:#0E0E0F}
.cta .btn-ln:hover{background:#0E0E0F;color:#F2F0EB}
.cta-btns{display:flex;gap:12px;flex-wrap:wrap}
.cta-dig{position:absolute;right:-40px;bottom:-60px;width:420px;opacity:.12;pointer-events:none}

/* footer */
.ft{background:#09090A;padding:80px 0 30px;border-top:1px solid #2A2A2E}
.ft-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:48px}
.ft-logo img{width:210px;height:auto}
.ft p{color:#9C9CA2;font-size:15px;margin-top:18px;max-width:36ch}
.ft .ft-h{font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:15px;color:#F88000;margin:0 0 16px;max-width:none}
.ft ul{list-style:none;display:grid;gap:10px}
.ft li a,.ft li{color:rgba(242,240,235,.8);font-size:15.5px;transition:color .2s}
.ft li a:hover{color:#F88000}
.soc{display:flex;gap:10px;margin-top:22px}
.soc a{width:44px;height:44px;border:1px solid #2A2A2E;display:flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s,color .25s}
.soc a:hover{background:#F88000;border-color:#F88000;color:#0E0E0F}
.soc svg{width:20px;height:20px}
.ft-bot{margin-top:60px;padding-top:24px;border-top:1px solid #2A2A2E;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#9C9CA2;font-size:14px}
.ft-big{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:17.5vw;line-height:.8;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1px rgba(242,240,235,.08);white-space:nowrap;text-align:center;margin-top:50px;user-select:none}

/* mobile call bar */
.mbar{display:none}

/* reveal */
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
/* area + contact */
.contact .wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:70px;align-items:start}
.c-list{display:grid;gap:12px;margin-top:34px}
.c-row{display:flex;align-items:center;gap:18px;padding:20px 22px;background:#161618;border:1px solid #2A2A2E;transition:border-color .3s,background .3s}
a.c-row:hover{border-color:#F88000;background:rgba(248,128,0,.07)}
.c-row .ic{width:50px;height:50px;background:#F88000;color:#0E0E0F;display:flex;align-items:center;justify-content:center;flex:none}
.c-row .ic svg{width:24px;height:24px}
.c-row small{display:block;color:#9C9CA2;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.c-row b{font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:800;line-height:1.1}
.c-row b.sm{font-family:'Barlow',sans-serif;font-size:17px;font-weight:600}
.areas{margin-top:40px}
.areas h4{font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:15px;color:#F88000}
.areas ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.areas li{padding:8px 14px;border:1px solid #2A2A2E;font-weight:600;font-size:15px}
.areas li.hl{background:#F88000;color:#0E0E0F;border-color:#F88000}
.areas li:has(a){padding:0}
.areas li a{display:block;padding:8px 14px;color:inherit;text-decoration:none}
.areas li:has(a):hover{border-color:#F88000}
.form{background:#F2F0EB;color:#0E0E0F;padding:46px;position:relative;clip-path:polygon(0 0,calc(100% - 34px) 0,100% 34px,100% 100%,0 100%)}
.form h3{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:44px;line-height:.95}
.form > p{color:#55555b;margin-top:8px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.fld.full{grid-column:1/-1}
.fld label{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#3a3a3f}
.fld input,.fld select,.fld textarea{height:54px;background:#fff;border:1.5px solid #d6d4cf;padding:0 16px;font-size:16px;outline:none;transition:border-color .2s,box-shadow .2s;border-radius:0;color:#0E0E0F;appearance:none;-webkit-appearance:none}
.fld select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F88000' stroke-width='3'%3E%3Cpath d='M6 9l6 6l6 -6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:44px}
.fld textarea{height:120px;padding:14px 16px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:#F88000;box-shadow:0 0 0 4px rgba(248,128,0,.18)}
.fld.err input,.fld.err select{border-color:#D93025}
.fld .em{font-size:13px;color:#D93025;font-weight:600;display:none}
.fld.err .em{display:block}
.form .btn{width:100%;margin-top:22px;height:62px;font-size:21px}
.form .btn-or:hover{background:#0E0E0F;color:#F2F0EB}
.f-note{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;color:#6a6a70;font-size:14px}
.f-note svg{width:16px;height:16px;color:#34A853}
.f-ok{display:none;text-align:center;padding:40px 0}
.f-ok svg{width:70px;height:70px;color:#F88000;margin:0 auto}
.f-ok h3{margin-top:14px}
.form.sent .f-body{display:none}
.form.sent .f-ok{display:block}

/* subpage hero */
.phero{position:relative;overflow:hidden;isolation:isolate;padding:200px 0 110px;min-height:640px;display:flex;align-items:flex-end}
.phero-bg{position:absolute;inset:0;z-index:-2}
.phero-bg img{width:100%;height:100%;object-fit:cover;animation:kb 22s ease-out both}
@keyframes kb{from{transform:scale(1.1)}to{transform:scale(1)}}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,14,15,.95) 0%,rgba(14,14,15,.8) 45%,rgba(14,14,15,.3) 100%),linear-gradient(0deg,#0E0E0F 0%,transparent 45%,rgba(14,14,15,.6) 100%)}
.crumbs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;list-style:none;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:#9C9CA2;margin-bottom:26px}
.crumbs li+li::before{content:"/";margin-right:10px;color:#F88000}
.crumbs a:hover{color:#F88000}
.phero h1{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(42px,5.4vw,80px);line-height:.92;letter-spacing:-.01em;margin-top:20px;max-width:19ch;text-wrap:balance}
.phero p{max-width:62ch;font-size:19px;color:rgba(242,240,235,.85);margin-top:26px;text-wrap:pretty}
.phero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

/* content blocks */
.ps{padding:120px 0;position:relative}
.ps.alt{background:#161618}
.h2.sm{font-size:clamp(38px,4.8vw,68px)}
.ps-head{max-width:860px;margin-bottom:48px}
.ps-head p{color:#9C9CA2;font-size:18px;margin-top:20px;max-width:62ch}
.note{color:rgba(242,240,235,.8);font-size:17.5px;max-width:70ch;margin-top:40px;padding-left:22px;border-left:4px solid #F88000}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.panel{background:#0E0E0F;border:1px solid #2A2A2E;padding:36px}
.ps:not(.alt) .panel{background:#161618}
.panel h3{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:30px;line-height:1;color:#F88000}
.chk{list-style:none;display:grid;gap:16px;margin-top:22px}
.chk li{position:relative;padding-left:26px;color:rgba(242,240,235,.82)}
.chk li::before{content:"";position:absolute;left:0;top:.55em;width:11px;height:11px;background:#F88000;transform:skewX(-20deg)}
.chk b{color:#F2F0EB}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tiles.t2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tile{position:relative;background:#0E0E0F;border:1px solid #2A2A2E;padding:30px 28px;transition:border-color .3s,transform .3s}
.ps:not(.alt) .tile{background:#161618}
.tile:hover{border-color:rgba(248,128,0,.6);transform:translateY(-4px)}
.tile .n{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:15px;letter-spacing:.16em;color:#F88000}
.tile h3{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:26px;line-height:1;margin-top:12px}
.tile p{color:#9C9CA2;font-size:16px;margin-top:12px}
.steps{list-style:none;display:grid;gap:0;border-top:1px solid #2A2A2E}
.steps li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;align-items:baseline;padding:28px 0;border-bottom:1px solid #2A2A2E}
.steps .n{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:64px;line-height:.8;color:transparent;-webkit-text-stroke:1.5px #F88000}
.steps h3{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:30px;line-height:1}
.steps p{color:#9C9CA2;margin-top:8px;max-width:64ch}
.cost{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:60px;align-items:center}
.cost p{color:rgba(242,240,235,.8);font-size:18px;margin-top:22px;max-width:60ch}
.cost-fig{background:#F88000;color:#0E0E0F;padding:44px 40px;clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,0 100%)}
.cost-fig small{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-size:15px}
.cost-fig b{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(46px,5.4vw,80px);line-height:.9;margin-top:10px}
.cost-fig .cost-note{display:block;margin-top:14px;font-size:13px;line-height:1.4;font-weight:500}
.cost-fig .btn{margin-top:28px;background:#0E0E0F;color:#F2F0EB}
.cost-fig .btn:hover{background:#F2F0EB;color:#0E0E0F}
.tips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:26px}
.tips div{border-top:3px solid #F88000;padding-top:16px}
.tips h4{font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;font-size:21px;line-height:1.05}
.tips p{color:#9C9CA2;font-size:15.5px;margin-top:8px}
.sub-h{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(30px,3.4vw,44px);line-height:1;margin-top:70px}
.sub-h+p{color:#9C9CA2;margin-top:12px}

/* gallery */
.pg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gi{position:relative;overflow:hidden;background:#161618;display:block;width:100%;aspect-ratio:3/4;padding:0;text-align:left}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.gi:hover img{transform:scale(1.05)}
.gi .cap{position:absolute;left:0;right:0;bottom:0;padding:18px;background:linear-gradient(0deg,rgba(14,14,15,.9),transparent)}
.gi .cap b{font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;font-size:19px;line-height:1}
body.has-cur .gi{cursor:none}

/* area + why */
.area{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:start}
.area p{color:rgba(242,240,235,.8);font-size:18px;margin-top:20px;max-width:58ch}
.areas ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.areas li{padding:9px 15px;border:1px solid #2A2A2E;font-weight:600;font-size:15.5px}
.areas li.hl{background:#F88000;color:#0E0E0F;border-color:#F88000}
.areas li:has(a){padding:0}
.areas li a{display:block;padding:9px 15px;color:inherit;text-decoration:none}
.areas li:has(a):hover{border-color:#F88000}
.why{margin-top:34px;background:#0E0E0F;border:1px solid #2A2A2E;border-left:4px solid #F88000;padding:30px}
.why h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:32px;line-height:1}
.why p{margin-top:12px}
.rel{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}

/* faq */
.faq{max-width:940px}
.fq{border-bottom:1px solid #2A2A2E}
.fq:first-child{border-top:1px solid #2A2A2E}
.fq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;cursor:pointer}
.fq summary::-webkit-details-marker{display:none}
.fq h3{font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(22px,2.2vw,28px);line-height:1.1}
.fq i{position:relative;width:22px;height:22px;flex:none}
.fq i::before,.fq i::after{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;background:#F88000;transition:transform .3s}
.fq i::after{transform:rotate(90deg)}
.fq[open] i::after{transform:none}
.fq p{color:rgba(242,240,235,.8);padding:0 0 28px;max-width:72ch}
body.has-cur summary{cursor:none}

@media (max-width:980px){
  .phero{padding:150px 0 80px;min-height:0}
  .two,.cost,.area{grid-template-columns:minmax(0,1fr)}
  .cost,.area{gap:40px}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tips{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ps{padding:96px 0}
}
@media (max-width:640px){
  .phero{padding:128px 0 64px}
  .phero::before{background:linear-gradient(0deg,#0E0E0F 0%,rgba(14,14,15,.85) 50%,rgba(14,14,15,.6) 100%)}
  .phero h1{font-size:clamp(36px,10.5vw,54px)}
  .phero p{font-size:17px}
  .phero-ctas .btn{flex:1 1 100%}
  .ps{padding:80px 0}
  .panel{padding:26px 22px}
  .tiles,.tiles.t2,.tips,.pg{grid-template-columns:minmax(0,1fr)}
  .steps li{grid-template-columns:minmax(0,1fr);gap:12px;padding:24px 0}
  .steps .n{font-size:48px}
  .steps h3{font-size:26px}
  .cost-fig{padding:32px 26px}
  .cost-fig .btn{width:100%}
  .sub-h{margin-top:54px}
  .why{padding:24px 20px}
}

/* hero sub-heading + long-form copy */
.phero .lede-h{font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(22px,2.3vw,32px);line-height:1.05;letter-spacing:.01em;color:#F88000;margin-top:24px;max-width:32ch;text-wrap:balance}
.prose{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 60px}
.prose p{color:rgba(242,240,235,.82);font-size:18px}
.prose a,.note a{color:#F88000;text-decoration:underline;text-underline-offset:3px}
.touch{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:60px;align-items:center}
.touch p{color:rgba(242,240,235,.82);font-size:18px;margin-top:20px;max-width:60ch}
@media (max-width:980px){.prose,.touch{grid-template-columns:minmax(0,1fr)}.touch{gap:30px}}
.why h3{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:32px;line-height:1}
.pg.sq .gi{aspect-ratio:1/1}
.touch .panel .phero-ctas{margin-top:26px}

/* our work: filter gallery */
.fbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.fc{font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:17px;line-height:1;padding:14px 18px;background:#0E0E0F;border:1px solid #2A2A2E;color:#F2F0EB;display:inline-flex;align-items:center;gap:10px;transition:border-color .25s,background .25s,color .25s}
.fc span{font-size:13px;color:#9C9CA2;background:#161618;padding:4px 7px;border-radius:999px}
.fc:hover{border-color:rgba(248,128,0,.6)}
.fc.on{background:#F88000;border-color:#F88000;color:#0E0E0F}
.fc.on span{background:rgba(14,14,15,.18);color:#0E0E0F}
.fg{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense}
.fg .gi{aspect-ratio:1/1;animation:fgin .45s cubic-bezier(.2,.8,.2,1) both}
.fg .gi:first-child{grid-column:span 2;grid-row:span 2}
.fg .gi.w2{grid-column:span 2;aspect-ratio:2/1}
.fg .gi.w3{grid-column:span 3;aspect-ratio:3/1}
.fg .gi .cap{transform:translateY(100%);transition:transform .35s cubic-bezier(.2,.8,.2,1);display:flex;justify-content:space-between;align-items:end;gap:10px}
.fg .gi:hover .cap,.fg .gi:focus-visible .cap{transform:none}
.fg .gi .cap svg{width:22px;height:22px;color:#F88000;flex:none}
.fnote{margin-top:18px;color:#9C9CA2;font-size:15px}
@keyframes fgin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:980px){.fg{grid-template-columns:repeat(2,minmax(0,1fr))}.fg .gi:first-child{grid-column:span 2;grid-row:span 1;aspect-ratio:16/10}.fg .gi.w2,.fg .gi.w3{grid-column:span 2;aspect-ratio:16/10}.fg .gi.m2{grid-column:span 2;aspect-ratio:16/10}.fg .gi .cap{transform:none;padding:12px}.fg .gi .cap b{font-size:16px}}
@media (max-width:640px){.fbar{gap:8px}.fc{font-size:15px;padding:12px 14px}.fg{gap:8px}}
/* about page */
.abp{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:70px;align-items:center}
.abp-media{position:relative}
.abp-main{aspect-ratio:4/3;overflow:hidden}
.abp-main img{width:100%;height:100%;object-fit:cover}
.abp-badge{position:absolute;left:-26px;bottom:-26px;background:#F88000;color:#0E0E0F;padding:20px 22px;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;line-height:1;transform:rotate(-4deg);box-shadow:0 20px 40px rgba(0,0,0,.45)}
.abp-badge b{display:block;font-size:64px;font-weight:900}
.abp-badge span{font-weight:800;font-size:17px;letter-spacing:.08em}
.abp p{color:rgba(242,240,235,.82);font-size:18px;margin-top:20px;max-width:60ch}
.tiles.t4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tile .ico svg{width:30px;height:30px;color:#F88000}
.stats4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #2A2A2E}
.st{padding:34px 28px;border-right:1px solid #2A2A2E}
.st:last-child{border-right:0}
.st b{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(52px,6vw,84px);line-height:.9;font-variant-numeric:tabular-nums}
.st sup{font-size:.4em;color:#F88000;vertical-align:top;margin-left:2px}
.st span{display:block;margin-top:10px;color:#9C9CA2;font-size:15px}
.awardsp{background:#F2F0EB;color:#0E0E0F}
.awardsp .eyebrow{color:#C96600}
.awardsp p{color:rgba(14,14,15,.75)}
.aw3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.aw{background:#fff;padding:18px;box-shadow:0 18px 40px rgba(20,20,22,.1)}
.aw img{width:100%;aspect-ratio:300/240;object-fit:contain}
@media (max-width:980px){.abp{grid-template-columns:minmax(0,1fr);gap:50px}.abp-badge{left:12px}.tiles.t4,.stats4{grid-template-columns:1fr 1fr}.st:nth-child(2n){border-right:0}.st{border-bottom:1px solid #2A2A2E}.aw3{gap:10px}.aw{padding:10px}}
@media (max-width:640px){.tiles.t4{grid-template-columns:minmax(0,1fr)}.abp-badge b{font-size:48px}}
/* contact page */
.contact.ps .wrap{align-items:start}
.contact .c-list{margin-top:30px}
.svc-links{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:40px}
.svc-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px;background:#161618;border:1px solid #2A2A2E;color:#F2F0EB;text-decoration:none;font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:20px;transition:border-color .25s,transform .25s}
.svc-links a .arrow{width:20px;height:20px;color:#F88000;flex:none}
.svc-links a:hover{border-color:#F88000;transform:translateY(-2px)}
.phero.nf{min-height:560px}
.phero.nf h1 em{color:#F88000;font-style:normal}
@media (max-width:980px){.svc-links{grid-template-columns:1fr 1fr}.contact .form{margin-top:10px}.contact .wrap{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.svc-links{grid-template-columns:1fr}.svc-links a{font-size:18px;padding:16px 18px}.contact .form{clip-path:none}.form{padding:30px 20px}.form h3{font-size:36px}.fgrid{grid-template-columns:1fr}.c-row b{font-size:22px}.c-row b.sm{font-size:15px;word-break:normal;overflow-wrap:anywhere}.c-row{padding:16px 18px;gap:14px}.c-row .ic{width:44px;height:44px;flex:none}.c-row>span:last-child{min-width:0}}
@media (max-width:420px){.stats4{grid-template-columns:1fr}.st{border-right:0;padding:26px 22px}}
@media (max-width:1180px){
  .nav{gap:20px}
  .nav a{font-size:15.5px}
  .hd-call .ph{display:none}
}
@media (max-width:980px){
  .nav,.hd-call{display:none}
  .burger{display:block}
  .hd{height:78px}
  .hd-logo,.hd.solid .hd-logo{height:54px}
  .ft-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  body{font-size:16px;padding-bottom:70px}
  .wrap{padding:0 18px}
  .h2{font-size:clamp(42px,12.5vw,64px)}
  .ft-grid{grid-template-columns:1fr}
  .cta .btn{flex:1 1 100%}
  .cta-btns{width:100%}
  .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:80;height:64px;box-shadow:0 -10px 30px rgba(0,0,0,.4)}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:10px;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:19px;letter-spacing:.08em;text-transform:uppercase}
  .mbar a:first-child{background:#F2F0EB;color:#0E0E0F}
  .mbar a:last-child{background:#F88000;color:#0E0E0F}
  .mbar svg{width:20px;height:20px}
}
/* std: standards fixes (QA 2026-10-10) */
img{height:auto}
html{scroll-padding-top:98px}
#qform{scroll-margin-top:98px}
body.menu-open{overflow:hidden}
.menu-open .hd{z-index:1002}
.drawer{inset:0 0 0 auto;width:min(86vw,360px);z-index:1001;padding:108px 24px 32px;opacity:1;visibility:hidden;pointer-events:auto;transform:translateX(105%);transition:transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s .35s;box-shadow:-24px 0 60px rgba(0,0,0,.5);border-left:1px solid #2A2A2E}
.menu-open .drawer{visibility:visible;transform:none;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.nav-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.6);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s}
.menu-open .nav-backdrop{opacity:1;visibility:visible;transition:opacity .3s}
.drawer nav a{font-size:30px;padding:12px 0}
.drawer .dr-t{width:100%;height:auto;border:0;display:flex;align-items:center;gap:12px;font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:30px;line-height:1.15;padding:12px 0;color:#F2F0EB;text-align:left}
.drawer .dr-t span{color:#F88000;font-size:16px;letter-spacing:.14em;margin-left:auto}
.drawer .dr-t svg{width:22px;height:22px;color:#F88000}
.dr-sub{display:block;max-height:0;overflow:hidden;padding:0;visibility:hidden;transition:max-height .3s,padding .3s,visibility 0s .3s}
.dr-g.open .dr-sub{max-height:1100px;padding:2px 0 16px;visibility:visible;transition:max-height .3s,padding .3s}
.drawer nav .dr-sub a{min-height:44px}
.hd-call .ph svg{display:none}
.awards .eyebrow,.awardsp .eyebrow{color:#A65500}
.awards .h2 em,.awardsp .h2 em{color:#B85C00}
.aw-list small{color:#A65500}
.prose p,.prose li,.fnote{max-width:70ch}
.fld label,.rc-foot .vf,.c-row small,.proof small,.aw-cat small,.rc-top small,.fc span{font-size:14px}
@media (max-width:980px){
  .hd .wrap{gap:12px}
  .hd-call{display:flex;margin-left:auto}
  .hd-call .btn{display:none}
  .hd-call .ph{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border:2px solid #F88000;color:#F88000}
  .hd-call .ph small,.hd-call .ph b{display:none}
  .hd-call .ph svg{display:block;width:22px;height:22px}
  .burger{margin-left:0}
  .ft ul{gap:0}
  .ft li{min-height:44px;display:flex;align-items:center}
  .ft li a{display:flex;align-items:center;min-height:44px}
  .areas li a{min-height:44px;display:flex;align-items:center}
  .rc .more{min-height:44px;display:inline-flex;align-items:center;margin-top:0}
}
@media (max-width:640px){
  .ig-btns .igb{flex:none;height:48px}
  .aw-list li{font-size:14px}
  .aw-list small{font-size:12px}
  .ft{padding:56px 0 24px}
  .ft-grid{gap:32px}
  .ft-big{margin-top:32px}
  .ft-bot{margin-top:36px}
}
@media (max-width:360px){
  .drawer nav a,.drawer .dr-t{font-size:26px}
}
@media (hover:none){
  .card:hover img,.gi:hover img,.ig-t:hover img,.aw-b:hover,.rc:hover,.tile:hover,.svc-links a:hover{transform:none}
  .gi:hover::after{box-shadow:none}
}
/* /std */

/* services overview list (/services/) */
.svl{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.svl a{display:grid;grid-template-columns:132px minmax(0,1fr) 22px;gap:22px;align-items:center;padding:14px 22px 14px 14px;background:#161618;border:1px solid #2A2A2E;color:#F2F0EB;text-decoration:none;transition:border-color .25s}
.svl img{width:132px;height:100px;object-fit:cover;display:block}
.svl b{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:24px;line-height:1}
.svl-t span{display:block;color:#9C9CA2;font-size:15.5px;margin-top:8px}
.svl .arrow{width:22px;height:22px;color:#F88000}
.svl a:hover{border-color:#F88000}
@media (max-width:980px){.svl{grid-template-columns:1fr}}
@media (max-width:640px){.svl a{grid-template-columns:92px minmax(0,1fr);gap:16px;padding:12px}.svl img{width:92px;height:80px}.svl .arrow{display:none}.svl b{font-size:20px}.svl-t span{font-size:14.5px}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .rv{opacity:1;transform:none}
}
