/* V61 — immersive gallery / service accessibility */
html{scroll-behavior:smooth}
body .v61-work-reel{height:min(100svh,1050px);min-height:590px;position:relative;background:#07090d;isolation:isolate;overflow:hidden}
body .v61-work-reel-video{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;opacity:.88}
body .v61-work-reel:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#06080c 0%,#07090b22 45%,#07090b55 100%)}
body .v61-reel-overlay{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(32px,5vw,92px);color:#fff}
body .v61-reel-top{display:flex;justify-content:space-between;gap:18px;font-size:clamp(10px,.9vw,13px);letter-spacing:.16em;font-weight:700}
body .v61-reel-bottom{max-width:950px}
body .v61-reel-eyebrow{font-size:12px;letter-spacing:.28em;margin:0 0 18px;color:#d9e1e9}
body .v61-reel-bottom h1{font-size:clamp(74px,11vw,190px)!important;line-height:.86!important;letter-spacing:-.085em!important;margin:0 0 32px!important;font-weight:800!important;color:white!important}
body .v61-reel-bottom>p:not(.v61-reel-eyebrow){font-size:clamp(16px,1.4vw,24px);color:#f3f4f6}
body .v61-reel-explore{display:inline-flex;gap:35px;margin-top:28px;border-bottom:1px solid #c5ccd0;padding-bottom:10px;color:white!important;text-decoration:none!important;font-size:14px}
body .v20-work-intro{padding-top:clamp(70px,8vw,140px)!important}
body .v20-work-intro h2{font-size:clamp(40px,5vw,90px);letter-spacing:-.065em;line-height:1.03}
body .v59-media-row{align-items:stretch!important}
body .v59-media-row figure{align-self:stretch!important}
body .v59-media-row figure .v22-compare,body .v59-media-row figure video{aspect-ratio:16/9!important;height:auto!important;object-fit:cover!important}
body .v59-media-row figure video{background:#0c1016;object-position:center}
body .v57-case-study{position:relative}
body .v57-case-study:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 45% 35% at var(--v61-x,50%) var(--v61-y,50%),rgba(255,255,255,.018),transparent 75%);z-index:0}
body .v57-case-study .v20-work-wrap{position:relative;z-index:1}
body .v59-credits{position:relative;overflow:hidden!important;background:radial-gradient(ellipse at 50% 90%,#15161a 0%,#0a0b11 48%,#07090d 100%);padding-inline:0!important}
body .v59-credits:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 350px 240px at var(--v61-x,50%) var(--v61-y,65%),rgba(255,255,255,.02),transparent 100%);opacity:.85}
body .v59-credits-inner{max-width:none!important;position:relative}
body .v59-credits-inner>h2,body .v59-credits-inner>.v60-titles-intro,body .v61-titles-toolbar{margin-left:clamp(20px,5vw,95px)!important;margin-right:clamp(20px,5vw,95px)!important}
body .v61-titles-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px}
body .v61-titles-eyebrow{font-size:11px;letter-spacing:.19em;font-weight:700;color:#b6bac7}
body .v61-titles-controls{display:flex;gap:12px}
body .v61-titles-controls button{border:1px solid #7e8192;border-radius:50%;width:46px;height:46px;background:#11131a88;color:#fff;font-size:24px;cursor:pointer;transition:background .25s,transform .25s}
body .v61-titles-controls button:hover{background:#29262e;transform:scale(1.07)}
body .v59-poster-grid{display:flex!important;overflow-x:auto!important;overflow-y:visible;gap:clamp(13px,1.3vw,24px)!important;padding:45px clamp(20px,5vw,95px) 75px!important;margin:0!important;scroll-snap-type:x mandatory;scroll-padding-inline:clamp(20px,5vw,95px);scrollbar-width:thin;scrollbar-color:#7d7d85 #11131a;overscroll-behavior-inline:contain}
body .v61-poster{flex:0 0 clamp(170px,16vw,290px);scroll-snap-align:center;position:relative;transform-style:preserve-3d;--light-x:50%;--light-y:50%;cursor:default}
body .v61-poster:before{content:"";position:absolute;inset:-5px -5px 30px;z-index:0;border-radius:9px;opacity:0;transition:opacity .3s;box-shadow:0 0 35px #96ff3236,0 0 80px #96ff3217}
body .v61-poster:hover:before,body .v61-poster:focus-visible:before{opacity:1}
body .v61-poster img{position:relative;z-index:1;width:100%;aspect-ratio:3/4!important;border-radius:7px!important;box-shadow:0 18px 35px #000a;filter:saturate(.88)!important;transition:filter .3s,box-shadow .3s!important}
body .v61-poster:hover img,body .v61-poster:focus-visible img{filter:saturate(1.1)!important;box-shadow:0 25px 55px #000e,0 0 24px var(--ht-accent-shadow)!important}
body .v61-poster:after{content:"";position:absolute;z-index:2;inset:0 0 auto;height:calc(100% - 44px);pointer-events:none;border-radius:7px;background:radial-gradient(circle at var(--light-x) var(--light-y),rgba(255,255,255,.2),transparent 40%);opacity:0;transition:opacity .25s}
body .v61-poster:hover:after{opacity:1}
body .v61-poster figcaption{position:relative;z-index:1;color:#e6e5ec!important}
/* Service detail should not be trapped below viewport or clip its description. */
body #capabilities .services-grid{align-items:start!important}
body #capabilities .v61-service-panel{position:relative!important;top:auto!important;height:auto!important;max-height:none!important;overflow:visible!important;display:flex!important;flex-direction:column!important}
body #capabilities .v61-service-panel .service-visual{min-height:0!important;height:auto!important;aspect-ratio:16/8.3!important;overflow:hidden!important;flex:none!important}
body #capabilities .v61-service-panel .service-visual img{object-fit:cover!important;display:block}
body #capabilities .v61-service-panel .detail{height:auto!important;max-height:none!important;overflow:visible!important;padding:clamp(22px,2.4vw,38px)!important}
body #capabilities .v61-service-panel h2{font-size:clamp(26px,2.6vw,45px)!important;line-height:1.08!important;letter-spacing:-.045em!important}
body #capabilities .v61-service-panel h3{font-size:clamp(19px,1.7vw,29px)!important;line-height:1.18!important}
body #capabilities .v61-service-panel .service-tags{margin-block:16px!important;padding-block:15px!important}
body #capabilities .v61-service-panel .service-tags span{font-size:clamp(10px,.85vw,13px)!important}
body #capabilities .v61-service-panel p{font-size:clamp(15px,1.05vw,18px)!important;line-height:1.55!important}
body .v61-service-visual-caption{position:absolute;z-index:2;left:18px;right:18px;bottom:18px;display:flex;align-items:end;justify-content:space-between;gap:18px;pointer-events:none;text-shadow:0 2px 12px #000}
body .v61-service-visual-caption span:first-child{font-size:10px;letter-spacing:.2em;color:#ddd}
body .v61-service-visual-caption span:last-child{font-size:clamp(12px,1vw,16px);color:#fff;text-align:right;max-width:26ch}
body #capabilities .service-visual:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(0deg,#06070ab8,transparent);pointer-events:none}
@media(max-width:850px){body .v61-work-reel{height:80svh;min-height:490px}body .v61-reel-top{flex-wrap:wrap}body .v59-poster-grid{padding-bottom:40px!important}body #capabilities .v61-service-panel .service-visual{aspect-ratio:16/9!important}}
@media(max-width:600px){body .v61-work-reel{height:78svh;min-height:480px}body .v61-reel-bottom h1{font-size:clamp(58px,15vw,100px)!important}body .v61-reel-overlay{padding:24px}body .v61-poster{flex-basis:57vw}body .v61-titles-toolbar{align-items:start}body .v61-titles-eyebrow{max-width:24ch}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body .v61-poster,body .v61-poster img{transition:none!important;transform:none!important}}
