#hero{position:relative;width:100%;height:100vh;min-height:600px;overflow:hidden;background:#0a1a1a;display:flex;align-items:flex-end}.yt-wrap{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:0;display:block}.hero-ov{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(18,96,96,.25) 0,rgba(0,0,0,0) 12%,rgba(0,0,0,0) 75%,rgba(18,96,96,.28) 100%)}.hero-cnt{position:relative;z-index:2;width:100%;padding:0 52px 90px;max-width:1320px;margin:0 auto}.hero-tag{font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:28px;text-shadow:0 1px 8px rgba(0,0,0,.4)}.hero-h1{font-size:clamp(64px,10vw,140px);font-weight:800;letter-spacing:-.04em;line-height:.9;color:#fff;margin-bottom:44px;overflow:hidden;text-shadow:0 2px 32px rgba(0,0,0,.3)}.hero-h1 .ln{display:block;overflow:hidden}.hero-h1 .ln span{display:block;animation:heroUp .9s cubic-bezier(.22,1,.36,1) both}.hero-h1 .ln:nth-child(2) span{animation-delay:.08s}.hero-h1 .ln:nth-child(3) span{animation-delay:.16s}@keyframes heroUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.hero-h1 .ac{color:var(--t)}.hero-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap}.hero-p{font-size:17px;line-height:1.7;color:rgba(255,255,255,.85);max-width:500px;animation:fadeIn 1s .4s both;text-shadow:0 1px 12px rgba(0,0,0,.5)}.hero-r{display:flex;flex-direction:column;align-items:flex-end;gap:28px;animation:fadeIn 1s .5s both}@keyframes fadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.hero-btns{display:flex;gap:12px;flex-wrap:wrap}.hero-stats{display:flex;gap:32px}.st{text-align:right}.st-n{font-size:28px;font-weight:800;color:#fff;line-height:1;letter-spacing:-.02em}.st-n span{color:var(--t)}.st-l{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-top:3px}.scroll-cue{position:absolute;bottom:36px;left:52px;z-index:3;display:flex;align-items:center;gap:12px;cursor:pointer;opacity:.5;transition:opacity .2s}.scroll-cue:hover{opacity:1}.scroll-cue span{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#fff}.scroll-line{width:40px;height:1px;background:rgba(255,255,255,.4);position:relative;overflow:hidden}.scroll-line::after{content:'';position:absolute;left:-100%;top:0;width:100%;height:100%;background:#fff;animation:scrollMove 2s linear infinite}@keyframes scrollMove{to{left:100%}}.mute-btn{position:absolute;bottom:36px;right:52px;z-index:3;width:40px;height:40px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.mute-btn:hover{background:rgba(255,255,255,.2)}#muteIcon{font-size:0;width:18px;height:18px;display:block;background-image:url("data:image/svg+xml,%3Csvgxmlns='http://www.w3.org/2000/svg'width='18'height='18'viewBox='002424'fill='none'stroke='white'stroke-width='1.8'stroke-linecap='round'%3E%3Cpolygonpoints='11569292156151119115'/%3E%3Clinex1='23'y1='9'x2='17'y2='15'/%3E%3Clinex1='17'y1='9'x2='23'y2='15'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain}#muteIcon.sound-on{background-image:url("data:image/svg+xml,%3Csvgxmlns='http://www.w3.org/2000/svg'width='18'height='18'viewBox='002424'fill='none'stroke='white'stroke-width='1.8'stroke-linecap='round'%3E%3Cpolygonpoints='11569292156151119115'/%3E%3Cpathd='M19.074.93a1010001014.14M15.548.46a5500107.07'/%3E%3C/svg%3E")}#svc-teaser{padding-bottom:100px}.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--bd)}.svc-c{padding:36px 28px;border-right:1px solid var(--bd);display:flex;flex-direction:column;gap:0;transition:background .22s;position:relative}.svc-c:last-child{border-right:0}.svc-c::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--t);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.svc-c:hover{background:var(--bg2)}.svc-c:hover::after{transform:scaleX(1)}.svc-no{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--gl);margin-bottom:20px}.svc-ico{width:36px;height:36px;color:var(--t);margin-bottom:20px;flex-shrink:0}.svc-nm{font-size:15px;font-weight:800;color:var(--ink);margin-bottom:10px}.svc-tx{font-size:12px;line-height:1.7;color:var(--gm);flex:1;margin-bottom:20px}.svc-lnk{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--t);display:flex;align-items:center;gap:7px;margin-top:auto}#nums{background:var(--ink);padding:64px 0}.nums-g{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.nm-i{text-align:center;padding:20px;border-right:1px solid rgba(255,255,255,.07)}.nm-i:last-child{border-right:0}.nm-n{font-size:clamp(40px,5vw,64px);font-weight:800;letter-spacing:-.03em;color:#fff;line-height:1}.nm-l{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-top:8px}#port-teaser{padding:100px 0}.pt-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-bottom:40px}.pt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}#clients-teaser{padding:80px 0 100px;border-top:1px solid var(--bd)}.cl-g{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--bd);margin-top:40px}.cl{flex:1;min-width:160px;padding:28px 20px;text-align:center;border-right:1px solid var(--bd);display:flex;flex-direction:column;align-items:center;gap:8px}.cl:last-child{border-right:0}.cl-logo{height:36px;width:auto;max-width:100px;object-fit:contain;filter:grayscale(1) opacity(.55);transition:filter .22s}.cl:hover .cl-logo{filter:grayscale(0) opacity(1)}.cl-n{font-size:12px;font-weight:700;color:var(--ink)}.cl-s{font-size:10px;color:var(--gm);letter-spacing:.04em}@media(max-width:1080px){.svc-grid{grid-template-columns:repeat(2,1fr)}.svc-c:nth-child(2){border-right:0}.svc-c:nth-child(1),.svc-c:nth-child(2){border-bottom:1px solid var(--bd)}.pt-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){#hero{height:100svh;min-height:560px}.yt-wrap{object-position:center center;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform}.hero-cnt{padding:0 24px 72px}.hero-tag{font-size:10px;letter-spacing:.18em;margin-bottom:20px}.hero-h1{font-size:clamp(52px,13vw,88px);letter-spacing:-.03em;margin-bottom:28px}.hero-p{font-size:16px;line-height:1.65}.hero-foot{flex-direction:column;align-items:flex-start;gap:28px}.hero-r{align-items:flex-start;width:100%}.hero-btns{flex-direction:column;width:100%}.hero-btns .btn{justify-content:center;width:100%;padding:18px 24px;font-size:13px}.hero-stats{gap:20px}.st{text-align:left}.st-n{font-size:26px}.st-l{font-size:10px}.scroll-cue{left:24px;bottom:24px}.mute-btn{right:24px;bottom:24px}.svc-grid{grid-template-columns:1fr;border:0;gap:1px;background:var(--bd)}.svc-c{border-right:0;border:0}.svc-c:nth-child(1),.svc-c:nth-child(2){border-bottom:0}.svc-nm{font-size:18px}.svc-tx{font-size:14px}.nums-g{grid-template-columns:repeat(2,1fr)}.nm-i:nth-child(2){border-right:0}.nm-i:nth-child(1),.nm-i:nth-child(2){border-bottom:1px solid rgba(255,255,255,.07)}.nm-l{font-size:11px}.pt-grid{grid-template-columns:1fr}.cl-g{flex-direction:column}.cl{border-right:0;border-bottom:1px solid var(--bd);flex-direction:row;justify-content:flex-start;padding:18px 20px}.cl:last-child{border-bottom:0}.cl-n{font-size:14px}}@media(max-width:480px){#hero{min-height:520px}.hero-h1{font-size:clamp(48px,14vw,72px);letter-spacing:-.025em}.hero-p{font-size:15px}.hero-stats{gap:18px}.st-n{font-size:24px}}
/* Homepage portfolio cards as links */
.pt-grid a.pi { display: block; text-decoration: none; color: inherit; cursor: pointer; }
.pt-grid a.pi:focus-visible { outline: 3px solid var(--t); outline-offset: 2px; }

/* ── CLIENT LOGO GRID (8 logos) ── */
#clients-teaser { padding: 80px 0 90px; background: var(--bg2); border-top: 1px solid var(--bd); }
.cl-logo-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; }
.cl-logo-item { background: var(--bg); display: flex; align-items: center; justify-content: center; padding: 32px 28px; transition: background .2s; }
.cl-logo-item:hover { background: #fff; }
.cl-logo-item img { max-width: 140px; max-height: 52px; width: auto; height: auto; object-fit: contain; filter: grayscale(100%); opacity: .55; transition: filter .3s, opacity .3s; display: block; }
.cl-logo-item:hover img { filter: grayscale(0%); opacity: 1; }
.cl-logo-text { font-size: 14px; font-weight: 700; color: var(--gl); letter-spacing: .04em; }
@media(max-width:820px) { .cl-logo-grid { grid-template-columns: repeat(4, 1fr); gap: 1px; } .cl-logo-item { padding: 24px 16px; } .cl-logo-item img { max-width: 100px; max-height: 40px; } }
@media(max-width:480px) { .cl-logo-grid { grid-template-columns: repeat(2, 1fr); } }

/* ── FORCE CLIENT GRID — overrides old .cl-g layout ── */
#clients-teaser .rv > a[href*="clients"],
#clients-teaser > .w > .rv > a { display: none !important; }
#clients-teaser h2 { text-align: center; }
#clients-teaser .lbl { justify-content: center; }
.cl-g { display: grid !important; grid-template-columns: repeat(4,1fr) !important; gap: 2px !important; border: none !important; flex-wrap: unset !important; margin-top: 32px !important; }
.cl { flex: unset !important; min-width: unset !important; border-right: none !important; border-bottom: none !important; padding: 32px 24px !important; justify-content: center !important; flex-direction: column !important; align-items: center !important; background: var(--bg) !important; border: none !important; }
.cl-logo { height: 44px !important; max-width: 130px !important; width: auto !important; object-fit: contain !important; filter: grayscale(100%) opacity(.5) !important; transition: filter .3s, opacity .3s !important; }
.cl:hover .cl-logo { filter: grayscale(0%) opacity(1) !important; }
.cl-n, .cl-s { display: none !important; }
@media(max-width:820px){ .cl-g { grid-template-columns: repeat(4,1fr) !important; gap: 1px !important; } .cl { padding: 20px 12px !important; } .cl-logo { max-width: 90px !important; height: 36px !important; } }
@media(max-width:480px){ .cl-g { grid-template-columns: repeat(2,1fr) !important; } }

/* Dual video — desktop/mobile switching */
.hero-video-desktop{display:block}
.hero-video-mobile{display:none}
@media(max-width:820px){
  .hero-video-desktop{display:none !important}
  .hero-video-mobile{display:block !important}
}
