﻿/* CCTV only. Typography and utility components; no shared-shell selectors. */
.ph-cctv { --cc-gold:#c9ad6a;--cc-ivory:#eee8d9;--cc-muted:#c3bfaf;--cc-line:#72664a;--cc-nav:80px;background:rgb(11,12,9);color:var(--cc-ivory);font-family:var(--font-body,Arial,sans-serif);position:relative;isolation:isolate;overflow:visible;margin-top:-140px; }
.ph-cctv * { box-sizing:border-box; }
.ph-cctv h1,.ph-cctv h2,.ph-cctv h3,.ph-cctv p,.ph-cctv figure,.ph-cctv ul,.ph-cctv ol { margin:0;padding:0; }
.ph-cctv h2,.ph-cctv .cc-headline { font-family:var(--font-heading,Lora,serif);font-weight:400;letter-spacing:-.045em; }
.ph-cctv h2 { font-size:clamp(28px,min(3.6vw,5.2vh),64px);line-height:1.08; }
.ph-cctv h3 { font:400 clamp(16px,1.35vw,24px)/1.25 var(--font-body,Arial,sans-serif); }
.ph-cctv p,.ph-cctv li { font-size:clamp(13px,min(1.08vw,1.75vh),17px);line-height:1.5;color:var(--cc-muted); }
.ph-cctv .cc-kicker,.ph-cctv .cc-index,.ph-cctv .cc-step { font:12px/1.45 ui-monospace,Consolas,monospace;letter-spacing:.11em;color:var(--cc-gold); }
.ph-cctv a { color:inherit; }
.ph-cctv button { color:inherit;background:none;font:inherit;cursor:pointer; }
.ph-cctv .cc-actions { display:flex;gap:14px;align-items:center;flex-wrap:wrap; }
.ph-cctv .cc-button { display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;padding:12px 20px;background:#d1b574;color:#11120c;border-radius:50px;font-size:13px;font-weight:600;text-decoration:none; }
.ph-cctv .cc-text-link { font-size:13px;text-underline-offset:5px; }
.ph-cctv a:focus-visible,.ph-cctv button:focus-visible,.ph-cctv [tabindex]:focus-visible,.ph-cctv summary:focus-visible { outline:1px solid #ead49d;outline-offset:5px; }
.ph-cctv .cc-section,.ph-cctv .cc-hero,.ph-cctv .cc-statement { background:rgb(11,12,9);border:0;position:relative; }
.ph-cctv .cc-section::before,.ph-cctv .cc-section::after,.ph-cctv h2::before,.ph-cctv h2::after { content:none!important; }
.ph-cctv .cc-static-nav,.ph-cctv .cc-mount-band,.ph-cctv .cc-hero-grid,.ph-cctv .cc-orbit,.ph-cctv .cc-viewfinder,.ph-cctv .cc-environment-transcript,.ph-cctv .cc-env-plan,.ph-cctv .cc-env-lightpool,.ph-cctv .cc-environment-progress,.ph-cctv .cc-monitor-person,.ph-cctv .cc-monitor-caption,.ph-cctv .cc-feed-bottom,.ph-cctv .cc-detection,.ph-cctv .cc-page-progress { display:none; }
.ph-cctv .cc-section-head { display:flex;flex-direction:column;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--cc-line); }
.ph-cctv .cc-intro,.ph-cctv .cc-copy { display:flex;flex-direction:column;gap:14px; }
.ph-cctv .cc-copy ul { list-style:none; }
.ph-cctv .cc-copy h3 { margin-top:15px; }
.ph-cctv .cc-feeds { display:grid;grid-template-columns:1fr 1fr;gap:8px;height:100%; }
.ph-cctv .cc-feed { position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid var(--cc-line); }
.ph-cctv .cc-feed img { width:100%;height:100%;object-fit:cover; }
.ph-cctv .cc-feed figcaption { position:absolute;top:8px;left:8px;right:8px;display:flex;justify-content:space-between;gap:8px;font:12px/1.3 monospace; }
.ph-cctv .cc-feed figcaption span { background:#0b0c09e8;padding:4px 6px; }
.ph-cctv .cc-env-picture { position:relative;overflow:hidden;border:1px solid var(--cc-line); }
.ph-cctv .cc-env-picture img { width:100%;height:100%;object-fit:cover; }
.ph-cctv .cc-env-ordinal,.ph-cctv .cc-env-cross,.ph-cctv .cc-env-vignette { display:none; }
.ph-cctv .cc-purpose { background:none;border:0; }
.ph-cctv .cc-purpose span { display:block;padding:10px 0;font:12px/1.5 monospace;letter-spacing:.08em; }
.ph-cctv .cc-purpose span::before { content:'[ '; }
.ph-cctv .cc-purpose span::after { content:' ]'; }
.ph-cctv .cc-faq details { border-top:1px solid var(--cc-line);padding:22px 0; }
.ph-cctv .cc-faq summary { display:flex;justify-content:space-between;gap:20px;list-style:none;font-size:17px;line-height:1.5;cursor:pointer; }
.ph-cctv .cc-faq details p { margin:18px 0 0; }
.ph-cctv .cc-faq summary span { color:var(--cc-gold); }
.ph-cctv .cc-services-copy { display:flex;flex-direction:column;gap:20px; }
.ph-cctv .cc-services-copy h3 { padding-top:24px;border-top:1px solid var(--cc-line); }
.ph-cctv .cc-services-copy p,.ph-cctv .cc-faq p { font-size:16px;line-height:1.65; }
.ph-cctv .cc-signoff { font:18px/1.4 var(--font-body,Arial,sans-serif);letter-spacing:.15em; }
.ph-cctv .cc-signoff small { display:block;font-size:12px;letter-spacing:.02em;margin-top:8px; }
.ph-cctv .cc-dot::before { content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#b69658;margin-right:6px; }
@media(max-width:899px),(max-aspect-ratio:9999/10000) { .ph-cctv { margin-top:-90px; } .ph-cctv p,.ph-cctv li { font-size:15px;line-height:1.5; } .ph-cctv h2 { font-size:clamp(30px,6vw,48px); } .ph-cctv h3 { font-size:18px; } }
