:root{--fg:#000;--bg:#fff;--gray:#e4e4e4;--px:2rem;--gap:1rem}
@media(max-width:767px){:root{--px:1.125rem}}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}
body{font-family:'Instrument Sans',Helvetica,Arial,sans-serif;font-weight:500;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.mono,.lbl{font-family:'Barlow Semi Condensed',sans-serif;font-weight:400;text-transform:uppercase;font-size:12px;letter-spacing:.1em;line-height:1.15}
.grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);padding:0 var(--px)}
.c-1-6{grid-column:1/7}.c-7-12{grid-column:7/13}.c-1-12{grid-column:1/13}.c-4-7{grid-column:4/7}.c-1-4{grid-column:1/4}.c-5-8{grid-column:5/8}.c-9-12{grid-column:9/13}
h1{font-size:62px;line-height:.95;letter-spacing:-.01em;font-weight:500}
h2,.big{font-size:40px;line-height:1;letter-spacing:-.01em;font-weight:500}
.line{display:block;overflow:hidden;padding:.14em 0 .14em;margin:-.14em 0 -.14em}.line>span{display:block;will-change:transform}
/* header */
header.top{position:absolute;top:1.75rem;left:0;right:0;z-index:50;color:#fff;align-items:start}
header.top.dark{color:#000}
header.top nav{display:flex;flex-direction:column;gap:2px}
header.top a{transition:opacity .3s}header.top a:hover{opacity:.55}
.burger{position:fixed;top:1.25rem;right:var(--px);z-index:70;width:40px;height:30px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:6px;mix-blend-mode:difference;color:#fff}
.burger i{display:block;height:1px;background:#fff;width:14px;transition:transform .5s cubic-bezier(.7,0,.2,1),width .4s}
.burger:hover i:first-child{width:22px}.burger.open i:first-child{transform:translateY(3.5px) rotate(45deg);width:20px}.burger.open i:last-child{transform:translateY(-3.5px) rotate(-45deg);width:20px}
/* menu */
.menu{position:fixed;inset:0;z-index:60;background:#fff;clip-path:inset(0 0 100% 0);pointer-events:none;align-content:space-between;padding-top:6rem;padding-bottom:1.75rem;display:grid}
.menu.open{pointer-events:auto}
.menu ul{list-style:none;grid-column:1/13}
.menu li{overflow:hidden}.menu li a{display:block;font-size:min(11vw,120px);line-height:1.02;letter-spacing:-.02em;color:#000;transition:color .3s}
.menu ul:hover a{color:var(--gray)}.menu ul a:hover{color:#000}
.menu .info{grid-column:1/13;display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);row-gap:1rem;margin-top:2rem}
.menu .info div{grid-column:span 4}
.shade{position:fixed;inset:0;background:#000;z-index:55;opacity:0;pointer-events:none}
/* intro / transition */
.intro{position:fixed;inset:0;z-index:100;background:#000;color:#fff;display:grid;align-content:space-between;padding:var(--px)}
.intro .cnt{font-size:min(22vw,320px);line-height:.8;letter-spacing:-.04em;text-align:right}
.wipe{position:fixed;inset:0;z-index:99;background:#000;transform:translateY(100%);pointer-events:none}
/* cursor */
.cursor{position:fixed;top:0;left:0;z-index:90;pointer-events:none;width:0;height:0}
.cursor span{position:absolute;left:0;top:0;transform:translate(-50%,-50%) scale(0);width:84px;height:84px;border-radius:50%;background:#fff;color:#000;display:grid;place-items:center;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.cursor.on span{transform:translate(-50%,-50%) scale(1)}
@media(hover:none){.cursor{display:none}}
/* hero */
.hero{position:relative;min-height:100svh;overflow:hidden;color:#fff;align-items:end;padding-bottom:1.75rem;background:#0b1214}
.hero .bg{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,0) 40%,rgba(0,0,0,.35))}
.hero>*{position:relative;z-index:2}
.hero h1{grid-column:1/7;align-self:center;position:absolute;left:var(--px);top:42%;}
.hero .tag{grid-column:7/13;position:absolute;top:calc(42% + .4rem);left:50%;max-width:22ch;line-height:1.3}
.hero .b1{grid-column:1/7}.hero .b2{grid-column:7/13}
.hero.sub{min-height:70svh}
.sec{padding-top:1.75rem}
.stmt{padding-top:1.75rem;padding-bottom:6rem}.stmt .big{grid-column:1/13;margin-top:12rem}
.stmt .lbl{grid-column:1/13}
.full{height:100svh;overflow:hidden;position:relative;display:block;background:#0b1214;cursor:pointer}
.full img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover}
.full .cap{position:absolute;left:var(--px);bottom:1.75rem;color:#fff;z-index:2}
/* list with image */
.areas{padding-bottom:8rem;overflow:hidden}
.areas .head{align-items:start;padding-top:1.75rem}
.areas .wrap{position:relative;padding-top:10rem}
.areas ul{list-style:none;grid-column:1/8}
.areas li{font-size:clamp(46px,6vw,86px);line-height:1.02;letter-spacing:-.025em;color:var(--gray);transition:color .4s;white-space:nowrap}
.areas li.act{color:#000}
.areas .pic{position:sticky;top:30vh;grid-column:7/10;grid-row:1;aspect-ratio:1;overflow:hidden;align-self:start;margin-top:0}
.areas .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s}.areas .pic img.on{opacity:1}
.areas .wrap{align-items:start}
.areas ul{grid-row:1}
/* black */
.black{background:#000;color:#fff;padding-top:3.5rem;position:relative;z-index:2}
.black .big{grid-column:1/13;padding-top:8rem;padding-bottom:5rem}
.rows{grid-column:7/13;list-style:none}
.rows li{border-top:1px solid rgba(255,255,255,.22)}
.rows li:last-child{border-bottom:1px solid rgba(255,255,255,.22)}
.rows a,.rows .r{display:grid;grid-template-columns:3.2rem 1fr;gap:0;padding:.95rem 0;font-size:20px;line-height:1.2;transition:padding .4s,color .3s;align-items:baseline}
.rows a:hover{padding-left:.6rem}.rows .n{font-family:'Barlow Semi Condensed';font-size:12px;letter-spacing:.1em;opacity:.7}
.black .lblrow{align-items:start;padding-bottom:0;padding-top:0;position:relative}
.black .lblrow .lbl{grid-column:1/7}
/* footer */
footer.foot{position:relative;height:100svh;clip-path:inset(0);margin-top:0;z-index:1;background:#fff}
footer.foot .in{position:fixed;left:0;right:0;bottom:0;height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding:1.75rem var(--px);background:#fff}
footer.foot .mega{font-size:min(15.5vw,300px);line-height:.82;letter-spacing:-.05em;font-weight:500}
footer.foot .cols{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);row-gap:1.5rem}
footer.foot .cols>div{grid-column:span 3;display:flex;flex-direction:column;gap:3px}
footer.foot a:hover{opacity:.5}
main{position:relative;z-index:2;background:#fff}
/* inner pages */
.ph{padding-top:11rem;padding-bottom:6rem;align-items:end}
.ph h1{grid-column:1/10;font-size:clamp(46px,8.2vw,130px);line-height:.92;letter-spacing:-.035em}
.ph .lead{grid-column:7/13;margin-top:2.5rem;font-size:20px;line-height:1.25}
.ph .lbl{grid-column:1/13;margin-bottom:2rem}
.svc{border-top:1px solid #000;grid-column:1/13}
.svc:last-child{border-bottom:1px solid #000}
.svc .row{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);padding:1.2rem 0;align-items:start;cursor:pointer}
.svc .row .n{grid-column:1/2}.svc .row h3{grid-column:2/7;font-size:40px;line-height:1;letter-spacing:-.02em;font-weight:500}
.svc .row .d{grid-column:7/12;font-size:16px;line-height:1.3}
.svc .row .pl{grid-column:12/13;text-align:right;font-size:28px;line-height:1;transition:transform .4s}
.svc.open .pl{transform:rotate(45deg)}
.svc .more{height:0;overflow:hidden}
.svc .more ul{grid-column:7/12;list-style:none;padding:0 0 1.6rem}
.svc .more li{padding:.5rem 0;border-top:1px solid #ddd;font-size:16px}
.svc .more .mgrid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap)}
.svc:hover h3{transform:translateX(.5rem)}.svc h3{transition:transform .4s}
.stepsec{padding-bottom:6rem}
.step{border-top:1px solid #000;padding:1.2rem 0 5rem;align-items:start;display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);grid-column:1/13}
.step .num{grid-column:1/4;position:sticky;top:1.5rem}
.step h3{grid-column:4/9;font-size:56px;line-height:.98;letter-spacing:-.03em;font-weight:500}
.step p{grid-column:9/13;font-size:16px;line-height:1.35;margin-top:.4rem}
.vals{padding:2rem 0 8rem}
.val{grid-column:span 4;border-top:1px solid #000;padding-top:1rem;min-height:15rem}
.val h3{font-size:28px;letter-spacing:-.02em;line-height:1;margin:2.5rem 0 1rem;font-weight:500}.val p{font-size:16px;line-height:1.3;max-width:34ch}
.img-pair{padding-bottom:6rem;row-gap:var(--gap)}
.img-pair .im{overflow:hidden;position:relative;aspect-ratio:4/5}.img-pair .im img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover}
.img-pair .a{grid-column:1/6}.img-pair .b{grid-column:7/13;aspect-ratio:4/3;align-self:end}
/* form */
.form{padding-bottom:9rem;align-items:start}
.form .side{grid-column:1/6;position:sticky;top:2rem}
.form .side p{font-size:20px;line-height:1.25;margin:1rem 0}
form{grid-column:7/13;display:grid;gap:0}
.f{border-top:1px solid #000;padding:.9rem 0 1rem;position:relative;display:block}
.f span{display:block;margin-bottom:.45rem}
.f input,.f textarea,.f select{width:100%;border:0;background:none;font:inherit;font-size:24px;letter-spacing:-.01em;outline:0;color:#000;appearance:none;border-radius:0}
.f textarea{min-height:7rem;resize:vertical}
.f.err{border-top-color:#c0392b}.f.err span{color:#c0392b}
.f .em{display:none;color:#c0392b;margin-top:.3rem}.f.err .em{display:block}
.chk{display:flex;gap:.7rem;align-items:flex-start;border-top:1px solid #000;padding:1rem 0;font-size:14px;line-height:1.3}
.chk input{margin-top:.2rem;accent-color:#000;width:16px;height:16px}
.chk.err{color:#c0392b}
.btn{display:inline-flex;justify-content:space-between;align-items:center;width:100%;background:#000;color:#fff;padding:1.2rem 1.4rem;font-size:20px;margin-top:1rem;transition:background .3s,color .3s;border:1px solid #000}
.btn:hover{background:#fff;color:#000}
.ok{display:none;grid-column:7/13;padding:1rem 0}.ok.show{display:block}
.ok .big{margin:1rem 0}.ok p{font-size:18px;line-height:1.3;max-width:40ch}
.cta{padding:6rem 0 3rem}
.cta .big{grid-column:1/10;font-size:clamp(40px,6vw,90px);letter-spacing:-.03em}
.cta a.pill{grid-column:1/13;margin-top:2.5rem;display:inline-flex;width:max-content;border:1px solid #000;border-radius:99px;padding:.9rem 1.6rem;font-size:18px;transition:background .3s,color .3s}
.cta a.pill:hover{background:#000;color:#fff}
.demo{opacity:.55}
@media(max-width:767px){
 h1{font-size:44px}h2,.big{font-size:28px}
 .c-1-6,.c-7-12,.c-1-4,.c-4-7,.c-5-8,.c-9-12{grid-column:1/13}
 header.top nav{display:none}header.top .c-mid{display:none}
 .hero h1{grid-column:1/13;top:40%;width:calc(100% - 2*var(--px))}.hero .tag{left:var(--px);top:auto;bottom:6rem;position:absolute;max-width:30ch}
 .hero .b2{grid-column:7/13}
 .stmt{padding-bottom:4rem}.stmt .big{margin-top:6rem}
 .areas .wrap{padding-top:5rem}.areas ul{grid-column:1/13}.areas li{white-space:normal}.areas .pic{display:none}
 .black .big{padding-top:8rem;padding-bottom:3rem}.rows{grid-column:1/13}.black .lblrow{padding-bottom:5rem}
 .menu .info div{grid-column:span 12}.menu li a{font-size:13vw}
 footer.foot .cols>div{grid-column:span 6}
 .ph{padding-top:8rem;padding-bottom:3rem}.ph h1{grid-column:1/13;font-size:14vw}.ph .lead{grid-column:1/13;font-size:18px;margin-top:1.5rem}
 .svc .row{row-gap:.8rem}.svc .row .n{grid-column:1/3}.svc .row h3{grid-column:1/12;grid-row:2;font-size:32px}.svc .row .d{grid-column:1/13;grid-row:3}.svc .row .pl{grid-column:12/13;grid-row:1}
 .svc .more ul{grid-column:1/13}
 .step{padding-bottom:3rem;row-gap:.8rem}.step .num{grid-column:1/13;position:static}.step h3{grid-column:1/13;font-size:38px}.step p{grid-column:1/13}
 .val{grid-column:1/13;min-height:0;padding-bottom:2rem}.val h3{margin-top:1.2rem}
 .img-pair .a,.img-pair .b{grid-column:1/13}
 .form .side{grid-column:1/13;position:static;margin-bottom:2rem}form,.ok{grid-column:1/13}
 .f input,.f textarea,.f select{font-size:20px}
 .cta .big{grid-column:1/13}
}
.f select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23000' fill='none'/%3E%3C/svg%3E") no-repeat right center;padding-right:24px}
