
:root{--black:#151515;--white:#ffffff;--accent:#EA4949;--mid:#f5f5f5;--mid2:#eeeeee;--muted:#999999;--border:rgba(21,21,21,.1);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--white);color:var(--black);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;overflow-x:hidden;cursor:none;}
main{display:block;min-height:100vh;padding-top:72px;}

/* CURSOR */
.cursor{width:12px;height:12px;background:var(--black);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .3s,height .3s,background-color .25s ease;}
.cursor-ring{width:36px;height:36px;border:1px solid var(--black);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);opacity:.4;transition:width .3s,height .3s,border-color .25s ease;}
.cursor.inverted{background:var(--white);}
.cursor-ring.inverted{border-color:var(--white);opacity:.55;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;margin:0 auto;max-width:100%;display:grid;grid-template-columns:auto 1fr auto;column-gap:2rem;align-items:center;padding:1.4rem 3rem;z-index:500;background:rgba(255,255,255,.65);backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.4);will-change:max-width,margin-top;transition:max-width .6s cubic-bezier(.22,1,.36,1),padding .6s cubic-bezier(.22,1,.36,1),border-radius .5s ease,box-shadow .5s ease,background-color .5s ease,border-color .5s ease,margin-top .6s cubic-bezier(.22,1,.36,1);}
.nav-right{justify-self:end;display:flex;align-items:center;gap:1rem;grid-column:3;}
/* Explicit grid columns (28 Oct 2026): when the links list is hidden on phones it leaves the grid, and without this the right cluster auto-placed into the middle 1fr column — the hamburger sat 48px short of the floating pill's right edge. */
@media(min-width:901px){.nav-cta-mobile-only{display:none;}}
nav.scrolled{max-width:800px;margin-top:1rem;padding:.75rem 1.5rem;border-radius:999px;border-bottom-color:transparent;background-color:rgba(255,255,255,.5);box-shadow:0 12px 40px rgba(21,21,21,.16),inset 0 0 0 1px rgba(255,255,255,.5),inset 0 1px 0 rgba(255,255,255,.8);}
nav.scrolled .nav-links{gap:1.4rem;}
.nav-logo{display:flex;align-items:center;text-decoration:none;cursor:none;}
.nav-links{display:flex;gap:2.5rem;list-style:none;align-items:center;justify-self:center;grid-column:2;transform:translateX(var(--nav-shift,0px));transition:transform .6s cubic-bezier(.22,1,.36,1),gap .5s ease;will-change:transform;}
.nav-links.no-anim{transition:none!important;}
nav.scrolled .nav-links{--nav-shift:0px;}
.nav-links a{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--black);text-decoration:none;transition:color .3s;cursor:none;}
.nav-links a:hover,.nav-links a.active{color:var(--accent);}
.nav-cta{background:var(--black);color:var(--white)!important;padding:.5rem 1.2rem;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.6rem!important;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;transition:background .3s!important;border-radius:999px;}
.nav-cta:hover{background:var(--accent)!important;color:var(--white)!important;}

/* PAGE SYSTEM */



/* PAGE TRANSITION */


/* ===================== HERO ===================== */
.hero{height:calc(100vh - 72px);height:calc(100dvh - 72px);position:relative;overflow:hidden;background:var(--white);}
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;}
.hero-content{position:absolute;bottom:5rem;left:3rem;z-index:10;max-width:720px;}
.hero-eyebrow{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem;opacity:0;animation:fadeUp .8s .3s forwards;}
.hero-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(4.5rem,9vw,9rem);line-height:.9;letter-spacing:.02em;color:var(--black);opacity:0;animation:fadeUp .8s .5s forwards;}
.hero-title span{color:var(--accent);}
.hero-sub{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-style:normal;font-size:1.3rem;color:var(--muted);margin-top:1rem;opacity:0;animation:fadeUp .8s .7s forwards;}
.hero-btns{display:flex;gap:1rem;margin-top:2rem;opacity:0;animation:fadeUp .8s .9s forwards;flex-wrap:wrap;}
.hero-scroll{position:absolute;bottom:2rem;right:3rem;font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:1rem;opacity:0;animation:fadeUp 1s 1.2s forwards;z-index:10;}
.hero-scroll::after{content:'';width:40px;height:1px;background:var(--black);}

/* MARQUEE */
.marquee-wrap{border-top:1px solid rgba(21,21,21,.06);border-bottom:1px solid rgba(21,21,21,.06);padding:1rem 0;overflow:hidden;background:var(--black);}
.marquee{display:flex;gap:3rem;width:max-content;animation:marquee 18s linear infinite;}
.marquee span{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:.15em;color:rgba(255,255,255,.35);white-space:nowrap;}
.marquee span.dot{color:var(--accent);}

/* ABOUT */
.about{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:8rem 3rem;max-width:1400px;margin:0 auto;align-items:center;}
.about-label{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:2rem;}
.about-title{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:clamp(2.5rem,4vw,4rem);line-height:1.15;color:var(--black);margin-bottom:2rem;}
.about-title em{font-style:italic;color:var(--accent);}
.about-body{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.9rem;line-height:2;color:#151515;margin-bottom:2rem;}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem;}
.stat-item{cursor:none;transition:color .3s;}
.stat-num{font-family:'Bebas Neue',sans-serif;font-size:3rem;color:var(--black);display:block;transition:color .3s;}
.stat-label{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:block;transition:color .3s;}
.stat-hover{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:#ea4949;display:block;opacity:0;transform:translateY(4px);transition:opacity .5s ease,transform .5s ease,max-height .5s ease;max-height:0;overflow:hidden;}
.stat-item:hover .stat-num{color:#ea4949;}
.stat-item:hover .stat-label{color:#ea4949;}
.stat-item:hover .stat-hover{opacity:1;transform:translateY(0);max-height:2rem;}
.about-visual{position:relative;height:500px;}
.about-box{position:absolute;inset:0;background:var(--black);border:none;}
.about-box-2{position:absolute;bottom:-2rem;right:-2rem;width:60%;height:60%;background:var(--accent);z-index:-1;}
.about-box-inner{padding:3rem;height:100%;display:flex;flex-direction:column;justify-content:space-between;position:relative;z-index:3;}
.about-box-video{position:absolute;inset:0;overflow:hidden;z-index:1;}
.about-box-video iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:177.78%;height:177.78%;min-width:100%;min-height:100%;border:none;pointer-events:none;}
.about-box-quote{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-style:normal;font-size:1.5rem;line-height:1.4;color:var(--white);}
.quote-rotate{color:#ea4949;transition:opacity .6s ease;display:inline;}
.quote-rotate.fade{opacity:0;}
.about-box-tag{font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.4);}

/* SHOWREEL */
.showreel{position:relative;width:100%;aspect-ratio:16/9;background:var(--black);overflow:hidden;cursor:none;}
.showreel-video-bg{position:absolute;inset:0;pointer-events:none;}
.showreel-video-bg iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border:none;}
.showreel-overlay{position:absolute;inset:0;z-index:2;padding:2.5rem 4rem;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.35) 0%,transparent 30%,transparent 70%,rgba(0,0,0,.35) 100%);}
.showreel-top,.showreel-bottom{display:flex;justify-content:space-between;align-items:center;}
.showreel-label{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.7);}
.sound-btn{display:inline-flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(8px);color:var(--white);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;padding:.55rem 1.1rem;border-radius:999px;cursor:none;transition:all .3s;pointer-events:all;}
.sound-btn:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.5);}
.sound-btn svg{width:16px;height:16px;flex-shrink:0;}
.sound-btn .mute-x{display:block;}
.sound-btn .sound-wave{display:none;}
.sound-btn.on .mute-x{display:none;}
.sound-btn.on .sound-wave{display:block;}

/* SERVICES CAROUSEL */
.services{padding:7rem 3rem 4rem;background:var(--white);overflow:hidden;}
.services-carousel-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;}
.services-carousel-left{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start;}
.services-big-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(4rem,7vw,8rem);line-height:.9;letter-spacing:.02em;color:var(--black);white-space:nowrap;}
.services-big-title em{font-style:normal;color:var(--black);}
.services-carousel-controls{display:flex;flex-direction:column;align-items:flex-end;gap:1.2rem;}
.carousel-arrows{display:flex;gap:.8rem;align-items:center;}
.car-arrow{width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:#efefef;display:flex;align-items:center;justify-content:center;cursor:none;font-size:.9rem;font-weight:700;transition:all .3s;color:var(--black);flex-shrink:0;}
.car-arrow:hover{background:var(--black);color:var(--white);border-color:var(--black);}
.car-arrow:disabled{opacity:.3;pointer-events:none;}
.carousel-outer{overflow:visible;margin-right:-3rem;touch-action:pan-y;}
.carousel-track{display:flex;gap:1.5rem;transition:transform .6s cubic-bezier(.25,.1,.25,1);will-change:transform;user-select:none;-webkit-user-select:none;touch-action:pan-y;}
.car-card{flex:0 0 360px;cursor:none;display:flex;flex-direction:column;}
.car-img{width:100%;height:440px;border-radius:18px;overflow:hidden;position:relative;}
.car-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;display:block;}
.car-card:hover .car-img img{transform:scale(1.05);}
.car-info{padding:1.4rem .2rem 0;}
.car-name{font-family:'Bebas Neue',sans-serif;font-size:2rem;color:var(--black);margin-bottom:.5rem;line-height:1.05;letter-spacing:.03em;}
.car-desc{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:1rem;color:#151515;line-height:1.85;margin-bottom:1rem;}

/* CLIENTS SECTION */
.clients{padding:4rem 3rem;background:var(--white);}
.clients-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;}
.clients-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(4rem,7vw,8rem);line-height:.9;letter-spacing:.02em;color:var(--black);}
.clients-title em{font-style:normal;color:#ea4949;}
.clients-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
.client-cell{padding:2.2rem 1.5rem;height:110px;display:flex;align-items:center;justify-content:center;background:#f8f8f8;transition:background .3s;border-radius:10px;}
.client-cell:hover{background:#efefef;}
.client-name{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.85rem;letter-spacing:.06em;color:var(--black);text-align:center;line-height:1.3;}
.client-cell svg{max-width:120px;max-height:40px;width:auto;height:auto;display:block;}
.client-cell img{height:auto;max-width:100%;display:block;}  /* width set per logo in script.js so every logo carries the same visual weight */
@media(max-width:900px){.clients-grid{grid-template-columns:repeat(3,1fr);}.clients-header{flex-direction:column;gap:1.5rem;}}

/* TESTIMONIALS PAGE */
.testi-page-hero{padding:6rem 3rem 4rem;background:var(--white);}
.testi-page-label{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;}
.testi-page-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(4rem,8vw,8rem);line-height:.9;color:var(--black);margin-bottom:1.5rem;}
.testi-page-title em{font-style:normal;color:#ea4949;}
.testi-page-sub{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:1rem;color:var(--muted);max-width:600px;line-height:1.8;}
.testi-page-stats{display:flex;gap:4rem;margin-top:3rem;padding-top:3rem;border-top:1px solid var(--border);}
.testi-page-stat span{font-family:'Bebas Neue',sans-serif;font-size:3.5rem;color:var(--black);display:block;line-height:1;}
.testi-page-stat p{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:.3rem;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding:0 3rem 6rem;max-width:1400px;margin:0 auto;}
.testi-card{background:var(--black);border-radius:16px;padding:2.5rem;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;}
.testi-card.light{background:var(--mid);}
.testi-stars{display:flex;gap:.25rem;margin-bottom:1rem;}
.testi-star{color:#ea4949;font-size:.9rem;}
.testi-card-quote{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.95rem;line-height:1.8;color:var(--white);}
.testi-card.light .testi-card-quote{color:var(--black);}
.testi-card-author{display:flex;align-items:center;gap:1rem;margin-top:auto;}
.testi-card-avatar{width:44px;height:44px;border-radius:50%;background:#333;display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:1rem;color:rgba(255,255,255,.8);flex-shrink:0;}
.testi-card.light .testi-card-avatar{background:#ddd;color:var(--black);}
.testi-card-name{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.85rem;color:var(--white);}
.testi-card.light .testi-card-name{color:var(--black);}
.testi-card-role{font-size:.6rem;color:rgba(255,255,255,.4);letter-spacing:.1em;margin-top:.2rem;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;}
.testi-card.light .testi-card-role{color:var(--muted);}
@media(max-width:900px){.testi-grid{grid-template-columns:1fr;padding:0 1.5rem 4rem;}.testi-page-hero{padding:4rem 1.5rem 3rem;}.testi-page-stats{flex-wrap:wrap;gap:2rem;}}


.testimonials{background:var(--black);padding:7rem 3rem 5rem;margin:0;}
.testimonials-inner{display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem;max-width:1400px;margin:0 auto;}
.testi-left{background:#1e1e1e;border-radius:16px;padding:3rem;display:flex;flex-direction:column;justify-content:space-between;min-height:480px;position:relative;overflow:hidden;}
.testi-dots{display:flex;gap:.5rem;margin-bottom:2rem;}
.testi-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.2);transition:background .4s;cursor:none;}
.testi-dot.active{background:var(--white);}
.testi-quote{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:1.15rem;line-height:1.75;color:var(--white);position:absolute;top:5rem;left:3rem;right:3rem;opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease;pointer-events:none;}
.testi-quote.active{opacity:1;transform:translateY(0);pointer-events:auto;}
.testi-author{display:flex;align-items:center;gap:1rem;}
.testi-avatar{width:52px;height:52px;border-radius:50%;background:#333;display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:rgba(255,255,255,.7);flex-shrink:0;}
.testi-name{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.85rem;color:var(--white);}
.testi-role{font-size:.65rem;color:rgba(255,255,255,.4);letter-spacing:.1em;margin-top:.2rem;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;}
.testi-right{display:flex;flex-direction:column;gap:1.5rem;}
.testi-stat-box{background:#1e1e1e;border-radius:16px;padding:3rem;display:flex;flex-direction:column;justify-content:space-between;flex:1;}
.testi-stat-num{font-family:'Bebas Neue',sans-serif;font-size:5rem;line-height:.9;color:var(--white);margin-bottom:.5rem;}
.testi-stat-label{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:1.5rem;}
.testi-stat-sub{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.7rem;color:rgba(255,255,255,.35);letter-spacing:.15em;text-transform:uppercase;margin-top:.5rem;}
@media(max-width:900px){.testimonials-inner{grid-template-columns:1fr;}.testi-left{min-height:380px;}}

/* SERVICES PAGE — light theme matching site */
#page-services{background:var(--white);}
.services-page-hero{padding:5rem 3rem 3rem;max-width:1300px;margin:0 auto;position:relative;}
.services-hero-deco{position:absolute;top:60%;right:4%;transform:translateY(-50%);width:400px;height:220px;pointer-events:none;z-index:1;}
.sw-wash-hover{position:absolute;pointer-events:auto;cursor:none;transition:transform .55s cubic-bezier(.25,.46,.45,.94);}
.sw-hover-1{width:260px;height:220px;top:10px;right:60px;}
.sw-hover-2{width:160px;height:160px;bottom:0;right:0;}
.sw-hover-3{width:120px;height:120px;top:40px;left:0;}
.sw-hover-4{width:90px;height:90px;bottom:40px;left:60px;}
.sw-hover-1:hover{transform:translate(-30px,25px) scale(1.08);}
.sw-hover-2:hover{transform:translate(35px,-20px) scale(1.1);}
.sw-hover-3:hover{transform:translate(-30px,-15px) scale(1.12);}
.sw-hover-4:hover{transform:translate(-20px,25px) scale(1.12);}
.sw-wash{position:absolute;inset:0;border-radius:50%;filter:blur(30px);}
.sw-wash-1{background:radial-gradient(circle,rgba(234,73,73,.28) 0%,transparent 65%);animation:swWash1 9s ease-in-out infinite;}
.sw-wash-2{background:radial-gradient(circle,rgba(234,73,73,.22) 0%,transparent 65%);animation:swWash2 7s ease-in-out infinite;}
.sw-wash-3{background:radial-gradient(circle,rgba(21,21,21,.06) 0%,transparent 65%);filter:blur(24px);animation:swWash3 11s ease-in-out infinite;}
.sw-wash-4{background:radial-gradient(circle,rgba(234,73,73,.18) 0%,transparent 65%);filter:blur(20px);animation:swWash4 8s ease-in-out infinite;}
@keyframes swWash1{
  0%{opacity:.5;transform:scale(.9) translate(0,0);}
  25%{opacity:.9;transform:scale(1.05) translate(40px,-15px);}
  50%{opacity:1;transform:scale(1.12) translate(10px,-25px);}
  75%{opacity:.85;transform:scale(.95) translate(-35px,-8px);}
  100%{opacity:.5;transform:scale(.9) translate(0,0);}
}
@keyframes swWash2{
  0%{opacity:.5;transform:scale(.9) translate(0,0);}
  25%{opacity:.9;transform:scale(1.1) translate(-45px,18px);}
  50%{opacity:1;transform:scale(1.15) translate(-15px,28px);}
  75%{opacity:.8;transform:scale(.95) translate(30px,10px);}
  100%{opacity:.5;transform:scale(.9) translate(0,0);}
}
@keyframes swWash3{
  0%{opacity:.35;transform:scale(1) translate(0,0);}
  25%{opacity:.7;transform:scale(1.1) translate(35px,18px);}
  50%{opacity:.8;transform:scale(1.18) translate(55px,3px);}
  75%{opacity:.6;transform:scale(1.05) translate(20px,-12px);}
  100%{opacity:.35;transform:scale(1) translate(0,0);}
}
@keyframes swWash4{
  0%{opacity:.45;transform:scale(.95) translate(0,0);}
  25%{opacity:.85;transform:scale(1.1) translate(-30px,-15px);}
  50%{opacity:1;transform:scale(1.2) translate(25px,-25px);}
  75%{opacity:.75;transform:scale(1) translate(40px,-6px);}
  100%{opacity:.45;transform:scale(.95) translate(0,0);}
}
@media(max-width:1100px){.services-hero-deco{display:none;}}
.services-label-row{display:flex;align-items:flex-start;gap:1.2rem;margin-bottom:0;}
.services-label-dot{font-size:.75rem;color:var(--muted);margin-top:.5rem;white-space:nowrap;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;}
.services-page-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,6.5vw,6rem);line-height:1;color:var(--black);margin-bottom:1.5rem;}
.services-page-title em{font-style:normal;color:#ea4949;}
.services-page-sub{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:1.15rem;color:var(--muted);line-height:1.6;max-width:600px;margin-top:1.8rem;}
.services-hero-row{display:flex;justify-content:flex-end;margin-top:2rem;}
.services-highlight{background:#ea4949;color:var(--white);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:600;font-size:1.15rem;line-height:1.5;padding:1.2rem 1.6rem;max-width:420px;display:inline-block;}
.services-hero-divider{border:none;border-top:1px solid var(--border);max-width:1300px;margin:3rem auto 0;}
.services-categories{max-width:1300px;margin:0 auto;padding:0 3rem 6rem;}
.services-cat-block{padding:4rem 0;border-top:1px solid var(--border);}
.services-cat-block:first-child{border-top:none;}
.services-cat-title{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:800;font-size:clamp(4.5rem,11vw,10rem);color:var(--black);line-height:.9;letter-spacing:-.02em;margin-bottom:2.5rem;}
.services-cat-lower{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:start;}
.services-cat-desc{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:1.05rem;color:var(--muted);line-height:1.6;max-width:320px;}
.services-cat-list{display:flex;flex-direction:column;}
.services-cat-link{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--border);cursor:none;text-decoration:none;transition:padding-left .3s;}
.services-cat-link:first-child{border-top:1px solid var(--border);}
.services-cat-link:hover{padding-left:.8rem;}
.services-cat-link-left{display:flex;align-items:baseline;gap:1.2rem;}
.services-cat-num{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.7rem;letter-spacing:.05em;color:var(--muted);}
.services-cat-name{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:1rem;color:var(--black);transition:color .3s;}
.services-cat-link:hover .services-cat-name{color:#ea4949;}
.services-cat-arrow{font-size:1rem;color:var(--muted);transition:transform .3s,color .3s;}
.services-cat-link:hover .services-cat-arrow{transform:translateX(4px);color:#ea4949;}
@media(max-width:900px){
  .services-page-hero{padding:3rem 1.5rem 2rem;}
  .services-hero-row{justify-content:flex-start;margin-top:1.5rem;}
  .services-highlight{max-width:100%;}
  .services-categories{padding:0 1.5rem 4rem;}
  .services-cat-block{padding:2.5rem 0;}
  .services-cat-lower{grid-template-columns:1fr;gap:1.2rem;}
  .services-cat-title{font-size:clamp(3rem,16vw,5rem);}
  .services-cat-name{font-size:.95rem;}
}

/* ABOUT PAGE */
.about-page-hero{padding:5rem 3rem 6rem;max-width:1000px;margin:0 auto;text-align:center;}
.about-page-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(3.5rem,8vw,7rem);line-height:.95;color:var(--black);margin-bottom:4rem;opacity:0;animation:fadeUp .8s .15s forwards;position:relative;z-index:2;}
.about-page-title em{font-style:normal;color:#ea4949;}
.about-page-sub{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:700;font-size:clamp(1.2rem,2.1vw,1.7rem);color:var(--black);max-width:850px;line-height:1.25;margin:0 auto;opacity:0;animation:fadeUp .8s .4s forwards;position:relative;z-index:2;}
/* Floating side decorations for about hero */
.about-hero-wrap{position:relative;overflow:hidden;}
.about-deco{position:absolute;pointer-events:none;z-index:1;}
.about-deco-ring{border-radius:50%;border:1.5px solid rgba(21,21,21,.15);}
.about-deco-dot{border-radius:50%;background:#ea4949;}
.about-deco-line{height:1px;background:rgba(21,21,21,.12);}
.deco-1{width:90px;height:90px;top:18%;left:4%;animation:decoFloat1 9s ease-in-out infinite;}
.deco-2{width:14px;height:14px;top:55%;left:9%;animation:decoFloat2 7s ease-in-out infinite;}
.deco-3{width:50px;height:50px;top:65%;left:3%;opacity:.5;animation:decoFloat3 11s ease-in-out infinite;}
.deco-4{width:60px;top:35%;left:7%;transform:rotate(35deg);animation:decoFloat2 8s ease-in-out infinite;}
.deco-5{width:70px;height:70px;top:15%;right:5%;animation:decoFloat3 10s ease-in-out infinite;}
.deco-6{width:11px;height:11px;top:48%;right:8%;animation:decoFloat1 6.5s ease-in-out infinite;}
.deco-7{width:120px;height:120px;top:60%;right:3%;opacity:.4;animation:decoFloat2 12s ease-in-out infinite;}
.deco-8{width:55px;top:30%;right:9%;transform:rotate(-30deg);animation:decoFloat1 9.5s ease-in-out infinite;}
@keyframes decoFloat1{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-18px) rotate(8deg);}}
@keyframes decoFloat2{0%,100%{transform:translate(0,0);}50%{transform:translate(10px,-14px);}}
@keyframes decoFloat3{0%,100%{transform:scale(1) translateY(0);}50%{transform:scale(1.08) translateY(12px);}}
@media(max-width:1100px){.about-deco{display:none;}}

.about-mission{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:2rem 3rem 6rem;max-width:1400px;margin:0 auto;align-items:center;}
.about-mission-visual{position:relative;height:480px;border-radius:14px;overflow:hidden;background:var(--black);}
.about-mission-visual iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:177.78%;height:177.78%;min-width:100%;min-height:100%;border:none;pointer-events:none;}
.about-mission-text p{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.95rem;line-height:2;color:#151515;margin-bottom:1.5rem;}
.about-values{background:var(--mid);padding:6rem 3rem;}
.about-values-inner{max-width:1400px;margin:0 auto;}
.about-values-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.5rem,5vw,4.5rem);color:var(--black);margin-bottom:3rem;}
.about-values-title em{font-style:normal;color:#ea4949;}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.value-card{background:var(--white);border-radius:12px;padding:2.2rem;}
.value-num{font-family:'Bebas Neue',sans-serif;font-size:.9rem;letter-spacing:.2em;color:#ea4949;margin-bottom:1.2rem;display:block;}
.value-name{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:700;font-size:1.2rem;color:var(--black);margin-bottom:.8rem;}
.value-desc{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.82rem;color:var(--muted);line-height:1.8;}
.about-team{padding:6rem 3rem;max-width:1400px;margin:0 auto;}
.about-team-header{margin-bottom:3rem;}
.about-team-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.5rem,5vw,4.5rem);color:var(--black);}
.about-team-title em{font-style:normal;color:#ea4949;}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.team-card{cursor:none;}
.team-photo{aspect-ratio:3/4;border-radius:10px;overflow:hidden;background:var(--mid);margin-bottom:1rem;}
.team-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.team-card:hover .team-photo img{transform:scale(1.04);}
.team-name{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:700;font-size:.95rem;color:var(--black);}
.team-role{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.7rem;color:var(--muted);margin-top:.2rem;}
@media(max-width:900px){
  .about-page-hero{padding:3rem 1.5rem 2rem;}
  .about-mission{grid-template-columns:1fr;padding:1rem 1.5rem 4rem;gap:2rem;}
  .about-mission-visual{height:320px;}
  .about-values{padding:4rem 1.5rem;}
  .values-grid{grid-template-columns:1fr;}
  .about-team{padding:4rem 1.5rem;}
  .team-grid{grid-template-columns:1fr 1fr;gap:1rem;}
}

/* PROCESS */
.process{padding:4rem 3rem;max-width:1400px;margin:0 auto;}
.process-label{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem;}
.process-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(4rem,7vw,8rem);line-height:.9;letter-spacing:.02em;margin-bottom:5rem;color:var(--black);}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative;}
.process-steps::before{content:'';position:absolute;top:1.5rem;left:2rem;right:2rem;height:1px;background:linear-gradient(90deg,var(--black),rgba(21,21,21,.2),transparent);}
.proc-step{position:relative;padding-top:3.5rem;}
.step-dot{position:absolute;top:0;left:0;width:3rem;height:3rem;border:1px solid var(--black);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:var(--black);background:var(--white);transition:background .3s,color .3s,border-color .3s;}
.proc-step:hover .step-dot{background:#ea4949;border-color:#ea4949;color:var(--white);}
.step-name{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:1.2rem;color:var(--black);margin-bottom:.8rem;}
.step-desc{font-size:.7rem;line-height:1.9;color:var(--muted);}

/* HOME CTA */
.home-cta{margin:0 3rem 4rem;background:var(--black);padding:4rem 6rem;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3rem;position:relative;overflow:hidden;}
.home-cta::before{display:none;}
.home-cta-logo{position:absolute;right:-60px;bottom:-30px;width:700px;opacity:.06;pointer-events:none;user-select:none;}
.home-cta-logo svg{width:100%;height:auto;display:block;}
.home-cta h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.5rem,4vw,4.5rem);line-height:.95;color:var(--white);}
.home-cta p{font-size:.75rem;line-height:1.8;color:rgba(255,255,255,.5);margin-top:1rem;max-width:500px;}

/* FOOTER */
.main-footer{background:var(--black);border-top:none;padding:4rem 3rem 2rem;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;max-width:100%;margin:0;}
.main-footer-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;width:100%;}
.footer-logo{display:block;margin-bottom:1rem;}
.footer-tagline{font-size:.85rem;line-height:1.9;color:rgba(255,255,255,.45);margin-bottom:1.5rem;}
.footer-col-title{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:1.5rem;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:.8rem;}
.footer-links a{font-size:.85rem;color:rgba(255,255,255,.5);text-decoration:none;transition:color .3s;cursor:none;}
.footer-links a:hover{color:var(--white);}
.footer-bottom{background:var(--black);border-top:1px solid rgba(255,255,255,.08);padding:1.5rem 3rem;display:flex;justify-content:space-between;align-items:center;max-width:100%;margin:0;}
.footer-copy{font-size:.72rem;color:rgba(255,255,255,.4);}
.footer-socials{display:flex;gap:1.5rem;}
.footer-socials a{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.4);text-decoration:none;transition:color .3s;cursor:none;}
.footer-socials a:hover{color:var(--white);}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:.8rem;padding:1rem 2rem;background:var(--black);color:var(--white);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;transition:all .3s;cursor:none;white-space:nowrap;border:none;border-radius:999px;}
.btn:hover{gap:1.3rem;}
.btn-blue{background:var(--black);color:var(--white);}
.btn-blue:hover{background:var(--accent);}
.btn-outline{background:transparent;color:var(--black);border:2px solid var(--black);}
.btn-outline:hover{background:var(--black);color:var(--white);}
.btn-outline-w{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.5);}
.btn-outline-w:hover{background:var(--white);color:var(--black);}
.btn-dark{background:var(--black);color:var(--white);}
.btn-dark:hover{background:#2a2a2a;}
/* Smaller section buttons (28 Oct 2026) — "View All Services" and "View Reviews" share this size. */
.btn-view{padding:.7rem 1.4rem;font-size:.6rem;gap:.6rem;}
.btn-white{background:var(--white);color:var(--black);}
.btn-white:hover{background:#eee;}

.work-hero{padding:4rem 7rem 2.5rem;}
.work-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(5rem,10vw,10rem);line-height:.85;color:var(--black);}
.work-title em{font-style:normal;color:#ea4949;}
.port-filter-bar{padding:0 7rem 3rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .3rem;border-bottom:1px solid var(--border);}
.port-filter{background:none;border:none;padding:0;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:1.75rem;color:rgba(21,21,21,.28);cursor:none;transition:color .3s;line-height:1.4;display:inline;}
.port-filter::after{content:'·';margin:0 .35rem;color:rgba(21,21,21,.15);}
.port-filter:last-child::after{display:none;}
.port-filter:hover{color:rgba(21,21,21,.65);}
.port-filter.active{color:var(--black);font-weight:700;}
.port-filter-count{font-size:.48em;opacity:.55;font-weight:400;margin-left:.12em;vertical-align:baseline;}
.work-grid{display:grid;grid-template-columns:1fr 1fr;margin:0 7rem;}
.work-item{cursor:none;border-bottom:1px solid var(--border);transition:background .25s;}
.work-item:nth-child(odd){border-right:1px solid var(--border);}
.work-item:hover{background:#f8f8f8;}
.work-item.filtered-out{display:none;}
.work-card-img{position:relative;overflow:hidden;background:var(--mid);max-height:320px;}
.work-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.25,.1,.25,1);}
.work-item:hover .work-card-img img{transform:scale(1.04);}
.work-card-tags{position:absolute;top:.85rem;left:.85rem;display:flex;gap:.3rem;flex-wrap:wrap;z-index:2;}
.work-card-tag{background:rgba(255,255,255,.9);backdrop-filter:blur(6px);color:var(--black);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.48rem;letter-spacing:.12em;text-transform:uppercase;padding:.22rem .6rem;border-radius:999px;}
.work-card-arrow{position:absolute;top:.85rem;right:.85rem;width:32px;height:32px;border-radius:50%;background:var(--black);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;opacity:0;transform:scale(.6);transition:opacity .3s,transform .3s;z-index:2;}
.work-item:hover .work-card-arrow{opacity:1;transform:scale(1);}
.work-card-info{padding:1.1rem 1.4rem 1.7rem;}
.work-card-year{font-size:.58rem;color:var(--muted);display:block;margin-bottom:.4rem;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;}
.work-card-title{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:700;font-size:1.05rem;color:var(--black);line-height:1.4;}
.work-ticker{padding:4rem 0;overflow:hidden;border-top:1px solid var(--border);}
.work-ticker-track{display:flex;white-space:nowrap;width:max-content;}
.work-ticker-track.go-left{animation:tickLeft 28s linear infinite;}
.work-ticker-track.go-right{animation:tickRight 28s linear infinite;margin-top:.3rem;}
.work-ticker-track span{font-family:'Bebas Neue',sans-serif;font-size:clamp(4rem,7vw,6.5rem);color:var(--black);letter-spacing:.01em;padding-right:1rem;}
.work-ticker-track span em{font-style:normal;color:#ea4949;}
@keyframes tickLeft{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes tickRight{from{transform:translateX(-50%);}to{transform:translateX(0);}}
/* New heading replacing OUR WORK */
.work-title-alt{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,6.5vw,6rem);line-height:1.1;color:var(--black);letter-spacing:-.01em;white-space:normal;max-width:100%;}
.work-title-alt em{font-style:normal;color:#ea4949;}
/* Silv Studio style 3-column grid */
.silv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem 2rem;padding:1rem 7rem 0;}
.silv-item{cursor:none;}
.silv-img{border-radius:10px;overflow:hidden;aspect-ratio:4/3;background:var(--mid);margin-bottom:1rem;}
.silv-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.25,.1,.25,1);}
.silv-item:hover .silv-img img{transform:scale(1.05);}
.silv-tags{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.7rem;color:var(--muted);margin-bottom:.3rem;}
.silv-name{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:700;font-size:1rem;color:var(--black);transition:color .3s;}
.silv-item:hover .silv-name{color:#ea4949;}
.silv-item.filtered-out{display:none;}
@media(max-width:900px){
  .work-hero{padding:3rem 1.5rem 2rem;}
  .work-title{font-size:clamp(4rem,14vw,7rem);}
  .work-title-alt{white-space:normal;}
  .port-filter-bar{padding:0 1.5rem 2rem;}
  .port-filter{font-size:1.1rem;}
  .work-grid{grid-template-columns:1fr;margin:0 1.5rem;}
  .work-item:nth-child(odd){border-right:none;}
  .work-card-img{max-height:240px;}
  .work-ticker-track span{font-size:clamp(2.5rem,9vw,4rem);}
  .work-ticker{padding:2.5rem 0;}
  .silv-grid{grid-template-columns:1fr 1fr;gap:1.5rem 1rem;padding:1rem 1.5rem 0;}
}
.page-hero{padding:5rem 3rem 4rem;max-width:1400px;margin:0 auto;}
.page-label{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem;}
.page-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,7vw,7rem);line-height:.95;margin-bottom:1.5rem;white-space:nowrap;color:var(--black);}
.page-sub{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-style:normal;font-size:1.2rem;color:var(--muted);max-width:550px;line-height:1.5;}
.port-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding:0 3rem;max-width:1400px;margin-left:auto;margin-right:auto;margin-bottom:6rem;}
.port-ov-card{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--mid);cursor:none;display:block;text-decoration:none;}
.port-ov-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .5s;filter:brightness(.85);}
.port-ov-card:hover img{transform:scale(1.06);filter:brightness(.45);}
.port-ov-overlay{position:absolute;inset:0;padding:2rem;display:flex;flex-direction:column;justify-content:flex-end;opacity:0;transition:opacity .4s;background:linear-gradient(to top,rgba(21,21,21,.92) 0%,transparent 60%);}
.port-ov-card:hover .port-ov-overlay{opacity:1;}
.port-ov-cat{font-size:.55rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:.5rem;}
.port-ov-name{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:1.4rem;color:var(--white);line-height:1.2;}
.port-ov-arrow{position:absolute;top:1.5rem;right:1.5rem;width:2.5rem;height:2.5rem;background:var(--white);display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--black);opacity:0;transform:translateY(-8px);transition:opacity .4s,transform .4s;}
.port-ov-card:hover .port-ov-arrow{opacity:1;transform:translateY(0);}

/* PORTFOLIO DETAIL */
.back-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);text-decoration:none;margin-bottom:2rem;transition:color .3s;cursor:none;}
.back-link:hover{color:var(--black);}
.port-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding:2rem 3rem 6rem;max-width:1400px;margin:0 auto;}
.port-detail-grid.two-col{grid-template-columns:repeat(2,1fr);}
.port-card{position:relative;overflow:hidden;background:var(--mid);cursor:none;}
.port-card.tall{aspect-ratio:3/4;}
.port-card.wide{aspect-ratio:16/9;}
.port-card.square{aspect-ratio:1;}
.port-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .5s;filter:brightness(.85);}
.port-card:hover img{transform:scale(1.06);filter:brightness(.45);}
.port-info{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;background:linear-gradient(to top,rgba(21,21,21,.95) 0%,transparent 100%);transform:translateY(8px);opacity:0;transition:all .4s;}
.port-card:hover .port-info{opacity:1;transform:translateY(0);}
.port-tag{font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:.3rem;}
.port-title{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:1.1rem;color:var(--white);}
.port-desc{font-size:.65rem;color:rgba(255,255,255,.55);margin-top:.3rem;line-height:1.6;}
.cta-strip{background:var(--black);padding:4rem 3rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;}
.cta-strip h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(1.8rem,3.5vw,3rem);color:var(--white);}
.cta-strip p{font-size:.7rem;color:rgba(255,255,255,.5);margin-top:.5rem;max-width:400px;}

/* SIMPLE FOOTER */
.simple-footer{border-top:1px solid var(--border);padding:2rem 3rem;display:flex;justify-content:space-between;align-items:center;}
.simple-footer-logo{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;color:var(--black);cursor:none;text-decoration:none;}
.simple-footer-copy{font-size:.6rem;color:var(--muted);}

/* CONTACT PAGE */
.contact-wrap{display:grid;grid-template-columns:1fr 1.4fr;}
.contact-left{background:var(--black);padding:5rem 4rem;display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100vh - 72px);}
.contact-left-inner{flex:1;display:flex;flex-direction:column;justify-content:center;}
.contact-label{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:1.5rem;}
.contact-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,4.5vw,5rem);line-height:.9;color:var(--white);margin-bottom:2rem;}
.contact-sub{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-style:normal;font-size:1.1rem;color:rgba(255,255,255,.55);line-height:1.6;margin-bottom:3rem;}
.contact-info{display:flex;flex-direction:column;gap:1.2rem;}
.contact-info-item{display:flex;flex-direction:column;gap:.2rem;}
.info-label{font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.4);}
.info-val{font-size:1rem;color:var(--white);}

.contact-right{padding:5rem;background:var(--white);}
.form-section-title{font-family:'Bebas Neue',sans-serif;font-size:2.4rem;color:var(--black);margin-bottom:.5rem;}
.form-section-sub{font-size:.9rem;color:var(--muted);margin-bottom:2rem;line-height:1.7;}
.steps-bar{display:flex;gap:0;margin-bottom:2rem;border:1px solid var(--border);border-radius:999px;overflow:hidden;}
.step-tab{flex:1;padding:.8rem;text-align:center;font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);border-right:1px solid var(--border);transition:all .3s;cursor:none;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;}
.step-tab:last-child{border-right:none;}
.step-tab.active{background:var(--black);color:var(--white);}
.step-tab.done{color:var(--black);}
.progress-bar{height:4px;background:rgba(21,21,21,.08);margin-bottom:2.5rem;border-radius:999px;}
.progress-fill{height:100%;background:var(--black);transition:width .5s ease;}
.form-step{display:none;}
.form-step.active{display:block;}
.services-select{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-bottom:2.5rem;}
.service-option{padding:1.1rem 1.5rem;border:1px solid var(--border);background:transparent;color:var(--muted);font-family:'Bebas Neue',sans-serif;font-size:1.15rem;letter-spacing:.08em;text-align:left;cursor:none;transition:all .3s;display:flex;align-items:center;justify-content:space-between;border-radius:14px;}
.service-option:hover{border-color:var(--black);color:var(--black);}
.service-option.selected{background:var(--black);border-color:var(--black);color:var(--white);}
.s-icon{display:none;}
.s-check{opacity:0;transition:opacity .2s;font-size:.9rem;font-family:'Space Mono',monospace;}
.service-option.selected .s-check{opacity:1;}
.form-group{margin-bottom:1.5rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
label{display:block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;}
input,select,textarea{width:100%;background:var(--white);border:1px solid rgba(21,21,21,.2);color:var(--black);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.9rem;padding:1rem 1.2rem;outline:none;transition:border-color .3s;cursor:none;border-radius:12px;}
input:focus,select:focus,textarea:focus{border-color:var(--black);}
input::placeholder,textarea::placeholder{color:#bbb;}
select option{background:var(--white);color:var(--black);}
textarea{resize:vertical;min-height:110px;}
.budget-options{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;}
.budget-btn{padding:.8rem .3rem;border:1px solid var(--border);background:transparent;color:var(--muted);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.78rem;letter-spacing:.04em;text-align:center;cursor:none;transition:all .3s;border-radius:999px;}
.budget-btn:hover{border-color:var(--black);color:var(--black);}
.budget-btn.selected{background:var(--black);border-color:var(--black);color:var(--white);}
.form-nav{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border);}
.btn-prev{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.5rem;background:transparent;border:1px solid var(--border);color:var(--muted);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;cursor:none;transition:all .3s;border-radius:999px;}
.btn-prev:hover{border-color:var(--black);color:var(--black);}
.btn-next-f{display:inline-flex;align-items:center;gap:.8rem;padding:.9rem 2rem;background:var(--black);color:var(--white);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;cursor:none;transition:all .3s;border:none;border-radius:999px;}
.btn-next-f:hover{background:var(--accent);}
.btn-submit{display:inline-flex;align-items:center;gap:.8rem;padding:1rem 2rem;background:var(--black);color:var(--white);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;cursor:none;transition:all .3s;border:none;border-radius:999px;}
.btn-submit:hover{background:var(--accent);}
.req{color:var(--accent);}
.error-msg{font-size:.6rem;color:#cc3333;display:none;margin-bottom:1rem;}
.success-screen{display:none;text-align:center;padding:3rem 1rem;}
.success-screen.show{display:block;}
.success-icon{font-size:3.5rem;margin-bottom:1.2rem;}
.success-title{font-family:'Bebas Neue',sans-serif;font-size:3rem;color:var(--black);margin-bottom:1rem;}
.success-sub{font-size:.72rem;color:var(--muted);line-height:1.9;max-width:400px;margin:0 auto 1.5rem;}
.success-services{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.5rem;}
.success-tag{font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;padding:.3rem .8rem;background:transparent;border:1px solid var(--black);color:var(--black);border-radius:999px;}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s,transform .7s;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* MOBILE */
@media(max-width:900px){
  /* Cursor — hide on touch */
  .cursor,.cursor-ring{display:none;}

  /* NAV — hamburger */
  nav{padding:1rem 1.5rem;}
  /* Mobile menu — madebyshape.co.uk style (27 Oct 2026): a rounded panel
     inset from the screen edges, not a full-screen overlay; big links
     left-aligned in Crew4's own Bebas Neue. The nav (logo + X) stays on top
     of the panel, so the panel's top padding clears the header row. */
  .nav-links{display:none;position:fixed;top:.875rem;left:.875rem;right:.875rem;bottom:auto;max-height:calc(100dvh - 1.75rem);overflow-y:auto;background:rgba(255,255,255,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 24px 60px rgba(21,21,21,.18);flex-direction:column;align-items:flex-start;justify-content:flex-start;justify-self:stretch;gap:.4rem;z-index:490;padding:4.25rem .875rem 2rem;transform:none!important;}
  .nav-links.open{display:flex;animation:menuIn .3s ease both;}
  .nav-links a{font-family:'Bebas Neue',sans-serif;font-weight:400;font-size:3rem;line-height:1;letter-spacing:.02em;text-transform:uppercase;color:var(--black);}
  .nav-links.open .nav-menu-label{display:block;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:rgba(21,21,21,.45);margin-bottom:1.25rem;}
  .nav-links.open .nav-menu-cta{display:block;margin-top:1.75rem;}
  .nav-links.open .nav-menu-cta a{display:inline-flex;align-items:center;gap:.6rem;background:var(--accent);color:var(--white);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:500;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;padding:1rem 1.75rem;border-radius:999px;}
  .nav-links.open .nav-menu-cta a:hover{background:var(--black);color:var(--white);}
  .nav-hamburger{display:flex;flex-direction:column;gap:5px;cursor:pointer;z-index:495;background:none;border:none;padding:.3rem;}
  .nav-hamburger span{display:block;width:24px;height:2px;background:var(--black);transition:all .3s;}
  .nav-hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
  .nav-hamburger.open span:nth-child(2){opacity:0;}
  .nav-hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}
  .nav-logo svg{height:24px;}

  /* HERO */
  .hero-content{left:1.5rem;right:1.5rem;bottom:5rem;max-width:100%;}
  .hero-title{font-size:clamp(3rem,14vw,5.5rem);}
  .hero-sub{font-size:1rem;}
  .hero-btns{flex-direction:column;gap:.8rem;}
  .hero-btns .btn{width:100%;justify-content:center;}
  .hero-scroll{right:1.5rem;font-size:.5rem;}

  /* MARQUEE */
  .marquee span{font-size:.85rem;}

  /* ABOUT */
  .about{grid-template-columns:1fr;padding:4rem 1.5rem;}
  /* The "Crew4 Creative Philosophy" video box shows on phones too (28 Oct 2026) — it used to be hidden, so the Who We Are section had no video on mobile. Shorter box + no red offset block (it would poke past the right edge). */
  .about-visual{display:block;height:400px;}
  .about-box-2{display:none;}
  .about-box-inner{padding:1.5rem;}
  .about-stats{grid-template-columns:repeat(3,1fr);gap:1rem;}
  .stat-num{font-size:2rem;}

  /* SHOWREEL */
  .showreel-inner{padding:1.5rem;}
  .showreel-label{font-size:.5rem;letter-spacing:.15em;}

  /* SERVICES CAROUSEL */
  .services{padding:4rem 1.5rem;}
  .carousel-outer{margin-right:-1.5rem;}
  .car-card{flex:0 0 280px;}
  .car-img{height:320px;}
  /* Carousel on phones: native free scroll (28 Oct 2026). The transform + settle-snap made a drag of less than half a card snap back to where it started, which felt stuck. Native scrolling has momentum and lets the track rest wherever the finger leaves it; the arrows scroll it one card at a time. */
  .carousel-outer{overflow-x:auto;overflow-y:hidden;touch-action:auto;scrollbar-width:none;}
  .carousel-outer::-webkit-scrollbar{display:none;}
  .carousel-track{transform:none!important;transition:none!important;touch-action:auto;}
  /* Services header on phones (28 Oct 2026): title on top, then the "View All Services" button and the arrows share one line, vertically aligned. */
  .services-carousel-header{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:1rem;row-gap:1.25rem;}
  .services-carousel-left{display:contents;}
  .services-big-title{font-size:clamp(3.5rem,14vw,4.5rem);white-space:normal;grid-column:1 / -1;}
  /* The button is a grid item: without this it stretches to fill the whole 1fr column and renders as a wide black bar. */
  .services-carousel-header .btn-view{justify-self:start;align-self:center;}

  /* CLIENTS */
  .clients{padding:4rem 1.5rem;}
  .clients-header{flex-direction:column;gap:1.5rem;align-items:flex-start;}
  .clients-title{font-size:clamp(3.5rem,14vw,4.5rem);}
  .clients-grid{grid-template-columns:repeat(2,1fr);gap:6px;}
  .client-cell{padding:1.5rem 1rem;height:90px;}

  /* TESTIMONIALS HOME SECTION */
  .testimonials{padding:4rem 1.5rem;}
  .testimonials-inner{grid-template-columns:1fr;}
  .testi-left{min-height:320px;padding:2rem;}
  .testi-quote{font-size:.95rem;left:2rem;right:2rem;}
  .testi-right{flex-direction:row;}
  .testi-stat-box{padding:2rem 1.5rem;}
  .testi-stat-num{font-size:3.5rem;}

  /* PROCESS */
  .process{padding:4rem 1.5rem;}
  .process-title{font-size:clamp(3.5rem,14vw,4.5rem);}
  .process-steps{grid-template-columns:1fr 1fr;gap:1.5rem;}
  .process-steps::before{display:none;}

  /* HOME CTA */
  .home-cta{margin:0 1.5rem 4rem;padding:3rem 2rem;grid-template-columns:1fr;}
  .home-cta-logo{width:100%;right:-20px;bottom:-20px;}

  /* FOOTER */
  .main-footer{padding:3rem 1.5rem;}
  .main-footer-inner{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;gap:1rem;padding:1.5rem;}

  /* PORTFOLIO OUR WORK PAGE */
  .work-hero{padding:3rem 1.5rem 0;}
  .work-title{font-size:clamp(4rem,14vw,7rem);}
  .port-filters-wrap{padding:2rem 1.5rem;}
  .port-filter{font-size:1.4rem;}
  .port-filter.active{font-size:1.8rem;}
  .work-grid{grid-template-columns:1fr;padding:2.5rem 1.5rem 0;gap:2rem;}
  .work-footer-gap{padding:2.5rem 1.5rem 0;}

  /* PORTFOLIO DETAIL PAGES */
  .page-hero{padding:3rem 1.5rem 2rem;}
  .page-title{font-size:clamp(3rem,12vw,6rem);white-space:normal;}
  .port-detail-grid{grid-template-columns:1fr;padding:1rem 1.5rem 4rem;}
  .port-detail-grid.two-col{grid-template-columns:1fr;}
  .cta-strip{flex-direction:column;padding:3rem 1.5rem;}
  .simple-footer{flex-direction:column;gap:1rem;padding:2rem 1.5rem;}

  /* TESTIMONIALS PAGE */
  .testi-grid{grid-template-columns:1fr;padding:0 1.5rem 4rem;}
  .testi-page-hero{padding:4rem 1.5rem 3rem;}
  .testi-page-title{font-size:clamp(3rem,12vw,6rem);white-space:normal;}
  .testi-page-stats{flex-wrap:wrap;gap:2rem;}

  /* CONTACT */
  .contact-wrap{grid-template-columns:1fr;}
  .contact-left{min-height:auto;padding:4rem 1.5rem 3rem;}

  .contact-right{padding:3rem 1.5rem;}
  .services-select{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .budget-options{grid-template-columns:repeat(2,1fr);}
  .steps-bar{border-radius:8px;}
}

@media(max-width:480px){
  /* Stats stay in one row of three on small phones (28 Oct 2026) — they used to stack to a single column here. Tighter gap + looser label spacing so the long "Avg. Response Time" label fits. */
  .about-stats{grid-template-columns:repeat(3,1fr);gap:.75rem;}
  .stat-label{letter-spacing:.12em;}
  .testi-right{flex-direction:column;}
  .process-steps{grid-template-columns:1fr;}
  .clients-grid{grid-template-columns:repeat(2,1fr);}
  .hero-title{font-size:clamp(2.8rem,16vw,4.5rem);}
}

/* CASE STUDY PAGES */
.case-intro{max-width:1400px;margin:0 auto;padding:3rem 3rem 0;display:grid;grid-template-columns:2fr 1fr;gap:3rem;}
.case-intro h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:.02em;margin-bottom:1rem;}
.case-intro p{font-size:.85rem;line-height:1.8;color:#555555;}
.case-meta{border-left:2px solid var(--accent);padding-left:1.5rem;}
.case-meta p{margin-bottom:1rem;}
.case-meta strong{display:block;color:var(--black);text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;margin-bottom:.25rem;}
@media(max-width:900px){.case-intro{grid-template-columns:1fr;padding:2rem 1.5rem 0;}}

/* ============ MOBILE FIXES — 27 Oct 2026 ============ */
/* Site footer (replaces the old inline-styled footer divs). The inline
   4-column grid never stacked on phones, which stretched every page to
   639px wide and pushed the hamburger + Contact button off-screen. */
.site-footer{background:var(--black);padding:4rem 3rem 2rem;}
.site-footer-bordered{border-top:1px solid rgba(255,255,255,.1);}
.site-footer-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;}
/* Footer email button (was an inline style on all 23 pages). Desktop values
   match the old inline style exactly; the mobile rule below sizes it down. */
.footer-email-btn{font-size:.6rem;padding:.8rem 1.5rem;}
/* Mobile menu extras (label + "Start a Project" CTA) live in the nav on every
   page but only ever show inside the open mobile menu — hidden everywhere else. */
.nav-menu-label,.nav-menu-cta{display:none;}
@keyframes menuIn{from{opacity:0;}to{opacity:1;}}
/* Work-grid tags written as spans (BRGR, Silent Ascent, FENS, GHAZWA)
   ran together with no separator — "LogoIdentityPackaging". */
.silv-tags span+span::before{content:"·";margin:0 .4em;}
@media(max-width:900px){
  /* Footer: Saad wants the desktop 4-column footer on phones too (27 Oct 2026),
     so the columns stay side by side, sized down to fit a 390px screen:
     tighter padding/gaps, smaller logo, type and email button. */
  .site-footer{padding:2.5rem .75rem 1.5rem;}
  .site-footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:.5rem;}
  .footer-logo svg{height:26px;width:auto;max-width:100%;}
  .footer-tagline{font-size:.72rem;line-height:1.6;margin-bottom:1rem;}
  .footer-col-title{font-size:.6rem;letter-spacing:.12em;margin-bottom:1rem;}
  .footer-links{gap:.6rem;}
  .footer-links a{font-size:.72rem;}
  .footer-email-btn{font-size:.45rem;letter-spacing:.05em;padding:.6rem .5rem;}
  /* Tighten the white band before the footer on phones: the homepage CTA
     keeps a 4rem bottom margin on mobile too (the original mobile rule at
     line ~596 sets margin:0 1.5rem 4rem; this later rule wins). */
  .home-cta{margin:0 1.5rem 1.5rem;}
  /* The "desktop-only" Contact pill has no hiding rule — on phones it
     squeezes next to the hamburger and wraps to two lines. The menu
     already carries a Contact link, so hide it here. */
  .nav-cta-desktop-only{display:none;}
  /* Scrolled nav pill: sized to match the madebyshape.co.uk floating header
     (27 Oct 2026) — 256px wide, 48px tall, centred, 8px from the top. The old
     pill spanned nearly the full screen (358px) and looked too big. Height is
     24px logo + .75rem top/bottom padding = 48px, same as the reference. */
  nav.scrolled{left:0;right:0;max-width:256px;margin-top:.5rem;padding:.75rem 1rem;background-color:rgba(255,255,255,.88);}
  /* While the menu is open the header goes full-width and transparent so the
     logo + X sit on the menu panel, like the reference panel. Sides are 28px
     so the logo lines up with the menu links (panel inset 14px + 14px pad). */
  nav.menu-open{left:0;right:0;max-width:100%;margin-top:0;padding:1rem 1.75rem;background:transparent!important;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent;border-radius:0;box-shadow:none!important;}
  /* Case-study captions are hover-only overlays — invisible on touch.
     On phones show them as plain text under each image instead. */
  .port-card.tall,.port-card.wide,.port-card.square{aspect-ratio:auto;}
  .port-card img{height:auto;filter:none;}
  .port-card:hover img{transform:none;filter:none;}
  .port-info{position:static;opacity:1;transform:none;background:none;padding:.9rem .2rem 0;}
  .port-tag{color:var(--muted);}
  .port-title{color:var(--black);}
  .port-desc{color:#555;}
  /* Work filters: bigger tap targets on touch. */
  .port-filter{padding:.45rem .1rem;}
}
/* Testimonials section header (was an inline-styled flex row): on phones the
   "View All Reviews" button sat beside the giant title and ran off the edge. */
.testi-section-head{max-width:1400px;margin:0 auto 3rem;display:flex;justify-content:space-between;align-items:flex-end;}
/* Testimonials heading (28 Oct 2026): was inline-styled; moved here so the mobile size below can match the other section titles. Desktop size unchanged. */
.testi-section-head h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(4rem,7vw,8rem);line-height:.9;letter-spacing:.02em;color:var(--white);}
@media(max-width:900px){
  .testi-section-head{flex-direction:column;align-items:flex-start;gap:1.5rem;}
  .testi-section-head h2{font-size:clamp(3.5rem,14vw,4.5rem);}
  /* The rotating quote is absolutely positioned and ran into the author row
     on the short mobile card — give the card room and pull the quote up. */
  .testi-left{min-height:420px;}
  .testi-quote{top:2rem;}
}

/* ===================== HERO UNDER HEADER — 29 Oct 2026 =====================
   Makes the homepage hero (and its blob animation) run the full viewport
   height, up behind the fixed header, instead of stopping at the header's
   bottom edge where the animation looked cut off.
   REVERT: delete this block and the hero goes back to exactly how it was
   (the original .hero rule above is untouched). Also revert the one line
   in script.js marked HERO UNDER HEADER (canvas height). */
.hero{margin-top:-72px;height:100vh;height:100dvh;}

/* ===================== HEADER CLEAR AT TOP (homepage) — 29 Oct 2026 =====================
   At the top of the homepage the header was frosted white, which washed
   out the blob animation behind it. Now the header is fully clear until
   you scroll (when it becomes the frosted pill exactly as before), so the
   animation shows completely through it.
   REVERT: delete this block and the header goes back to frosted at top.
   Scoped to the homepage only (body[data-page="home"]) so inner pages
   keep their readable frosted header. */
body[data-page="home"] nav:not(.scrolled){background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent;}

/* SECTION LINES REMOVED — 29 Oct 2026. Saad: the thin grey hairlines that
   separated sections on inner pages (services hero divider + category
   blocks, work filter bar + ticker, testimonials stats) are gone — the
   homepage has none and the inner pages now match. The services hero <hr>
   element itself was removed from services.html. List-row lines
   (.services-cat-link, .work-item) are kept — they're part of the lists.
   REVERT: delete this block and restore the <hr> in services.html. */
.services-cat-block{border-top:none;}
.testi-page-stats{border-top:none;}
.port-filter-bar{border-bottom:none;}
.work-ticker{border-top:none;}

/* BRAND TICKER + SERVICES GAP — 29 Oct 2026.
   Client-logo ticker between the Services hero copy and the first
   category: light grey logos, no separators, scrolling right to left
   (same marquee keyframes as the homepage). Gaps tuned: hero bottom
   3rem -> 2.25rem, first category block top 4rem -> 2.75rem.
   REVERT: delete this block, remove the .brand-ticker div from
   services.html and the SERVICES BRAND TICKER block from script.js. */
.services-page-hero{padding-bottom:3rem;}
.brand-ticker{overflow:hidden;padding:2.5rem 0;}
.brand-ticker-track{display:flex;align-items:flex-end;width:max-content;animation:marquee 170s linear infinite;}
.brand-ticker-half{display:flex;align-items:flex-end;}
.brand-ticker .ticker-logo{display:flex;align-items:flex-end;justify-content:center;flex:none;}  /* cell width set per logo in script.js: logo width + a constant 56px, so the visible gap between logos is even */
.brand-ticker .ticker-logo img{width:auto;max-width:140px;opacity:.25;display:block;}  /* height set per logo in script.js */
.services-cat-block:first-child{padding-top:4rem;}


/* === CLIENTS MOBILE-ONLY CELL — 2 Nov 2026 ===
   The clients grid is 5 columns on desktop (25 logos = 5 even rows) and
   2 columns on mobile, where 25 leaves one orphan box. A 26th cell
   (marked mobileOnly in script.js) fills the mobile grid and is hidden
   on desktop. REVERT: delete this block, remove the mobileOnly entry
   from CLIENTS in script.js and its class logic in renderClients. */
.client-cell-mobile-only{display:none;}
@media(max-width:900px){ .client-cell-mobile-only{display:flex;} }
