/* A restrained blue editorial frame; imagery, captions and layout dimensions remain intact. */
:root{--editorial-frame-radius:22px 5px 22px 5px;--editorial-frame-edge:#5276bc47;--editorial-frame-shine:#f7fbffb3;--editorial-frame-accent:#b5d3ffb8;--editorial-frame-shadow:#122c5721;--editorial-frame-hover:#173d702e}
html[data-theme="dark"]{--editorial-frame-edge:#789fdb66;--editorial-frame-shine:#d2e5ff70;--editorial-frame-accent:#add6ffcf;--editorial-frame-shadow:#0109186b;--editorial-frame-hover:#0107138c}

.solution-feature,
.about-home .about-photo>.editorial-picture,
.leadership-photo{position:relative;isolation:isolate;border-radius:var(--editorial-frame-radius);outline:1px solid var(--editorial-frame-edge);outline-offset:0;box-shadow:0 14px 36px -12px var(--editorial-frame-shadow),0 2px 7px #0e24470a;transition:box-shadow .4s ease,outline-color .35s ease}

/* These two decorative layers sit at the edge; they never intercept links or obscure copy. */
.solution-feature::before,
.about-home .about-photo>.editorial-picture::before,
.leadership-photo::before{content:"";position:absolute;inset:0;border:1px solid var(--editorial-frame-shine);border-radius:inherit;box-shadow:inset 0 0 0 5px #d9eaff0a;pointer-events:none;z-index:2}
.solution-feature::after,
.about-home .about-photo>.editorial-picture::after,
.leadership-photo::after{content:"";position:absolute;inset:8px;border-radius:16px 2px 16px 2px;pointer-events:none;z-index:2;background:linear-gradient(90deg,var(--editorial-frame-accent),transparent) left top/64px 1px no-repeat,linear-gradient(180deg,var(--editorial-frame-accent),transparent) left top/1px 44px no-repeat,linear-gradient(270deg,var(--editorial-frame-accent),transparent) right bottom/64px 1px no-repeat,linear-gradient(0deg,var(--editorial-frame-accent),transparent) right bottom/1px 44px no-repeat}

/* Keep the floating anniversary card outside the photo's clipping boundary. */
.about-home .about-photo{min-width:0;overflow:visible}
.about-home .year-stamp{border:1px solid #d9e1ef;border-radius:13px 3px 13px 3px;box-shadow:0 16px 35px -14px #16356d38;z-index:3}
html[data-theme="dark"] .about-home .year-stamp{border-color:#5877a6;box-shadow:0 16px 35px -14px #0107138c}

/* Do not scale or crop the owner's photograph. Existing object-fit:contain is retained. */
.leadership-photo>img{transform:none}
.solution-feature:focus-visible{outline:3px solid var(--theme-focus,#5779f5);outline-offset:5px}
@media(hover:hover) and (pointer:fine){
  .solution-feature:hover,
  .about-home .about-photo:hover>.editorial-picture,
  .leadership-figure:hover>.leadership-photo{outline-color:#7b9bd1;box-shadow:0 20px 42px -12px var(--editorial-frame-hover),0 3px 9px #0e244712}
  .solution-feature:hover>:is(img,picture){transform:scale(1.025)}
}
@media(max-width:780px){
  :root{--editorial-frame-radius:18px 4px 18px 4px}
  .solution-feature,.about-home .about-photo>.editorial-picture,.leadership-photo{box-shadow:0 12px 28px -14px var(--editorial-frame-shadow)}
}
@media(max-width:520px){
  .solution-feature::after,.about-home .about-photo>.editorial-picture::after,.leadership-photo::after{inset:6px;background-size:42px 1px,1px 30px,42px 1px,1px 30px}
}
@media(prefers-reduced-motion:reduce){
  .solution-feature,.about-home .about-photo>.editorial-picture,.leadership-photo,.solution-feature>:is(img,picture){transition:none}
  .solution-feature:hover>:is(img,picture){transform:none}
}
