/* C20.8: approved preview centre geometry and layers ONLY. Card typography/swipes stay C20.7. */
.alx-trust.opt-aplus:has(.c2016-open) .tl15-body{
  grid-template-columns:minmax(0,1fr) clamp(240px,21vw,300px) minmax(0,1fr)!important;
  gap:clamp(24px,3.2vw,52px)!important;align-items:stretch;max-width:1132px;margin-inline:auto}
.alx-trust.opt-aplus .c2016-open{justify-content:center;align-self:stretch}
@media (min-width:861px){.alx-trust.opt-aplus .c2016-open{padding-top:var(--ap-cards-off,111px);padding-bottom:var(--ap-cta-off,62px);box-sizing:border-box}}
.alx-trust.opt-aplus .tl15-fig{position:absolute!important;top:auto;width:auto!important;height:auto!important}
.alx-trust.opt-aplus .c2016-stage{aspect-ratio:1/1;max-width:300px;width:100%;margin:0 auto}
/* logo = same footprint as the closed circle (lens glyph ring ≈ 87% of its viewBox → bleed 6.5%) */
.alx-trust.opt-aplus .c2016-logo{inset:-6.5%!important}
/* halves = exact semicircles of the stage circle */
.alx-trust.opt-aplus .c2016-half{top:0!important;bottom:0!important;width:50%!important}
.alx-trust.opt-aplus .c2016-half--detect,
.alx-trust.opt-aplus.c2016-go .c2016-half--detect{transform:translateX(-7%)}
.alx-trust.opt-aplus .c2016-half--seal,
.alx-trust.opt-aplus.c2016-go .c2016-half--seal{transform:translateX(7%)}
.alx-trust.opt-aplus .ap-disk{position:relative;overflow:hidden;padding:0!important;min-height:100%;
  background:#0A1630!important;box-shadow:0 18px 40px rgba(0,0,0,.35)!important;
  border:1.5px solid color-mix(in srgb,#139EC4 70%,transparent)!important}
.alx-trust.opt-aplus .c2016-half--detect .ap-disk{border-radius:100% 0 0 100% / 50% 0 0 50%!important;border-right-width:2px!important}
.alx-trust.opt-aplus .c2016-half--seal .ap-disk{border-radius:0 100% 100% 0 / 0 50% 50% 0!important;border-left-width:2px!important}
/* one photo, spread over both halves (each half shows its side of the same face) */
.alx-trust.opt-aplus .ap-img{position:absolute;top:0;height:100%;width:200%;max-width:none;object-fit:cover;object-position:92% 28%;display:block}
.alx-trust.opt-aplus .c2016-half--detect .ap-img{left:0}
.alx-trust.opt-aplus .c2016-half--seal .ap-img{right:0}
.alx-trust.opt-aplus .ap-tint{position:absolute;inset:0;pointer-events:none}
.alx-trust.opt-aplus .c2016-half--detect .ap-tint{background:linear-gradient(90deg,rgba(10,22,48,.55),rgba(14,116,144,.18) 70%,rgba(10,22,48,.2)),linear-gradient(0deg,rgba(10,22,48,.55),transparent 45%);mix-blend-mode:normal}
.alx-trust.opt-aplus .c2016-half--seal .ap-tint{background:linear-gradient(270deg,rgba(10,22,48,.35),rgba(19,158,196,.10) 70%,transparent),linear-gradient(0deg,rgba(10,22,48,.5),transparent 45%)}
/* detect = scan look */
.alx-trust.opt-aplus .ap-lines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(19,158,196,.16) 0 1px,transparent 1px 6px);pointer-events:none}
.alx-trust.opt-aplus .ap-beam{position:absolute;left:0;right:0;top:44%;height:2px;background:linear-gradient(90deg,transparent,#139EC4 40%,#EEF6F9);box-shadow:0 0 12px #139EC4;opacity:.85}
.alx-trust.opt-aplus .ap-scan{position:absolute;inset:0;width:100%;height:100%}
.alx-trust.opt-aplus .ap-scan path{fill:none;stroke:#139EC4;stroke-width:2;vector-effect:non-scaling-stroke;stroke-linecap:round}
/* seal = small sealed badge, no words */
.alx-trust.opt-aplus .ap-seal{position:absolute;right:22%;bottom:16%;width:34px;height:34px;padding:7px;border-radius:50%;background:#0E7490;box-shadow:0 0 0 3px rgba(10,22,48,.7),0 6px 16px rgba(0,0,0,.35)}
.alx-trust.opt-aplus .ap-seal path{fill:none;stroke:#EEF6F9;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
/* motion proportion: logo at 1:1 (no 1.12 overshoot), halves emerge from the logo footprint */
.alx-trust.opt-aplus.c2016-arm:not(.c2016-go) .c2016-logo{transform:scale(1)}
@keyframes c2016SpinAP{0%{transform:scale(1) rotate(0)}55%{transform:scale(1) rotate(110deg)}100%{transform:scale(1) rotate(180deg)}}
.alx-trust.opt-aplus.c2016-arm.c2016-spin:not(.c2016-go) .c2016-logo{animation:c2016SpinAP 1.4s cubic-bezier(.25,.7,.2,1) forwards} /* C20.TrustSpinSlow */
.alx-trust.opt-aplus.c2016-go .c2016-logo{transform:scale(1) rotate(360deg)}
.alx-trust.opt-aplus.c2016-arm:not(.c2016-go) .c2016-half{opacity:0;transform:scale(.96);filter:none}

@media(max-width:860px){
  .alx-trust.opt-aplus:has(.c2016-open) .tl15-body{grid-template-columns:minmax(0,1fr)!important;gap:36px!important}
  .alx-trust.opt-aplus .c2016-open{width:min(232px,62vw)!important;margin-inline:auto}
}
/* ===== C20 Trust V1 stronger Detect|Seal overlays (Dor OK SAME Nov6) ===== */
/* LEFT Detection — denser lines, thicker beam, bigger brackets, soft anomaly tell */
.alx-trust.opt-aplus .ap-lines{background:repeating-linear-gradient(0deg,rgba(19,158,196,.34) 0 1.5px,transparent 1.5px 5px)!important;opacity:.95}
.alx-trust.opt-aplus .ap-beam{top:42%!important;height:4px!important;background:linear-gradient(90deg,transparent 4%,#139EC4 28%,#EEF6F9 55%,#139EC4 78%,transparent)!important;box-shadow:0 0 10px #139EC4,0 0 22px rgba(19,158,196,.85),0 0 36px rgba(14,116,144,.45)!important;opacity:1!important}
.alx-trust.opt-aplus .ap-beam::before{content:"";position:absolute;left:8%;right:8%;top:-5px;height:14px;background:linear-gradient(90deg,transparent,rgba(19,158,196,.35),rgba(238,246,249,.55),rgba(19,158,196,.35),transparent);filter:blur(3px);pointer-events:none}
.alx-trust.opt-aplus .ap-scan path{stroke:#139EC4!important;stroke-width:3.2!important;filter:drop-shadow(0 0 3px rgba(19,158,196,.9))}
.alx-trust.opt-aplus .ap-scan{overflow:visible}
/* soft anomaly tell near mouth (tasteful coral, hero-mouth style) */
.alx-trust.opt-aplus .ap-anomaly{position:absolute;left:38%;top:62%;width:36%;height:14%;border:1.5px solid rgba(180,66,26,.78);border-radius:4px;box-shadow:0 0 0 1px rgba(19,158,196,.35),0 0 10px rgba(180,66,26,.28);background:rgba(180,66,26,.07);pointer-events:none;z-index:4}
.alx-trust.opt-aplus .ap-anomaly::after{content:"";position:absolute;inset:18% 12%;background:
  repeating-linear-gradient(90deg,rgba(238,246,249,.55) 0 1px,transparent 1px 4px),
  repeating-linear-gradient(0deg,rgba(238,246,249,.4) 0 1px,transparent 1px 3px);opacity:.55;mix-blend-mode:screen;border-radius:2px}
/* RIGHT SourceSeal — larger badge + soft watermark */
.alx-trust.opt-aplus .ap-seal{right:16%!important;bottom:14%!important;width:52px!important;height:52px!important;padding:10px!important;background:#0E7490!important;box-shadow:0 0 0 4px rgba(10,22,48,.75),0 0 0 6px rgba(19,158,196,.45),0 8px 22px rgba(0,0,0,.4),0 0 28px rgba(19,158,196,.35)!important;z-index:5}
.alx-trust.opt-aplus .ap-seal path{stroke-width:2.1!important}
.alx-trust.opt-aplus .ap-wm{position:absolute;inset:0;pointer-events:none;z-index:3;opacity:.22;background:
  radial-gradient(circle at 72% 78%,rgba(19,158,196,.35),transparent 42%),
  repeating-linear-gradient(125deg,transparent 0 18px,rgba(19,158,196,.14) 18px 19px),
  url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'><g fill='none' stroke='%23139EC4' stroke-width='1.2' opacity='.55'><path d='M32 10 16 18v14c0 10 7 18.5 16 21 9-2.5 16-11 16-21V18z'/><path d='m24.5 32 5 5 10.5-11'/></g></svg>");
  background-size:auto,auto,56px 56px;background-position:0 0,0 0,70% 72%}
.alx-trust.opt-aplus .c2016-half--seal .ap-tint{background:linear-gradient(270deg,rgba(10,22,48,.28),rgba(19,158,196,.16) 65%,transparent),linear-gradient(0deg,rgba(10,22,48,.42),transparent 48%)!important}
.alx-trust.opt-aplus .c2016-half--seal .ap-disk{box-shadow:0 18px 40px rgba(0,0,0,.35),0 0 0 1px rgba(19,158,196,.35),inset 0 0 40px rgba(19,158,196,.12)!important}
@media (max-width:860px){.alx-trust.opt-aplus .ap-seal{width:40px!important;height:40px!important;padding:8px!important}}

/* ===== Open polish (Dor HOT: logo→split cleaner) ===== */
/* Halves emerge nearer logo size; smaller settled gap so semicircles read as one split circle */
.alx-trust.opt-aplus.c2016-arm:not(.c2016-go) .c2016-half{opacity:0;transform:scale(.98);filter:none}
.alx-trust.opt-aplus .c2016-half--detect,
.alx-trust.opt-aplus.c2016-go .c2016-half--detect{transform:translateX(-4.5%)}
.alx-trust.opt-aplus .c2016-half--seal,
.alx-trust.opt-aplus.c2016-go .c2016-half--seal{transform:translateX(4.5%)}
.alx-trust.opt-aplus.c2016-go .c2016-half{transition:opacity .75s cubic-bezier(.2,.75,.15,1) .05s,transform 1.05s cubic-bezier(.22,.7,.18,1),filter .7s ease}
/* Overlays fade in AFTER halves settle — mid-open stays clean logo→faces */
.alx-trust.opt-aplus:not(.c2016-go) .ap-lines,
.alx-trust.opt-aplus:not(.c2016-go) .ap-beam,
.alx-trust.opt-aplus:not(.c2016-go) .ap-anomaly,
.alx-trust.opt-aplus:not(.c2016-go) .ap-scan,
.alx-trust.opt-aplus:not(.c2016-go) .ap-wm,
.alx-trust.opt-aplus:not(.c2016-go) .ap-seal{opacity:0!important;transition:opacity .45s ease}
.alx-trust.opt-aplus .ap-lines,
.alx-trust.opt-aplus .ap-beam,
.alx-trust.opt-aplus .ap-anomaly,
.alx-trust.opt-aplus .ap-scan,
.alx-trust.opt-aplus .ap-wm,
.alx-trust.opt-aplus .ap-seal{transition:opacity .45s ease}
.alx-trust.opt-aplus.c2016-go .ap-lines{opacity:.95!important;transition-delay:.32s}
.alx-trust.opt-aplus.c2016-go .ap-beam{opacity:1!important;transition-delay:.32s}
.alx-trust.opt-aplus.c2016-go .ap-anomaly,
.alx-trust.opt-aplus.c2016-go .ap-scan,
.alx-trust.opt-aplus.c2016-go .ap-seal{opacity:1!important;transition-delay:.32s}
.alx-trust.opt-aplus.c2016-go .ap-wm{opacity:.22!important;transition-delay:.32s}
/* no blur on halves during go */
.alx-trust.opt-aplus.c2016-go .c2016-half{filter:none!important}
/* No JS / reduced motion: show the complete settled face + overlays, not an empty end state. */
.alx-trust.opt-aplus:not(.c2016-arm) .ap-lines{opacity:.95!important}
.alx-trust.opt-aplus:not(.c2016-arm) .ap-beam,.alx-trust.opt-aplus:not(.c2016-arm) .ap-anomaly,.alx-trust.opt-aplus:not(.c2016-arm) .ap-scan,.alx-trust.opt-aplus:not(.c2016-arm) .ap-seal{opacity:1!important}
.alx-trust.opt-aplus:not(.c2016-arm) .ap-wm{opacity:.22!important}
