.cw{--ink:#231F20;--ink2:#3A3536;--paper:#FFFFFF;--cloud:#F4F4F5;--ash:#D9D8D9;--slate:#6E6A6B;--accent:#231F20;--on-accent:#FFFFFF;--accent-dk:#000000;--accent-inv:#FFFFFF;--on-accent-inv:#231F20;--accent-inv-dk:#E9E7E7;--mark:#F2A900;--mark-inv:#F2A900;--line:#231F20;--line-inv:#FFFFFF;
 --display:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--body:"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
 --wrap:1180px;--r:12px;
 font-family:var(--body);color:var(--ink);background:var(--paper);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-align:left}
.cw *,.cw *::before,.cw *::after{box-sizing:border-box}
.cw img{max-width:100%;display:block;height:auto}
.cw a{color:inherit}
.cw h1,.cw h2,.cw h3,.cw h4,.cw p,.cw ul,.cw ol,.cw figure,.cw blockquote{margin:0;padding:0}
.cw ul{list-style:none}
.cw .wrap{max-width:var(--wrap);margin:0 auto;padding-inline:24px}
.cw .eyebrow{font:600 12px/1.3 var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--slate);display:flex;align-items:center;gap:10px}
.cw .eyebrow .spark{width:14px;height:14px;color:var(--mark);flex:0 0 auto}
.cw h1{font:800 clamp(34px,5.2vw,58px)/1.06 var(--display);letter-spacing:-.015em;text-wrap:balance}
.cw h2{font:800 clamp(28px,3.4vw,40px)/1.12 var(--display);letter-spacing:-.01em;text-wrap:balance}
.cw h3{font:700 20px/1.3 var(--display)}
.cw .lead{font-size:19px;color:var(--ink2);max-width:62ch}
.cw .muted{color:var(--slate)}
.cw .stop{color:inherit}
.cw .hero .stop,.cw .dark .stop,.cw .ftr .stop{color:#fff}
.cw .hero .spark,.cw .dark .spark,.cw .card.flag .spark,.cw .quoteph .spark{color:var(--mark-inv)!important}
.cw section{padding-block:clamp(64px,9vw,112px)}
.cw .tint{background:var(--cloud)}
.cw .dark{background:var(--ink);color:#fff}
.cw .dark .eyebrow,.cw .dark .muted{color:#B9B4B5}
.cw .dark .lead{color:#E4E1E2}
.cw .head{display:grid;gap:14px;margin-bottom:44px;max-width:760px}
/* buttons */
.cw .btns{display:flex;flex-wrap:wrap;gap:12px}
.cw .btn{display:inline-flex;align-items:center;gap:10px;font:700 15px/1 var(--display);text-decoration:none;padding:17px 26px;border-radius:8px;border:1.5px solid transparent;transition:background .2s,border-color .2s,color .2s,transform .2s;cursor:pointer}
.cw .btn-amber{background:var(--accent);color:var(--on-accent)}
.cw .btn-amber:hover{background:var(--accent-dk)}
.cw .hero .btn-amber,.cw .dark .btn-amber,.cw .mnav .btn-amber.inv{background:var(--accent-inv);color:var(--on-accent-inv)}
.cw .hero .btn-amber:hover,.cw .dark .btn-amber:hover{background:var(--accent-inv-dk)}
.cw .btn-line{border-color:currentColor;color:var(--ink)}
.cw .btn-line:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.cw .dark .btn-line,.cw .hero .btn-line{color:#fff}
.cw .dark .btn-line:hover,.cw .hero .btn-line:hover{background:#fff;color:var(--ink);border-color:#fff}
.cw .btn:focus-visible,.cw a:focus-visible,.cw button:focus-visible{outline:3px solid var(--line);outline-offset:3px}
.cw .arrow{font-weight:700;text-decoration:none;border-bottom:2px solid var(--line);padding-bottom:2px;font-family:var(--display);font-size:15px}
/* header */
.cw .hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.7);-webkit-backdrop-filter:saturate(1.8) blur(18px);backdrop-filter:saturate(1.8) blur(18px);border-bottom:1px solid rgba(35,31,32,.08);box-shadow:0 6px 24px rgba(35,31,32,.06)}
.cw [id]{scroll-margin-top:110px}
.cw .dd{position:relative;display:flex;align-items:center}
.cw .dd>a{display:inline-flex;align-items:center;gap:6px}
.cw .ddm{position:absolute;top:100%;left:-16px;min-width:210px;padding:10px;margin-top:10px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(35,31,32,.08);border-radius:12px;box-shadow:0 18px 40px rgba(35,31,32,.14);display:grid;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s,transform .18s,visibility .18s}
.cw .ddm::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.cw .dd:hover .ddm,.cw .dd:focus-within .ddm{opacity:1;visibility:visible;transform:none}
.cw .ddm a{padding:10px 12px!important;border-radius:8px;border-bottom:0!important}
.cw .ddm a:hover{background:rgba(35,31,32,.06)}
.cw .dd-r .ddm{left:auto;right:-20px;min-width:330px;padding:18px 20px}
.cw .ddc dl{display:grid;gap:12px;margin:0}
.cw .ddc dt{font:600 11px var(--display);letter-spacing:.14em;text-transform:uppercase;color:#7A7475}
.cw .ddc dd{margin:2px 0 0;font:500 14.5px var(--body);color:var(--ink)}
.cw .ddc dd a{padding:0!important;border:0!important;font:600 14.5px var(--display)!important}
.cw .ddc .ddgo{margin-top:14px;display:block;text-align:center;background:var(--ink);color:#fff!important;border-radius:8px;padding:11px 12px!important;font:600 14px var(--display)}
.cw .ddc .ddgo:hover{background:#000}
.cw .mnav .msub{padding-left:18px!important;font-weight:500!important;font-size:15.5px!important;color:#5A5455}
.cw .hdr .wrap{display:flex;align-items:center;gap:20px;height:92px;max-width:1400px;padding-inline:clamp(20px,2.6vw,40px)}
.cw .hdr .logo{flex-shrink:0;display:block}.cw .logo img{height:66px;width:auto;max-width:none}
@media (max-width:640px){.cw .hdr .wrap{height:76px}.cw .logo img{height:50px}}
.cw .nav{display:flex;gap:18px;margin-left:auto;margin-right:6px}
.cw .nav a,.cw .hdr .btn{white-space:nowrap}
.cw .nav a{font:600 14px var(--display);text-decoration:none;color:var(--ink);padding-block:6px;border-bottom:2px solid transparent}
.cw .nav a:hover,.cw .nav a[aria-current="page"]{border-bottom-color:var(--line)}
.cw .hdr .tel{font:700 14.5px var(--display);text-decoration:none;white-space:nowrap}
.cw .hdr .btn{padding:12px 16px;font-size:13.5px}
.cw .burger{display:none;margin-left:auto;background:none;border:1px solid var(--ash);border-radius:8px;width:46px;height:42px;cursor:pointer}
.cw .burger span{display:block;width:20px;height:2px;background:var(--ink);margin:4px auto}
.cw .mnav{display:none}

@media (max-width:1300px){.cw .hdr .hdisc{display:none}}
@media (max-width:1100px){.cw .nav,.cw .hdr .tel{display:none}.cw .burger{display:block}.cw .hdr .btn{display:none}
 .cw .mnav.open{display:grid;gap:4px;padding:10px 24px 22px;border-top:1px solid rgba(35,31,32,.08);background:rgba(255,255,255,.9)}
 .cw .mnav a{font:600 17px var(--display);text-decoration:none;padding:12px 0;border-bottom:1px solid var(--cloud)}
 .cw .mnav .btn{margin-top:12px;justify-content:center;border-bottom:0}}
/* hero */
.cw .hero{position:relative;color:#fff;padding-block:clamp(90px,13vw,170px) clamp(70px,9vw,120px);overflow:hidden;background:var(--ink)}
.cw .hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
@media (prefers-reduced-motion:reduce){.cw .hero video.bg{display:none}}
.cw .hero video.bg{pointer-events:none}
@media (min-width:761px){.cw .hero.hasvid img.bg{display:none}.cw .hero.hasvid video.bg{left:auto;right:0;width:auto;height:100%;aspect-ratio:3/2;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%);mask-image:linear-gradient(90deg,transparent 0,#000 22%)}}
.cw .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,31,32,.9) 0%,rgba(35,31,32,.72) 48%,rgba(35,31,32,.35) 100%)}
.cw .hero .wrap{position:relative;z-index:1;display:grid;gap:22px}
.cw .hero .eyebrow{color:#E4E1E2}
.cw .quotebg{position:relative;overflow:hidden;background:var(--ink);color:#fff}
.cw .quotebg .qbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.cw .quotebg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,31,32,.92),rgba(35,31,32,.78))}
.cw .quotebg .wrap{position:relative;z-index:1}
.cw .quotebg .btn-line{color:#fff;border-color:rgba(255,255,255,.7)}
.cw .quotebg .btn-line:hover{background:#fff;color:var(--ink);border-color:#fff}
.cw .quotebg blockquote,.cw .quotebg cite b,.cw .quotebg .after{color:#fff!important}
.cw .quotebg cite{color:#D9D5D6!important}
.cw .quotebg .spark{color:var(--mark-inv)!important}
.cw .stat.statbadge{display:flex;flex-direction:row;align-items:center;gap:14px}.cw .statbadge img{width:clamp(56px,4.6vw,72px);image-rendering:auto;filter:drop-shadow(0 4px 10px rgba(35,31,32,.18));height:auto;flex-shrink:0}
.cw .statbadge>div{display:grid;gap:4px;white-space:nowrap}.cw .stat.statbadge b{font-size:clamp(26px,2.3vw,34px)}
@media (max-width:760px){.cw .stat.statbadge{flex-direction:column-reverse;align-items:flex-start;gap:10px;min-width:0}.cw .statbadge>div{white-space:normal}.cw .statbadge img{width:60px}}
.cw .stat{align-content:start}
.cw .herobadge{position:absolute;right:24px;bottom:0;width:clamp(150px,14vw,210px);height:auto;filter:drop-shadow(0 12px 30px rgba(0,0,0,.35))}
@media (max-width:1100px){.cw .herobadge{display:none}}
.cw .hero h1{max-width:29ch;line-height:1.14;letter-spacing:0}
.cw .hero .wrap{gap:28px}
.cw .hero .eyebrow{letter-spacing:.2em}
.cw .hero .lead{color:#EDEBEB;max-width:56ch}
.cw .ticks{display:grid;gap:10px;margin-top:4px}
.cw .ticks li{display:flex;gap:12px;align-items:flex-start;font-weight:500}
.cw .ticks .spark{width:15px;height:15px;color:var(--mark-inv);flex:0 0 auto;margin-top:5px}
.cw .hero .btns{margin-top:10px}
.cw .caplink{display:inline-block;margin-top:6px;color:#fff;font:700 15px var(--display);text-decoration:none;border-bottom:2px solid var(--mark-inv);padding-bottom:2px}
.cw .caplink:hover{color:var(--mark-inv)}
.cw .hero.short{padding-block:clamp(80px,10vw,130px) clamp(60px,7vw,90px)}
/* stats */
.cw .stats{border-bottom:1px solid var(--ash);padding-block:0}
.cw .stats .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.cw .stat{padding:16px 22px 16px 0;border-right:1px solid var(--ash);display:grid;gap:4px}
.cw .stat+.stat{padding-left:28px}
.cw .stat:last-child{border-right:0}
.cw .stat b{font:800 clamp(34px,3.2vw,44px)/1.05 var(--display)}
.cw .stat span{font-size:14px;color:var(--slate)}
@media (max-width:640px){.cw .lead{font-size:17px}.cw .stat b{font-size:32px}.cw .hero .btns .btn{width:100%;justify-content:center}}
@media (max-width:760px){.cw .stats .wrap{grid-template-columns:1fr 1fr}.cw .stat{padding:14px 12px 14px 0}.cw .stat+.stat{padding-left:0}.cw .stat:nth-child(2n){padding-left:18px;border-right:0}.cw .stat:nth-child(-n+2){border-bottom:1px solid var(--ash)}}
/* grids */
.cw .g4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cw .g3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cw .g2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
@media (max-width:980px){.cw .g4{grid-template-columns:1fr 1fr}.cw .g3{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.cw .g4,.cw .g3,.cw .g2{grid-template-columns:1fr}}
.cw .card{background:#fff;border:1px solid var(--ash);border-radius:var(--r);padding:28px;display:grid;gap:12px;align-content:start}
.cw .tint .card{border-color:#E4E3E4}
.cw .card p{color:var(--ink2);font-size:16px}
.cw .card .num{font:800 13px var(--display);letter-spacing:.14em;color:var(--slate)}
.cw a.card{text-decoration:none;transition:border-color .2s,transform .2s}
.cw a.card:hover{border-color:var(--ink);transform:translateY(-2px)}
.cw a.card .arrow{justify-self:start;margin-top:6px}
.cw .card.flag{background:var(--ink);color:#fff;border-color:var(--ink)}
.cw .card.flag p{color:#E4E1E2}
.cw .card.flag .num{color:var(--mark-inv)}
.cw .card.flag .arrow{border-bottom-color:var(--line-inv)}
/* split */
.cw .split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,6vw,80px);align-items:start}
.cw .split.mapsplit{grid-template-columns:.75fr 1.25fr;gap:clamp(24px,4vw,56px)}
@media (max-width:860px){.cw .split.mapsplit{grid-template-columns:1fr}.cw .split.mapsplit img{margin:0 -12px;width:calc(100% + 24px)!important}}
.cw .split.rev>:first-child{order:2}
.cw .split .ph{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;max-width:100%;background:var(--ash)}
.cw .split .ph img{width:100%;height:100%;object-fit:cover}
.cw .split .txt{display:grid;gap:18px;min-width:0}
@media (max-width:860px){.cw .split{grid-template-columns:1fr}.cw .split.rev>:first-child{order:0}}
/* lists */
.cw .rows{display:grid;border-top:1px solid var(--ash)}
.cw .rows li{display:grid;grid-template-columns:44px 1fr;gap:6px 14px;padding:18px 0;border-bottom:1px solid var(--ash)}
.cw .rows .n{font:800 14px/1.6 var(--display);color:var(--slate)}
.cw .rows h3{font-size:18px}
.cw .rows p{grid-column:2;color:var(--ink2);font-size:16px}
.cw .dark .rows,.cw .dark .rows li{border-color:#3A3536}
.cw .dark .rows p{color:#D6D2D3}
.cw .checks{display:grid;gap:10px}
.cw .checks li{display:flex;gap:12px;align-items:flex-start}
.cw .checks .spark{width:14px;height:14px;color:var(--mark);flex:0 0 auto;margin-top:6px}
.cw .cols3{columns:3 260px;column-gap:40px}
.cw .cols3 li{break-inside:avoid;padding:9px 0;border-bottom:1px solid var(--ash)}
/* projects */
.cw .tile{display:grid;gap:14px;text-decoration:none;align-content:start}
.cw .tile .ph{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;max-width:100%;background:var(--ash)}
.cw .tile .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cw .tile:hover .ph img{transform:scale(1.03)}
.cw .tile p{color:var(--ink2);font-size:16px}
.cw .tile .phx{background:var(--ink);display:grid;place-items:center;align-content:center;gap:14px;color:#fff;text-align:center;padding:24px}
.cw .tile .phx .spark{width:44px;height:44px;color:var(--mark-inv)}
.cw .tile .phx span{font:700 18px/1.3 var(--display);color:#fff;max-width:18ch}
.cw .proj{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,64px);align-items:start;padding-block:56px;border-top:1px solid var(--ash)}
.cw .proj:first-of-type{border-top:0;padding-top:0}
.cw .proj.rev>:first-child{order:2}
.cw .proj .ph{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;max-width:100%}
.cw .proj .ph img{width:100%;height:100%;object-fit:cover}
.cw .proj .txt{display:grid;gap:16px;min-width:0}
.cw .proj .out{font:700 16px var(--display);border-left:3px solid var(--line);padding-left:14px}
.cw .proj .quoteph{background:var(--ink);color:#fff;border-radius:var(--r);padding:clamp(28px,4vw,48px);display:grid;gap:18px;align-content:center;aspect-ratio:4/3}
.cw .proj .quoteph .spark{width:34px;height:34px}
.cw .proj .quoteph p{font:700 clamp(19px,2vw,24px)/1.35 var(--display)}
@media (max-width:860px){.cw .proj{grid-template-columns:1fr}.cw .proj.rev>:first-child{order:0}.cw .proj .quoteph{aspect-ratio:auto}}
/* quote band */
.cw .quote{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start;max-width:980px}
.cw .quote .spark{width:44px;height:44px;color:var(--mark);margin-top:6px}
.cw .quote blockquote{font:700 clamp(22px,2.6vw,31px)/1.32 var(--display);letter-spacing:-.005em}
.cw .quote cite{display:block;font-style:normal;margin-top:18px;color:var(--slate);font-size:16px}
.cw .quote cite b{color:var(--ink)}
.cw .quote .after{margin-top:14px;font-weight:600}
@media (max-width:640px){.cw .quote{grid-template-columns:1fr}}
/* creds */
.cw .creds{display:grid;grid-template-columns:auto 1fr 1fr;gap:clamp(28px,5vw,64px);align-items:start}
.cw .creds .badge{width:170px}
@media (max-width:900px){.cw .creds{grid-template-columns:1fr}.cw .creds .badge{width:140px}}
/* process */
.cw .steps{display:grid;grid-template-columns:repeat(6,1fr);border-top:2px solid var(--ink)}
.cw .steps li{padding:22px 18px 0 0;display:grid;gap:8px;align-content:start}
.cw .steps b{font:800 13px var(--display);letter-spacing:.14em;color:var(--slate)}
.cw .steps h3{font-size:18px}
.cw .steps p{font-size:15px;color:var(--ink2)}
@media (max-width:980px){.cw .steps{grid-template-columns:repeat(3,1fr);row-gap:28px}}
@media (max-width:560px){.cw .steps{grid-template-columns:1fr 1fr}}
/* table */
.cw .tbl{width:100%;border-collapse:collapse;font-size:16px}
.cw .tbl th,.cw .tbl td{text-align:left;padding:15px 16px 15px 0;border-bottom:1px solid var(--ash);vertical-align:top}
.cw .tbl th{font:700 14px var(--display);width:34%;color:var(--slate)}
/* cta */
.cw .cta .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:end}
.cw .cta .btns{justify-content:flex-start}
@media (max-width:860px){.cw .cta .wrap{grid-template-columns:1fr}}
/* contact */
.cw .contact{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(32px,5vw,72px);align-items:start}
.cw .formbox{background:#fff;border:1px solid var(--ash);border-radius:var(--r)}
.cw .cform{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;padding:clamp(20px,3vw,32px)}
.cw .cform .full{grid-column:1/-1}
.cw .cform label{display:grid;gap:6px;font:600 13px var(--display);color:var(--ink)}
.cw .cform .opt{font:400 12px var(--body);color:var(--slate);margin-left:4px}
.cw .cform input,.cw .cform select,.cw .cform textarea{font:400 16px var(--body);color:var(--ink);background:#fff;border:1px solid var(--ash);border-radius:8px;padding:12px 14px;width:100%;min-width:0}
.cw .cform input:focus,.cw .cform select:focus,.cw .cform textarea:focus{outline:2px solid var(--ink);outline-offset:1px;border-color:var(--ink)}
.cw .cform fieldset{border:0;padding:0;margin:0;display:grid;gap:8px}
.cw .cform legend{font:600 13px var(--display);margin-bottom:8px}
.cw .cform .cks{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
.cw .cform .cks label{display:flex;gap:8px;align-items:center;font:400 15px var(--body)}
.cw .cform .cks input{width:18px;height:18px;padding:0;accent-color:var(--ink)}
.cw .cform .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cw .cform button{width:100%;justify-content:center;margin-top:6px}
.cw .cform .ferr{color:#9B1C1C;font-size:14px;margin-top:10px}
.cw .fnote{font-size:14px;color:var(--slate)}
@media (max-width:640px){.cw .cform{grid-template-columns:1fr}.cw .cform .cks{grid-template-columns:1fr}}
.cw .details{display:grid;gap:22px}
.cw .details dl{display:grid;gap:16px;margin:0}
.cw .details dt{font:600 12px var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--slate)}
.cw .details dd{margin:2px 0 0;font-weight:600;font-size:18px}
.cw .details dd a{text-decoration:none}
.cw .details .ph{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3}
.cw .details .ph img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.cw .contact{grid-template-columns:1fr}}
/* footer */
.cw .ftr{background:var(--ink);color:#E4E1E2;padding-block:72px 32px;font-size:15px}
.cw .ftr .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid #3A3536}
.cw .ftr .logo img{height:52px;width:auto}
.cw .ftr .line{font:800 22px/1.25 var(--display);color:#fff;margin-top:22px;max-width:16ch}
.cw .ftr h4{font:600 12px var(--display);letter-spacing:.16em;text-transform:uppercase;color:#B9B4B5;margin-bottom:14px}
.cw .ftr ul{display:grid;gap:9px}
.cw .ftr a{text-decoration:none}
.cw .ftr a:hover{color:var(--mark-inv)}
.cw form[data-form="review"] .opt{display:none}
.cw .ftr .social{display:flex;gap:10px;margin-top:20px}
.cw .ftr .social a{display:grid;place-items:center;width:42px;height:42px;border:1px solid #4A4446;border-radius:50%;color:#fff;transition:background .2s,color .2s}
.cw .ftr .social a:hover{background:#fff;color:var(--ink)}
.cw .ftr .fine{padding-top:24px;font-size:13px;color:#9C9798;display:flex;flex-wrap:wrap;gap:6px 18px}
@media (max-width:900px){.cw .ftr .top{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cw .ftr .top{grid-template-columns:1fr}}
.cw .center-pad{padding-block:clamp(110px,16vw,200px)}
@media (prefers-reduced-motion:reduce){.cw *{transition:none!important}}
