/* ===== SETPOINT service / cooling pages (extends style.css) ===== */

.svc-hero .wrap { position:relative; z-index:1; }
.svc-hero-head { padding:14px 0 88px; max-width:940px; }
.svc-hero-head .mono { color:var(--cyan); }
.svc-h1 { font-size:clamp(2.6rem, 5vw, 4.6rem); max-width:16ch; margin:16px 0 0; }
.svc-sub {
  color:#fff; font-family:"Space Grotesk", sans-serif; font-weight:500;
  font-size:clamp(1.2rem, 2vw, 1.65rem); letter-spacing:-.02em; line-height:1.18;
  margin:20px 0 0; max-width:34ch;
}
.svc-hero-lead { display:flex; flex-direction:column; gap:14px; margin:22px 0 0; max-width:64ch; }
.svc-hero-lead p { color:rgba(255,255,255,.82); font-size:1.12rem; line-height:1.65; }
.svc-punch {
  display:inline-block; margin-top:26px;
  font-family:"IBM Plex Mono", monospace; text-transform:uppercase;
  letter-spacing:.1em; font-size:.82rem; color:var(--air);
}
.svc-cta-row { display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }

/* sections */
.svc-section { padding:84px 0; }
.svc-section.alt { background:var(--mist); }
.svc-section.ice { background:var(--ice); }
.svc-head { max-width:780px; margin-bottom:34px; }
.svc-head .mono { color:var(--cyan); display:block; margin-bottom:14px; }
.svc-head h2 { font-size:clamp(1.9rem, 3.4vw, 3rem); }
.svc-head .svc-kicker { margin-top:16px; font-size:1.18rem; color:var(--steel); line-height:1.6; }
.svc-prose { max-width:780px; display:flex; flex-direction:column; gap:20px; }
.svc-prose p { font-size:1.12rem; line-height:1.7; color:var(--steel); }
.svc-prose b, .svc-prose strong { color:var(--navy); font-weight:600; }

/* lists with + marker */
.svc-list { list-style:none; margin:6px 0 0; padding:0; display:grid; gap:13px; max-width:780px; }
.svc-list.two { grid-template-columns:1fr 1fr; gap:13px 36px; max-width:none; }
.svc-list li { position:relative; padding-left:32px; font-size:1.06rem; line-height:1.5; color:var(--navy); }
.svc-list li:before {
  content:"+"; position:absolute; left:0; top:-2px;
  font-family:"Space Grotesk", sans-serif; font-weight:700; font-size:1.25rem; color:var(--red);
}
@media (max-width:680px){ .svc-list.two { grid-template-columns:1fr; } }

/* what-we-do cards */
.svc-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.svc-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--chrome); border-radius:22px; overflow:hidden; box-shadow:0 16px 40px rgba(8,24,42,.07); text-decoration:none; transition:transform .14s ease, box-shadow .14s ease; }
.svc-card:hover { transform:translateY(-4px); box-shadow:0 24px 54px rgba(8,24,42,.13); }
.svc-card-bar { height:8px; background:var(--fridge); }
.svc-card-bar.air { background:var(--air); }
.svc-card-bar.cyan { background:linear-gradient(90deg, var(--navy), var(--cyan)); }
.svc-card-bar.copper { background:linear-gradient(90deg, var(--red), var(--copper)); }
.svc-card-in { padding:28px 26px 26px; display:flex; flex-direction:column; flex:1; }
.svc-card .icon { margin-bottom:18px; }
.svc-card h3 { font-size:1.4rem; margin:0 0 10px; }
.svc-card p { color:var(--steel); font-size:1.02rem; line-height:1.55; margin:0 0 18px; }
.svc-go { margin-top:auto; display:inline-flex; align-items:center; gap:8px; font-family:"Space Grotesk", sans-serif; font-weight:700; color:var(--fridge); }
.svc-go svg { width:17px; height:17px; }
@media (max-width:680px){ .svc-cards { grid-template-columns:1fr; } }

/* why points grid */
.svc-why { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.svc-point { padding:28px 26px; background:#fff; border:1px solid var(--chrome); border-radius:20px; box-shadow:0 14px 34px rgba(8,24,42,.06); }
.svc-point h3 { font-size:1.24rem; margin:0 0 10px; }
.svc-point p { color:var(--steel); font-size:1.02rem; line-height:1.55; }
@media (max-width:900px){ .svc-why { grid-template-columns:1fr 1fr; } }
@media (max-width:680px){ .svc-why { grid-template-columns:1fr; } }

/* split text + image */
.svc-hero-grid { display:grid; grid-template-columns:1.18fr .82fr; gap:50px; align-items:center; padding:14px 0 80px; }
.svc-hero-grid .svc-hero-head { padding:0; }
.svc-hero-figure { border-radius:24px; overflow:hidden; border:1px solid rgba(255,255,255,.16); box-shadow:0 30px 70px rgba(0,0,0,.42); aspect-ratio:4/5; }
.svc-hero-figure img { width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width:900px){ .svc-hero-grid { grid-template-columns:1fr; } .svc-hero-figure { display:none; } }
.svc-split { display:grid; grid-template-columns:1.02fr .98fr; gap:48px; align-items:center; }
.svc-split .svc-prose { max-width:none; }
.svc-figure { border-radius:24px; overflow:hidden; border:1px solid var(--chrome); box-shadow:0 24px 60px rgba(8,24,42,.16); aspect-ratio:4/3; background:var(--slate); }
.svc-figure img { width:100%; height:100%; object-fit:cover; }
.svc-figure.full { aspect-ratio:16/9; background:var(--shadow); }
.svc-figure.full img { object-fit:contain; }
.svc-split.flip .svc-figure { order:-1; }
@media (max-width:900px){ .svc-split { grid-template-columns:1fr; } .svc-split.flip .svc-figure { order:0; } }

/* before / after (UVC) */
.svc-ba { display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:920px; }
.svc-ba.has-arrow { grid-template-columns:1fr auto 1fr; align-items:center; max-width:1060px; }
.svc-ba .ba-arrow { display:flex; align-items:center; justify-content:center; color:var(--fridge); }
.svc-ba .ba-arrow svg { width:46px; height:46px; }
.svc-ba figure { margin:0; border-radius:20px; overflow:hidden; border:1px solid var(--chrome); background:var(--slate); }
.svc-ba img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.svc-ba figcaption { padding:12px 16px; font-family:"IBM Plex Mono", monospace; text-transform:uppercase; letter-spacing:.06em; font-size:.72rem; color:#fff; background:var(--navy); }
.svc-ba .ba-post figcaption { background:var(--fridge); }
@media (max-width:680px){ .svc-ba, .svc-ba.has-arrow { grid-template-columns:1fr; } .svc-ba .ba-arrow svg { transform:rotate(90deg); } }

/* video block (dark, brand-textured) */
.svc-video { position:relative; overflow:hidden; color:#fff; background:radial-gradient(circle at 14% 20%, rgba(0,174,239,.16), transparent 40%), linear-gradient(135deg, var(--shadow), var(--navy)); }
.svc-video:before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size:44px 44px; mask-image:radial-gradient(circle at 50% 30%, black, transparent 78%); -webkit-mask-image:radial-gradient(circle at 50% 30%, black, transparent 78%); pointer-events:none; }
.svc-video .wrap { position:relative; z-index:1; }
.svc-video .svc-head { max-width:760px; margin-left:auto; margin-right:auto; text-align:center; }
.svc-video .svc-head h2 { color:#fff; }
.svc-video .svc-head .svc-kicker { color:rgba(255,255,255,.78); }
.svc-video-wrap { max-width:1040px; margin:0 auto; }
.svc-video-frame { position:relative; aspect-ratio:16/9; border-radius:24px; overflow:hidden; border:1px solid rgba(255,255,255,.16); box-shadow:0 34px 80px rgba(0,0,0,.5); background:var(--shadow); }
.svc-video-frame img { width:100%; height:100%; object-fit:cover; display:block; }
.svc-video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.svc-video-play { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; cursor:pointer; border:0; padding:0; background:rgba(8,24,42,.12); transition:background .25s; }
.svc-video-play:hover { background:rgba(8,24,42,.28); }
.svc-video-btn { width:96px; height:96px; border-radius:50%; background:var(--red); display:flex; align-items:center; justify-content:center; box-shadow:0 16px 40px rgba(225,43,43,.5); transition:transform .25s; }
.svc-video-play:hover .svc-video-btn { transform:scale(1.07); }
.svc-video-btn svg { width:40px; height:40px; color:#fff; margin-left:5px; }
@media (max-width:680px){ .svc-video-btn { width:74px; height:74px; } .svc-video-btn svg { width:30px; height:30px; } }
.svc-video-credit { text-align:center; margin:22px auto 0; font-family:"IBM Plex Mono", monospace; text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; color:rgba(255,255,255,.7); }
.svc-video-credit a { color:var(--air); }
.svc-video-credit a:hover { color:#fff; }

/* closing CTA band */
.svc-band { padding:0; position:relative; overflow:hidden; color:#fff; background:radial-gradient(circle at 14% 20%, rgba(0,174,239,.16), transparent 40%), linear-gradient(135deg, var(--shadow), var(--navy)); }
.svc-band:before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size:44px 44px; mask-image:linear-gradient(to top, black, transparent 82%); -webkit-mask-image:linear-gradient(to top, black, transparent 82%); pointer-events:none; }
.svc-band .wrap { position:relative; z-index:1; padding:74px 0; text-align:center; }
.svc-band-tagline { display:block; width:min(300px,70%); height:auto; margin:0 auto 24px; filter:drop-shadow(0 8px 20px rgba(0,0,0,.4)); }
.svc-band h2 { color:#fff; max-width:20ch; margin:0 auto 14px; }
.svc-band p { color:rgba(255,255,255,.82); font-size:1.1rem; max-width:62ch; margin:0 auto 30px; }
.svc-band .svc-cta-row { justify-content:center; }
