:root{--red:#f31926;--cyan:#00d8ff;--black:#090909;--paper:#e7e5df;--white:#f8f7f2;--line:rgba(9,9,9,.14);--pad:clamp(22px,5vw,86px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--black);font-family:"Space Grotesk",Arial,sans-serif}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}::selection{background:var(--cyan);color:#000}
.site-header{height:108px;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid #303030;position:fixed;inset:0 0 auto;z-index:50;width:100%;background:rgba(8,8,8,.97);color:#fff;transition:height .3s,box-shadow .3s}.site-header.scrolled{height:88px;box-shadow:0 8px 30px rgba(0,0,0,.18)}.brand{width:clamp(210px,16vw,290px)}.brand img{height:76px;object-fit:contain;object-position:left center}.site-header.scrolled .brand img{height:62px}.site-header nav{display:flex;gap:clamp(24px,3vw,54px);text-transform:uppercase;font-family:"Bebas Neue",Impact,sans-serif;font-size:24px;letter-spacing:.045em}.site-header nav a{position:relative}.site-header nav a:after{content:"";height:3px;background:var(--cyan);position:absolute;left:0;right:100%;bottom:-9px;transition:.25s}.site-header nav a:hover:after{right:0}.site-header>.button{justify-self:end}.button{border:0;display:inline-flex;justify-content:space-between;gap:35px;align-items:center;padding:18px 22px;text-transform:uppercase;font-weight:700;font-size:13px;letter-spacing:.04em;cursor:pointer}.button--red{background:var(--red);color:#fff}.button--outline{border:2px solid #111}.button:hover span{transform:translate(4px,-4px)}.button span{transition:.2s}.menu-toggle{display:none;background:none;border:0}.grid-bg{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:clamp(76px,8.33vw,160px) clamp(76px,8.33vw,160px)}
.hero{min-height:970px;padding:205px var(--pad) 74px;position:relative;overflow:hidden}.hero__eyebrow,.section-label{font-size:13px;font-weight:700;color:var(--red);letter-spacing:.06em}.hero__title,.display{font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;line-height:.84;letter-spacing:-.02em;margin:20px 0 0}.hero__title{font-size:clamp(72px,8vw,154px);max-width:1220px;white-space:nowrap}.hero__title span,.display span{color:var(--red)}.hero__bottom{display:grid;grid-template-columns:minmax(340px,520px) minmax(460px,1fr);align-items:end;margin-top:74px;gap:clamp(40px,6vw,110px)}.hero__intro p{background:var(--black);color:#e1e1e1;padding:27px;margin:0 0 28px;font-size:17px;line-height:1.65}.text-link{font-family:"Bebas Neue";text-transform:uppercase;font-size:22px;letter-spacing:.035em;display:inline-flex;gap:24px;align-items:center}.text-link--large{font-size:25px}.text-link b{background:var(--red);color:#fff;padding:12px 15px;font-family:Arial;font-size:20px}.hero-rotator{display:grid;grid-template-columns:42% 1fr;min-height:245px;border-radius:125px;overflow:hidden;background:var(--red);color:#fff;box-shadow:0 20px 50px rgba(0,0,0,.12)}.hero-rotator__image{overflow:hidden}.hero-rotator__image img{height:100%;filter:grayscale(1);transition:opacity .35s,transform .55s}.hero-rotator__pill{display:flex;align-items:center;padding:28px}.hero-rotator__pill span{font-family:"Bebas Neue";font-size:clamp(46px,5vw,94px);line-height:.86}.hero-rotator.flipping img,.hero-rotator.flipping span{opacity:0;transform:rotateX(75deg)}.scroll-mark{position:absolute;right:15px;bottom:40px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.15em}.scroll-mark span{margin-top:8px;color:var(--red)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);padding:55px var(--pad);border-block:1px solid var(--line)}.stats article{border-right:1px solid var(--line);padding-left:clamp(0px,2vw,35px)}.stats article:last-child{border:0}.stats strong,.stats em{font-family:"Bebas Neue";font-size:clamp(58px,6vw,110px);font-style:normal;line-height:.8}.stats em{color:var(--red)}.stats p{text-transform:uppercase;font-size:11px;font-weight:700}
.section{padding:115px var(--pad)}.about__content{display:grid;grid-template-columns:.95fr 1.05fr;gap:7vw;margin-top:35px}.display{font-size:clamp(64px,7.1vw,136px)}.display--about{font-size:clamp(55px,5.7vw,110px)}.about__copy{align-self:end;max-width:630px;padding-bottom:4px}.about__copy p,.section-head p{line-height:1.75;color:#555;font-size:17px;margin:0 0 36px}.verticals{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:90px}.vertical{height:620px;position:relative;overflow:hidden;background:#111}.vertical>img{height:100%;filter:grayscale(1)}.vertical div{position:absolute;left:0;right:0;bottom:0;padding:20px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.92))}.vertical div span{color:var(--cyan);font-size:11px}.vertical h3{font-family:"Bebas Neue";font-size:52px;margin:35px 0 0}.vertical p{margin:0;font-size:12px}.color-reveal{--mx:50%;--my:50%}.color-reveal:after{content:"";position:absolute;inset:0;background-image:var(--reveal-image);background-size:cover;background-position:center;pointer-events:none;clip-path:circle(0 at var(--mx) var(--my));transition:clip-path .25s ease}.color-reveal:hover:after{clip-path:circle(150px at var(--mx) var(--my))}.color-reveal>div{z-index:2}
.section--dark{background:var(--black);color:var(--white)}.section-head--stacked{display:block;max-width:1100px;margin-bottom:70px}.section-head--stacked .display{margin:20px 0 28px}.section-head--stacked p{max-width:560px;margin:0}.project-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.project{border:0;padding:0;text-align:left;position:relative;overflow:hidden;background:#222;cursor:pointer}.project>img{height:440px;transition:transform .6s;filter:grayscale(1)}.project:hover>img{transform:scale(1.035)}.project--wide>img{height:620px}.project div{position:absolute;bottom:0;left:0;right:0;background:rgba(8,8,8,.94);display:grid;grid-template-columns:1fr auto auto;align-items:center;padding:13px 15px;color:#fff}.project div span{font-size:10px;color:#aaa}.project div strong{font-family:"Bebas Neue";font-size:24px}.project div b{margin-left:20px;color:var(--cyan)}
.section-head--light p{color:#555}.service-list{border-top:1px solid var(--line)}.service{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;display:grid;grid-template-columns:1fr 1.5fr auto;gap:38px;align-items:center;padding:34px 22px;text-align:left;cursor:pointer;transition:.25s}.service:hover{background:var(--black);color:#fff;transform:scale(1.01)}.service:hover p{color:#aaa}.service h3{font-family:"Bebas Neue";font-size:38px;margin:0}.service p{color:#555;font-size:14px;line-height:1.55;margin:0}.service>span{color:var(--red);font-family:"Bebas Neue";font-size:20px}
.marquee{overflow:hidden;background:var(--black);color:#fff;white-space:nowrap;padding:0}.marquee__track{display:flex;width:max-content;animation:marquee 10s linear infinite}.marquee__track>span{font-family:"Bebas Neue";font-size:clamp(76px,9vw,170px);line-height:.9;padding:26px 24px}.marquee i{color:var(--red);font-style:normal}@keyframes marquee{to{transform:translateX(-25%)}}
.section--red{background:var(--red);color:#fff}.section--red .section-label{color:#111}.section--red .display span{color:#111}.principle-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:85px;gap:8px}.principle-grid article{padding:35px 26px;min-height:230px;transition:.3s}.principle-grid article:hover{background:var(--black);color:#fff;transform:scale(1.045);z-index:2}.principle-grid h3{font-family:"Bebas Neue";font-size:37px;margin:55px 0 12px}.principle-grid p{font-size:13px;line-height:1.6;margin:0;max-width:250px}
.contact{min-height:850px}.contact .display{font-size:clamp(75px,9vw,170px)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;margin-top:70px;border-top:1px solid var(--line);padding-top:40px}.contact-copy p{font-size:18px;line-height:1.7;max-width:480px;margin:0 0 35px}.contact-form{}form{display:grid;grid-template-columns:1fr 1fr;gap:30px 20px}form label{display:grid;gap:8px}form label span{font-size:11px;text-transform:uppercase;font-weight:700}input,select,textarea{width:100%;border:0;border-bottom:2px solid #111;background:transparent;padding:13px 2px;outline:0}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--red)}.form-wide{grid-column:1/-1}form .button{width:100%}
footer{background:#080808;color:#fff;padding:70px var(--pad) 30px}.footer-top{display:grid;grid-template-columns:1fr 1fr;align-items:start;padding-bottom:60px;border-bottom:1px solid #333}.footer-top img{width:min(330px,80%)}.footer-top h2{font-family:"Bebas Neue";font-size:clamp(48px,5.5vw,100px);line-height:.88;margin:0}.footer-top h2 span{color:var(--red)}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:55px 0}.footer-grid>div{display:grid;align-content:start;gap:10px}.footer-grid b{color:var(--red);font-size:11px;margin-bottom:10px}.footer-grid a,.footer-grid span{font-size:14px;color:#aaa}.footer-grid a:hover{color:var(--cyan)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #333;padding-top:24px;font-size:10px;color:#777;text-transform:uppercase}
.modal{width:min(1100px,92vw);max-height:90vh;border:0;padding:0;background:var(--paper);color:#111;box-shadow:0 30px 90px rgba(0,0,0,.55)}.modal::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(5px)}.modal__close{position:sticky;float:right;top:16px;margin:16px 16px -70px 0;width:52px;height:52px;border-radius:50%;border:0;background:var(--red);color:#fff;font-size:30px;z-index:10;cursor:pointer}.modal-body{padding:50px}.modal-kicker{font-size:12px;color:var(--red);font-weight:700}.modal h2{font-family:"Bebas Neue";font-size:clamp(58px,7vw,100px);line-height:.88;margin:18px 0 25px}.modal p{font-size:16px;line-height:1.7;max-width:760px;color:#555}.modal-slider{position:relative;background:#111}.modal-slider img{height:min(52vw,570px)}.slider-controls{position:absolute;right:15px;bottom:15px;display:flex;gap:8px}.slider-controls button{width:48px;height:48px;border:0;background:var(--red);color:#fff;font-size:22px;cursor:pointer}.modal-list{columns:2;list-style:none;padding:0;margin:30px 0}.modal-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.modal-list li:before{content:"■";color:var(--red);font-size:6px;margin-right:10px}.form-toast{position:fixed;right:20px;bottom:20px;background:#111;color:#fff;padding:18px 24px;z-index:100;transform:translateY(150%);transition:.3s}.form-toast.show{transform:none}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}.cursor-dot{width:14px;height:14px;border-radius:50%;background:var(--cyan);position:fixed;z-index:120;pointer-events:none;transform:translate(-50%,-50%);transition:width .2s,height .2s;mix-blend-mode:difference}.cursor-dot.hovering{width:105px;height:105px}
@media(max-width:1050px){.site-header{grid-template-columns:1fr auto}.site-header nav,.site-header>.button{display:none}.menu-toggle{display:grid;gap:7px}.menu-toggle span{width:30px;height:2px;background:#fff}.site-header.open nav{display:flex;position:absolute;top:100%;left:0;right:0;background:#090909;padding:35px var(--pad);flex-direction:column;font-size:28px}.hero__bottom{grid-template-columns:1fr}.hero-rotator{max-width:850px}.about__content{grid-template-columns:1fr;gap:42px}.about__copy{padding-left:18vw}.vertical{height:500px}.project-grid{grid-template-columns:1fr 1fr}.project>img,.project--wide>img{height:440px}.principle-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr;gap:50px}}
@media(max-width:650px){:root{--pad:20px}.site-header{height:82px}.site-header.scrolled{height:72px}.brand{width:170px}.brand img,.site-header.scrolled .brand img{height:58px}.hero{min-height:850px;padding-top:140px}.hero__title{font-size:20vw;white-space:normal}.hero__bottom{margin-top:55px}.hero__intro p{font-size:15px}.hero-rotator{grid-template-columns:1fr;border-radius:34px}.hero-rotator__image{height:180px}.hero-rotator__pill{min-height:150px}.stats{grid-template-columns:1fr 1fr;gap:32px}.stats article:nth-child(2){border:0}.stats strong,.stats em{font-size:17vw}.section{padding-block:78px}.about__copy{padding-left:0}.verticals,.project-grid{grid-template-columns:1fr}.vertical{height:125vw}.project>img,.project--wide>img{height:115vw}.service{grid-template-columns:1fr;gap:12px;padding-inline:4px}.service h3{font-size:32px}.principle-grid{grid-template-columns:1fr}.principle-grid article{min-height:180px}.principle-grid h3{margin-top:25px}.contact .display{font-size:21vw}form{grid-template-columns:1fr}.form-wide{grid-column:auto}.footer-top,.footer-grid{grid-template-columns:1fr}.footer-top{gap:50px}.footer-grid{gap:35px}.footer-bottom{flex-direction:column;gap:15px}.modal-body{padding:35px 22px}.modal-list{columns:1}.modal-slider img{height:65vw}.cursor-dot{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Rotating capability: image above the animated pill label. */
.hero-rotator{grid-template-columns:1fr;grid-template-rows:190px auto;min-height:0;border-radius:46px}
.hero-rotator__pill{justify-content:center;min-height:150px;padding:28px 36px;text-align:center}
@media(max-width:650px){.hero-rotator{grid-template-rows:180px auto;border-radius:34px}.hero-rotator__image{height:auto}}

/* Header changes from light brand state to dark sticky state on scroll. */
.site-header{background:rgba(248,247,242,.96);color:var(--black);border-bottom-color:var(--line)}
.site-header.scrolled,.site-header.open{background:rgba(8,8,8,.98);color:#fff;border-bottom-color:#303030}
.brand{position:relative;height:78px}.brand img{position:absolute;inset:0;width:100%;transition:opacity .25s}.brand__white{opacity:0}.site-header.scrolled .brand__color,.site-header.open .brand__color{opacity:0}.site-header.scrolled .brand__white,.site-header.open .brand__white{opacity:1}
.menu-toggle span{background:var(--black)}.site-header.scrolled .menu-toggle span,.site-header.open .menu-toggle span{background:#fff}

/* Fixed social contact rail. */
.social-rail{position:fixed;left:18px;top:50%;z-index:45;display:grid;gap:10px;transform:translateY(-50%)}
.social-rail a{width:45px;height:45px;display:grid;place-items:center;border:1px solid rgba(243,25,38,.35);border-radius:50%;background:rgba(248,247,242,.92);color:var(--red);transition:transform .22s,color .22s,background .22s,border-color .22s;box-shadow:0 7px 18px rgba(0,0,0,.08)}
.social-rail svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.social-rail .fill-dot{fill:currentColor;stroke:none}
.social-rail a:hover{transform:scale(1.14);color:#fff;border-color:transparent}.social-rail__instagram:hover{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)}.social-rail__linkedin:hover{background:#0a66c2}.social-rail__whatsapp:hover{background:#25d366}.social-rail__email:hover{background:#000}

/* Hero capability card: animated label, image, then matching description. */
.hero-rotator{display:grid;grid-template-columns:1fr;grid-template-rows:auto 235px auto;overflow:visible;background:transparent;border-radius:0;box-shadow:none;color:#fff;padding-top:36px}
.hero-rotator__pill{position:relative;z-index:3;justify-self:center;width:max-content;max-width:92%;min-height:0;margin:0 0 -20px;padding:17px 28px;background:var(--red);text-align:center;box-shadow:0 10px 25px rgba(0,0,0,.14)}
.hero-rotator__pill span{font-size:clamp(42px,4.5vw,80px);white-space:nowrap}
.hero-rotator__image{height:auto;overflow:hidden;border-radius:38px 38px 0 0;background:#111}.hero-rotator__image img{height:100%;filter:grayscale(1)}
.hero-rotator__description{min-height:118px;margin:0;padding:27px 46px 30px;border-radius:0 0 38px 38px;background:var(--red);color:#fff;font-size:15px;font-weight:700;line-height:1.55;text-align:center;display:grid;place-items:center;transition:opacity .35s,transform .55s}
.hero-rotator.flipping .hero-rotator__description{opacity:0;transform:translateY(12px)}
@media(max-width:1050px){.social-rail{left:10px}.hero-rotator{max-width:760px}}
@media(max-width:650px){.social-rail{left:7px;gap:7px}.social-rail a{width:38px;height:38px}.hero-rotator{grid-template-rows:auto 190px auto;padding-top:20px}.hero-rotator__pill{padding:13px 18px;margin-bottom:-14px}.hero-rotator__pill span{font-size:10vw}.hero-rotator__image{border-radius:25px 25px 0 0}.hero-rotator__description{min-height:132px;padding:23px 25px;border-radius:0 0 25px 25px;font-size:13px}}

/* Balanced hero: copy and rotating capability share one visual height. */
.hero{min-height:960px;padding-top:180px}.hero__grid{display:grid;grid-template-columns:minmax(420px,.92fr) minmax(430px,.78fr);gap:clamp(44px,7vw,125px);align-items:start}.hero__title{font-size:clamp(72px,7.4vw,142px);white-space:normal;margin-top:12px}.hero__intro{margin-top:18px;max-width:520px}.hero__intro p{margin-bottom:22px}.hero-rotator{width:min(100%,620px);justify-self:center;align-self:start;padding-top:43px}.scroll-mark{bottom:25px}

/* Larger, centered action buttons without decorative arrows. */
.button{justify-content:center;gap:0;min-height:58px;padding:18px 30px;font-size:18px;text-align:center}.button>span{display:none}.form-wide.button{font-size:20px}.text-link b{display:none}.text-link{padding:12px 0;border-bottom:3px solid var(--red)}
.stats p{font-family:"Bebas Neue";font-size:19px;letter-spacing:.035em}

/* Eight services become a four-by-two interactive card system. */
.service-list{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service{min-height:300px;width:auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:20px;padding:30px 24px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.service:hover{transform:translateY(-6px) scale(1.015);box-shadow:0 18px 36px rgba(0,0,0,.14)}.service h3{font-size:34px}.service p{font-size:13px}.service>span{margin-top:auto;font-size:19px}

/* Square, recognizable social icons. */
.social-rail a{border-radius:6px}.social-rail__linkedin svg{fill:currentColor;stroke:none}

/* Footer hierarchy and icon-only social navigation. */
.footer-grid b{font-family:"Bebas Neue";font-size:24px;letter-spacing:.05em}.footer-grid a,.footer-grid span{font-size:17px}.footer-socials{display:flex!important;gap:12px!important}.footer-socials a{width:48px;height:48px;display:grid;place-items:center;border:1px solid #444;border-radius:6px;color:var(--red);transition:.25s}.footer-socials a:hover{background:var(--red);color:#fff;border-color:var(--red)}.footer-socials svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.footer-socials .fill-dot,.footer-socials .filled-icon path{fill:currentColor;stroke:none}.footer-bottom{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:32px;font-size:14px}.footer-bottom p{font-size:14px}.back-top{width:48px;height:48px;display:grid;place-items:center;border:1px solid #444;border-radius:50%;color:var(--red)}.back-top:hover{background:var(--red);color:#fff}.back-top svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2}

@media(max-width:1050px){.hero__grid{grid-template-columns:1fr}.hero-rotator{width:min(100%,760px);justify-self:start;padding-top:0}.service-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.hero{padding-top:125px}.hero__grid{grid-template-columns:1fr;gap:35px}.hero__title{font-size:20vw}.hero__intro{margin-top:12px}.hero-rotator{width:100%}.service-list{grid-template-columns:1fr}.service{min-height:250px}.footer-bottom{grid-template-columns:1fr auto}.footer-bottom>span{grid-column:1}.back-top{grid-column:2;grid-row:1/3}.stats p{font-size:16px}}
.project div{grid-template-columns:1fr auto}

/* Wider synchronized hero presentation. */
.hero__grid{grid-template-columns:minmax(390px,.78fr) minmax(550px,1fr);gap:clamp(24px,3.5vw,58px)}
.hero-rotator{width:min(122%,760px);transform:translateX(-28px)}
.hero__title,.hero__intro{transition:opacity .36s ease,transform .36s ease}.hero__left.changing .hero__title,.hero__left.changing .hero__intro{opacity:0;transform:translateY(14px)}

/* Continuous service belt between hero and stats. */
.service-marquee{overflow:hidden;background:var(--black);color:#fff;border-block:1px solid #292929;white-space:nowrap}
.service-marquee__track{display:flex;width:max-content;animation:serviceBelt 16s linear infinite}
.service-marquee__track span{font-family:"Bebas Neue";font-size:clamp(44px,4.6vw,82px);line-height:1;padding:22px 15px;letter-spacing:.025em}
.service-marquee__track i{color:var(--red);font-style:normal;padding:0 12px}
@keyframes serviceBelt{to{transform:translateX(-50%)}}
@media(max-width:1050px){.hero__grid{grid-template-columns:1fr;gap:34px}.hero-rotator{width:min(100%,760px);transform:none}.service-marquee__track span{padding-block:18px}}
@media(max-width:650px){.hero-rotator{width:100%}.service-marquee__track{animation-duration:12s}.service-marquee__track span{font-size:42px;padding-block:16px}}

/* Keep only the requested 100px breathing room before the services ticker. */
.hero{min-height:0;padding-bottom:100px}
@media(max-width:650px){.hero{min-height:0;padding-bottom:100px}}

/* Centered footer brand lockup. */
.footer-top{display:flex;flex-direction:column;align-items:center;text-align:center;gap:34px}
.footer-top img{width:min(198px,48vw)}
.footer-top h2{width:100%;font-size:clamp(40px,4.7vw,84px);white-space:nowrap}
@media(max-width:650px){.footer-top h2{font-size:10vw;white-space:normal}}

/* Balanced contact close: smaller heading, aligned CTAs, no forced empty height. */
.contact{min-height:0;padding-top:90px;padding-bottom:80px}
.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(55px,8vw,130px);align-items:stretch;margin-top:24px}
.contact-left{display:flex;flex-direction:column}.contact .contact-left .display{font-size:clamp(54px,6.6vw,126px);margin-top:0}
.contact-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;margin-top:38px}
.contact-copy p{font-size:18px;line-height:1.7;max-width:480px;margin:0 0 34px}
.contact-copy .button{width:100%;margin-top:auto}.contact-layout form{align-self:stretch}.contact-layout form .button{align-self:end}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:48px}.contact-copy .button{margin-top:20px}.contact .contact-left .display{font-size:clamp(60px,12vw,110px)}}

/* Final hero balance: 20% larger media card with matched copy-panel heights. */
.hero__grid{grid-template-columns:minmax(390px,.72fr) minmax(610px,1.08fr);gap:clamp(18px,2.6vw,44px)}
.hero-rotator{width:min(134%,912px);transform:translateX(-42px);padding-top:27px;grid-template-rows:auto 270px auto}
.hero-rotator__pill{padding:20px 36px}.hero-rotator__pill span{font-size:clamp(48px,5vw,92px)}
.hero__intro p,.hero-rotator__description{min-height:160px;display:grid;align-items:center}
@media(max-width:1200px){.hero__grid{grid-template-columns:minmax(360px,.8fr) minmax(500px,1fr)}.hero-rotator{width:min(122%,820px);transform:translateX(-25px)}}
@media(max-width:1050px){.hero__grid{grid-template-columns:1fr}.hero-rotator{width:min(100%,820px);transform:none;padding-top:0}.hero__intro p,.hero-rotator__description{min-height:145px}}
@media(max-width:650px){.hero-rotator{grid-template-rows:auto 210px auto}.hero__intro p,.hero-rotator__description{min-height:140px}}
.hero-rotator__description{font-size:19.5px}
@media(max-width:650px){.hero-rotator__description{font-size:17px}}

/* Site-wide Cromix logo follower replaces the cyan hover circle. */
.cursor-dot{width:32px;height:32px;background:transparent url("assets/cromix-cursor.png") center/contain no-repeat;mix-blend-mode:normal;filter:drop-shadow(0 5px 10px rgba(0,0,0,.2));transition:width .2s ease,height .2s ease,filter .2s ease}
.cursor-dot.hovering{width:108px;height:108px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.28))}

/* 50px vertical creative ticker, constrained to main so it stops at the footer. */
main{position:relative}
.vertical-ticker{position:absolute;z-index:42;top:0;right:0;bottom:0;width:50px;pointer-events:none}
.vertical-ticker__viewport{position:sticky;top:88px;width:50px;height:calc(100vh - 88px);overflow:hidden;background:var(--black);border-left:1px solid #292929}
.vertical-ticker__track{display:flex;flex-direction:column;width:50px;height:max-content;animation:verticalTicker 24s linear infinite}
.vertical-ticker__track span{display:block;width:50px;padding:20px 13px;font-family:"Bebas Neue";font-size:23px;line-height:1;letter-spacing:.06em;color:#fff;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}
.vertical-ticker__track i{color:var(--red);font-style:normal;padding-block:11px}
@keyframes verticalTicker{to{transform:translateY(-50%)}}
@media(max-width:900px){
  .vertical-ticker{display:block;left:0;right:auto;width:42px}
  .vertical-ticker__viewport{top:108px;width:42px;height:calc(100vh - 108px);border-left:0;border-right:1px solid #292929}
  .vertical-ticker__track,.vertical-ticker__track span{width:42px}
  .vertical-ticker__track span{padding-inline:10px;font-size:20px}
  .social-rail{top:auto;left:50%;right:auto;bottom:14px;display:flex;gap:8px;transform:translateX(-50%);transition:opacity .25s,transform .25s}
  .social-rail a{width:44px;height:44px;background:rgba(248,247,242,.96)}
  body.footer-visible .social-rail{opacity:0;transform:translate(-50%,80px);pointer-events:none}
}
@media(max-width:650px){
  .vertical-ticker__viewport{top:82px;height:calc(100vh - 82px)}
  .vertical-ticker__track span{font-size:18px}
  .social-rail{left:50%;bottom:10px}
  .social-rail a{width:40px;height:40px}
}
@media(max-width:900px){.site-header.scrolled~main .vertical-ticker__viewport{top:88px;height:calc(100vh - 88px)}}
@media(max-width:650px){.site-header.scrolled~main .vertical-ticker__viewport{top:72px;height:calc(100vh - 72px)}}
@media(max-width:900px){main{padding-left:42px}}
@media(max-width:650px){
  .hero__grid,.hero-rotator,.hero-rotator__pill{min-width:0;max-width:100%}
  .hero-rotator__pill{width:100%;padding-inline:16px}
  .hero-rotator__pill span{font-size:clamp(26px,7vw,38px);white-space:nowrap}
}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-toast.error{background:#8f1018}

/* Clear CTA feedback and restrained cursor behavior. */
.cursor-dot.hovering{width:54px;height:54px;filter:drop-shadow(0 7px 13px rgba(0,0,0,.25))}
.cursor-dot.header-mode{width:22px;height:22px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.18))}
.button{border:2px solid transparent;transition:background-color .25s,color .25s,border-color .25s,transform .25s}
.button.button--outline{border-color:#111}
.button--red:hover{background:var(--black);color:#fff;border-color:var(--red);transform:translateY(-2px)}
.button--outline:hover{background:var(--red);color:#fff;border-color:var(--red);transform:translateY(-2px)}
.text-link{transition:background-color .25s,color .25s,padding .25s}
.text-link:hover{background:var(--red);color:#fff;padding-inline:18px;border-bottom-color:var(--red)}
.slider-controls button{transition:background-color .2s,color .2s}.slider-controls button:hover{background:#fff;color:var(--red)}
.project:hover div{background:var(--red)}.project:hover div span{color:#fff}

/* Header CTA positioning and custom Google-powered language selector. */
.header-actions{justify-self:end;display:flex;align-items:center;gap:12px;transform:translateX(-22px)}
.language-control{display:block}.language-control select{width:72px;height:58px;padding:0 11px;border:2px solid var(--red);background:transparent;color:inherit;font-family:"Bebas Neue";font-size:19px;letter-spacing:.05em;cursor:pointer;outline:0}
.language-control select option{background:#fff;color:#111}.site-header.scrolled .language-control select,.site-header.open .language-control select{background:#111;color:#fff}.site-header.scrolled .language-control select option,.site-header.open .language-control select option{background:#111;color:#fff}
#google_translate_element{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.goog-te-banner-frame.skiptranslate,.goog-te-gadget-icon{display:none!important}body{top:0!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html[dir="rtl"] body{text-align:right}html[dir="rtl"] .header-actions{transform:translateX(22px)}
@media(max-width:1050px){.site-header{grid-template-columns:1fr auto auto}.header-actions{transform:none}.header-actions .button{display:none}.language-control select{width:64px;height:46px;font-size:17px}}
@media(max-width:650px){.language-control select{width:58px;height:42px;padding-inline:7px;font-size:16px}}

/* Final proportional scale: capability card and all primary CTAs reduced 20%. */
.hero-rotator{width:min(107%,730px);transform:translateX(-34px);grid-template-rows:auto 216px auto;padding-top:22px}
.hero-rotator__pill{padding:16px 29px}.hero-rotator__pill span{font-size:clamp(38px,4vw,74px)}
.hero__intro p,.hero-rotator__description{min-height:128px}.hero__intro p{padding:22px}.hero-rotator__description{padding:22px 37px 24px;font-size:15.6px}
.button{min-height:46px;padding:14px 24px;font-size:15px}.form-wide.button{font-size:16px}
.text-link{font-size:18px}.text-link--large{font-size:20px}.text-link:hover{padding-inline:14px}
.service>span{font-size:15px}
.language-control select{width:58px;height:46px;padding-inline:9px;font-size:15px}
@media(max-width:1200px){.hero-rotator{width:min(100%,656px);transform:translateX(-20px)}}
@media(max-width:1050px){.hero-rotator{width:min(100%,656px);transform:none;padding-top:0}.language-control select{width:52px;height:38px;font-size:14px}}
@media(max-width:650px){.hero-rotator{grid-template-rows:auto 168px auto}.hero-rotator__pill{padding:11px 13px}.hero-rotator__pill span{font-size:clamp(22px,5.8vw,30px)}.hero__intro p,.hero-rotator__description{min-height:112px}.hero-rotator__description{padding:18px 20px;font-size:14px}.button{min-height:44px;padding:12px 18px;font-size:14px}.text-link--large{font-size:18px}.language-control select{width:48px;height:36px;padding-inline:5px;font-size:13px}}

/* Google Arabic translation without reversing the established page geometry. */
html,body{max-width:100%;overflow-x:hidden!important;top:0!important}
.goog-te-banner-frame,.goog-te-banner-frame.skiptranslate,iframe.goog-te-banner-frame,.VIpgJd-ZVi9od-ORHb-OEVmcd,.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,.goog-te-balloon-frame{display:none!important;visibility:hidden!important;height:0!important}
body>.skiptranslate{display:none!important}#goog-gt-tt,.goog-te-balloon-frame{display:none!important}.goog-text-highlight{background:transparent!important;box-shadow:none!important}
html.arabic-mode body{direction:ltr;text-align:left}
html.arabic-mode p,html.arabic-mode h1,html.arabic-mode h2,html.arabic-mode h3,html.arabic-mode li,html.arabic-mode label,html.arabic-mode .section-label,html.arabic-mode .service,html.arabic-mode .hero-rotator__description{direction:rtl;text-align:right}
html.arabic-mode .hero-rotator__pill,html.arabic-mode .button,html.arabic-mode nav,html.arabic-mode .stats,html.arabic-mode .marquee,html.arabic-mode .service-marquee,html.arabic-mode .vertical-ticker{direction:ltr;text-align:center}
html.arabic-mode .header-actions{transform:translateX(-22px)}
@media(max-width:1050px){html.arabic-mode .header-actions{transform:none}}

/* Keep the creative rail continuous through every main section. */
.vertical-ticker{position:fixed;top:108px;right:0;bottom:var(--footer-overlap,0px);left:auto;height:auto;opacity:1;transition:bottom .08s linear}
.vertical-ticker__viewport{position:static;top:auto!important;width:100%;height:100%!important}
.site-header.scrolled~main .vertical-ticker{top:88px}
body.footer-visible .vertical-ticker{opacity:1;visibility:visible}
@media(max-width:900px){.vertical-ticker{top:108px;left:0;right:auto}.site-header.scrolled~main .vertical-ticker{top:88px}}
@media(max-width:650px){.vertical-ticker{top:82px}.site-header.scrolled~main .vertical-ticker{top:72px}}
