/* Shared drone service styles and compact equipment specification card. */
.spf-page.spf-page--drone :is(.drone-equipment,.drone-review) { --drone-pad:clamp(36px,4.5svh,68px);padding-block:var(--drone-pad); }
.spf-page--drone .drone-equipment { background:#10232f; }
.spf-page--drone .drone-review { background:#203340; }
[data-scene-mode][hidden] { display:none; }
.drone-equipment-specs { margin-top:22px; }
.drone-equipment-specs>div { padding:10px 0 24px; }
.drone-equipment-specs dl { display:grid;grid-template-columns:1fr 1fr;gap:26px 50px;margin:0; }
.drone-equipment-specs dt { font-size:13px;color:var(--gold);margin-bottom:8px; }
.drone-equipment-specs dd,.drone-equipment-specs>div>p { margin:0;color:var(--muted);font-size:14px;line-height:1.8; }
.drone-equipment-specs>div>p { margin-top:24px;max-width:90ch; }
.drone-future { border-top:1px solid #adc4d326; }
.drone-future summary { cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px;padding:20px 0;font-size:14px;color:var(--muted); }
.drone-future summary::-webkit-details-marker { display:none; }
.drone-future summary:after { content:'+';color:var(--gold); }
.drone-future[open] summary:after { content:'−'; }
.drone-future>div { display:grid;grid-template-columns:210px 1fr;gap:38px;align-items:center;padding:15px 0 30px; }
.drone-future img { display:block;width:100%;border-radius:12px; }
.drone-future h3 { font-size:24px; }.drone-future p:not(.eyebrow) { color:var(--muted);font-size:15px;line-height:1.85;max-width:70ch; }
.drone-section-head { display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(36px,4.4vw,85px);align-items:end;margin-bottom:clamp(28px,3.5svh,46px); }
.drone-section-head h2 { margin:0;font-size:clamp(32px,2.25vw,58px); }
.drone-section-head>p { margin:0;color:var(--muted);font-size:clamp(15px,.9vw,19px);line-height:1.85; }
.drone-survey-stage { display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(36px,4.4vw,85px);align-items:center; }
.drone-field-image { margin:0;align-self:center; }
.drone-field-image img { display:block;width:100%;height:auto;aspect-ratio:1524/1032;object-fit:contain;filter:var(--photo-finish);border-radius:12px; }
.drone-survey-deliverables>.eyebrow { font-size:11px;margin:0 0 12px; }
.drone-survey-deliverables>h3 { font-family:var(--serif);font-weight:400;font-size:clamp(28px,1.7vw,42px);line-height:1.55;margin:0 0 22px; }
.drone-survey-deliverables ol { margin:0;padding:0;list-style:none; }
.drone-survey-deliverables li { display:grid;grid-template-columns:26px minmax(0,1fr);gap:16px;padding:18px 0;border-top:1px solid #adc4d326; }
.drone-survey-deliverables li>span { font:11px/1.7 var(--mono);color:var(--gold);padding-top:4px; }
.drone-survey-deliverables h4 { font-size:19px;font-weight:500;margin:0 0 8px;line-height:1.5; }
.drone-survey-deliverables p { color:var(--muted);font-size:14px;margin:0;line-height:1.8; }
.drone-review .drone-survey-scope { margin-top:28px; }
.drone-survey-scope .callout { margin:0;padding:0 0 0 18px;color:var(--muted);font-size:14px;max-width:100%; }
.drone-review .spf-expander { margin-top:24px; }
.drone-review .spf-expander__body>.sp-note { margin:0 0 26px;max-width:95ch;font-size:15px; }
/* Keep every original incident step, but give it the same precise visual rhythm. */

@media(min-width:901px) and (max-height:950px) {
 .drone-section-head { margin-bottom:24px; }
 .drone-section-head h2 { font-size:32px; }
 .drone-survey-deliverables li { padding-block:14px; }
 .drone-survey-deliverables>h3 { font-size:28px;margin-bottom:20px; }
 .drone-review .drone-survey-scope { margin-top:22px; }
 .drone-review .spf-expander { margin-top:20px; }
}
@media(min-width:2200px) {
.drone-survey-deliverables>.eyebrow { font-size:15px;margin-bottom:22px; }
 .drone-survey-deliverables h4 { font-size:26px; }
 .drone-survey-deliverables p { font-size:20px; }
 .drone-survey-deliverables li { padding-block:26px;gap:24px; }
 .drone-survey-deliverables li>span { font-size:15px; }
 .drone-survey-scope .callout { font-size:19px; }
 .drone-equipment-specs summary,.drone-future summary,.drone-review .spf-expander summary { font-size:18px; }
}
@media(max-width:900px) {
 .drone-section-head { grid-template-columns:1fr;gap:18px; }
 .drone-section-head>p { max-width:55ch; }
.drone-survey-stage { grid-template-columns:1fr; }
 .drone-survey-deliverables { padding-top:4px; }
 .drone-future>div { grid-template-columns:1fr;gap:24px; }
 .drone-future img { max-width:230px; }
 .drone-equipment-specs dl { grid-template-columns:1fr;gap:24px; }
}
@media(max-width:500px) {
 .drone-section-head h2 { font-size:30px; }
 .drone-survey-deliverables>h3 { font-size:28px; }
}

/* Equipment card follows the residential engineering panel composition. */
.spf-page--drone #drone-equipment { min-height:0;display:block;padding-block:clamp(44px,4.5vw,80px);background:#10232f; }
.drone-spec-card { border:1px solid #43515e;border-radius:12px;overflow:hidden;background:#202833; }
.drone-spec-top { display:grid;grid-template-columns:1fr 1fr;align-items:stretch; }
.drone-spec-photo { position:relative;margin:0;min-height:clamp(370px,43svh,560px);background:radial-gradient(ellipse at 50% 37%,#304550 0%,#1c303d 44%,#12232f 80%);display:flex;align-items:center;justify-content:center;padding:30px; }
.drone-spec-photo img { display:block;width:100%;height:clamp(310px,36svh,480px);max-width:370px;object-fit:contain;filter:brightness(.96) saturate(.85);border-radius:0; }
.drone-spec-copy { padding:clamp(34px,3vw,64px);align-self:center;min-width:0; }
.drone-spec-copy>.eyebrow { font-size:12px;margin:0 0 22px;letter-spacing:.13em; }
.drone-spec-copy>h2 { font-size:clamp(32px,2.05vw,48px);line-height:1.45;margin:0 0 28px; }
.drone-spec-description { font-size:16px;line-height:1.85;color:#c1cad3;margin:0; }
.drone-spec-remit { font-size:14px;line-height:1.8;color:#9eafbe;margin:20px 0 0;max-width:48ch; }
.drone-spec-highlights { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:30px 36px;background:#242e3a;border-top:1px solid #48596777; }
.drone-spec-highlights article { display:grid;grid-template-columns:34px minmax(0,1fr);gap:18px;align-items:start; }
.drone-spec-highlights .ucs-icon { width:29px;height:29px;color:#b7c4cc;stroke-width:1.5;margin-top:4px; }
.drone-spec-highlights h3 { font-size:22px;font-weight:500;line-height:1.5;margin:0 0 10px; }
.drone-spec-highlights p { font-size:15px;line-height:1.75;color:#becad3;margin:0 0 14px; }
.drone-spec-value { display:block;font-size:13px;line-height:1.7;color:var(--gold); }
.drone-spec-card>.drone-equipment-specs { margin:0;border-top:1px solid #48596777;padding-inline:36px; }
.drone-spec-card>.drone-equipment-specs>summary { margin:0;padding:22px 0;font-size:14px;line-height:1.7;color:#b9c7d1; }
.drone-spec-card>.drone-equipment-specs>summary:after { font-size:20px; }
.drone-spec-card>.drone-equipment-specs>div { padding:8px 0 30px; }
.drone-spec-card .drone-future { margin-top:26px; }
@media(min-width:2200px) {
 .drone-spec-copy { padding:64px 80px; }
 .drone-spec-description { font-size:20px; }
 .drone-spec-remit { font-size:17px; }
 .drone-spec-highlights { padding:40px 50px;gap:50px; }
 .drone-spec-highlights h3 { font-size:28px; }
 .drone-spec-highlights p { font-size:20px; }
 .drone-spec-value { font-size:16px; }
 .drone-spec-highlights .ucs-icon { width:34px;height:34px; }
 .drone-spec-card>.drone-equipment-specs { padding-inline:50px; }
 .drone-spec-card>.drone-equipment-specs>summary { font-size:17px;padding-block:26px; }
}
@media(max-width:1000px) {
 .drone-spec-copy { padding:30px; }
 .drone-spec-copy>h2 { font-size:30px; }
 .drone-spec-highlights { padding:28px;gap:24px; }
 .drone-spec-highlights article { grid-template-columns:27px 1fr;gap:14px; }
 .drone-spec-highlights h3 { font-size:19px; }
 .drone-spec-highlights p { font-size:14px; }
 .drone-spec-highlights .ucs-icon { width:25px;height:25px; }
 .drone-spec-card>.drone-equipment-specs { padding-inline:28px; }
}
@media(max-width:650px) {
 .drone-spec-top { grid-template-columns:1fr; }
 .drone-spec-photo { min-height:290px;padding:20px; }
 .drone-spec-photo img { height:260px;max-width:220px; }
 .drone-spec-copy { padding:30px 24px; }
 .drone-spec-copy>.eyebrow { font-size:10px;margin-bottom:18px; }
 .drone-spec-copy>h2 { font-size:30px;margin-bottom:22px; }
 .drone-spec-remit { margin-top:16px; }
 .drone-spec-highlights { grid-template-columns:1fr;padding:26px 24px;gap:24px; }
 .drone-spec-highlights article { grid-template-columns:30px 1fr;gap:16px; }
 .drone-spec-highlights h3 { font-size:20px;margin-bottom:8px; }
 .drone-spec-highlights p { font-size:15px;margin-bottom:9px; }
 .drone-spec-highlights .ucs-icon { width:28px;height:28px; }
 .drone-spec-card>.drone-equipment-specs { padding-inline:24px; }
}
/* Simplified live model; the source photo remains a selectable fallback. */
.drone-spec-photo.detector-viewer { padding:0;min-height:clamp(390px,45svh,570px);isolation:isolate; }
.detector-viewer canvas { position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab; }
.detector-viewer canvas:active { cursor:grabbing; }
.detector-viewer canvas:focus-visible { outline:2px solid var(--gold);outline-offset:-5px; }
.detector-viewer .detector-reference { position:absolute;inset:35px 15% 62px;width:70%;height:calc(100% - 97px);max-width:none;object-fit:contain; }
.detector-viewer [hidden] { display:none!important; }
.detector-view-toolbar { position:absolute;bottom:18px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:2; }
.detector-mode,.detector-camera { display:flex;gap:4px; }
.detector-view-toolbar button { appearance:none;min-height:34px;border:1px solid #849eac42;background:#10212cbf;border-radius:4px;color:#b9c9d3;padding:7px 11px;font-size:12px;cursor:pointer; }
.detector-mode button[aria-pressed=true] { color:var(--gold);border-color:#efb52e88;background:#23333e; }
.detector-view-toolbar button:hover:not(:disabled) { border-color:var(--gold);color:#f1f3f4; }
.detector-view-toolbar button:disabled { opacity:.35;cursor:default; }
.detector-camera button { width:34px;padding:0;font-size:18px; }
.detector-hint { position:absolute;top:14px;left:24px;color:#9fb4c1;font-size:11px;letter-spacing:.03em;pointer-events:none; }
/* A visual handover sequence, with the original roles and scope retained. */
.spf-page--drone #drone-response .sp-flow { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:38px; }
.spf-page--drone #drone-response .sp-flow:before { display:none; }
.spf-page--drone #drone-response .sp-flow>li { position:relative;display:flex;flex-direction:column;padding:0;min-height:0;margin:0;background:#202d39;border:1px solid #52637269;border-radius:10px;overflow:visible; }
.spf-page--drone #drone-response .sp-flow>li:after { display:none; }
.drone-step-visual { position:relative;display:flex;align-items:center;justify-content:center;height:170px;border-radius:10px 10px 0 0;border-bottom:1px solid #52637255;background:linear-gradient(135deg,#2c404c,#1a2d39); }
.spf-page--drone #drone-response .number { position:absolute;top:17px;left:20px;right:auto;font-size:11px;margin:0;color:var(--gold); }
.drone-step-copy { flex:1;padding:24px;display:flex;flex-direction:column; }
.spf-page--drone #drone-response .sp-flow h3 { font-size:23px;margin:0 0 12px;line-height:1.45; }
.spf-page--drone #drone-response .sp-flow .spf-flow-key { font-size:14px;line-height:1.8;margin:0 0 20px;color:#bdc9d2; }
.spf-page--drone #drone-response .sp-flow .sp-owner { margin: auto 0 0;padding-top:16px;border-top:1px solid #9fb2c52b;font-size:13px;color:var(--gold);line-height:1.65; }
.drone-step-connector { position:absolute;top:77px;right:-27px;width:27px;height:20px;z-index:2; }
.drone-step-connector svg { display:block;width:100%;height:100%;fill:none;stroke:var(--gold);stroke-width:1.2; }
@media(min-width:2200px) {
 .drone-step-visual { height:230px; }
 .drone-step-connector { top:108px; }
 .drone-step-copy { padding:34px; }
 .spf-page--drone #drone-response .sp-flow h3 { font-size:29px; }
 .spf-page--drone #drone-response .sp-flow .spf-flow-key { font-size:19px; }
 .spf-page--drone #drone-response .sp-flow .sp-owner { font-size:17px; }
}
@media(max-width:1000px) {
 .spf-page--drone #drone-response .sp-flow { grid-template-columns:1fr 1fr;gap:24px; }
 .drone-step-connector { display:none; }
}
@media(max-width:650px) {
 .drone-spec-photo.detector-viewer { min-height:340px; }
 .detector-view-toolbar { left:16px;right:16px;bottom:14px;gap:8px; }
 .detector-view-toolbar button { min-height:36px;padding:7px 9px;font-size:11px; }
 .detector-camera button { width:33px;font-size:17px;padding:0; }
 .detector-hint { left:18px;font-size:10px; }
 .spf-page--drone #drone-response .sp-flow { grid-template-columns:1fr;gap:25px; }
 .spf-page--drone #drone-response .sp-flow>li { display:grid;grid-template-columns:95px 1fr; }
 .drone-step-visual { height:100%;min-height:190px;border-bottom:0;border-right:1px solid #52637255;border-radius:10px 0 0 10px; }
 .spf-page--drone #drone-response .number { top:15px;left:14px; }
 .drone-step-copy { padding:22px 19px; }
 .spf-page--drone #drone-response .sp-flow h3 { font-size:20px; }
 .spf-page--drone #drone-response .sp-flow .spf-flow-key { font-size:13px; }
 .spf-page--drone #drone-response .sp-flow .sp-owner { font-size:12px; }
 .drone-step-connector { display:block;top:auto;bottom:-25px;right:calc(50% - 13px);transform:rotate(90deg); }
}

/* Refined engineering symbols: vector surface, narrow rim and restrained shadow. */
.drone-step-visual { background:radial-gradient(ellipse at 48% 42%,#29414e,#1c303d 76%);overflow:hidden; }
.drone-step-visual .drone-step-art { display:block;width:86%;height:155px;object-fit:contain;filter:none;border-radius:0; }
.spf-page--drone #drone-response .number { z-index:1; }
@media(min-width:2200px) { .drone-step-visual .drone-step-art { height:205px; } }
@media(max-width:650px) { .drone-step-visual .drone-step-art { width:100%;height:auto;max-height:150px; } }
