html{scroll-behavior:smooth}
body,.site-header,.app-card,.admin-panel,.service-slide,.project-story,.button,.app-button,a,button,input,select,textarea{transition-timing-function:cubic-bezier(.22,1,.36,1)!important}
.account-access,.portal-dashboard-page{padding-top:16px!important}
.account-access .portal-nav,.portal-dashboard-page .portal-nav{margin-bottom:18px!important}
.account-access .app-header,.portal-dashboard-page .app-header{margin-bottom:18px!important}
.service-rail{padding:28px 5vw 48px!important;scroll-snap-type:none!important;perspective:1400px;scroll-behavior:auto!important;cursor:grab}
.service-rail.is-dragging{cursor:grabbing}
.service-slide{position:relative;isolation:isolate;flex:0 0 min(380px,82vw)!important;scroll-snap-align:none!important;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(79,178,255,.07) 48%,rgba(20,231,191,.05))!important;border:1px solid rgba(190,224,255,.23)!important;backdrop-filter:blur(28px) saturate(145%)!important;-webkit-backdrop-filter:blur(28px) saturate(145%)!important;box-shadow:0 28px 80px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(255,255,255,.06)!important;transform:translateZ(0) scale(calc(1 - var(--cover-distance,1)*.08))!important;opacity:calc(1 - var(--cover-distance,1)*.18)!important;transition:transform .65s cubic-bezier(.22,1,.36,1),opacity .65s ease,box-shadow .65s ease!important}
.service-slide:after{content:"";position:absolute;z-index:-1;inset:-45% -70%;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.14) 48%,transparent 60%);transform:translateX(-42%) rotate(7deg);animation:glassSheen 7s ease-in-out infinite;pointer-events:none}
.service-slide.is-center{opacity:1!important;transform:translateZ(0) scale(1.025)!important;box-shadow:0 36px 100px rgba(0,0,0,.52),0 0 50px rgba(84,224,202,.13),inset 0 1px 0 rgba(255,255,255,.35)!important}
.service-slide-image{background:rgba(2,12,25,.34)!important}.service-slide-image img{opacity:.86;transition:transform 1.1s cubic-bezier(.22,1,.36,1),opacity .6s ease!important}.service-slide:hover .service-slide-image img{transform:scale(1.045);opacity:1}
.brand-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.brand-preview-grid>div{display:grid;gap:9px}.brand-preview-grid .brand-preview{margin:0}.light-preview{background:#f4f8ff!important}.dark-preview{background:#06101f!important}.brand-preview img,.brand-logo,img[src*="/api/logo.php"]{filter:none!important}
@keyframes glassSheen{0%,68%,100%{transform:translateX(-48%) rotate(7deg)}82%{transform:translateX(48%) rotate(7deg)}}
@media(max-width:720px){.account-access,.portal-dashboard-page{padding-top:8px!important}.brand-preview-grid{grid-template-columns:1fr}.service-rail{padding-inline:18px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-slide:after{animation:none}}

/* v13 homepage gallery: compact glossy services and attached project cards */
.service-showcase{margin-top:22px!important}.service-rail{gap:clamp(15px,1.5vw,28px)!important;padding:14px 5vw 34px!important}.service-slide{flex-basis:min(342px,78vw)!important;border-radius:24px!important;background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(68,178,255,.09) 48%,rgba(41,225,188,.07))!important;border-color:rgba(195,230,255,.28)!important;box-shadow:0 22px 66px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.32),inset 0 -1px 0 rgba(255,255,255,.08)!important}.service-slide-image{height:160px!important;min-height:0!important;background:rgba(2,12,25,.22)!important;overflow:hidden}.service-slide-image img{width:100%!important;height:100%!important;object-fit:cover!important}.service-slide>small{margin-top:20px!important}.service-slide h3{font-size:clamp(1.3rem,1.6vw,1.7rem)!important;line-height:1.04!important}.service-slide p{font-size:14px!important;line-height:1.58!important}.service-slide a{margin-top:auto!important}.service-slide.is-center{box-shadow:0 30px 90px rgba(0,0,0,.42),0 0 54px rgba(84,224,202,.16),inset 0 1px 0 rgba(255,255,255,.4)!important}

.story-grid.project-gallery{display:block!important;position:relative;isolation:isolate;min-height:414px;margin-top:8px;overflow:hidden}.project-gallery-stage{position:relative;width:100%;height:350px;outline:0}.project-stack-card{position:absolute;top:50%;left:50%;display:block;width:min(360px,56vw);height:268px;overflow:hidden;isolation:isolate;color:#f7fbff;border:1px solid rgba(195,230,255,.33);border-radius:21px;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(32,82,133,.18));box-shadow:0 22px 62px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.25);backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%);opacity:var(--project-opacity,1);transform:translate(-50%,-50%) translateX(var(--project-x,0)) scale(var(--project-scale,1));transition:transform .75s cubic-bezier(.16,1,.3,1),opacity .58s ease,box-shadow .58s ease,border-color .58s ease;will-change:transform,opacity;cursor:pointer}.project-stack-card.is-instant{transition:none!important}.project-stack-card.is-recycling{pointer-events:none}.project-stack-card:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(2,9,20,.03) 20%,rgba(2,8,18,.42) 56%,rgba(2,7,16,.94) 100%)}.project-stack-card:after{content:"";position:absolute;z-index:3;inset:-40% -55%;pointer-events:none;background:linear-gradient(112deg,transparent 40%,rgba(255,255,255,.22) 50%,transparent 60%);transform:translateX(-58%) rotate(8deg);animation:projectGlassSheen 9s ease-in-out infinite}.project-stack-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.94) contrast(1.05);transition:transform 1s cubic-bezier(.16,1,.3,1),filter .5s ease}.project-stack-card:hover img,.project-stack-card.is-active img{transform:scale(1.055);filter:saturate(1.05) contrast(1.08)}.project-stack-card.is-active{border-color:rgba(150,232,218,.72);box-shadow:0 32px 94px rgba(0,0,0,.52),0 0 56px rgba(86,222,194,.18),inset 0 1px 0 rgba(255,255,255,.42);cursor:default}.project-stack-copy{position:absolute;z-index:2;right:0;bottom:0;left:0;padding:24px;color:#f6fbff;transition:padding .55s ease}.project-stack-copy span{color:#72c6ff;text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:800}.project-stack-copy h3{max-width:320px;margin:8px 0 8px;letter-spacing:-.045em;font-size:clamp(1.2rem,1.75vw,1.62rem);line-height:1.03}.project-stack-copy p{max-width:330px;margin:0;color:rgba(232,243,255,.8);font-size:12px;line-height:1.5}.project-stack-copy small{display:block;margin-top:14px;color:#8cf0d0;font-size:10px;font-weight:800}.project-stack-card:not(.is-active) .project-stack-copy{padding:16px}.project-stack-card:not(.is-active) .project-stack-copy h3{font-size:clamp(.92rem,1.3vw,1.08rem);margin:6px 0 0}.project-stack-card:not(.is-active) .project-stack-copy p,.project-stack-card:not(.is-active) .project-stack-copy small{display:none}.project-stack-card:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}.project-gallery-controls{position:absolute;z-index:50;bottom:6px;left:50%;display:flex;align-items:center;gap:14px;transform:translateX(-50%)}.project-gallery-button{display:grid;width:36px;height:36px;place-items:center;border:1px solid rgba(183,223,255,.32);border-radius:50%;background:rgba(7,20,36,.64);color:var(--text);cursor:pointer;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:transform .2s ease,border-color .2s ease,background .2s ease}.project-gallery-button:hover{border-color:var(--primary);background:rgba(39,128,116,.25);transform:translateY(-2px)}.project-gallery-button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.project-gallery-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes projectGlassSheen{0%,72%,100%{transform:translateX(-58%) rotate(8deg)}85%{transform:translateX(58%) rotate(8deg)}}

@media(max-width:720px){.service-rail{padding:12px 18px 28px!important}.service-slide{flex-basis:min(308px,78vw)!important}.service-slide-image{height:138px!important}.story-grid.project-gallery{min-height:390px}.project-gallery-stage{height:333px}.project-stack-card{width:72vw;height:276px;border-radius:20px}.project-stack-copy{padding:21px}.project-stack-copy h3{font-size:1.27rem}.project-stack-copy p{font-size:12px}.project-gallery-controls{bottom:2px}.project-stack-card:not(.is-active) .project-stack-copy{padding:14px}.project-stack-card:not(.is-active) .project-stack-copy h3{font-size:.94rem}}
@media(prefers-reduced-motion:reduce){.project-stack-card,.project-stack-card img{transition:none!important}.project-stack-card:after{animation:none}}

/* v15: layered Services carousel — complete cards move from right to left */
.service-rail.service-gallery{display:block!important;position:relative!important;isolation:isolate;min-height:420px!important;margin:0!important;padding:0!important;overflow:hidden!important;perspective:none!important;cursor:default!important;background:transparent!important}
.service-rail.service-gallery:before{content:"";position:absolute;z-index:-2;top:12%;right:12%;bottom:19%;left:12%;border-radius:50%;background:radial-gradient(ellipse,rgba(33,140,206,.22),rgba(10,32,68,.09) 50%,transparent 72%);filter:blur(12px);pointer-events:none}
.service-gallery-stage{position:relative;width:100%;height:360px;outline:0}
.service-stack-card{position:absolute;top:50%;left:50%;display:block;width:min(374px,58vw);height:288px;overflow:hidden;isolation:isolate;color:#f7fbff;border:1px solid rgba(199,233,255,.34);border-radius:25px;background:linear-gradient(138deg,rgba(255,255,255,.22),rgba(56,128,205,.14) 47%,rgba(42,220,188,.10));box-shadow:0 24px 72px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(255,255,255,.09);backdrop-filter:blur(22px) saturate(148%);-webkit-backdrop-filter:blur(22px) saturate(148%);opacity:var(--service-opacity,1);transform:translate(-50%,-50%) translateX(var(--service-x,0)) translateY(var(--service-y,0)) scale(var(--service-scale,1));transition:transform .82s cubic-bezier(.16,1,.3,1),opacity .62s ease,box-shadow .62s ease,border-color .62s ease;will-change:transform,opacity;cursor:pointer;text-decoration:none}
.service-stack-card.is-instant{transition:none!important}.service-stack-card.is-recycling{pointer-events:none}
.service-stack-card:before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(5,14,31,.04) 17%,rgba(4,13,29,.18) 42%,rgba(3,10,25,.94) 100%);pointer-events:none}
.service-stack-card:after{content:"";position:absolute;z-index:4;inset:-42% -58%;background:linear-gradient(112deg,transparent 39%,rgba(255,255,255,.24) 50%,transparent 61%);transform:translateX(-60%) rotate(8deg);animation:serviceGlassSheen 8.5s ease-in-out infinite;pointer-events:none}
.service-stack-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.94) contrast(1.05);transition:transform 1s cubic-bezier(.16,1,.3,1),filter .55s ease}
.service-stack-veil{position:absolute;z-index:1;inset:0;background:radial-gradient(circle at 84% 14%,rgba(80,239,209,.22),transparent 33%),linear-gradient(130deg,rgba(35,139,237,.15),transparent 48%);pointer-events:none}
.service-stack-card:hover>img,.service-stack-card.is-active>img{transform:scale(1.06);filter:saturate(1.08) contrast(1.08)}
.service-stack-card.is-active{border-color:rgba(152,238,218,.78);box-shadow:0 34px 102px rgba(0,0,0,.58),0 0 60px rgba(79,228,194,.20),inset 0 1px 0 rgba(255,255,255,.5);cursor:default}
.service-stack-copy{position:absolute;z-index:3;right:0;bottom:0;left:0;padding:25px;color:#f7fbff;transition:padding .58s cubic-bezier(.16,1,.3,1)}
.service-stack-number{display:inline-flex;min-width:35px;margin-bottom:11px;align-items:center;justify-content:center;border:1px solid rgba(197,237,255,.45);border-radius:999px;background:rgba(11,38,68,.46);color:#dff5ff;font-size:10px;font-weight:850;letter-spacing:.1em;line-height:22px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.service-stack-copy small{display:block;color:#82d6ff;font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.service-stack-copy h3{max-width:335px;margin:8px 0 8px;letter-spacing:-.045em;color:#fff;font-size:clamp(1.32rem,1.9vw,1.7rem);line-height:1.03}
.service-stack-copy p{max-width:340px;margin:0;color:rgba(232,244,255,.86);font-size:12px;line-height:1.52}
.service-stack-copy b{display:block;margin-top:14px;color:#8df3d0;font-size:10px;font-weight:850;letter-spacing:.025em}
.service-stack-card:not(.is-active) .service-stack-copy{padding:16px}.service-stack-card:not(.is-active) .service-stack-number{margin-bottom:6px;line-height:18px}.service-stack-card:not(.is-active) .service-stack-copy h3{margin:5px 0 0;font-size:clamp(.92rem,1.26vw,1.08rem)}.service-stack-card:not(.is-active) .service-stack-copy p,.service-stack-card:not(.is-active) .service-stack-copy b{display:none}
.service-stack-card:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}
.service-gallery-controls{position:absolute;z-index:60;bottom:4px;left:50%;display:flex;align-items:center;gap:14px;transform:translateX(-50%)}
.service-gallery-button{display:grid;width:36px;height:36px;place-items:center;border:1px solid rgba(183,223,255,.34);border-radius:50%;background:rgba(7,20,36,.66);color:var(--text);cursor:pointer;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:transform .22s ease,border-color .22s ease,background .22s ease}.service-gallery-button:hover{border-color:var(--primary);background:rgba(39,128,116,.28);transform:translateY(-2px)}.service-gallery-button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.service-gallery-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes serviceGlassSheen{0%,72%,100%{transform:translateX(-60%) rotate(8deg)}85%{transform:translateX(60%) rotate(8deg)}}
@media(max-width:720px){.service-rail.service-gallery{min-height:370px!important}.service-gallery-stage{height:322px}.service-stack-card{width:75vw;height:258px;border-radius:22px}.service-stack-copy{padding:21px}.service-stack-copy h3{font-size:1.3rem}.service-stack-copy p{font-size:12px}.service-gallery-controls{bottom:0}.service-stack-card:not(.is-active) .service-stack-copy{padding:14px}.service-stack-card:not(.is-active) .service-stack-copy h3{font-size:.93rem}}
@media(prefers-reduced-motion:reduce){.service-stack-card,.service-stack-card>img{transition:none!important}.service-stack-card:after{animation:none}}
