:root{--px:2rem;--g:#e4e4e4;--mut:#555}
@media(max-width:767px){:root{--px:1.125rem}}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}
body{font-family:'Instrument Sans',Helvetica,Arial,sans-serif;font-weight:500;font-size:17px;line-height:1.45;color:#000;background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}
.lbl,.top nav a,.top .brand,.top .sub,.foot .cols,.cta .lbl{font-family:'Barlow Semi Condensed',Arial,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.1em;line-height:1.2}
.lbl{font-size:14px;display:block;margin-bottom:1.5rem;color:var(--mut)}
.pad{padding:0 var(--px);max-width:1760px;margin:0 auto}
h1{font-size:clamp(48px,7.4vw,112px);line-height:.95;letter-spacing:-.035em;font-weight:500}
h2.big{font-size:clamp(28px,3.4vw,48px);line-height:1.08;letter-spacing:-.02em;font-weight:500;max-width:26em}
h3{font-weight:500;letter-spacing:-.02em}
.lead{font-size:20px;line-height:1.35;max-width:34em}
/* header */
.top{background:#fff;color:#000;border-bottom:1px solid #000}
.top .in{display:flex;align-items:baseline;gap:2.5rem;padding:1.25rem var(--px);max-width:1760px;margin:0 auto;flex-wrap:wrap}
.top .brand{font-size:16px;font-weight:500;margin-right:auto}
.top .sub{font-size:14px;color:var(--mut)}
.top nav{display:flex;gap:2rem;flex-wrap:wrap}
.top nav a{font-size:15px;padding:.3rem 0;border-bottom:1px solid transparent;transition:border-color .2s}
.top nav a:hover,.top nav a[aria-current]{border-color:currentColor}
.top.over{position:absolute;top:0;left:0;right:0;z-index:5;background:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,0));color:#fff;border:0}
.top.over .sub{color:rgba(255,255,255,.85)}
/* hero */
.hero{position:relative;min-height:max(100svh,640px);background:#0b1214;color:#fff;display:flex;align-items:flex-end;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 50%}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.6) 32%,rgba(0,0,0,.1) 62%,rgba(0,0,0,.2) 100%),linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0) 65%)}
.hero .txt{position:relative;z-index:2;padding:0 var(--px) 4rem;max-width:1760px;margin:0 auto;width:100%}
.hero .tag{margin-top:1.75rem;font-size:20px;line-height:1.35;max-width:30em;color:#fff}
.btns{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.pill{display:inline-flex;align-items:center;border:1px solid currentColor;border-radius:99px;padding:.85rem 1.7rem;font-size:18px;line-height:1.2;transition:background .2s,color .2s;background:none;color:inherit;font-family:inherit;font-weight:500;cursor:pointer}
.hero .pill:hover,.pill:hover{background:#fff;color:#000}
.pill.solid{background:#fff;color:#000;border-color:#fff}.hero .pill.solid:hover{background:transparent;color:#fff}
/* sections */
.stmt{padding:6rem 0 7rem}
.full{display:block;position:relative;height:min(80vh,820px);min-height:360px;background:#0b1214;overflow:hidden}
.full img{width:100%;height:100%;object-fit:cover}
.full:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,0) 40%)}
.full .cap{position:absolute;left:var(--px);bottom:1.75rem;color:#fff;margin:0;z-index:2}
.two{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.areas{padding:3rem 0 7rem}
.areas .two{margin-bottom:3rem}
.areas ul{list-style:none;columns:2;column-gap:2rem}
.areas li{font-size:clamp(40px,6vw,86px);line-height:1.05;letter-spacing:-.03em;break-inside:avoid;border-top:1px solid #000;padding:.5rem 0}
.black{background:#000;color:#fff;padding:5rem 0 7rem}
.black .lbl{color:rgba(255,255,255,.75)}
.black .big{padding-bottom:5rem}
.rowsw{align-items:start}
.rows{list-style:none}
.rows li{border-top:1px solid rgba(255,255,255,.3)}.rows li:last-child{border-bottom:1px solid rgba(255,255,255,.3)}
.rows a{display:grid;grid-template-columns:3.2rem 1fr;padding:1rem 0;font-size:21px;line-height:1.25;transition:padding .25s}
.rows a:hover{padding-left:.6rem}.rows .n{font-family:'Barlow Semi Condensed',sans-serif;font-size:15px;letter-spacing:.1em;opacity:.8;padding-top:.2rem}
.steps{padding:7rem 0 5rem}
.steps h2{margin-bottom:1.25rem}
.steps ol{list-style:none;margin-top:4rem}
.step{border-top:1px solid #000;padding:1.25rem 0 3rem;display:grid;grid-template-columns:3fr 5fr 4fr;gap:1.5rem}
.step .lbl{margin:0}
.step h3{font-size:clamp(32px,4vw,56px);line-height:1;letter-spacing:-.03em}
.step p{font-size:17px;line-height:1.4;padding-top:.4rem}
.cta{border-top:1px solid #000;padding:6rem 0 7rem}
.cta .big{font-size:clamp(34px,5.4vw,80px);letter-spacing:-.03em;line-height:1.02;max-width:16em;margin-bottom:2.5rem}
.cta .pill:hover{background:#000;color:#fff}
/* inner */
.ph{padding:6rem 0 5rem}
.ph h1{font-size:clamp(48px,8vw,120px);margin-bottom:2.5rem}
.svcs{padding-bottom:6rem}.svcs ul{list-style:none}
.svc{border-top:1px solid #000;padding:1.5rem 0 3rem;display:grid;grid-template-columns:1fr 6fr 5fr;gap:1.5rem;align-items:start}
.svc:last-child{border-bottom:1px solid #000}
.svc .lbl{margin:.6rem 0 0}.svc h3{font-size:clamp(30px,3.4vw,48px);line-height:1.02}
.svc p{font-size:18px;margin-bottom:1rem}.svc ul li{padding:.6rem 0;border-top:1px solid var(--g);font-size:17px}
.pair{padding-bottom:3rem}.pair .pad{display:grid;grid-template-columns:5fr 7fr;gap:1rem;align-items:end}
.pair img{width:100%;aspect-ratio:1/1;object-fit:cover}.pair img+img{aspect-ratio:4/3}
.vals{padding-bottom:7rem}.vg{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.val{border-top:1px solid #000;padding-top:1rem}.val h3{font-size:30px;margin:1.5rem 0 .8rem}.val p{font-size:17px;max-width:30em}
/* form */
.formsec{padding-bottom:8rem}.formsec .two{grid-template-columns:5fr 7fr;gap:4rem}
.side p{font-size:20px;line-height:1.35;margin-bottom:1.25rem}.side .who{font-size:17px}
.demo{color:var(--mut);font-size:15px!important}
form label{display:block;border-top:1px solid #000;padding:.9rem 0 1rem}
form label .lbl{margin-bottom:.4rem}
form input,form textarea{width:100%;border:0;background:none;font:inherit;font-size:24px;letter-spacing:-.01em;outline:0;color:#000;border-radius:0;resize:vertical}
form input:focus,form textarea:focus{background:#f4f4f4}
form em{display:none;font-style:normal;color:#b3261e;font-size:15px;margin-top:.3rem}
form label.bad{border-top-color:#b3261e}form label.bad em{display:block}
form button.pill{margin-top:1.5rem;font-size:19px;padding:1rem 2.2rem;background:#000;color:#fff;border-color:#000}
form button.pill:hover{background:#fff;color:#000}
.ok p{font-size:18px;max-width:34em;margin:1.2rem 0 2rem}
.ok[hidden],form[hidden]{display:none}
/* footer */
.foot{border-top:1px solid #000;padding:2.5rem 0 1.5rem;overflow:hidden}
.foot .in{padding:0 var(--px);max-width:1760px;margin:0 auto}
.foot .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;font-size:15px}
.foot .cols div{display:flex;flex-direction:column;gap:4px}.foot b{font-weight:400;color:var(--mut);margin-bottom:4px}
.foot a:hover{text-decoration:underline}.foot .demo{font-size:15px!important}
.foot .mega{font-size:min(15.5vw,260px);line-height:.9;letter-spacing:-.05em;margin:4rem 0 0 -.05em;white-space:nowrap}
@media(max-width:900px){
 .top .sub{display:none}.top .in{gap:.4rem 1.5rem}.top nav{gap:.25rem 1.4rem;width:100%}
 .two,.formsec .two{grid-template-columns:1fr;gap:1rem}.formsec .two{gap:2.5rem}
 .areas ul{columns:1}.stmt{padding:4rem 0 4.5rem}
 .step,.svc{grid-template-columns:1fr;gap:.8rem}.step{padding-bottom:2.5rem}
 .vg{grid-template-columns:1fr}.pair .pad{grid-template-columns:1fr}
 .ph{padding:4rem 0 3rem}.foot .cols{grid-template-columns:1fr 1fr}
 .hero .txt{padding-bottom:2.5rem}.hero img{object-position:22% 50%}
 .black{padding:4rem 0 5rem}.black .big{padding-bottom:3rem}.cta{padding:4rem 0 5rem}
 h1{font-size:clamp(46px,13vw,64px)}.areas li{font-size:44px}
}
