/* Technical services: scoped editorial layout and a two-orbit brand constellation. */
body.technical-page {
  --bg:#0b121b;
  --surface:#121c27;
  --line:#293747;
  --blue:#376ca8;
  --cyan:#81bdca;
  --muted:#afbdc9;
  background:linear-gradient(180deg,#0b121b 0%,#111923 46%,#0b121b 100%);
}
.technical-page .site-header { background:#0b121bed; }
.technical-page .contact-section { background:#101821; }
.tech-hero { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:40px; padding-block:54px 64px; }
.tech-hero-copy>.eyebrow { margin-top:36px; }
.tech-hero h1 { font-size:clamp(2.8rem,5.3vw,5rem); line-height:1.04; letter-spacing:-.06em; margin-bottom:24px; }
.tech-lead { font-size:1.25rem; margin-bottom:12px; }
.tech-hero-copy>.muted { max-width:480px; margin-bottom:28px; }
.orbit-showcase { min-width:0; }
.solar-system { position:relative; width:100%; max-width:540px; aspect-ratio:1; margin:auto; border-radius:50%; background:radial-gradient(circle,#69c8ff12,transparent 64%); }
.solar-system::before { content:''; position:absolute; inset:4%; border:1px dashed #8cc9ff12; border-radius:50%; }
.orbit-core { position:absolute; inset:38%; border:1px solid #8cc9ff60; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; background:radial-gradient(circle at 30% 10%,#294c72,#101c30); box-shadow:0 0 65px #58b8ff20,inset 0 0 30px #8cc9ff10; }
.orbit-core img { width:44%; height:auto; }
.orbit-core span { font-size:clamp(.45rem,.7vw,.62rem); text-align:center; letter-spacing:.12em; line-height:1.6; color:#bed7ee; }
.brand-orbit { position:absolute; border:1px solid #8cc9ff28; border-radius:50%; animation:brand-revolve var(--period) linear infinite; animation-play-state:paused; }
.orbit-1 { inset:24%; --period:75s; }
.orbit-2 { inset:8%; --period:110s; }
.orbit-position { position:absolute; inset:0; transform:rotate(var(--angle)); }
.position-0 { --angle:0deg; }.position-1 { --angle:60deg; }.position-2 { --angle:120deg; }.position-3 { --angle:180deg; }.position-4 { --angle:240deg; }.position-5 { --angle:300deg; }
.orbit-counter { position:absolute; left:50%; top:0; width:clamp(46px,6.2vw,78px); height:clamp(32px,4.2vw,52px); margin-left:clamp(-39px,-3.1vw,-23px); margin-top:clamp(-26px,-2.1vw,-16px); animation:brand-revolve var(--period) linear infinite reverse; animation-play-state:paused; }
.orbit-badge { width:100%; height:100%; display:grid; place-items:center; padding:9px; border-radius:12px; background:#f4f7fc; border:1px solid #fff; box-shadow:0 5px 20px #0004; transform:rotate(calc(-1 * var(--angle))); }
.orbit-badge img { width:100%; height:100%; object-fit:contain; }
.motion-enabled .brand-orbit,.motion-enabled .orbit-counter { animation-play-state:running; }
.solar-system:hover .brand-orbit,.solar-system:hover .orbit-counter,.motion-offscreen .brand-orbit,.motion-offscreen .orbit-counter { animation-play-state:paused; }
.orbit-caption { display:flex; justify-content:center; align-items:center; gap:9px; color:var(--muted); font-size:.8rem; text-align:center; margin-top:20px; }
@keyframes brand-revolve { to { transform:rotate(360deg); } }
.tech-banner { overflow:hidden; margin-top:0; margin-bottom:56px; border:1px solid var(--line); border-radius:24px; background:var(--surface); box-shadow:0 18px 48px #00000020; }
.tech-banner img { width:100%; height:clamp(260px,32vw,400px); object-fit:cover; object-position:center 54%; filter:saturate(.68) brightness(.82) contrast(.96); }
.tech-banner figcaption { display:flex; align-items:center; gap:10px; min-height:58px; margin:0; padding:14px 20px; color:var(--muted); font-size:.8rem; line-height:1.5; border-top:1px solid var(--line); }
.tech-index { padding-block:32px; border-block:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.tech-index h2 { font-size:1.45rem; margin:0; }
.tech-index .eyebrow { margin-bottom:8px; }
.level-links { display:flex; flex-wrap:wrap; gap:10px; }
.level-links a { padding:13px 16px; border:1px solid var(--line); border-radius:12px; font-size:.9rem; background:#ffffff04; }
.level-links span { color:var(--cyan); margin-right:8px; }
.tech-level { padding-block:64px 12px; scroll-margin-top:110px; }
.level-heading { margin-bottom:28px; }
.level-heading h2,.thermal-section h2,.tech-cta h2 { font-size:clamp(1.8rem,3vw,2.7rem); letter-spacing:-.035em; }
.tech-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.tech-card { overflow:hidden; border:1px solid var(--line); border-radius:24px; background:#ffffff03; transition:border-color .3s,box-shadow .3s; }
.tech-card:hover { border-color:#8cc9ff65; box-shadow:0 16px 50px #0002; }
.device-image { display:block; width:100%; height:auto; aspect-ratio:2.5; object-fit:cover; border-bottom:1px solid var(--line); }
.tech-card-content { padding:30px; }
.tech-card h3 { font-size:1.65rem; letter-spacing:-.035em; line-height:1.2; }
.tech-card-content>p:not(.eyebrow) { color:var(--muted); font-size:.95rem; }
.equipment-fit { border-left:2px solid #8cc9ff65; padding-left:16px; margin-block:22px; }
.equipment-fit strong { display:block; color:var(--text); font-size:.85rem; margin-bottom:6px; }
.tech-details { border-block:1px solid var(--line); margin:24px 0; }
.tech-details summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0; cursor:pointer; font-size:.95rem; list-style:none; }
.tech-details summary::-webkit-details-marker { display:none; }
.tech-details summary span { font-size:1.4rem; color:var(--cyan); transition:transform .2s; }
.tech-details[open] summary span { transform:rotate(45deg); }
.tech-detail-body { padding-bottom:16px; }
.tech-detail-body h4 { font-size:1rem; color:var(--cyan); margin:18px 0 12px; }
.tech-detail-body ul { padding-left:20px; color:var(--muted); font-size:.925rem; }
.tech-detail-body li { padding-left:4px; margin-bottom:10px; }
.tech-detail-body li::marker { color:var(--cyan); }
.thermal-section { padding-block:80px; display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.thermal-brands { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.thermal-brands figure { min-width:0; margin:0; text-align:center; }
.thermal-brands img { width:100%; height:80px; background:white; object-fit:contain; border-radius:12px; padding:10px; }
.thermal-brands figcaption { font-size:.75rem; color:var(--muted); margin-top:10px; }
.tech-cta { padding-block:60px; text-align:center; }
.tech-cta>.eyebrow { justify-content:center; }
.tech-cta>.muted { max-width:640px; margin:16px auto 28px; }
@media(max-width:1000px) { .tech-hero { gap:20px; }.tech-index { flex-direction:column; align-items:start; }.thermal-section { grid-template-columns:1fr; gap:24px; }.thermal-brands { max-width:560px; } }
@media(max-width:760px) {
 .tech-hero { grid-template-columns:1fr; padding-block:24px 32px; gap:20px; }.tech-hero-copy>.eyebrow { margin-top:28px; }.tech-hero h1 { font-size:clamp(2.8rem,10vw,4.5rem); }.solar-system { max-width:440px; }.orbit-counter { width:58px; height:40px; margin-left:-29px; margin-top:-20px; }.orbit-core span { font-size:.5rem; }.orbit-badge { padding:7px; border-radius:9px; }.orbit-caption { font-size:.75rem; }.tech-banner { margin-bottom:40px; border-radius:16px; }.tech-banner img { height:220px; }.tech-banner figcaption { align-items:flex-start; }.tech-index { padding-block:24px; }.level-links { gap:8px; }.level-links a { padding:10px 12px; font-size:.8rem; }.tech-cards { grid-template-columns:1fr; }.tech-level { padding-top:44px; }.tech-card-content { padding:24px; }.tech-card h3 { font-size:1.5rem; }.thermal-section { padding-block:48px; }.thermal-brands { grid-template-columns:repeat(2,1fr); gap:20px; }.tech-cta { padding-block:40px; }
}
@media(prefers-reduced-motion:reduce) { .brand-orbit,.orbit-counter { animation:none; }.tech-card,.tech-details summary span { transition:none; } }
/* Clip the rotating coordinate planes and keep every logo inside its badge. */
.solar-system { overflow:hidden; }
.orbit-badge { position:relative; display:block; }
.orbit-badge img { position:absolute; inset:18% 10%; width:80%; height:64%; min-width:0; min-height:0; object-fit:contain; }

/* Thermal brand destinations and original replacement parts. */
.thermal-brand-link { display:block; border-radius:12px; }
.thermal-brand-link:focus-visible { outline:2px solid var(--cyan); outline-offset:5px; }
.thermal-brand-link:hover { outline:1px solid var(--cyan); outline-offset:3px; }
.replacement-section { padding-bottom:64px; }
.replacement-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:40px; padding:32px; background:var(--surface); border-radius:24px; box-shadow:var(--shadow); }
.replacement-copy { min-width:0; }
.replacement-copy h2 { font-size:clamp(1.8rem,3vw,2.7rem); }
.replacement-copy .muted { max-width:60ch; }
.replacement-list { display:grid; grid-template-columns:1fr 1fr; gap:12px 24px; padding-left:20px; margin-block:24px; color:var(--text); }
.replacement-list li::marker { color:var(--cyan); }
.replacement-image { width:100%; height:auto; border-radius:16px; }
@media(max-width:760px) {
  .replacement-section { padding-bottom:48px; }
  .replacement-panel { grid-template-columns:1fr; gap:24px; padding:24px; }
  .replacement-copy .button { width:100%; }
}
@media(max-width:400px) { .replacement-list { grid-template-columns:1fr; } }

.replacement-artwork { min-width:0; margin:0; }
.replacement-artwork figcaption { margin-top:12px; color:var(--muted); font-size:.8125rem; line-height:1.6; }
.replacement-guarantee { margin-block:24px; padding:16px 20px; border-left:2px solid var(--cyan); background:var(--bg); border-radius:0 8px 8px 0; }
.replacement-guarantee strong { display:block; color:var(--cyan); font-size:1.2rem; }
.replacement-guarantee span { display:block; color:var(--text); font-size:.9375rem; margin-top:4px; }
