html,body{margin:0;padding:0;background:#fff;color:#2B2C30;-webkit-font-smoothing:antialiased}
html{scroll-behavior:smooth;scroll-padding-top:96px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
*{box-sizing:border-box}
a{color:#E52726;text-decoration:none}
a:hover{color:#B81C1B}
::selection{background:#E52726;color:#fff}
input,textarea,button{font:inherit}
input::placeholder,textarea::placeholder{color:#8A8B90}
img{max-width:100%}
[hidden]{display:none!important}
#formSent:focus{outline:none}
:focus-visible{outline:2px solid #E52726;outline-offset:3px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:16px;transform:translateY(-200%);z-index:100;background:#2B2C30;color:#fff;padding:10px 16px;border-radius:10px}
.skip:focus{transform:none;color:#fff}

/* reveal (only when JS + motion enabled) */
.motion [data-rv]:not([data-rv="line"]){opacity:0;transform:translateY(40px)}
.motion.subtle [data-rv]:not([data-rv="line"]){transform:translateY(16px)}
.motion [data-rv="line"]{transform:translateY(105%)}
.motion [data-rv].in{opacity:1;transform:none}

/* nav */
#siteHeader{position:fixed;top:20px;left:0;right:0;z-index:60;padding:0 clamp(12px,3vw,32px);display:flex;justify-content:center;pointer-events:none;transition:top .35s ease}
#siteHeader nav{pointer-events:auto;width:100%;max-width:1240px;height:68px;padding:0 10px 0 clamp(18px,2.4vw,28px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(255,255,255,.88);backdrop-filter:saturate(1.4) blur(18px);-webkit-backdrop-filter:saturate(1.4) blur(18px);border:1px solid rgba(43,44,48,.08);border-radius:20px;box-shadow:0 14px 40px -18px rgba(35,2,2,.35),0 2px 6px rgba(43,44,48,.06);transition:height .35s ease}
#siteHeader.scrolled{top:12px}
#siteHeader.scrolled nav{height:60px}
.nav-links{display:flex;align-items:center;gap:clamp(18px,2.6vw,40px);font-size:15px;letter-spacing:.01em}
.nav-link{color:#2B2C30;font-weight:400;position:relative;padding:8px 0;transition:color .25s}
.nav-link:hover,.nav-link.active{color:#E52726}
.nav-link.active{font-weight:500}
.nav-link .bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:#E52726;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.nav-link.active .bar{transform:scaleX(1)}
.btn-cta{background:#E52726;color:#fff;font-size:14px;font-weight:500;padding:11px 20px;border-radius:999px;transition:background .25s,transform .25s;white-space:nowrap}
.btn-cta:hover{background:#B81C1B;color:#fff;transform:translateY(-1px)}
.menu-btn{width:44px;height:44px;border-radius:999px;border:1px solid #E4E4E6;background:#fff;display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;padding:0}
.menu-btn span{width:16px;height:1.5px;background:#2B2C30;display:block;transition:transform .25s}
.menu-btn[aria-expanded="true"] span:first-child{transform:translateY(3.25px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
#mobileMenu{position:fixed;inset:0;z-index:55;background:#fff;padding:110px 28px 40px;display:flex;flex-direction:column;overflow-y:auto}
#mobileMenu[hidden]{display:none}
#mobileMenu a{font-size:38px;font-weight:300;letter-spacing:-0.02em;color:#2B2C30;padding:14px 0;border-bottom:1px solid #EDEDEF}
@media (max-width:980px){.nav-links{display:none}.menu-btn{display:flex}}
@media (min-width:981px){#mobileMenu{display:none!important}}
@media (max-width:380px){.btn-cta{padding:10px 14px;font-size:13px}}

/* hero buttons */
.btn-hero1{background:#fff;color:#C80F0E;font-size:16px;font-weight:600;padding:16px 28px;border-radius:999px;transition:transform .25s,box-shadow .25s}
.btn-hero1:hover{color:#C80F0E;transform:translateY(-2px);box-shadow:0 18px 40px -12px rgba(0,0,0,.5)}
.btn-hero2{background:transparent;color:#fff;font-size:16px;font-weight:500;padding:16px 28px;border-radius:999px;border:1px solid rgba(255,255,255,.6);transition:background .25s}
.btn-hero2:hover{color:#fff;background:rgba(255,255,255,.12)}

.band-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:12px;border-radius:24px;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.band-item:hover{transform:translateY(-6px)}

/* CLEAR */
.clear-letter{font-size:clamp(60px,8vw,124px);line-height:.8;font-weight:700;letter-spacing:-0.04em;color:rgba(255,255,255,.2);transition:color .45s,transform .45s cubic-bezier(.2,.8,.2,1)}
.clear-bar{width:100%;height:3px;border-radius:3px;background:rgba(255,255,255,.14);transition:background .45s}
.clear-col.on .clear-letter{color:#FF4A44;transform:translateY(-10px)}
.clear-col.on .clear-bar{background:#E52726}
.clear-step{min-height:clamp(230px,40vh,400px);padding:34px 0;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;justify-content:center;opacity:.35;transition:opacity .45s}
.clear-step.on{opacity:1}
@media (max-width:900px){.clear-sticky{position:static!important}}

/* pillars */
.pillar{background:#F6F6F6;color:#2B2C30;border-radius:32px;padding:clamp(30px,3vw,42px);display:flex;flex-direction:column;gap:26px;min-height:520px;transition:background .45s ease,color .45s ease,opacity .9s ease,transform 1.05s cubic-bezier(.16,1,.3,1)}
.pillar.on{background:#E52726;color:#fff}
.pillar .chip{font-size:13.5px;font-weight:400;padding:8px 13px;border-radius:999px;border:1px solid #DCDCDE;transition:border-color .45s}
.pillar.on .chip{border-color:rgba(255,255,255,.5)}
@media (max-width:600px){.pillar{min-height:0}}

/* sectors */
.sector-btn{cursor:pointer;font-size:15px;font-weight:400;padding:11px 19px;border-radius:999px;border:1px solid #E4E4E6;background:#fff;color:#2B2C30;transition:all .25s;white-space:nowrap}
.sector-btn:hover{border-color:#E52726}
.sector-btn[aria-pressed="true"]{background:#E52726;color:#fff;border-color:#E52726;font-weight:500}
.client-card{aspect-ratio:3/2;background:#fff;border:1px solid #EFEFF0;border-radius:18px;display:flex;align-items:center;justify-content:center;padding:18px;transition:transform .3s,box-shadow .3s}
.client-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -26px rgba(43,44,48,.4)}
.work-side{background:#FBFBFB;border-left:1px solid #EFEFF0}
@media (max-width:860px){.work-side{border-left:0;border-top:1px solid #EFEFF0}}
#workPanel{transition:opacity .25s}
#workPanel.swap{opacity:.25}

/* contact */
.contact-card{background:#F6F6F6;border-radius:22px;padding:22px 24px;color:#2B2C30;display:flex;flex-direction:column;gap:6px;transition:background .25s;overflow-wrap:break-word;min-width:0}
a.contact-card:hover{background:#FDECEC;color:#2B2C30}
.field{background:#F6F6F6;border:1px solid transparent;border-radius:16px;padding:16px 18px;color:#2B2C30;font-size:16px;outline:none;transition:all .2s;width:100%}
.field:focus{border-color:#E52726;background:#fff}
.field[aria-invalid="true"]{border-color:#E52726;background:#FDECEC}
.interest{cursor:pointer;font-size:14px;padding:10px 16px;border-radius:999px;border:1px solid #DCDCDE;background:#fff;color:#2B2C30;transition:all .2s}
.interest[aria-pressed="true"]{background:#E52726;color:#fff;border-color:#E52726}
.btn-send{align-self:flex-start;cursor:pointer;background:#E52726;color:#fff;border:0;font-weight:500;font-size:16px;padding:16px 30px;border-radius:999px;transition:transform .25s,background .25s}
.btn-send:hover{background:#B81C1B;transform:translateY(-2px)}
.btn-send[disabled]{opacity:.6;cursor:progress;transform:none}
.form-error{color:#B81C1B;font-size:14px;margin:0}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* footer */
.foot-link{font-size:15px;font-weight:300;color:rgba(255,255,255,.75);overflow-wrap:anywhere}
.foot-link:hover{color:#fff}
.social{width:40px;height:40px;border-radius:999px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;transition:background .25s}
.social:hover{background:#E52726}
