/* SEFCO "Our Services" page (task B1). Loaded only on the services pages by yousry-services.php.
   Every rule hangs off a class set in Elementor > Advanced > CSS Classes, so the owner can reuse them. */
:root{
  --ys-amber:#FFB23E;
  --ys-blueprint:#0F1E2E;
  --ys-steel:linear-gradient(180deg,#e9ecef 0%,#c9cfd5 45%,#dfe3e7 55%,#b8bfc6 100%);
  --ys-card-border:1px solid rgba(187,129,0,.2);
  --ys-card-shadow:0 18px 40px -24px rgba(17,26,36,.45);
}
html{scroll-padding-top:80px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ys-svc *,.ys-svc *::before,.ys-svc *::after{transition:none!important;animation:none!important}}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* gold words inside a heading: <span class="ys-em">…</span> */
.ys-em{color:var(--e-global-color-primary)}
.ys-on-dark .ys-em,.ys-sos .ys-em,.ys-bp .ys-em{color:var(--e-global-color-primary)}
.ys-tbd{outline:1.5px dashed var(--e-global-color-primary);outline-offset:3px;border-radius:3px}

/* ---------- amber dot-matrix floor indicator ---------- */
.ys-ind{display:inline-flex;align-items:center;gap:14px;background:var(--e-global-color-secondary);border-radius:10px;padding:10px 16px 10px 14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),inset 0 6px 14px rgba(0,0,0,.5);text-decoration:none;max-width:100%}
.ys-arrow{width:0;height:0;border-inline:8px solid transparent;border-bottom:12px solid var(--ys-amber);filter:drop-shadow(0 0 6px rgba(255,178,62,.8))}
.ys-dot{font-family:"Archivo",sans-serif;font-weight:800;font-size:2rem;color:var(--ys-amber);letter-spacing:.06em;line-height:1;text-shadow:0 0 10px rgba(255,178,62,.65);direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums;
  -webkit-mask:radial-gradient(circle,#000 52%,transparent 58%) 0 0/4px 4px;mask:radial-gradient(circle,#000 52%,transparent 58%) 0 0/4px 4px}
.ys-ind small{font-family:var(--e-global-typography-yseyebr-font-family),sans-serif;font-size:.75rem;letter-spacing:var(--ys-ls-eyebrow);text-transform:uppercase;color:var(--e-global-color-ysondark);line-height:1.3}
.ys-ind-hot .ys-dot{font-size:clamp(2rem,1.2rem + 3.6vw,4rem)}
.ys-ind-hot{padding:16px 22px}

/* ---------- hero ---------- */
.ys-hero{background-image:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);background-size:80px 80px}
.ys-crumbs,.ys-crumbs a{color:var(--e-global-color-ysondark);text-decoration:none}
.ys-crumbs a:hover{color:var(--e-global-color-ystint)}
.ys-btn-ghost .elementor-button{background:transparent!important;color:var(--e-global-color-ystint)!important;border:1px solid rgba(251,244,228,.5)!important}
.ys-btn-ghost .elementor-button:hover{border-color:var(--e-global-color-primary)!important;color:var(--e-global-color-primary)!important}
.ys-facts{border-top:1px solid rgba(255,255,255,.1)}
.ys-facts .elementor-heading-title{font-variant-numeric:tabular-nums}

.ys-doorway{display:grid;gap:14px;justify-items:center;width:min(100%,430px);margin-inline:auto}
.ys-frame{position:relative;width:100%;aspect-ratio:3/4;padding:14px;background:var(--ys-steel);border-radius:6px;box-shadow:0 40px 80px -30px rgba(0,0,0,.8)}
.ys-opening{position:absolute;inset:14px 14px 0;overflow:hidden;background:#000 center/cover no-repeat}
.ys-door{position:absolute;top:0;bottom:14px;width:50%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 3px),linear-gradient(90deg,#9aa3ab,#d5dade 40%,#a3acb4);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);transition:transform 1.6s cubic-bezier(.7,0,.2,1) .5s}
.ys-door.l{left:0}.ys-door.r{right:0}
.ys-frame.is-open .ys-door.l{transform:translateX(-90%)}
.ys-frame.is-open .ys-door.r{transform:translateX(90%)}
.ys-sill{position:absolute;left:0;right:0;bottom:0;height:14px;background:repeating-linear-gradient(90deg,#8a9299 0 3px,#b6bdc3 3px 6px)}
.ys-callbtn{display:flex;gap:10px;align-items:center;font-size:var(--e-global-typography-yssmall-font-size);color:var(--e-global-color-ysondark)}
.ys-callbtn i{width:30px;height:30px;border-radius:50%;background:var(--ys-steel);display:grid;place-items:center;box-shadow:0 0 0 2px #59636c}
.ys-callbtn i::after{content:"";width:12px;height:12px;border-radius:50%;background:var(--ys-amber);box-shadow:0 0 10px var(--ys-amber)}

/* ---------- shaft rail (wide screens) and call bar (smaller) ---------- */
.ys-rail{position:fixed;top:50%;inset-inline-start:max(40px,calc((100vw - 1240px)/2 - 92px));transform:translateY(-50%);z-index:90;display:grid;justify-items:center;gap:10px;opacity:0;pointer-events:none;transition:opacity .3s}
.ys-rail.is-on{opacity:1;pointer-events:auto}
.ys-rail .ys-ind{padding:8px 10px}
.ys-rail .ys-dot{font-size:1.4rem}
.ys-track{position:relative;height:320px;width:44px}
.ys-track::before{content:"";position:absolute;inset-block:0;left:50%;width:2px;transform:translateX(-50%);background:var(--e-global-color-ysborder)}
.ys-stops{position:absolute;inset:0;display:flex;flex-direction:column-reverse;justify-content:space-between;margin:0;padding:0;list-style:none}
.ys-stops a{display:grid;place-items:center start;width:96px;margin-inline-start:-26px;height:22px;font:700 .72rem "Archivo",sans-serif;color:var(--e-global-color-ysmuted);text-decoration:none;position:relative;z-index:1}
.ys-stops a::before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;border:2px solid var(--e-global-color-ysborder);left:50%;top:50%;transform:translate(-50%,-50%);z-index:-1}
.ys-stops a span{position:absolute;inset-inline-start:66px;white-space:nowrap;background:var(--e-global-color-secondary);color:var(--e-global-color-ystint);padding:3px 10px;border-radius:4px;font-family:var(--e-global-typography-ysh6-font-family),sans-serif;font-weight:600;font-size:.8rem;opacity:0;transition:opacity .2s;pointer-events:none}
.ys-stops a:hover span,.ys-stops a:focus-visible span{opacity:1}
.ys-stops a[aria-current="true"]{color:var(--e-global-color-secondary)}
.ys-stops a[aria-current="true"]::before{border-color:var(--e-global-color-primary);background:var(--e-global-color-primary)}
.ys-cabin{position:absolute;left:50%;bottom:0;width:22px;height:28px;margin-left:-11px;border-radius:3px;background:var(--e-global-color-secondary);box-shadow:0 0 0 2px var(--e-global-color-primary),0 6px 14px rgba(0,0,0,.25);transition:transform .15s linear}
.ys-cabin::after{content:"";position:absolute;inset:6px 5px;border-inline:1.5px solid rgba(255,178,62,.7)}
.ys-rail-label{font-family:var(--e-global-typography-yseyebr-font-family),sans-serif;font-size:.68rem;letter-spacing:var(--ys-ls-eyebrow);text-transform:uppercase;color:var(--e-global-color-ysmuted);writing-mode:vertical-rl;transform:rotate(180deg)}
html[dir="rtl"] .ys-rail-label{transform:none;font-size:.8rem}
.ys-callbar{position:fixed;top:0;left:0;right:0;z-index:90;background:rgba(17,26,36,.96);backdrop-filter:blur(6px);display:none;transform:translateY(-100%);transition:transform .25s}
.ys-callbar.is-on{transform:none}
.admin-bar .ys-callbar{top:32px}
.ys-callbar nav{display:flex;overflow-x:auto;scrollbar-width:none}
.ys-callbar a{flex:1 0 auto;display:flex;gap:8px;align-items:center;padding:10px 14px;color:var(--e-global-color-ysondark);text-decoration:none;font-family:var(--e-global-typography-ysh6-font-family),sans-serif;font-weight:600;font-size:.85rem;white-space:nowrap;border-inline-end:1px solid rgba(255,255,255,.07)}
.ys-callbar a b{width:28px;height:28px;border-radius:50%;border:1.5px solid #5d6772;display:grid;place-items:center;font:700 .72rem "Archivo",sans-serif}
.ys-callbar a[aria-current="true"]{color:var(--e-global-color-ystint)}
.ys-callbar a[aria-current="true"] b{border-color:var(--ys-amber);color:var(--e-global-color-secondary);background:var(--ys-amber);box-shadow:0 0 10px rgba(255,178,62,.7)}
@media (max-width:1480px){.ys-rail{display:none}.ys-callbar{display:block}}
@media (max-width:782px){.admin-bar .ys-callbar{top:46px}}
.elementor-editor-active .ys-rail,.elementor-editor-active .ys-callbar{display:none}

/* ---------- floor 01: phases stacked like floors ---------- */
.ys-inst-fig{position:relative}
.ys-inst-fig .ys-figcap{position:absolute;inset-inline-start:0;bottom:0;width:auto;max-width:100%}
.ys-figcap .elementor-heading-title{background:var(--e-global-color-secondary);color:var(--e-global-color-ystint);padding:10px 16px;display:inline-block}
.ys-stack-cap .elementor-heading-title::before{content:"↑ ";color:var(--e-global-color-primary);font-weight:700}
.ys-step{background:#fff;border:var(--ys-card-border);border-inline-start:4px solid var(--e-global-color-primary)!important}
.ys-stack > .ys-step:nth-child(1),.ys-stack > .e-con-inner > .ys-step:nth-child(1){margin-inline-end:18%}
.ys-stack > .ys-step:nth-child(2),.ys-stack > .e-con-inner > .ys-step:nth-child(2){margin-inline-end:12%}
.ys-stack > .ys-step:nth-child(3),.ys-stack > .e-con-inner > .ys-step:nth-child(3){margin-inline-end:6%}
@media (max-width:767px){.ys-stack .ys-step{margin-inline-end:0!important}}
.ys-lv .elementor-heading-title{font-family:"Archivo",sans-serif!important;font-weight:800;font-variant-numeric:tabular-nums}
.ys-dur .elementor-heading-title{white-space:nowrap}
.ys-chips p{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.ys-chips span{font-size:var(--e-global-typography-yssmall-font-size);padding:5px 14px;border:1px solid var(--e-global-color-ysborder);border-radius:999px;background:#fff;line-height:1.5}
.ys-more .elementor-button{background:transparent!important;color:var(--e-global-color-secondary)!important;border:0!important;border-bottom:1.5px solid var(--e-global-color-primary)!important;border-radius:0!important;padding:0 0 3px!important}
.ys-more .elementor-button-text::after{content:" →";color:var(--e-global-color-primary)}
html[dir="rtl"] .ys-more .elementor-button-text::after{content:" ←"}
.ys-more-light .elementor-button{color:var(--e-global-color-ystint)!important}

/* ---------- floor 02: report object + plans ---------- */
/* the photo is the container background; the report card overhangs it by 28px (margins set in Elementor) */
.ys-report{position:relative;box-shadow:var(--ys-card-shadow),0 0 0 1px var(--e-global-color-ysborder)}
.ys-report-head{border-bottom:2px solid var(--e-global-color-secondary)}
.ys-report-foot{border-top:1px dashed var(--e-global-color-ysborder)}
.ys-checks .elementor-icon-list-items{display:grid!important;grid-template-columns:1fr 1fr;gap:6px 18px}
.ys-checks .elementor-icon-list-item{margin:0!important;padding:0!important}
.ys-checks .elementor-icon-list-icon{flex:0 0 18px;width:18px;height:18px;padding:0!important;margin-inline-end:4px;border-radius:3px;background:var(--e-global-color-primary);display:grid!important;place-items:center}
.ys-checks .elementor-icon-list-icon i,.ys-checks .elementor-icon-list-icon svg{color:#fff!important;fill:#fff!important;font-size:.65rem!important;width:.65rem!important;height:.65rem!important;margin:0!important;display:block}
@media (max-width:767px){.ys-checks .elementor-icon-list-items{grid-template-columns:1fr}}
.ys-stamp{transform:rotate(-8deg)}
.ys-stamp .elementor-heading-title{border:2.5px solid var(--e-global-color-primary);color:var(--e-global-color-primary)!important;font-family:"Archivo",var(--e-global-typography-ysh6-font-family),sans-serif!important;font-weight:800!important;letter-spacing:.12em;padding:6px 12px;border-radius:6px;text-transform:uppercase}
html[dir="rtl"] .ys-stamp .elementor-heading-title{letter-spacing:0;font-family:var(--e-global-typography-ysh6-font-family),sans-serif!important}
.ys-plan{border:var(--ys-card-border)}
.ys-plan-best{position:relative}
.ys-badge{position:absolute!important;top:-12px;inset-inline-end:20px;width:auto!important}
.ys-badge .elementor-heading-title{background:var(--e-global-color-primary);padding:4px 10px;letter-spacing:.08em;text-transform:uppercase}
html[dir="rtl"] .ys-badge .elementor-heading-title{letter-spacing:0}
.ys-diamonds .elementor-icon-list-icon i,.ys-diamonds .elementor-icon-list-icon svg{transform:rotate(45deg)}
.ys-resp{border-top:1px solid var(--e-global-color-ysborder)}
.ys-plan-best .ys-resp{border-color:rgba(255,255,255,.12)}

/* ---------- floor 03: anatomy + parts ---------- */
.ys-anat{position:relative;background:#fff;border:var(--ys-card-border);padding:20px;max-width:440px;margin-inline:auto;direction:ltr}
.ys-anat svg{width:100%;height:auto;display:block}
.ys-anat .ln{fill:none;stroke:#7b8590;stroke-width:1.5}
.ys-anat .hl{fill:rgba(187,129,0,.08);stroke:#BB8100;stroke-width:1.5;transition:fill .2s}
.ys-anat g.is-on .hl{fill:rgba(187,129,0,.28);stroke-width:2.5}
.ys-anat text{font:10px "IBM Plex Sans",sans-serif;fill:#5B6672}
.ys-hot{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;border:0;padding:0;background:var(--e-global-color-primary);color:var(--e-global-color-secondary);font:800 .8rem "Archivo",sans-serif;cursor:pointer;box-shadow:0 0 0 5px rgba(187,129,0,.22);transition:transform .2s,background .2s}
.ys-hot:hover{transform:scale(1.1)}
.ys-hot[aria-pressed="true"]{background:var(--e-global-color-secondary);color:var(--ys-amber)}
.ys-part{cursor:pointer;border:1px solid transparent;border-inline-start:3px solid var(--e-global-color-ysborder)!important;transition:background .2s,border-color .2s}
.ys-part:hover{background:rgba(255,255,255,.6)}
.ys-part.is-on{background:#fff;border-color:rgba(187,129,0,.25);border-inline-start-color:var(--e-global-color-primary)!important}
.ys-part .ys-lv .elementor-heading-title{color:var(--e-global-color-ysmuted)}
.ys-part.is-on .ys-lv .elementor-heading-title{color:var(--e-global-color-primary)}
.ys-part:focus-visible{outline:2px solid var(--e-global-color-primary)}
.ys-keep{border:var(--ys-card-border)}
.ys-keep img{width:120px;height:90px;object-fit:cover}
@media (max-width:767px){.ys-keep img{width:100%;height:140px}}

/* ---------- floor 04: emergency timeline ---------- */
.ys-timeline{border-inline-start:2px solid rgba(255,178,62,.35)}
.ys-tl-item{position:relative}
.ys-tl-item::before{content:"";position:absolute;inset-inline-start:-7px;top:10px;width:12px;height:12px;border-radius:50%;background:var(--e-global-color-secondary);border:2px solid var(--ys-amber)}
.ys-t .elementor-heading-title{font-family:"Archivo",sans-serif!important;color:var(--ys-amber)!important;letter-spacing:.08em;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
.ys-t{width:auto!important}

/* ---------- floor 05: blueprint sheet ---------- */
.ys-bp{background-image:
  linear-gradient(rgba(187,129,0,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(187,129,0,.09) 1px,transparent 1px),
  linear-gradient(rgba(187,129,0,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(187,129,0,.14) 1px,transparent 1px)!important;
  background-size:24px 24px,24px 24px,120px 120px,120px 120px!important}
.ys-ticks-dark .elementor-icon-list-icon i,.ys-ticks-dark .elementor-icon-list-icon svg{color:var(--ys-amber)!important;fill:var(--ys-amber)!important}
.ys-draft img{width:110px;height:70px;object-fit:cover;filter:sepia(.3)}
.ys-draft{border-top:1px solid rgba(255,255,255,.12)}
.ys-sheet{background:rgba(9,18,28,.75);border:1px solid rgba(187,129,0,.4);padding:18px;display:grid;gap:14px}
.ys-loads{display:flex;gap:6px;flex-wrap:wrap}
.ys-loads button{font:600 .85rem "Archivo",sans-serif;background:transparent;color:var(--e-global-color-ysondark);border:1px solid rgba(255,255,255,.25);border-radius:0;padding:6px 12px;cursor:pointer;font-variant-numeric:tabular-nums}
.ys-loads button:hover{border-color:var(--ys-amber);background:transparent;color:var(--ys-amber)}
.ys-loads button[aria-pressed="true"]{background:var(--ys-amber);border-color:var(--ys-amber);color:var(--e-global-color-secondary)}
.ys-sheet svg{width:100%;height:auto;direction:ltr}
.ys-sheet svg text{font:11px "IBM Plex Sans",sans-serif;fill:#FBF4E4}
.ys-sheet .wall{fill:rgba(187,129,0,.18);stroke:#BB8100;stroke-width:1.5}
.ys-sheet .shaftin{fill:#0b1622;stroke:#BB8100;stroke-width:1}
.ys-sheet .car{fill:none;stroke:#FFB23E;stroke-width:1.5;stroke-dasharray:5 3}
.ys-sheet .dim{stroke:#B9C2CC;stroke-width:.8;fill:none}
.ys-spec{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;font-size:.875rem}
.ys-spec div{border-top:1px solid rgba(255,255,255,.14);padding-top:6px;display:grid}
.ys-spec small{color:#8d98a4;font-size:.78rem}
.ys-spec b{font-family:"Archivo",sans-serif;color:#FBF4E4;font-variant-numeric:tabular-nums;direction:ltr;justify-self:start}
.ys-sheet figcaption{font-size:.8rem;color:#8d98a4;line-height:1.6}
@media (max-width:767px){.ys-spec{grid-template-columns:repeat(2,1fr)}}

/* ---------- coverage + standards ---------- */
.ys-big .elementor-heading-title{font-family:"Archivo",sans-serif!important;font-weight:800;font-size:clamp(5rem,3rem + 9vw,10rem);line-height:.85}
.ys-plate{background:var(--ys-steel)!important;border-radius:4px;position:relative;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 2px 0 #9aa2a9,0 12px 24px -16px rgba(0,0,0,.5)}
.ys-plate::before,.ys-plate::after{content:"";position:absolute;top:8px;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#7d868e)}
.ys-plate::before{left:8px}.ys-plate::after{right:8px}
.ys-plate .elementor-heading-title{text-shadow:0 1px 0 rgba(255,255,255,.7)}
.ys-plate-code .elementor-heading-title{font-family:"Archivo",sans-serif!important;font-weight:800!important;direction:ltr;unicode-bidi:isolate}

/* ---------- FAQ ---------- */
.ys-faq .elementor-accordion-item{border:0!important;border-bottom:1px solid var(--e-global-color-ysborder)!important}
.ys-faq .elementor-accordion{border-top:1px solid var(--e-global-color-ysborder)}
.ys-faq .elementor-tab-title{padding:20px 0!important;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-direction:row-reverse}
.ys-faq .elementor-tab-title .elementor-accordion-icon{float:none!important;flex:none}
.ys-faq .elementor-tab-content{padding:0 0 20px!important;border:0!important;max-width:62ch}
.ys-faq .elementor-accordion-title{color:var(--e-global-color-secondary)!important}

/* ---------- quote ---------- */
.ys-quote{box-shadow:var(--ys-card-shadow);border:var(--ys-card-border)}
.ys-contact .elementor-heading-title a{color:inherit}
.ys-ltr .elementor-heading-title{direction:ltr;unicode-bidi:isolate}

/* ---------- shared ---------- */
html:lang(en) .ys-eyebrow .elementor-heading-title{text-transform:uppercase}
.ys-measure{max-width:58ch}
.ys-svc .elementor-heading-title{text-wrap:balance}

/* layout guards: fixed-size pieces never shrink inside Elementor flex rows */
.ys-fix,.ys-lv,.ys-dur,.ys-t,.ys-stamp,.ys-big,.ys-keep .elementor-widget-image,.ys-draft .elementor-widget-image{flex-shrink:0!important}
.ys-t,.ys-dur,.ys-figcap{align-self:flex-start}
.ys-step .ys-dur{align-self:center}
.ys-facts > .e-con,.ys-facts > .e-con-inner > .e-con{--width:auto;width:auto}
.ys-big .elementor-heading-title{font-size:clamp(5rem,3rem + 9vw,10rem)!important;line-height:.85!important}
.ys-hot{padding:0!important;width:30px!important;height:30px!important;min-width:0!important;border-radius:50%!important;line-height:30px!important;font-size:.8rem!important;border:0!important}
.ys-loads button{padding:6px 12px!important;border-radius:0!important;font-size:.85rem!important;line-height:1.3!important}
.ys-flex1{flex:1 1 0%!important;min-width:0;--width:auto}
.ys-loads button,.ys-spec b{direction:ltr;unicode-bidi:isolate}
/* floor 04: building guard note (owner, 2026-10-29) */
.ys-guard{border-inline-start:3px solid var(--ys-amber);background:rgba(255,255,255,.05);border-radius:10px}
.ys-guard-ic .elementor-icon{display:flex}
.ys-guard-ic{margin-top:2px}
.ys-guard .elementor-widget-text-editor p:last-child{margin-bottom:0}
