/* NUMERA Web52: original HD imagery, native product content and owner's CTA. */
.numera-shell .numera-52-product-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;
}
.numera-shell .numera-52-product{
  position:relative;isolation:isolate;display:flex;align-items:flex-end;
  min-width:0;min-height:218px;padding:17px;overflow:hidden;
  border:1px solid #49415d;border-radius:19px;text-align:left;
  color:#fff;background:#14182a;cursor:pointer;
  transition:transform .18s ease,border-color .18s ease;
}
.numera-shell .numera-52-product:hover{
  border-color:#9280bd;transform:translateY(-2px);
}
.numera-shell .numera-52-product:focus-visible{
  outline:2px solid #9f82d7;outline-offset:3px;
}
.numera-52-product-photo{position:absolute;z-index:-2;inset:0;overflow:hidden;display:block;}
.numera-52-product-photo img{
  width:100%;height:100%;object-fit:cover;object-position:center 48%;
  filter:saturate(1.08) contrast(1.02);transform:scale(1.02);
}
.numera-52-product-esim:after{content:"";position:absolute;z-index:-1;inset:0;
 background:linear-gradient(0deg,rgba(8,12,28,.97),rgba(11,22,46,.62) 47%,rgba(10,21,39,.04) 100%)}
.numera-52-product-numbers{background:
 radial-gradient(circle at 88% 14%,#3a327d 0,transparent 44%),
 radial-gradient(circle at 5% 95%,#192f5d 0,transparent 64%),#101426!important}
.numera-52-product-plus{background:
 radial-gradient(circle at 86% 22%,rgba(118,54,192,.76),transparent 50%),
 linear-gradient(140deg,#29163f,#241343 60%,#18132d)!important}
.numera-52-product-numbers:after,.numera-52-product-plus:after{content:"";position:absolute;z-index:-1;inset:0;
 background:linear-gradient(0deg,rgba(9,12,25,.86),rgba(13,13,30,.09) 90%)}
.numera-52-product-copy{display:flex;flex-direction:column;align-items:flex-start;position:relative;z-index:2;gap:5px;max-width:94%;}
.numera-52-product-copy small{font:800 9px/1.2 system-ui;letter-spacing:.14em;color:#e0d8f0}
.numera-52-product-copy strong{font:820 clamp(17px,1.7vw,23px)/1.2 system-ui;letter-spacing:-.03em}
.numera-52-product-copy>span{font:530 11px/1.35 system-ui;color:#e4e0ef;max-width:235px}
.numera-52-product-copy em{
 margin-top:9px;font:750 11px/1.1 system-ui;font-style:normal;
 display:flex;justify-content:space-between;align-items:center;gap:17px;
 min-width:138px;padding:10px 11px;border-radius:10px;
 border:1px solid rgba(213,205,236,.45);
 background:rgba(12,14,28,.72);color:#fff;
}
.numera-52-product-copy em span{font:500 17px/1 system-ui}
.numera-52-numbers-decor{position:absolute;inset:0;z-index:-1;pointer-events:none}
.numera-52-phone{
  position:absolute;top:19px;right:24px;width:103px;height:173px;
  border:4px solid #5a648d;border-radius:23px;transform:rotate(-13deg);
  display:flex;flex-direction:column;align-items:center;gap:13px;padding:17px 10px;
  background:linear-gradient(145deg,#0c111e,#111c3d 66%,#0d0b1b);
  box-shadow:7px 14px 16px rgba(0,0,0,.45),inset 0 0 0 2px #0a0a1a,0 0 16px rgba(75,74,188,.24);
}
.numera-52-phone-ear{position:absolute;top:6px;width:28px;height:4px;border-radius:6px;background:#343c69}
.numera-52-phone b{font:900 41px/1 system-ui;color:#9c7eff;text-shadow:0 0 15px #765dd5;margin:7px 0 0}
.numera-52-phone-line{width:62px;height:5px;border-radius:9px;background:#42496b}
.numera-52-phone-line:nth-of-type(3){width:48px;background:#313858}
.numera-52-phone-dots{font-size:9px;letter-spacing:4px;color:#8f9dc3}
.numera-52-flag{position:absolute;display:grid;place-items:center;border-radius:50%;
 width:41px;height:41px;font-size:25px;background:#302b4c;
 border:2px solid #8170ac;box-shadow:0 8px 16px #08081888;z-index:2}
.numera-52-flag.us{top:19px;right:112px}
.numera-52-flag.ca{top:68px;right:3px}
.numera-52-crown{
  position:absolute;right:5%;top:12%;width:52%;max-width:190px;
  transform:rotate(-8deg);filter:drop-shadow(0 12px 16px rgba(18,2,35,.64)) drop-shadow(0 0 15px rgba(148,73,238,.28));
}
.numera-52-crown svg{width:100%;height:auto;display:block}
.numera-shell .numera-51-hero-button{
  background:linear-gradient(108deg,#1fc8fa 0%,#5278ed 42%,#9452e9 70%,#b449e3 100%)!important;
  background-image:linear-gradient(108deg,#1fc8fa 0%,#5278ed 42%,#9452e9 70%,#b449e3 100%)!important;
  border:1px solid rgba(192,167,245,.75)!important;
  color:#fff!important;border-radius:22px!important;
  box-shadow:0 4px 18px rgba(98,75,222,.24)!important;
}
.numera-shell .numera-51-hero-button:hover{
  background:linear-gradient(108deg,#41d8ff,#6a84ff 46%,#bd5fe8)!important;
  background-image:linear-gradient(108deg,#41d8ff,#6a84ff 46%,#bd5fe8)!important;
  transform:translateY(-1px);
}
/* Destination photos are individual 1400-pixel photographs, never cropped UI text. */
.numera-51-destination>img{
  object-fit:cover!important;object-position:center 43%;max-height:none!important;
  filter:none!important;image-rendering:auto!important;
}
.numera-51-destination-caption{position:relative;z-index:2}
@media(max-width:1100px){
 .numera-shell .numera-52-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .numera-52-product-plus{grid-column:span 2}
}
@media(max-width:650px){
 .numera-shell .numera-52-product-grid{grid-template-columns:1fr}
 .numera-52-product-plus{grid-column:auto}
 .numera-shell .numera-52-product{min-height:195px}
}
/* NUMERA+ subscription: one consolidated, customer-facing membership view. */
.numera-shell .numera-52-membership{max-width:1120px;margin:0 auto;display:grid;gap:22px}
.numera-52-membership-hero{min-height:270px;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.75fr);
 background:radial-gradient(ellipse at 84% 18%,rgba(127,66,191,.45),transparent 48%),#191626;
 border:1px solid #41354f;border-radius:22px;overflow:hidden;align-items:center}
.numera-52-member-copy{padding:clamp(25px,4vw,43px);position:relative;z-index:2}
.numera-52-member-copy h1{font-size:clamp(39px,5.1vw,68px);letter-spacing:-.06em;font-weight:850;margin:10px 0 8px;line-height:1}
.numera-52-member-copy h1 span{color:#bd8bfb}
.numera-52-member-copy h2{font-size:clamp(18px,2vw,27px);line-height:1.2;letter-spacing:-.025em;margin:0 0 12px;font-weight:720}
.numera-52-member-copy>p:not(.numera-eyebrow){font-size:13px;color:#bbb4cb;margin:0 0 18px}
.numera-52-member-status{display:inline-flex;align-items:center;gap:7px;font-size:11px;
 font-weight:800;padding:9px 13px;background:#323046;border:1px solid #605274;border-radius:28px;color:#ded6f0}
.numera-52-member-status.is-active{color:#c7f8e0;border-color:#36675e;background:#1b3935}
.numera-52-member-status span{font-size:9px}
.numera-52-member-date{display:block;margin-top:11px;color:#bcb5c8;font-size:11px}
.numera-52-member-art{position:relative;display:flex;align-items:center;justify-content:center;height:100%;min-height:240px}
.numera-52-member-art:before{content:"";position:absolute;inset:6% 7%;border-radius:50%;
 background:radial-gradient(circle,rgba(146,80,241,.45),transparent 68%);filter:blur(14px)}
.numera-52-member-art svg{width:min(65%,250px);max-height:210px;position:relative;filter:drop-shadow(0 15px 26px rgba(0,0,0,.58))}
.numera-52-member-benefits{display:grid;gap:11px}
.numera-52-member-benefit-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.numera-52-member-benefit{background:#1c1e2a;border:1px solid #393846;border-radius:15px;
 padding:18px 13px;display:flex;flex-direction:column;gap:8px;min-height:135px;align-items:flex-start}
.numera-52-member-benefit>span{font:500 28px/1.1 system-ui;color:#c8b2ed}
.numera-52-member-benefit strong{font-size:12px;font-weight:800}
.numera-52-member-benefit small{font-size:10px;line-height:1.4;color:#aeb0bf}
.numera-52-member-actions{display:flex;flex-wrap:wrap;gap:11px}
.numera-52-member-actions button{min-height:44px;border-radius:12px;font-size:12px}
.numera-52-member-actions .numera-button-primary{background:#7656a8!important;background-image:none!important;box-shadow:none!important}
@media(max-width:980px){
 .numera-52-member-benefit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:640px){
 .numera-52-membership-hero{grid-template-columns:minmax(0,1.1fr) minmax(100px,.5fr);min-height:225px}
 .numera-52-member-copy{padding:21px 4px 21px 20px}
 .numera-52-member-copy h1{font-size:36px}
 .numera-52-member-copy h2{font-size:17px}
 .numera-52-member-art{min-height:190px}
 .numera-52-member-art svg{width:90%}
 .numera-52-member-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
