/* Spectrum refinement: identity → architecture, and a staged lighting scene. */
.s-services{display:grid;grid-template-columns:1fr 1.08fr;gap:10vw;padding-top:120px;padding-bottom:115px;background:#0a1020;position:relative}
.s-services-intro{position:sticky;top:55px;align-self:start}
.s-services-intro>.eyebrow{display:block;margin-bottom:32px;font-size:12px;color:#91a5ca}
.s-services-intro h2{font-size:clamp(46px,4.7vw,78px);line-height:1.1}
.s-services-intro h2 em{color:#95cdff}
.s-services-intro>p{font-size:16px;line-height:1.85;color:#a4b2cb;max-width:360px;margin-top:30px}
.services-link{display:inline-flex;align-items:center;gap:28px;border-bottom:1px solid #557da5;padding:0 0 10px;margin-top:35px;font-size:14px;color:#e0edff}
.services-link span{font-size:21px;transition:transform .25s}
.services-link:hover span{transform:translate(3px,-3px)}
.services-footnote{display:flex;flex-direction:column;gap:5px;margin-top:75px;font-size:12px;color:#8394b2}
.services-footnote span:first-child{color:#c4d7f2}
.service-line{display:grid;grid-template-columns:38px 1fr;gap:20px;padding:30px 0 32px;border-top:1px solid #29344c}
.service-index{font-size:12px;color:#8bd9f7;padding-top:7px}
.service-line h3{font-weight:500;font-size:27px;line-height:1.3;letter-spacing:-.035em;color:#edf2ff}
.service-line p{font-size:16px;line-height:1.75;color:#a1aec6;margin-top:13px;max-width:420px}
.service-deliverables{display:block;font-size:12px;line-height:1.7;color:#748aa9;margin-top:17px}
.service-line:nth-child(2) .service-index{color:#84bdf9}
.service-line:nth-child(3) .service-index{color:#839cff}
.service-line:nth-child(4) .service-index{color:#a197fa}
.service-line:nth-child(5) .service-index{color:#c09af5}
.services-realization{border-top:1px solid #29344c;padding:26px 0 0 58px}
.services-realization>span{font-size:16px;color:#c6d9ed}
.services-realization>p{font-size:14px;line-height:1.8;color:#8597b4;margin-top:12px;max-width:410px}

/* All light layers share the same source-coordinate space, including on mobile. */
.s-facade-art{overflow:hidden;isolation:isolate}
.s-facade-scene{--pixels:0;--cyan:0;--violet:0;--finale:0;--bloom:0;position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 12%);mask-image:linear-gradient(to right,transparent,#000 12%)}
.s-facade-scene .facade-base,.s-facade-scene .facade-pass{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.s-hero-art.s-facade-art img{display:block;width:100%;height:100%;max-width:none;object-fit:fill;filter:none;animation:none;transform:none}
.s-facade-scene .facade-base{object-fit:cover}
.facade-pass{will-change:opacity}
.s-facade-scene[data-light-state="off"] .facade-pass{display:none!important;opacity:0!important}
.facade-pixels{opacity:var(--pixels);-webkit-mask-image:linear-gradient(to right,transparent 41%,#000 46%,#000 95%,transparent 99%),linear-gradient(to bottom,transparent 13%,#000 18%,#000 33%,transparent 39%);mask-image:linear-gradient(to right,transparent 41%,#000 46%,#000 95%,transparent 99%),linear-gradient(to bottom,transparent 13%,#000 18%,#000 33%,transparent 39%);-webkit-mask-composite:source-in;mask-composite:intersect}
.facade-cyan{opacity:var(--cyan);-webkit-mask-image:linear-gradient(to right,transparent 40%,#000 45%,#000 65%,transparent 71%),linear-gradient(to bottom,transparent 32%,#000 39%);mask-image:linear-gradient(to right,transparent 40%,#000 45%,#000 65%,transparent 71%),linear-gradient(to bottom,transparent 32%,#000 39%);-webkit-mask-composite:source-in;mask-composite:intersect}
.facade-violet{opacity:var(--violet);-webkit-mask-image:linear-gradient(to right,transparent 67%,#000 73%,#000 96%,transparent 100%),linear-gradient(to bottom,transparent 32%,#000 39%);mask-image:linear-gradient(to right,transparent 67%,#000 73%,#000 96%,transparent 100%),linear-gradient(to bottom,transparent 32%,#000 39%);-webkit-mask-composite:source-in;mask-composite:intersect}
.facade-finale{opacity:var(--finale)}
.facade-bloom{opacity:var(--bloom);mix-blend-mode:screen;filter:brightness(.72) contrast(3) saturate(1.1) blur(3px);-webkit-mask-image:radial-gradient(ellipse 15% 32% at 55% 69%,#000 35%,transparent 100%),radial-gradient(ellipse 15% 32% at 84% 69%,#000 35%,transparent 100%);mask-image:radial-gradient(ellipse 15% 32% at 55% 69%,#000 35%,transparent 100%),radial-gradient(ellipse 15% 32% at 84% 69%,#000 35%,transparent 100%)}
.s-facade-art .s-art-shade{z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(5,8,16,.68),rgba(5,8,16,.3) 32%,transparent 48%),linear-gradient(0deg,#080b17,transparent 24%)}
.s-hero-heading{max-width:51vw;padding-top:230px;padding-bottom:235px}
.s-hero h1{font-size:clamp(42px,4.35vw,76px)}
.s-hero-heading>p{font-size:16px}
.s-hero-foot{align-items:center;bottom:28px;gap:30px}
.s-hero-foot>span,.s-hero-foot>small{font-size:12px}
.s-light-control{display:block;flex:0 0 310px;padding:15px 20px 12px;background:#0a1322e8;border:1px solid #415472;border-radius:10px;backdrop-filter:blur(12px)}
.light-control-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}
.s-light-control label{font-size:14px;color:#f0f6ff}
.s-light-control output{font-size:14px;font-variant-numeric:tabular-nums;color:#9ddbf9;min-width:4ch;text-align:right}
.s-light-control input[type="range"]{display:block;-webkit-appearance:none;appearance:none;width:100%;height:36px;background:transparent;margin:0;cursor:pointer;touch-action:pan-y}
.s-light-control input[type="range"]::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:linear-gradient(90deg,#ffd776 0%,#67d8fb 45%,#a890ff 100%)}
.s-light-control input[type="range"]::-moz-range-track{height:3px;border-radius:3px;background:linear-gradient(90deg,#ffd776 0%,#67d8fb 45%,#a890ff 100%)}
.s-light-control input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border:3px solid #f0f8ff;border-radius:50%;background:#75beec;margin-top:-7.5px;box-shadow:0 0 16px #58b8ee77}
.s-light-control input[type="range"]::-moz-range-thumb{width:12px;height:12px;border:3px solid #f0f8ff;border-radius:50%;background:#75beec;box-shadow:0 0 16px #58b8ee77}
.light-control-scale{display:flex;justify-content:space-between;font-size:12px;color:#8ca0bd}
#light-state{font-size:12px;color:#b8c9e1;margin:9px 0 0;min-height:18px}
.light-auto-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:8px;border-top:1px solid #ffffff18}
#light-mode{font-size:12px;color:#90a5c2}
#light-auto{min-height:36px;padding:6px 10px;border:1px solid #4d6785;background:transparent;border-radius:6px;font-size:12px;white-space:nowrap;color:#cddbef}
#light-auto[aria-pressed="true"]{border-color:#78c9ec80;background:#163b5355;color:#a3e2ff}
#light-auto:hover{border-color:#a3e2ff}
.s-scroll{bottom:280px}
@media(min-width:1800px){.s-hero-heading{max-width:850px}}
@media(max-width:1100px){.s-services{gap:7vw;padding-top:90px;padding-bottom:90px}.s-services-intro h2{font-size:48px}.s-hero-foot{gap:18px}.s-light-control{flex-basis:270px;padding:14px 16px}.s-hero-foot>span{max-width:160px}.s-hero-foot>small{max-width:130px;text-align:right}.s-hero-heading{padding-top:230px;max-width:52vw}.s-hero h1{font-size:4.4vw}}
@media(max-width:760px){
  .s-services{display:block;padding-top:65px;padding-bottom:65px}
  .s-services-intro{position:static}
  .s-services-intro>.eyebrow{font-size:12px;margin-bottom:25px}
  .s-services-intro h2{font-size:clamp(42px,10vw,66px)}
  .s-services-intro>p{font-size:16px;max-width:100%;margin-top:25px}
  .services-link{font-size:14px;margin-top:25px}
  .services-footnote{margin-top:30px;font-size:12px}
  .s-services-list{margin-top:38px}
  .service-line{grid-template-columns:25px 1fr;gap:17px;padding:26px 0}
  .service-line h3{font-size:23px}
  .service-line p{font-size:16px;line-height:1.7}
  .service-deliverables{font-size:12px}
  .services-realization{padding-left:42px}
  .services-realization>p{font-size:14px}
  .s-hero{display:flex;flex-direction:column;min-height:0;overflow:hidden}
  .s-hero-heading{order:1;padding:150px 24px 25px;max-width:none}
  .s-hero h1{font-size:clamp(38px,9.2vw,65px);margin-top:26px}
  .s-hero-heading>p{font-size:16px;max-width:310px;margin-top:23px}
  .s-hero-heading .s-pill{font-size:14px}
  .s-hero-art.s-facade-art{order:2;position:relative;inset:auto;width:100%;height:87vw;max-height:540px;z-index:0}
  .s-facade-art .s-art-shade{background:linear-gradient(180deg,#080b17,transparent 10%,transparent 82%,#080b17)}
  .s-hero-foot{order:3;position:relative;inset:auto;margin:0 24px 34px;padding-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid #ffffff20}
  .s-hero-foot>span{max-width:none;font-size:12px}
  .s-hero-foot>small{grid-column:2;grid-row:1;max-width:none;font-size:12px;align-self:center}
  .s-light-control{grid-column:1/-1;grid-row:2;width:100%;max-width:none;padding:17px 18px}
  .s-light-control input[type="range"]{height:44px}
  .light-control-heading label,.light-control-heading output{font-size:16px}
  .s-scroll{display:none}
}
@media(prefers-reduced-motion:reduce){.services-link span{transition:none}}
