/* ============================================================
   MAATRIX CLOUD — overlay on top of MAAT design system
   ============================================================ */

/* ============================================================
   HERO SLIDER
   ============================================================ */
.hero-slider{display:grid;width:100%}
.hero-slide{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .55s ease,transform .55s ease;pointer-events:none;
  display:flex;flex-direction:column;justify-content:center}
.hero-slide.is-active{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.hero-slide .hero-content{margin-left:auto;margin-right:auto}
.hero-pricing{width:100%}

/* compact slide 1 (intro) so it fits without scrolling */
.hero .hero-badge{margin-bottom:16px}
.hero .hero-title{font-size:clamp(2.8rem,6.5vw,5rem);margin-bottom:12px}
.hero .hero-lead{margin-bottom:14px}
.hero .hero-subtitle{margin-bottom:22px}
.hero .hero-stats{margin-bottom:24px}

.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;
  width:50px;height:50px;border-radius:50%;border:1px solid var(--border2);
  background:var(--surface);color:var(--gold);font-size:1.9rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:var(--t);
  font-family:var(--font-serif);padding-bottom:4px}
.hero-arrow:hover{border-color:var(--gold);background:var(--glow);box-shadow:var(--shadow-md);color:var(--gold2)}
.hero-arrow--prev{left:18px}
.hero-arrow--next{right:18px}

.hero-dots{display:flex;gap:11px;justify-content:center;margin-top:36px;position:relative;z-index:5}
.hero-dot{width:11px;height:11px;border-radius:50%;border:1px solid var(--gold-dim);
  background:transparent;cursor:pointer;padding:0;transition:var(--t)}
.hero-dot:hover{border-color:var(--gold)}
.hero-dot.is-active{background:var(--gold);border-color:var(--gold);transform:scale(1.1)}

/* IP perk badge inside pricing specs */
.ip-perk{display:inline-block;font-size:.7rem;font-weight:700;color:var(--gold2);
  background:rgba(168,127,30,.12);border:1px solid var(--border2);border-radius:30px;
  padding:1px 9px;margin-left:4px;letter-spacing:.01em;white-space:nowrap}

@media(max-width:680px){
  .hero-arrow{width:38px;height:38px;font-size:1.4rem}
  .hero-arrow--prev{left:4px}
  .hero-arrow--next{right:4px}
}

/* status strip dots */
.status-dot{width:8px;height:8px;border-radius:50%;background:#4caf6a;
  box-shadow:0 0 0 3px rgba(76,175,106,.18);display:inline-block;flex-shrink:0;
  animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}

/* ============================================================
   LOCATIONS
   ============================================================ */
.locations-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:900px;margin:0 auto}
.location-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:40px 36px;text-align:center;transition:var(--t)}
.location-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--border2)}
.loc-flag{font-size:3rem;margin-bottom:14px;line-height:1}
.location-card h3{font-family:var(--font-serif);font-size:1.7rem;font-weight:500;color:var(--ink);margin-bottom:4px}
.loc-city{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dim);font-weight:600;margin-bottom:22px}
.loc-specs{display:flex;flex-direction:column;gap:11px;text-align:left;margin-bottom:28px}
.loc-specs li{color:var(--text2);font-size:.96rem;padding-left:22px;position:relative}
.loc-specs li::before{content:'☥';position:absolute;left:0;color:var(--gold);font-size:.85rem}
.location-card .btn{width:100%}

/* ============================================================
   PRICING
   ============================================================ */
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.price-card{position:relative;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:34px 26px;text-align:center;transition:var(--t);
  display:flex;flex-direction:column}
.price-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--border2)}
.price-card.featured{border-color:var(--gold);box-shadow:0 12px 40px rgba(168,127,30,.18)}
.price-tag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--gold);color:var(--on-accent);font-size:.64rem;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;padding:5px 16px;border-radius:30px;white-space:nowrap}
.price-name{font-family:var(--font-serif);font-size:1.3rem;font-weight:500;color:var(--ink);margin-bottom:14px}
.price-amount{font-family:var(--font-serif);font-size:2.8rem;font-weight:600;color:var(--gold2);line-height:1;margin-bottom:24px}
.price-period{font-family:var(--font-sans);font-size:.9rem;font-weight:500;color:var(--text3);letter-spacing:.02em}
.spec-list{display:flex;flex-direction:column;gap:12px;text-align:left;margin-bottom:28px;flex:1}
.spec-list li{color:var(--text2);font-size:.95rem;padding-left:24px;position:relative;border-bottom:1px solid var(--border);padding-bottom:11px}
.spec-list li:last-child{border-bottom:none}
.spec-list li::before{content:'▸';position:absolute;left:4px;color:var(--gold)}
.spec-list li b{color:var(--ink);font-weight:700}
.price-card .order-btn{width:100%}

/* ============================================================
   HERO PRICING — rectangular 2x2 cards (horizontal)
   ============================================================ */
.pricing-grid--rect{grid-template-columns:repeat(2,1fr);gap:18px;max-width:1040px;margin:0 auto}
.pricing-grid--rect .price-card{
  flex-direction:row;align-items:center;text-align:left;gap:22px;padding:24px 28px;
}
/* compact hero pricing slide so it fits without vertical scroll */
#top.hero{padding-top:calc(var(--site-header-h,112px) + 18px);padding-bottom:46px}
.hero-pricing .section-title{font-size:clamp(1.9rem,3vw,2.3rem);margin-bottom:8px}
.hero-pricing .section-subtitle{font-size:1rem}
.hero-pricing .pc-head{width:148px}
.hero-pricing .price-amount{font-size:2.1rem}
.pricing-grid--rect .spec-list li{font-size:.9rem}
.pricing-grid--rect .pc-head{flex-shrink:0;width:150px}
.pricing-grid--rect .price-name{font-family:var(--font-serif);font-size:1.15rem;font-weight:500;color:var(--ink);margin-bottom:6px;line-height:1.2}
.pricing-grid--rect .price-amount{font-size:2rem;margin-bottom:0}
.pricing-grid--rect .spec-list{
  flex:1;display:grid;grid-template-columns:1fr 1fr;gap:7px 16px;margin-bottom:0;text-align:left;
}
.pricing-grid--rect .spec-list li{
  border-bottom:none;padding:0 0 0 16px;font-size:.85rem;
}
.pricing-grid--rect .spec-list li::before{left:2px}
.pricing-grid--rect .spec-list li.spec-ip{grid-column:1/-1}
.pricing-grid--rect .order-btn{width:auto;flex-shrink:0;align-self:center;white-space:nowrap;padding:12px 22px}

@media(max-width:860px){
  .pricing-grid--rect{grid-template-columns:1fr}
}
@media(max-width:520px){
  .pricing-grid--rect .price-card{flex-direction:column;align-items:stretch;text-align:center}
  .pricing-grid--rect .pc-head{width:auto}
  .pricing-grid--rect .spec-list{grid-template-columns:1fr 1fr}
  .pricing-grid--rect .order-btn{width:100%}
}

/* ============================================================
   RESILIENCE FLOW
   ============================================================ */
.resilience-flow{display:flex;align-items:stretch;justify-content:center;gap:14px;flex-wrap:wrap}
.flow-node{position:relative;flex:1;min-width:200px;max-width:240px;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:28px 22px;text-align:center;transition:var(--t)}
.flow-node:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.flow-node--soon{border-style:dashed;border-color:var(--border2);opacity:.82}
.flow-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  background:var(--gold-dim);color:var(--on-accent);font-size:.6rem;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;padding:4px 13px;border-radius:30px;white-space:nowrap}
.flow-icon{font-size:2.2rem;margin-bottom:14px;line-height:1}
.flow-node h4{font-family:var(--font-serif);font-size:1.2rem;font-weight:600;color:var(--ink);margin-bottom:10px}
.flow-node p{color:var(--text2);font-size:.9rem;line-height:1.6}
.flow-arrow{display:flex;align-items:center;color:var(--gold);font-size:1.6rem;font-weight:700}

/* ============================================================
   PAYMENT CHIPS
   ============================================================ */
.pay-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:920px;margin:0 auto}
.pay-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:24px 18px;display:flex;flex-direction:column;align-items:center;gap:4px;transition:var(--t)}
.pay-chip:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--gold)}
.pay-chip--maat{border-color:var(--border2);background:linear-gradient(135deg,var(--surface),var(--glow))}
.pay-sym{font-size:1.9rem;line-height:1;color:var(--gold);font-weight:700;
  width:54px;height:54px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--border2);border-radius:50%;margin-bottom:8px}
.pay-name{font-family:var(--font-serif);font-size:1.25rem;font-weight:600;color:var(--ink)}
.pay-net{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text3)}

/* ============================================================
   CTA BAND
   ============================================================ */
.cta-band{max-width:840px;margin:0 auto;text-align:center;background:var(--surface);
  border:1px solid var(--border2);border-radius:var(--radius);padding:56px 44px;
  position:relative;overflow:hidden}
.cta-band::before{content:'☥';position:absolute;font-size:18rem;color:var(--gold);opacity:.05;
  right:-3rem;top:50%;transform:translateY(-50%);pointer-events:none;line-height:1}
.cta-band h2{font-family:var(--font-serif);font-size:clamp(2rem,4vw,2.8rem);font-weight:400;color:var(--ink);margin-bottom:16px}
.cta-band p{color:var(--text2);font-size:1.05rem;max-width:620px;margin:0 auto 28px;position:relative}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative}
.cta-selected{margin-top:20px;color:var(--gold2);font-weight:600;font-size:.96rem;min-height:1.2em}

/* ============================================================
   FAQ
   ============================================================ */
.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:0 26px;transition:var(--t)}
.faq-item[open]{border-color:var(--border2);box-shadow:var(--shadow-sm)}
.faq-item summary{list-style:none;cursor:pointer;padding:22px 0;font-family:var(--font-serif);
  font-size:1.2rem;color:var(--ink);font-weight:500;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';color:var(--gold);font-size:1.5rem;font-weight:300;transition:var(--t)}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{color:var(--text2);font-size:.98rem;padding:0 0 24px;line-height:1.75}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  .pricing-grid{grid-template-columns:1fr 1fr}
  .pay-grid{grid-template-columns:1fr 1fr}
  .flow-arrow{display:none}
  .flow-node{max-width:none}
}
@media(max-width:680px){
  .pricing-grid{grid-template-columns:1fr}
  .locations-grid{grid-template-columns:1fr}
  .pay-grid{grid-template-columns:1fr 1fr}
  .cta-band{padding:40px 24px}
}
