@font-face{font-family:"Archivo X";src:url(/fonts/archivo-x800.woff2) format("woff2");font-weight:800;font-display:swap}
:root{--red-hi:#de1d22;--red:#cd1719;--red-lo:#9e1510;--red-deep:#5c0a0b;--night:#0f1012;--night-2:#18191c;--grad:linear-gradient(115deg,#e01f24 0%,#c21619 38%,#8f1311 72%,#5c0a0b 100%);--x:"Archivo X","Archivo","Helvetica Neue",Arial,sans-serif}
::selection{background:var(--red);color:#fff}
html{scrollbar-color:var(--red) var(--night)}
body.home{background:var(--night);color:#fff;caret-color:var(--red)}
body.home :focus-visible{outline:3px solid #fff;outline-offset:3px}
body.home main{background:#fff;color:var(--ink)}
.x{font-family:var(--x);font-weight:800;letter-spacing:-.035em;line-height:.92}

/* header */
.hh{position:fixed;inset:0 0 auto;z-index:75;transition:background .35s var(--ease),box-shadow .35s}
.hh__in{display:flex;align-items:center;justify-content:space-between;max-width:1440px;margin:0 auto;padding:40px var(--gut) 16px;transition:padding .4s var(--ease)}
.hh{pointer-events:none}
.hh .brand,.hh .burger{pointer-events:auto}
.hh.is-scrolled .hh__in{padding-top:18px;padding-bottom:12px}
.hh.menu-on .hh__in{padding-top:40px}
.hh .brand{display:block;overflow:hidden;width:clamp(210px,19vw,290px);transition:width .45s var(--ease)}
.hh .lk{display:block;width:clamp(210px,19vw,290px);height:auto}
.lk-top,.lk-word{fill:#fff;transition:fill .3s,opacity .3s}
.lk-low{transition:fill .3s}
.hh.is-scrolled:not(.menu-on) .brand{width:calc(clamp(210px,19vw,290px) * .212)}
.hh.is-scrolled:not(.menu-on) .lk-word{opacity:0}
.hh[data-tl=light]:not(.menu-on) .lk-top{fill:var(--night)}
.hh[data-tl=red] .lk-low,.hh.menu-on .lk-low{fill:var(--night)}
.burger{position:relative;z-index:80;display:inline-flex;align-items:center;gap:14px;padding:0 6px 6px 0;border:0;background:none;color:#fff;font:800 1.05rem/1 var(--x);letter-spacing:-.015em;cursor:pointer;transition:color .3s}
.hh[data-tr=light]:not(.menu-on) .burger{color:var(--night)}
.burger__ico{position:relative;flex:none;width:54px;height:54px}
.burger__ico::before,.burger__ico::after{content:"";position:absolute;inset:0;border-radius:14px;transition:transform .5s var(--ease),background .35s,border-color .35s,border-radius .5s var(--ease)}
.burger__ico::before{border:2px solid rgba(255,255,255,.9);transform:translate(6px,6px)}
.hh[data-tr=light]:not(.menu-on) .burger__ico::before{border-color:var(--night)}
.burger__ico::after{background:var(--grad);transform:rotate(-7deg);box-shadow:0 14px 26px -14px rgba(0,0,0,.6)}
.burger__ico i{position:absolute;z-index:1;right:13px;height:3px;border-radius:3px;background:#fff;transition:width .4s var(--ease),transform .45s var(--ease),top .45s var(--ease),opacity .25s,background .35s}
.burger__ico i:nth-child(1){top:17px;width:27px}
.burger__ico i:nth-child(2){top:25.5px;width:17px}
.burger__ico i:nth-child(3){top:34px;width:22px}
.burger:hover .burger__ico::after,.burger:focus-visible .burger__ico::after{transform:translate(3px,3px)}
.burger:hover .burger__ico i,.burger:focus-visible .burger__ico i{width:27px;transform:translate(3px,3px)}
.burger[aria-expanded=true] .burger__ico::after{background:#fff;transform:none;border-radius:50%}
.burger[aria-expanded=true] .burger__ico::before{border-color:var(--night);border-radius:50%}
.burger[aria-expanded=true] .burger__ico i{background:var(--night);width:26px;right:14px;top:25.5px}
.burger[aria-expanded=true] .burger__ico i:nth-child(1){transform:rotate(45deg)}
.burger[aria-expanded=true] .burger__ico i:nth-child(2){opacity:0;width:0}
.burger[aria-expanded=true] .burger__ico i:nth-child(3){transform:rotate(-45deg)}
.burger[aria-expanded=true]:hover .burger__ico i:nth-child(1){transform:rotate(135deg)}
.burger[aria-expanded=true]:hover .burger__ico i:nth-child(3){transform:rotate(45deg)}

/* menu */
.menu{position:fixed;inset:0;z-index:70;background:var(--grad);color:#fff;overflow:hidden auto;clip-path:circle(0 at calc(100% - 64px) 74px);visibility:hidden;transition:clip-path .7s cubic-bezier(.7,0,.2,1),visibility 0s .7s}
.menu.is-open{clip-path:circle(150% at calc(100% - 64px) 74px);visibility:visible;transition:clip-path .8s cubic-bezier(.7,0,.2,1),visibility 0s}
.menu__in{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px clamp(32px,6vw,120px);min-height:100%;max-width:1440px;margin:0 auto;padding:140px var(--gut) 56px;align-items:end}
.menu nav ul{list-style:none;margin:0;padding:0}
.menu nav li{overflow:hidden}
.menu nav a{display:block;padding:.12em 0;color:#fff;text-decoration:none;font:800 clamp(2.1rem,5.2vw,4.6rem)/.98 var(--x);letter-spacing:-.04em;transform:translateY(105%);transition:transform .7s var(--ease),color .2s}
.menu.is-open nav a{transform:none;transition-delay:calc(.18s + var(--i) * 60ms)}
.menu nav a small{display:block;margin-top:.35em;font:600 clamp(.82rem,.95vw,.95rem) var(--text);letter-spacing:.01em;color:rgba(255,255,255,.7);transition:color .2s}
.menu nav a:hover,.menu nav a:focus-visible{color:var(--night)}
.menu nav a:hover small,.menu nav a:focus-visible small{color:var(--night)}
.menu nav a[aria-current=page]{color:var(--night)}
.menu__side{display:grid;gap:28px;padding-bottom:10px;opacity:0;transform:translateY(20px);transition:opacity .5s .45s,transform .6s .45s var(--ease)}
.menu.is-open .menu__side{opacity:1;transform:none}
.menu__tel{display:block;color:#fff;text-decoration:none;font:800 clamp(1.45rem,2.3vw,2.15rem)/1 var(--x);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.menu__tel:hover{color:var(--night)}
.menu__side p{margin:0;color:rgba(255,255,255,.86);line-height:1.5}
.menu__side a{color:#fff}
.menu__label{display:block;font:600 .8rem var(--text);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:6px}
.menu__cta{justify-self:start;background:var(--night);border-color:var(--night);color:#fff}
.menu__cta:hover{background:#fff;border-color:#fff;color:var(--night)}
.m3d.menu__m{position:absolute;right:-9vw;bottom:-36vh;z-index:1;width:min(70vh,52vw);color:var(--night);opacity:.95;pointer-events:none}
.menu__small{display:flex;gap:20px;font-size:.92rem}
@media (max-width:860px){.menu__in{grid-template-columns:1fr;align-items:start;padding-top:120px}.m3d.menu__m{width:80vw;right:-20vw;bottom:-6vh;opacity:.5}}
body.menu-open{overflow:hidden}

/* 3D mark */
.m3d{position:relative;aspect-ratio:210/222;perspective:1400px}
.m3d__rig{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--rx,8deg)) rotateY(var(--ry,-22deg));transition:transform .9s var(--ease)}
.m3d svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.m3d__b{color:inherit;transform:translateZ(0)}
.m3d__ex{transform:translateZ(calc(var(--z) * 1px));filter:brightness(.42)}
.m3d__r{transform:translateZ(84px);filter:drop-shadow(-18px 26px 26px rgba(0,0,0,.45))}
.m3d__bs{transform:translateZ(calc(var(--z) * 1px));color:inherit;filter:brightness(.55)}

/* hero */
.hero2{position:relative;min-height:max(720px,100svh);display:grid;align-items:end;color:#fff;background:var(--night);overflow:hidden;isolation:isolate}
.hero2__bg{position:absolute;inset:0;z-index:-2}
.hero2__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.hero2::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,16,18,.92) 0%,rgba(15,16,18,.72) 42%,rgba(15,16,18,.08) 75%),linear-gradient(0deg,rgba(15,16,18,.95) 0%,rgba(15,16,18,0) 45%)}
.hero2__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:40px;align-items:end;max-width:1440px;width:100%;margin:0 auto;padding:150px var(--gut) clamp(48px,7vh,88px)}
.hero2 .h1d{font-family:var(--x);font-weight:800;font-size:clamp(1.6rem,4.1vw,4rem);line-height:.92;letter-spacing:-.04em;margin:0 0 .45em;color:#fff}
.hero2 .h1d .r{color:var(--red-hi)}
.hero2__lead{font-size:clamp(1.12rem,1.4vw,1.32rem);line-height:1.55;color:rgba(255,255,255,.86);max-width:34em;margin:0 0 2rem}
.hero2 .btn{min-height:50px;padding:.8em 1.4em;font-size:1rem}
.btn--red{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 12px 26px -14px rgba(0,0,0,.6)}
.btn--red:hover{background:#fff;color:var(--night);border-color:#fff}
.btn--line{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
.btn--line:hover{background:#fff;color:var(--night);border-color:#fff}
.hero2__m{justify-self:end;width:min(100%,430px);color:#f4f2ee;margin-bottom:6vh}
.hero2__place{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:40px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18);font-size:.95rem;color:rgba(255,255,255,.75)}
.hero2__place b{color:#fff;font-weight:600}
.credit{position:absolute;right:var(--gut);bottom:14px;z-index:1;font-size:.72rem;color:rgba(255,255,255,.55)}
.credit a{color:inherit}
@media (max-width:900px){.hero2__grid{grid-template-columns:1fr;padding-top:130px}.m3d.hero2__m{position:absolute;right:-18vw;top:96px;width:64vw;opacity:.22;margin:0;z-index:-1}}

/* red statement */
.stmt{background:var(--grad);color:#fff;padding:clamp(80px,12vw,170px) 0;position:relative;overflow:hidden}
.stmt__in{max-width:1440px;margin:0 auto;padding:0 var(--gut)}
.stmt p{font:800 clamp(1.35rem,2.7vw,2.6rem)/1.1 var(--x);letter-spacing:-.035em;margin:0;max-width:17em;text-wrap:balance}
.stmt p span{color:var(--night)}
.stmt__foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin-top:clamp(40px,6vw,72px)}
.stmt__foot p{font:400 clamp(1.05rem,1.3vw,1.2rem)/1.55 var(--text);letter-spacing:0;max-width:34em;color:rgba(255,255,255,.9)}
.btn--night{background:var(--night);border-color:var(--night);color:#fff}
.btn--night:hover{background:#fff;border-color:#fff;color:var(--night)}

/* services split */
.split2{display:grid;grid-template-columns:1fr 1fr}
.split2 > article{position:relative;display:flex;flex-direction:column;min-height:min(92vh,880px);padding:clamp(56px,7vw,110px) clamp(24px,5vw,88px);overflow:hidden}
.split2 > article:first-child{background:#fff}
.split2 > article:last-child{background:var(--night);color:#fff}
.split2 h2{font:800 clamp(2.1rem,4.3vw,4rem)/.96 var(--x);letter-spacing:-.04em;margin:0 0 .5em;hyphens:manual}
.split2 .tagline{font:600 1rem var(--text);margin:0 0 auto;padding-bottom:40px;color:var(--red)}
.split2 article:last-child .tagline{color:#ff4a4f}
.split2 p.lead{color:inherit;opacity:.85;max-width:30em}
.split2 article:last-child p.lead{color:#fff}
.bigli{list-style:none;margin:28px 0 40px;padding:0;border-top:1px solid currentColor;border-color:rgba(127,127,127,.3)}
.bigli li{padding:14px 0;border-bottom:1px solid rgba(127,127,127,.3);font-size:1.05rem;display:flex;gap:14px;align-items:baseline}
.bigli li::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--grad);transform:translateY(-1px)}
.arrowlink{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;font:800 clamp(1rem,1.15vw,1.1rem) var(--x);letter-spacing:-.015em;text-decoration:none;color:inherit}
.arrowlink span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--grad);color:#fff;transition:transform .35s var(--ease)}
.arrowlink span .ico{width:16px;height:16px}
.arrowlink:hover{color:var(--red)}
.split2 article:last-child .arrowlink:hover{color:#ff4a4f}
.arrowlink:hover span{transform:translateX(6px) rotate(-45deg)}
@media (max-width:900px){.split2{grid-template-columns:1fr}.split2 > article{min-height:0}}

/* process */
.proc{padding:clamp(80px,11vw,160px) 0;background:#fff}
.wrap2{max-width:1440px;margin:0 auto;padding:0 var(--gut)}
.h2x{font:800 clamp(2rem,4.3vw,4rem)/.96 var(--x);letter-spacing:-.04em;margin:0 0 .6em;max-width:12em}
.proc ol{list-style:none;margin:clamp(40px,6vw,80px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative}
.proc ol::before{content:"";position:absolute;left:0;right:0;top:35px;height:3px;background:var(--grad);border-radius:4px}
.proc li{position:relative;padding-right:clamp(16px,3vw,48px)}
.proc li b{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--night);color:#fff;font:800 1.7rem var(--x);margin-bottom:28px;position:relative;box-shadow:0 0 0 8px #fff}
.proc li:last-child b{background:var(--grad)}
.proc h3{font:800 clamp(1.15rem,1.5vw,1.42rem)/1.08 var(--x);letter-spacing:-.025em;margin:0 0 10px}
.proc p{color:var(--ink-2);margin:0;max-width:24em}
.proc li em{display:inline-block;margin-top:14px;font-style:normal;font-weight:700;color:var(--red)}
@media (max-width:820px){.proc ol{grid-template-columns:1fr;gap:40px}.proc ol::before{left:35px;right:auto;top:0;bottom:0;width:3px;height:auto}.proc li{padding-left:100px;min-height:72px}.proc li b{position:absolute;left:0;top:0;margin:0}}

/* region */
.region{position:relative;min-height:min(100svh,980px);display:grid;align-items:end;color:#fff;overflow:hidden;isolation:isolate;background:var(--night)}
.region__bg{position:absolute;inset:0;z-index:-2}
.region__bg img{width:100%;height:118%;object-fit:cover;object-position:50% 40%;will-change:transform}
.region::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(15,16,18,.94) 8%,rgba(15,16,18,.35) 55%,rgba(15,16,18,0) 80%)}
.region__in{padding-bottom:clamp(56px,8vw,110px);padding-top:30vh}
.region h2{font:800 clamp(2.4rem,6vw,5.1rem)/.94 var(--x);letter-spacing:-.04em;margin:0 0 .35em;max-width:11em}
.places{display:flex;flex-wrap:wrap;gap:8px 10px;list-style:none;margin:0 0 28px;padding:0}
.places li{padding:9px 16px;border:1px solid rgba(255,255,255,.35);border-radius:999px;font-weight:600;background:rgba(15,16,18,.45)}
.places li:first-child{background:var(--grad);border-color:transparent}
.region p{max-width:40em;color:rgba(255,255,255,.88);font-size:1.12rem;margin:0}

/* audience */
.aud2{background:var(--night);color:#fff;padding:clamp(80px,11vw,160px) 0}
.aud2 .h2x{color:#fff}
.rows{border-top:1px solid rgba(255,255,255,.18);margin-top:clamp(32px,5vw,64px)}
.row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px 48px;align-items:center;padding:clamp(26px,3.4vw,44px) 0;border-bottom:1px solid rgba(255,255,255,.18);position:relative}
.row h3{font:800 clamp(2.1rem,5.5vw,4.6rem)/.96 var(--x);letter-spacing:-.045em;margin:0;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.85);transition:color .4s var(--ease),-webkit-text-stroke-color .4s}
.row:hover h3,.row.in h3{color:#fff;-webkit-text-stroke-color:#fff}
.row p{margin:0;color:rgba(255,255,255,.78);font-size:1.08rem;max-width:30em}
.row::after{content:"";position:absolute;left:0;bottom:-1px;height:3px;width:100%;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.row:hover::after{transform:none}
@media (max-width:760px){.row{grid-template-columns:1fr}}

/* switch */
.sw{padding:clamp(80px,11vw,160px) 0;background:#fff}
.sw__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,110px);align-items:start}
.sw__lead{font-size:1.15rem;color:var(--ink-2);max-width:32em}
.sw ul{list-style:none;margin:0;padding:0;counter-reset:s}
.sw li{counter-increment:s;display:grid;grid-template-columns:58px 1fr;gap:6px 20px;padding:28px 0;border-bottom:1px solid var(--line)}
.sw li:first-child{border-top:3px solid var(--night)}
.sw li::before{content:counter(s);grid-row:span 2;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--grad);color:#fff;font:800 1.05rem var(--x)}
.sw h3{font:800 1.15rem/1.15 var(--x);letter-spacing:-.02em;margin:6px 0 4px}
.sw li p{margin:0;color:var(--ink-2)}
@media (max-width:860px){.sw__grid{grid-template-columns:1fr}}

/* person */
.pers{position:relative;background:var(--night);color:#fff;overflow:hidden;isolation:isolate}
.pers__bg{position:absolute;inset:0 0 auto;height:62%;z-index:-1}
.pers__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;opacity:.55}
.pers__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--night) 0%,rgba(15,16,18,.2) 60%,rgba(15,16,18,.6) 100%)}
.pers__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,100px);align-items:end;padding-top:clamp(120px,16vw,220px);padding-bottom:clamp(80px,10vw,140px)}
.pers__img{position:relative;aspect-ratio:4/5;border-radius:6px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.8)}
.pers__img img{width:100%;height:100%;object-fit:cover;object-position:50% 10%}

.pers h2{font:800 clamp(1.9rem,4vw,3.6rem)/.98 var(--x);letter-spacing:-.04em;margin:0 0 .5em;color:#fff}
.pers h2 span{color:#ff4a4f}
.pers p{color:rgba(255,255,255,.84);font-size:1.1rem;max-width:34em}
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;padding-top:28px;border-top:1px solid rgba(255,255,255,.2)}
.vals b{display:block;font:800 1.02rem var(--x);letter-spacing:-.02em;margin-bottom:6px;color:#fff}
.vals span{color:rgba(255,255,255,.72);font-size:.97rem}
.pers .credit{bottom:auto;top:16px}
@media (max-width:860px){.pers__grid{grid-template-columns:1fr}.pers__img{max-width:380px}.vals{grid-template-columns:1fr}}

/* news on home */
.news2{padding:clamp(80px,10vw,140px) 0;background:#fff}
.news2__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}
.news2 .news h3{font:800 clamp(1.1rem,1.55vw,1.42rem)/1.12 var(--x);letter-spacing:-.025em}
.news2 .news a{padding:34px 0}
.news2 .news .ico{width:22px;height:22px;color:var(--red)}

/* final cta */
.cta2{position:relative;background:var(--grad);color:#fff;overflow:hidden;isolation:isolate;padding:clamp(90px,12vw,180px) 0}
.cta2 h2{font:800 clamp(2.2rem,5.6vw,5.1rem)/.94 var(--x);letter-spacing:-.045em;margin:0 0 .5em;max-width:10em;color:#fff}
.cta2__tel{display:inline-block;font:800 clamp(1.5rem,3vw,2.7rem)/1 var(--x);letter-spacing:-.03em;color:#fff;text-decoration:none;border-bottom:3px solid var(--night);padding-bottom:6px;margin-bottom:36px;font-variant-numeric:tabular-nums}
.cta2__tel:hover{color:var(--night)}
.m3d.cta2__m{position:absolute;right:-4vw;top:50%;width:min(46vw,620px);transform:translateY(-50%);z-index:-1;color:var(--night)}
@media (max-width:860px){.m3d.cta2__m{opacity:.35;right:-30vw;width:90vw}}

body.home .ftr{border-top:0}

/* motion */
@media (prefers-reduced-motion:no-preference){
 .js .hero2__bg img{animation:heroBg 2.4s cubic-bezier(.2,.7,.2,1) both}
 .js .hero2__m .m3d__rig{animation:mIn 1.6s cubic-bezier(.16,.84,.24,1) .3s both}
 .js .hero2__m .m3d__r{animation:rIn 1.5s cubic-bezier(.16,.84,.24,1) .55s both}
 .js .hero2 .fade{opacity:0;animation:fIn .9s var(--ease) forwards;animation-delay:var(--d,.6s)}
}
@keyframes heroBg{from{transform:scale(1.12);filter:brightness(.6)}to{transform:none;filter:none}}
@keyframes mIn{from{opacity:0;transform:rotateX(30deg) rotateY(-70deg) translateZ(-300px)}}
@keyframes rIn{from{transform:translateZ(420px);opacity:0}}
@media (prefers-reduced-motion:reduce){.menu,.menu.is-open{transition:none}.menu nav a,.menu__side{transition:none!important;transform:none!important;opacity:1!important}.m3d__rig{transition:none}}
.region__in{width:100%}
body.home .ftr .wrap{max-width:1440px}
.nw{white-space:nowrap}
.hh.menu-on{background:transparent;box-shadow:none}
.menu nav li+li{margin-top:.15em}
.hero2 .h1d .l{display:block}
@media (max-width:600px){.hero2 .h1d{font-size:9.2vw;hyphens:manual}.burger__txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.burger__ico{width:48px;height:48px}.burger__ico i{right:11px}.burger__ico i:nth-child(1){top:15px;width:24px}.burger__ico i:nth-child(2){top:22.5px;width:15px}.burger__ico i:nth-child(3){top:30px;width:20px}.burger[aria-expanded=true] .burger__ico i{top:22.5px;width:24px;right:12px}.hh__in{padding-top:24px}.hh.menu-on .hh__in{padding-top:24px}.hh .brand,.hh .lk{width:200px}.hh.is-scrolled:not(.menu-on) .brand{width:43px}}
.aud2 .arrowlink:hover,.pers .arrowlink:hover,.split2 article:last-child .arrowlink:hover{color:#ff7a7e}
body.home .dark a:hover,.pers a:hover,.region a:hover{color:#ff7a7e}
.menu nav a{font-size:clamp(1.6rem,3.3vw,3.3rem)}
@media (max-width:1040px){.menu__in{grid-template-columns:1fr;align-items:start;padding-top:120px}}
/* scroll motion, only once JS has marked the page and motion is allowed */
@media (prefers-reduced-motion:no-preference){
 .mv .rv{transform:translateY(32px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
 .mv .hx{clip-path:inset(0 0 100% 0);transform:translateY(.4em);transition:clip-path 1.1s cubic-bezier(.7,0,.2,1),transform 1.2s var(--ease)}
 .mv .hx.in{clip-path:inset(-.3em -.3em -.4em -.3em);transform:none}
 .mv .stg>*{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i,0) * 110ms + .12s)}
 .mv .stg.in>*{opacity:1;transform:none}
 .mv .proc ol.stg::before{transform:scaleX(0);transform-origin:left;transition:transform 1.6s cubic-bezier(.7,0,.2,1) .1s}
 .mv .proc ol.in::before{transform:none}
 .mv .pers__img{clip-path:inset(35% 0 0 0 round 6px);transition:clip-path 1.4s cubic-bezier(.7,0,.2,1),opacity 1s,transform 1.1s var(--ease)}
 .mv .pers__img.in{clip-path:inset(0 round 6px)}
 .mv .pers__img img{scale:1.15;transition:scale 1.9s var(--ease)}
 .mv .pers__img.in img{scale:1}
 .mv .m3d.cta2__m{scale:.72;rotate:y -50deg;transition:scale 1.6s cubic-bezier(.16,.84,.24,1),rotate 1.8s cubic-bezier(.16,.84,.24,1)}
 .mv .m3d.cta2__m.in{scale:1;rotate:none}
}
@media (prefers-reduced-motion:no-preference) and (max-width:820px){
 .mv .proc ol.stg::before{transform:scaleY(0);transform-origin:top}
 .mv .proc ol.in::before{transform:none}
}

/* ---------- subpages ---------- */
.ph2{position:relative;display:grid;align-items:end;min-height:min(80svh,760px);background:var(--night);color:#fff;overflow:hidden;isolation:isolate}
.ph2--s{min-height:0}
.ph2--red{background:var(--grad)}
.ph2__bg{position:absolute;inset:0;z-index:-2}
.ph2__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.ph2__bg+.wrap2::before{content:none}
.ph2:has(.ph2__bg)::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,16,18,.94) 0%,rgba(15,16,18,.78) 45%,rgba(15,16,18,.18) 85%),linear-gradient(0deg,rgba(15,16,18,.92) 0%,rgba(15,16,18,0) 50%)}
.ph2__in{position:relative;width:100%;padding-top:clamp(150px,22vh,220px);padding-bottom:clamp(56px,9vh,100px)}
.ph2--s .ph2__in{padding-top:160px;padding-bottom:64px}
.crumbs2{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px;font-size:.92rem;color:rgba(255,255,255,.7)}
.crumbs2 a{color:#fff;text-underline-offset:3px}
.ph2 .h1d{font:800 clamp(1.9rem,4.2vw,3.8rem)/1 var(--x);letter-spacing:-.04em;margin:0 0 .55em;max-width:14em;color:#fff;text-wrap:balance}
.ph2--s h1{max-width:20em}
.ph2 .h1d .r{color:var(--red-hi)}
.ph2--red h1 .r{color:var(--night)}
.ph2__lead{font-size:clamp(1.06rem,1.25vw,1.2rem);line-height:1.6;color:rgba(255,255,255,.86);max-width:36em;margin:0 0 2rem}
.ph2--red .ph2__lead{color:rgba(255,255,255,.92)}
.ph2 .btn{min-height:50px;padding:.8em 1.4em}
.m3d.ph2__m{position:absolute;right:max(var(--gut),5vw);bottom:14%;width:min(24vw,320px);color:#f4f2ee}
.ph2--red .m3d.ph2__m{color:var(--night)}
@media (max-width:900px){.m3d.ph2__m{right:-16vw;top:100px;bottom:auto;width:56vw;opacity:.18;z-index:-1}}
.ph2__post .eyebrow{display:inline-block;margin:0 0 18px;padding:7px 14px;border-radius:999px;background:var(--grad);font:600 .85rem var(--text);letter-spacing:0;text-transform:none;color:#fff}
.ph2__post .crumbs{color:rgba(255,255,255,.7)}
.ph2__post .lead{color:rgba(255,255,255,.86)}

.blk{padding:clamp(72px,9vw,130px) 0;background:#fff}
.blk--night{background:var(--night);color:#fff}
.blk__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px clamp(40px,6vw,110px);align-items:start}
.blk__side{position:sticky;top:120px}
.blk__side .h2x{margin-bottom:.45em}
.blk__side p{color:var(--ink-2);max-width:26em;margin:0}
.blk--night .h2x{color:#fff}
.blk--night .blk__side p{color:rgba(255,255,255,.72)}
@media (max-width:900px){.blk__grid{grid-template-columns:1fr}.blk__side{position:static}}

.feat{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.feat li{padding:22px 0 24px;border-top:1px solid var(--line)}
.feat h3{display:flex;gap:12px;align-items:baseline;font:800 1.06rem/1.25 var(--x);letter-spacing:-.012em;margin:0 0 8px}
.feat h3::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--grad);transform:translateY(-2px)}
.feat p{margin:0;padding-left:20px;color:var(--ink-2);font-size:.98rem}
.blk--night .feat li{border-color:rgba(255,255,255,.16)}
.blk--night .feat p{color:rgba(255,255,255,.72)}
@media (max-width:640px){.feat{grid-template-columns:1fr}}

.tags{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.tags li{padding:11px 18px;border:1px solid var(--line-2,#d9d6d0);border-radius:999px;font-weight:600;background:#fff}
.tags li:first-child{background:var(--grad);border-color:transparent;color:#fff}

.facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.facts li{padding:26px 24px 8px 0;border-top:3px solid var(--night)}
.facts li+li{padding-left:24px;border-left:1px solid var(--line)}
.facts b{display:block;font:800 clamp(1.6rem,2.6vw,2.3rem)/1 var(--x);letter-spacing:-.035em;color:var(--red);margin-bottom:12px}
.facts span{color:var(--ink-2);font-size:.98rem}
@media (max-width:700px){.facts{grid-template-columns:1fr}.facts li+li{padding-left:0;border-left:0}.facts li{padding-bottom:24px}}

.proc--sand{background:#f4f2ee}
.proc--sand li b{box-shadow:0 0 0 8px #f4f2ee}
.stmt__note{margin:clamp(36px,5vw,56px) 0 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.3);font:400 .95rem/1.55 var(--text)!important;letter-spacing:0!important;max-width:52em!important;color:rgba(255,255,255,.85)}

.pers--flat .pers__grid{padding-top:clamp(80px,10vw,140px)}
.pers__who{font-weight:600;color:#ff7a7e;margin:0 0 14px}

.faq2 details{border-top:1px solid var(--line)}
.faq2 details:last-child{border-bottom:1px solid var(--line)}
.faq2 summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;cursor:pointer;font:800 clamp(1.02rem,1.35vw,1.22rem)/1.3 var(--x);letter-spacing:-.012em;transition:color .2s}
.faq2 summary::-webkit-details-marker{display:none}
.faq2 summary:hover{color:var(--red)}
.faq2 summary i{flex:none;position:relative;width:32px;height:32px;border-radius:50%;background:var(--grad)}
.faq2 summary i::before,.faq2 summary i::after{content:"";position:absolute;left:10px;right:10px;top:15px;height:2px;border-radius:2px;background:#fff;transition:transform .35s var(--ease)}
.faq2 summary i::after{transform:rotate(90deg)}
.faq2 details[open] summary i::after{transform:rotate(0)}
.faq2 .ans{padding:0 56px 26px 0;color:var(--ink-2)}
.faq2 .ans p{margin:0 0 .8em}
.faq2 .ans ul{margin:0 0 1em;padding-left:1.2em}
.faq2 .ans a{color:var(--red)}

.contact2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px clamp(40px,6vw,110px);align-items:start}
.cards2{display:grid;gap:12px;margin-top:8px}
.cards2>a,.cards2>div{display:flex;align-items:center;gap:18px;padding:18px 20px;border-radius:10px;background:var(--night);color:#fff;text-decoration:none;transition:background .25s}
.cards2>a:hover{background:#000}
.cards2 .c{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;background:var(--grad)}
.cards2 .ico{width:20px;height:20px;color:#fff}
.cards2 small{display:block;font-size:.84rem;color:rgba(255,255,255,.62);margin-bottom:2px}
.cards2 b{font:800 1.02rem/1.3 var(--x);letter-spacing:-.01em}
.contact2__area{margin-top:22px;color:var(--ink-2);font-size:.95rem}
.form2{padding:clamp(24px,3vw,40px);border-radius:12px;background:#f4f2ee}
@media (max-width:900px){.contact2{grid-template-columns:1fr}}

.news2--page{padding-top:clamp(56px,7vw,96px)}

.prose2{max-width:46em}
.prose2 h2{font:800 clamp(1.2rem,1.7vw,1.5rem)/1.2 var(--x);letter-spacing:-.02em;margin:2em 0 .6em}
.prose2 h2:first-child{margin-top:0}
.prose2 h3{font:800 1.1rem/1.25 var(--x);letter-spacing:-.01em}
.prose2 a{color:var(--red)}
.prose2 blockquote{border-left:0;padding:0 0 0 1.2em;position:relative;font-size:1.12rem}
.prose2 blockquote::before{content:"";position:absolute;left:0;top:.3em;bottom:.3em;width:1px;background:var(--red)}
.note2{display:flex;gap:14px;margin:0 0 2em;padding:20px 22px;border-radius:10px;background:#f4f2ee;font-size:.96rem;color:var(--ink-2)}
.note2 .ico{flex:none;width:22px;height:22px;color:var(--red);margin-top:.1em}
.note2 p{margin:0}

/* services: both columns share one row grid, so tagline, heading, lead and list line up */
@media (min-width:901px){
 .split2{grid-template-rows:auto auto auto 1fr auto}
 .split2 > article{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0;min-height:0;align-content:start}
 .split2 .tagline{margin:0 0 22px;padding:0}
 .split2 h2{align-self:start}
 .split2 .arrowlink{align-self:end;justify-self:start}
}

/* closing contact band: quiet, compact */
.cta2{background:#f4f2ee;color:var(--ink);padding:clamp(48px,6vw,80px) 0;overflow:visible;isolation:auto}
.cta2 .wrap2{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 48px}
.cta2 h2{font:800 clamp(1.3rem,2vw,1.75rem)/1.15 var(--x);letter-spacing:-.025em;margin:0;max-width:none;color:var(--ink)}
.cta2 p{margin:6px 0 0;color:var(--ink-2);font-size:.98rem}
.cta2__act{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.cta2__tel{font:800 clamp(1.1rem,1.5vw,1.3rem)/1 var(--x);letter-spacing:-.015em;color:var(--red);border:0;padding:0;margin:0;text-decoration:none}
.cta2__tel:hover{color:var(--ink)}
.cta2 .btn{min-height:46px;padding:.7em 1.3em;font-size:.95rem}
.hh[data-tr=red]:not(.menu-on) .burger__ico::after{background:var(--night)}

/* SEO heading: the display line is a paragraph, the keyword line under it is the real h1 */
.ph2--s .ph2__in h1,.ph2__post h1{font:800 clamp(1.9rem,4.2vw,3.8rem)/1 var(--x);letter-spacing:-.04em;margin:0 0 .55em;max-width:20em;color:#fff;text-wrap:balance}
.h1k{font:700 clamp(1.02rem,1.2vw,1.15rem)/1.45 var(--text);letter-spacing:.005em;color:#fff;margin:.2em 0 1.1em;max-width:34em}
.ph2--red .h1k{color:#fff}

.linkbtn{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:none}
.linkbtn:hover,.linkbtn:focus-visible{text-decoration:underline;text-underline-offset:3px}
.ftr__bot .linkbtn{color:#e9e7e3}
.menu__small .linkbtn{color:#fff}
@media (min-width:1041px),(min-width:861px) and (orientation:landscape),(min-width:861px) and (min-height:900px){
.menu{overflow:hidden}
.menu__in{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.menu__in{height:100vh;height:100dvh;min-height:0;align-items:center;align-content:center;padding:clamp(88px,12vh,140px) var(--gut) clamp(24px,4vh,56px)}
.menu nav a{font-size:clamp(1.4rem,min(3.3vw,5.4vh),3.3rem)}
.menu nav a small{font-size:clamp(.74rem,min(.95vw,1.55vh),.95rem);margin-top:.25em}
.menu nav li+li{margin-top:min(.15em,.6vh)}
.menu__side{gap:clamp(12px,2.6vh,28px);padding-bottom:0}
.menu__tel{font-size:clamp(1.2rem,min(2.3vw,3.6vh),2.15rem)}
}
.menu__small .linkbtn{text-decoration:underline}
.menu__small{flex-wrap:wrap;row-gap:8px}
.menu__small>*{white-space:nowrap}
.ftr__lm{display:inline-flex;align-items:center;margin-left:20px;opacity:.5;transition:opacity .2s;vertical-align:middle;transform:translateY(3px)}
.ftr__lm:hover,.ftr__lm:focus-visible{opacity:.9}
.ftr__lm img{display:block;width:180px;height:auto}
.lm-credit{line-height:1.7}
.lm-credit img{display:block;width:260px;height:auto;margin:.4em 0 .9em}
@media (max-width:860px){.ftr__lm{display:flex;width:max-content;margin:14px 0 0;transform:none}}
