/* ov-security — /security overlap pass (2026-09-30). Page-scoped (front matter `css: … ov-security`),
   everything under .ov-sc. A trust page, so the overlaps are kept composed: an outline frame behind
   the hero · the real folder-sharing dialog over a photo of file boxes in #access · the FineShield
   excerpt panel over a dark paper photograph that runs off the left edge · a tint block behind the
   meetings photo. Copy untouched. */
.ov-sc{overflow-x:clip;--ov-sand:#E9DFCC;--ov-shadow:0 0 0 1px rgba(0,0,0,.05),0 30px 60px -24px rgba(30,22,10,.35),0 12px 24px -12px rgba(30,22,10,.18)}
.ov-sc picture{display:block}
.ov-sc picture img{display:block;width:100%;height:auto}

/* hero: a quiet outline frame offset down and left */
.ov-sc .ov-sc-hm{position:relative;isolation:isolate}
.ov-sc .ov-sc-hm::before{content:"";position:absolute;z-index:-1;inset:2rem 2rem -2rem -2rem;border:1px solid var(--accent);border-radius:var(--radius-img);opacity:.45}

/* #access: file-box photo with the real sharing dialog over its lower-right corner */
.ov-sc .ov-sc-acc{position:relative;margin-top:var(--stack-l);padding-bottom:7rem}
.ov-sc .ov-sc-acc-p{width:80%}
.ov-sc .ov-sc-acc-p img{aspect-ratio:4/3;object-fit:cover;object-position:30% 50%;border-radius:var(--radius-img)}
.ov-sc .ov-sc-acc-c{position:absolute;z-index:1;right:0;bottom:0;width:84%}
.ov-sc .ov-sc-acc-c img{border-radius:14px;background:#fff;box-shadow:var(--ov-shadow)}

/* #firewall: the excerpt panel over a dark paper photograph that runs off the left edge */
.ov-sc .ov-sc-fw{position:relative;isolation:isolate;background:transparent;padding:clamp(3rem,2rem + 4vw,6rem) 0 clamp(3rem,2rem + 4vw,6rem) clamp(2rem,1rem + 4vw,5rem)}
.ov-sc .ov-sc-fw-p{position:absolute;z-index:-1;top:0;bottom:0;left:calc(-1 * var(--gutter) - max(0px,(100vw - var(--max) - 2 * var(--gutter)) / 2));right:30%}
.ov-sc .ov-sc-fw-p img{width:100%;height:100%;object-fit:cover;object-position:30% 50%;border-radius:0 var(--radius-img) var(--radius-img) 0}
.ov-sc .ov-sc-fw .d29-shot{position:relative;box-shadow:var(--ov-shadow)}

/* #meetings: a tint block behind the top-right of the photo */
.ov-sc .ov-sc-meet{position:relative;isolation:isolate}
.ov-sc .ov-sc-meet::before{content:"";position:absolute;z-index:-1;top:-1.75rem;right:-1.75rem;width:55%;height:55%;border-radius:var(--radius-img);background:var(--ov-sand)}

@media (max-width:960px){
  .ov-sc .ov-sc-hm::before{inset:1rem 1rem -1rem -.75rem}
  .ov-sc .hero-grid{row-gap:calc(var(--stack-l) + 1rem)}
  .ov-sc .ov-sc-acc{max-width:34rem;padding-bottom:5rem}
  .ov-sc .ov-sc-acc-c{right:0;width:80%}
  .ov-sc .ov-sc-fw{padding:2.5rem 0 2.5rem 1.5rem}
  .ov-sc .ov-sc-fw-p{right:25%}
  .ov-sc .ov-sc-meet::before{top:-1rem;right:-.75rem}
}
@media (max-width:700px){
  .ov-sc .ov-sc-acc{padding-bottom:4rem}
  .ov-sc .ov-sc-acc-c{width:86%}
  .ov-sc .ov-sc-fw{padding:2rem 0 2rem 1rem}
}
