.subservice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}.subservice-card{display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--border);color:var(--text);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;}.subservice-card:hover{transform:translateY(-7px);border-color:var(--border);box-shadow:0 18px 38px var(--shadow);}.subservice-card-media{aspect-ratio:4/3;overflow:hidden;background:var(--surface);}.subservice-card-media img,.solution-card-media img,.service-group-card>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.65,.2,1);}.subservice-card:hover .subservice-card-media img,.solution-card:hover .solution-card-media img,.service-group-card:hover>img{transform:scale(1.08);}.subservice-card-copy{display:flex;flex:1;flex-direction:column;padding:25px;}.subservice-card-copy>span{color:var(--neon-green);font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;}.subservice-card h3{margin:23px 0 9px;font-size:23px;line-height:1.15;}.subservice-card p{margin:0;color:var(--text-muted);font-size:14px;}.subservice-card b{display:block;margin-top:auto;padding-top:21px;color:var(--neon-gold);font-size:13px;}.service-detail-hero{padding:72px 0;background:linear-gradient(120deg,var(--canvas),var(--surface));}.service-detail-hero h1{max-width:860px;margin:12px 0 18px;color:var(--text);font-size:clamp(40px,5vw,66px);line-height:1.05;letter-spacing:-2px;}.service-detail-hero>div>p:not(.breadcrumb){max-width:700px;color:var(--text-muted);font-size:18px;}.breadcrumb{margin:0 0 24px;color:var(--text-muted);font-size:13px;}.breadcrumb a:hover{color:var(--neon-green);}.breadcrumb span{margin:0 8px;color:var(--text-muted);}.service-copy{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;}.service-copy h2{margin:12px 0;color:var(--text);font-size:clamp(32px,4vw,50px);line-height:1.08;}.service-copy p{color:var(--text-muted);font-size:16px;}.service-gallery-section{background:var(--surface);}.service-gallery-top{padding-top:74px;}.service-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;}.gallery-tile{position:relative;display:block;aspect-ratio:1;overflow:hidden;border:1px solid var(--border);background:var(--surface);cursor:zoom-in;}.gallery-tile[hidden]{display:none;}.gallery-tile.is-selected{border-color:var(--success);box-shadow:0 0 0 1px var(--shadow);}.gallery-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.65,.2,1);}.gallery-tile:hover img,.gallery-tile:focus-visible img{transform:scale(1.1);}.gallery-tile span{position:absolute;left:12px;bottom:12px;padding:6px 9px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:11px;font-weight:700;letter-spacing:.4px;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s;}.gallery-tile:hover span,.gallery-tile:focus-visible span{opacity:1;transform:translateY(0);}.gallery-tile:focus-visible{outline:2px solid var(--neon-blue);outline-offset:3px;}.gallery-browser-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:22px;}.gallery-page-button{display:grid;place-items:center;width:46px;height:42px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);font-size:31px;line-height:1;cursor:pointer;transition:background .2s,border-color .2s,transform .2s;}.gallery-page-button:hover,.gallery-page-button:focus-visible{border-color:var(--border);background:var(--surface-alt);transform:translateY(-2px);}.gallery-page-status{min-width:150px;color:var(--text);font-size:13px;font-weight:700;text-align:center;}.gallery-thumbnails{display:flex;gap:9px;margin-top:15px;padding:6px 3px 12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-color:var(--scroll-thumb) var(--scroll-track);}.gallery-thumbnail{flex:0 0 58px;width:58px;height:58px;padding:3px;overflow:hidden;border:1px solid var(--border);border-radius:3px;background:var(--surface);opacity:.58;cursor:pointer;scroll-snap-align:center;transition:opacity .2s,border-color .2s,transform .2s;}.gallery-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;}.gallery-thumbnail.is-current-page{opacity:.84;}.gallery-thumbnail.is-active{border-color:var(--success);box-shadow:0 0 0 1px var(--shadow);opacity:1;transform:translateY(-2px);}.gallery-modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:24px;}.gallery-modal[hidden]{display:none;}.gallery-modal-backdrop{position:absolute;inset:0;background:var(--backdrop);backdrop-filter:blur(8px);}.gallery-modal-panel{position:relative;z-index:1;display:grid;place-items:center;width:min(1120px,100%);max-height:calc(100vh - 48px);}.gallery-modal figure{display:grid;gap:13px;justify-items:center;max-width:100%;margin:0;}.gallery-modal figure img{display:block;max-width:100%;max-height:calc(100vh - 120px);object-fit:contain;border:1px solid var(--border);background:var(--canvas);}.gallery-modal figcaption{color:var(--text-muted);font-size:14px;text-align:center;}.gallery-modal-close,.gallery-modal-nav{position:absolute;z-index:2;display:grid;place-items:center;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:background .2s,transform .2s;}.gallery-modal-close:hover,.gallery-modal-nav:hover{background:var(--surface-hover);transform:scale(1.06);}.gallery-modal-close{top:12px;right:12px;width:42px;height:42px;border-radius:50%;font-size:29px;line-height:1;}.gallery-modal-nav{top:50%;width:50px;height:62px;transform:translateY(-50%);font-size:46px;line-height:1;}.gallery-modal-nav:hover{transform:translateY(-50%) scale(1.06);}.gallery-modal-prev{left:18px;}.gallery-modal-next{right:18px;}.homepage-showcase{padding:34px 0 0;background:var(--canvas);}.homepage-showcase-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:14px;}.homepage-showcase-top p{margin:0;color:var(--text-muted);font-size:13px;}.homepage-slider{position:relative;height:min(58vw,610px);min-height:300px;overflow:hidden;background:var(--canvas);}.homepage-slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.03);transition:opacity .55s ease,transform 1.1s ease;pointer-events:none;}.homepage-slide.is-active{opacity:1;transform:scale(1);pointer-events:auto;}.homepage-slide img{display:block;width:100%;height:100%;object-fit:cover;}.homepage-slider-button{position:absolute;z-index:2;top:50%;display:grid;place-items:center;width:48px;height:54px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:38px;line-height:1;cursor:pointer;transform:translateY(-50%);transition:background .2s;}.homepage-slider-button:hover{background:var(--surface-hover);}.homepage-slider-prev{left:20px;}.homepage-slider-next{right:20px;}.homepage-slider-dots{position:absolute;z-index:2;bottom:20px;left:50%;display:flex;gap:8px;transform:translateX(-50%);}.homepage-slider-dots button{width:28px;height:3px;padding:0;border:0;background:var(--surface);cursor:pointer;}.homepage-slider-dots button.is-active{background:var(--surface);}.solution-card{display:flex!important;flex-direction:column;min-height:0!important;padding:0!important;overflow:hidden;border:1px solid var(--border);background:var(--surface)!important;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;}.solution-card:before{display:none;}.solution-card:hover{transform:translateY(-7px);border-color:var(--border);box-shadow:0 18px 38px var(--shadow);}.solution-card-media{aspect-ratio:16/10;overflow:hidden;background:var(--surface);}.solution-card-copy{position:relative;display:flex;flex:1;flex-direction:column;padding:25px;}.solution-card>*,.solution-card>*:not(.solution-card-image){z-index:auto;}.solution-card-copy>span{color:var(--neon-cyan);font-size:11px;font-weight:800;}.solution-card h3{max-width:none;margin:17px 35px 9px 0;font-size:24px;}.solution-card p{max-width:none;margin:0;color:var(--text-muted);}.solution-card i{position:absolute;top:20px;right:24px;color:var(--link);font-size:24px;font-style:normal;}.service-group-card{display:flex;flex-direction:column;padding:0;overflow:hidden;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;}.service-group-card:hover{transform:translateY(-7px);border-color:var(--border);box-shadow:0 18px 38px var(--shadow);}.service-group-card>img{height:auto;aspect-ratio:16/10;}.service-group-card .service-group-copy{display:flex;flex:1;flex-direction:column;padding:26px 28px 28px;}.service-group-card h3{margin:0 0 10px;}.service-group-card p{margin:0 0 20px;color:var(--text-muted);}.service-group-card a{margin-top:auto;color:var(--link);font-weight:700;}@media(max-width:860px){.subservice-grid{grid-template-columns:1fr 1fr;}.service-copy{grid-template-columns:1fr;gap:35px;}.service-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}.homepage-slider{height:56vw;}.gallery-modal{padding:12px;}.gallery-modal-prev{left:10px;}.gallery-modal-next{right:10px;}}@media(max-width:560px){.subservice-grid,.service-gallery{grid-template-columns:1fr 1fr;}.service-detail-hero{padding:54px 0;}.gallery-thumbnail{flex-basis:50px;width:50px;height:50px;}.gallery-page-status{min-width:120px;}.homepage-showcase{padding-top:26px;}.homepage-showcase-top{display:block;}.homepage-showcase-top p{margin-top:8px;}.homepage-slider{height:70vw;min-height:250px;}.homepage-slider-button{width:40px;height:48px;}.homepage-slider-prev{left:10px;}.homepage-slider-next{right:10px;}.gallery-modal-nav{width:42px;height:54px;font-size:38px;}.gallery-modal-close{top:4px;right:4px;}.gallery-modal figure img{max-height:calc(100vh - 94px);}}
