/* Fybr · Operations: the property at dusk into the 07:00 briefing, the systems, the review, a finding, the questions. Loads after base.css. */

/* ============================== THE NIGHT ============================== */
.ops-night{position:relative;background:var(--deep)}
.ops-night__sticky{position:relative}
.ops-night__scene{position:relative;height:100svh;min-height:560px;overflow:hidden;background:#0B1520}
.ops-night__plate{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:scale(calc(1 + var(--night,0) * .04));transform-origin:50% 70%}
.ops-night__canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.ops-night__shade{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(90deg,rgba(6,10,16,calc(.72 + var(--night,0) * .12)) 0%,rgba(6,10,16,calc(.35 + var(--night,0) * .3)) 42%,rgba(6,10,16,calc(var(--night,0) * .45)) 70%),
  linear-gradient(180deg,rgba(6,10,16,.5),rgba(6,10,16,0) 22%)}
.ops-night__caption{position:absolute;right:var(--gutter);bottom:16px}
.ops-beat{position:absolute;left:var(--gutter);top:calc(var(--header-h) + 14svh);max-width:min(36rem,46vw)}
.ops-beat--hero h1{font-size:clamp(3rem,6.2vw,6rem);line-height:.98;letter-spacing:-.035em;margin:22px 0 24px}
.ops-beat--hero .deck{font-size:clamp(1.02rem,1.25vw,1.16rem);color:#D6DEE7;max-width:32rem;margin-bottom:30px;line-height:1.55}
.ops-beat--morning{position:relative;left:auto;top:auto;max-width:720px;padding:clamp(80px,10vw,130px) var(--gutter) 30px}
.ops-beat--morning h2{font-size:clamp(2.4rem,4.6vw,4.4rem);line-height:1;letter-spacing:-.03em;margin:18px 0 22px}
.ops-beat--morning p:not(.eyebrow){color:#D0D8E1;max-width:32rem;line-height:1.6;margin-bottom:16px}
.ops-beat__note{color:var(--ink-mid)!important;font-size:.92rem}
.ops-phone{padding:20px var(--gutter) clamp(80px,10vw,120px)}

/* Pinned, on large screens: the scene holds; the evening turns into the morning read */
.night-on .ops-night{height:260svh}
.night-on .ops-night__sticky{position:sticky;top:0;height:100svh;overflow:hidden}
.night-on .ops-night__scene{position:absolute;inset:0;height:auto;min-height:0}
.night-on .ops-beat{opacity:0;visibility:hidden;will-change:opacity,transform}
.night-on .ops-beat.is-live{visibility:visible}
.night-on .ops-beat--morning{position:absolute;left:var(--gutter);top:calc(var(--header-h) + 14svh);max-width:min(32rem,40vw);padding:0}
.night-on .ops-phone{position:absolute;right:max(var(--gutter),8vw);top:calc(var(--header-h) + 3svh);padding:0;width:min(380px,30vw);
  transform:translateY(calc((1 - var(--phone,0)) * 110svh)) scale(var(--phone-scale,1));transform-origin:50% 0;opacity:calc(.2 + var(--phone,0) * .8)}
.night-on .ops-phone figcaption{color:var(--ink-mid)}
@media (max-height:960px){.night-on .ops-phone{--phone-scale:.88}}
@media (max-height:860px){.night-on .ops-phone{--phone-scale:.8}}
@media (max-height:760px){.night-on .ops-phone{--phone-scale:.7}}

/* ============================== THE SYSTEMS ============================== */
.ops-systems{padding:clamp(90px,11vw,150px) 0;background:var(--ground);border-top:1px solid var(--line-soft)}
.ops-systems__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:end;margin-bottom:clamp(44px,5vw,70px)}
.ops-systems__head h2{font-size:clamp(2.3rem,4.2vw,4rem);line-height:1;letter-spacing:-.03em}
.ops-systems__head p{color:var(--ink-mid);max-width:30rem;line-height:1.6}
.ops-systems__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.ops-card{padding:26px 22px 28px;border:1px solid var(--line-soft);border-radius:6px;background:linear-gradient(180deg,rgba(20,26,33,.7),rgba(13,18,24,.7))}
.ops-card__art{width:120px;height:60px;margin-bottom:22px;fill:none;stroke:var(--teal);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ops-card__art circle{fill:var(--teal);stroke:none}
.ops-card__art .hot{fill:var(--brass)}
.ops-card__art .owner{fill:#fff}
.ops-card__art .dim{stroke:rgba(95,168,184,.35)}
.ops-card__art .thin{stroke:var(--brass);stroke-width:1.2}
.ops-card h3{font-size:clamp(1.35rem,1.7vw,1.65rem);line-height:1.1;margin-bottom:12px}
.ops-card p{color:var(--ink-mid);line-height:1.6;font-size:.95rem}
.js .ops-card[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.js .ops-card[data-reveal].is-in{opacity:1;transform:none}
.js .ops-card:nth-child(2)[data-reveal]{transition-delay:.08s}.js .ops-card:nth-child(3)[data-reveal]{transition-delay:.16s}.js .ops-card:nth-child(4)[data-reveal]{transition-delay:.24s}

/* ============================== THE REVIEW ============================== */
.ops-review{padding:clamp(90px,10vw,150px) 0;background:var(--deep);border-top:1px solid var(--line-soft)}
.ops-review__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,110px);align-items:start}
.ops-review__head h2{font-size:clamp(2.3rem,4vw,3.8rem);line-height:1;letter-spacing:-.03em;margin:20px 0 22px}
.ops-review__head p:not(.eyebrow){color:var(--ink-mid);max-width:30rem;line-height:1.6}
.ops-offer{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:30px 0;border-top:1px solid var(--line-soft)}
.ops-offer:last-child{border-bottom:1px solid var(--line-soft)}
.ops-offer__n{font-family:var(--mono);font-size:.8rem;color:var(--brass);padding-top:6px}
.ops-offer h3{font-size:clamp(1.5rem,2.1vw,2rem);margin-bottom:6px}
.ops-offer__kind{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:14px}
.ops-offer p{color:var(--ink-mid);line-height:1.6;max-width:34rem}
.ops-offer .disclosure{margin-top:14px}
.ops-offer .detail-body p + p{margin-top:12px}

/* ============================== A FINDING ============================== */
.ops-finding{padding:clamp(90px,10vw,150px) 0;background:var(--ground);border-top:1px solid var(--line-soft)}
.ops-finding__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,110px);align-items:center}
.ops-ring{position:relative;margin:0;width:min(100%,360px);justify-self:center}
.ops-ring svg{width:100%;height:auto;transform:rotate(-90deg)}
.ops-ring circle{fill:none;stroke-width:12}
.ops-ring .track{stroke:rgba(234,240,246,.06)}
.ops-ring .ota{stroke:var(--brass);stroke-dasharray:calc(76 * var(--ring,1)) 100;stroke-linecap:round}
.ops-ring .direct{stroke:var(--teal);stroke-dasharray:calc(24 * var(--ring,1) - 2) 100;stroke-dashoffset:calc(-76 * var(--ring,1) - 1);stroke-linecap:round;opacity:.8}
.ops-ring__num{position:absolute;left:0;right:0;top:50%;transform:translateY(-62%);text-align:center;font:400 clamp(3.4rem,6vw,5rem)/1 var(--serif);letter-spacing:-.03em;color:var(--brass-hi)}
.ops-ring__num small{font-size:.45em;margin-left:2px}
.ops-ring figcaption{margin-top:18px;display:flex;justify-content:center;align-items:center;gap:8px;font:500 .72rem/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mid)}
.ops-ring .k{display:inline-block;width:14px;height:3px;border-radius:2px;margin-left:10px}
.ops-ring .k--ota{background:var(--brass);margin-left:0}.ops-ring .k--direct{background:var(--teal)}
.ops-finding__stat{font-family:var(--serif);font-size:clamp(1.3rem,1.9vw,1.7rem);line-height:1.3;max-width:30rem;margin-bottom:26px}
.ops-finding__stat b{font-weight:400;color:var(--brass-hi)}
.ops-finding h2{font-size:clamp(2.1rem,3.6vw,3.4rem);line-height:1;letter-spacing:-.03em;margin:16px 0 20px}
.ops-finding p:not(.eyebrow):not(.ops-finding__stat){color:var(--ink-mid);max-width:34rem;line-height:1.6;margin-bottom:20px}
.ops-finding__note{font-size:.85rem;margin-top:18px}

/* ============================== QUESTIONS ============================== */
.ops-faq{padding:clamp(80px,9vw,140px) 0;background:var(--deep);border-top:1px solid var(--line-soft)}
.ops-faq__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,90px);align-items:start}
.ops-faq h2{font-size:clamp(2.2rem,3.8vw,3.6rem);line-height:1;letter-spacing:-.03em}
.ops-faq .detail-body a{color:var(--ink);border-bottom:1px solid rgba(234,240,246,.45)}

/* ============================== RESPONSIVE ============================== */
@media (max-width:1080px){
  .ops-systems__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ops-systems__head,.ops-review__grid,.ops-finding__grid,.ops-faq__grid{grid-template-columns:1fr}
  .ops-ring{justify-self:start;width:min(100%,280px)}
}
@media (max-width:760px){
  .ops-systems__grid{grid-template-columns:1fr}
  .ops-beat--hero{top:calc(max(100svh, 560px) - 56px - env(safe-area-inset-bottom));transform:translateY(-100%);max-width:none;right:var(--gutter)}
  .ops-beat--hero h1{font-size:clamp(2.8rem,12.5vw,4rem)}
  .ops-night__plate{object-position:50% 50%}
  .ops-night__shade{background:linear-gradient(0deg,rgba(6,10,16,.92),rgba(6,10,16,.55) 45%,rgba(6,10,16,.05) 75%),linear-gradient(180deg,rgba(6,10,16,.55),rgba(6,10,16,0) 20%)}
  .ops-night__caption{top:calc(var(--header-h) + 10px);bottom:auto}
  .ops-offer{grid-template-columns:40px 1fr}
}
@media (prefers-reduced-motion:reduce){
  .js .ops-card[data-reveal]{opacity:1;transform:none;transition:none}
}
