/* CloudyBoost shared refinements */
html, body { max-width:100%; overflow-x:hidden; }
*, *::before, *::after { box-sizing:border-box; }
img, svg, video, iframe { max-width:100%; }
.container, .nav-container { width:100%; max-width:1200px; }

/* Shared authentication card inspired by the supplied reference */
.auth-modal { padding:16px; overflow-y:auto; }
.auth-card {
  max-width:560px;
  width:min(100%, 560px);
  padding:0 28px 26px;
  background:#fff;
  color:#171717;
  border:none;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 28px 80px rgba(0,0,0,.35);
}
.auth-image { display:none !important; }
.auth-card > .close-modal { z-index:5; top:14px; right:14px; background:rgba(255,255,255,.22); color:#fff; }
.auth-card > div[id$="View"] .auth-header {
  margin:0 -28px 0;
  padding:36px 28px 82px;
  background:linear-gradient(135deg,#ff704f 0%,#f45b3d 55%,#ff7654 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.auth-card > div[id$="View"] .auth-header::before,
.auth-card > div[id$="View"] .auth-header::after {
  content:""; position:absolute; border-radius:50%; pointer-events:none;
}
.auth-card > div[id$="View"] .auth-header::before { width:180px;height:180px;left:-90px;bottom:-95px;background:rgba(255,214,70,.38); }
.auth-card > div[id$="View"] .auth-header::after { width:190px;height:190px;right:-100px;bottom:-95px;background:rgba(45,211,140,.42); }
.auth-header h2 { font-size:28px; line-height:1.15; position:relative; z-index:1; color:#fff; }
.auth-header h2 i { display:none; }
.auth-header p { color:rgba(255,255,255,.9); position:relative; z-index:1; }
.auth-card > div[id$="View"] form,
.auth-card > div[id$="View"] .switch-form,
.auth-card > div[id$="View"] .auth-error,
.auth-card > div[id$="View"] .auth-success {
  position:relative; z-index:2;
}
.auth-card > div[id$="View"] form {
  background:#fff;
  margin:-48px 0 0;
  padding:28px 0 0;
  border-radius:30px 30px 0 0;
}
.auth-input {
  background:#f4f4f5;
  border:1px solid transparent;
  color:#222;
  border-radius:14px;
  padding:14px 16px;
  min-height:52px;
  font-size:15px;
}
.auth-input:focus { background:#fff; border-color:#bdbdbd; box-shadow:0 0 0 3px rgba(124,58,237,.08); }
.auth-input::placeholder { color:#8b8b8b; }
.auth-submit { background:#111; color:#fff; border-radius:16px; min-height:54px; }
.auth-submit:hover { background:#000; box-shadow:0 8px 22px rgba(0,0,0,.16); }
.social-btn { min-height:52px; border:1px solid #ddd; background:#fff; color:#222; border-radius:16px; }
.social-btn:hover { background:#fafafa; border-color:#bbb; }
.divider { color:#777; margin:18px 0; }
.divider::before,.divider::after { background:#e5e5e5; }
.switch-form { color:#666; margin-bottom:0; }
.switch-form a { color:#222; }
.forgot-password a { color:#666; }
.password-field { margin-bottom:12px; }
.toggle-password { color:#777; }
.auth-error { background:#fff0f0; border-color:#ffd2d2; }
.auth-success { background:#effcf4; border-color:#c7f0d6; }
.auth-card .social-login { gap:10px; }

/* ===== GLACIAL TESTIMONIAL CAROUSEL ===== */
.testimonials{
  overflow:hidden; position:relative; padding:76px 20px 48px;
  background:radial-gradient(circle at 50% 0%,rgba(124,58,237,.10),transparent 42%),var(--bg);
}
.testi-header{max-width:900px;margin:0 auto 38px;text-align:center;}
.testi-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--purple);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;}
.testi-eyebrow::before,.testi-eyebrow::after{content:'';width:22px;height:1px;background:currentColor;opacity:.45;}
.testi-header h2{font-size:clamp(30px,4vw,48px);line-height:1.08;letter-spacing:-.035em;font-weight:800;color:var(--text);margin:0 0 12px;}
.testi-header h2 span{color:var(--purple);}
.testi-header p{max-width:620px;margin:0 auto;color:var(--muted);font-size:14px;line-height:1.7;}
.testi-viewport{max-width:1200px;margin:0 auto;overflow:hidden;padding:8px 2px 18px;}
.testi-track{display:flex;gap:16px;will-change:transform;transition:transform .65s cubic-bezier(.22,1,.36,1);}
.testi-card{
  flex:0 0 calc((100% - 48px)/4);min-width:0;height:390px;position:relative;overflow:hidden;
  border:1px solid rgba(255,255,255,.12);border-radius:26px;background:var(--card);
  box-shadow:0 16px 45px rgba(0,0,0,.14);isolation:isolate;cursor:pointer;
  transform:translateZ(0);transition:border-color .35s ease,box-shadow .35s ease,transform .35s ease;
}
.testi-card::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);}
.testi-card:hover{transform:translateY(-7px);border-color:rgba(168,85,247,.58);box-shadow:0 24px 60px rgba(124,58,237,.20);}
.testi-photo{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;background:var(--card);}
.testi-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.22,1,.36,1),filter .45s ease;}
.testi-card:hover .testi-photo img{transform:scale(1.055);filter:saturate(.88) contrast(1.03);}
.testi-photo::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 40%,rgba(0,0,0,.18) 62%,rgba(0,0,0,.84) 100%);
  z-index:1;pointer-events:none;
}
.testi-meta{
  position:absolute;left:20px;right:20px;bottom:19px;z-index:3;display:flex;flex-direction:column;gap:4px;
  color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.5);transition:opacity .25s ease,transform .35s ease;
}
.testi-meta strong{font-size:17px;line-height:1.2;font-weight:750;}
.testi-meta span{font-size:12px;color:rgba(255,255,255,.76);}
.testi-card:hover .testi-meta{opacity:0;transform:translateY(10px);}

/* Frosted/glacial testimony panel rises from the bottom on hover. */
.testi-quote{
  position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;justify-content:flex-end;
  padding:30px 22px 24px;color:#fff;text-align:left;
  background:linear-gradient(180deg,rgba(125,211,252,.03),rgba(124,58,237,.20)),linear-gradient(180deg,rgba(8,12,24,.12),rgba(8,12,24,.82));
  border-top:1px solid rgba(255,255,255,.16);backdrop-filter:blur(13px) saturate(1.25);-webkit-backdrop-filter:blur(13px) saturate(1.25);
  transform:translateY(102%);opacity:.98;
  transition:transform .58s cubic-bezier(.22,1,.36,1),background .35s ease;
}
.testi-card:hover .testi-quote,.testi-card:focus-within .testi-quote{transform:translateY(0);}
.testi-quote::before{content:'';position:absolute;left:0;right:0;top:-70px;height:110px;background:linear-gradient(180deg,transparent,rgba(8,12,24,.32));pointer-events:none;}
.testi-quote-icon{
  position:relative;width:42px;height:42px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;
  border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(255,255,255,.09);color:#fff;font-size:30px;line-height:1;
}
.testi-quote p{position:relative;margin:0 0 16px;color:rgba(255,255,255,.94);font-size:14px;line-height:1.65;}
.testi-rating{position:relative;color:#f6d365;font-size:13px;letter-spacing:3px;}
.testi-controls{display:flex;justify-content:center;gap:10px;margin-top:2px;}
.testi-controls button{
  width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--text);
  display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;cursor:pointer;
  transition:transform .25s ease,border-color .25s ease,background .25s ease,color .25s ease;
}
.testi-controls button:hover{transform:translateY(-2px);border-color:var(--purple);background:rgba(124,58,237,.10);color:var(--purple);}
[data-theme="light"] .testi-card{border-color:rgba(15,23,42,.10);box-shadow:0 18px 45px rgba(15,23,42,.10);}
[data-theme="light"] .testi-card:hover{border-color:rgba(124,58,237,.45);box-shadow:0 24px 60px rgba(124,58,237,.15);}

@media (max-width:991px){
  .testimonials{padding-left:14px!important;padding-right:14px!important;}
  .testi-card{flex-basis:100%;height:430px;border-radius:23px;}
  .testi-photo{min-height:0;}
  .testi-quote{padding:28px 22px 24px;}
}
@media (max-width: 991px) {
  .nav-menu { display:none !important; }
  .nav-actions { display:none !important; }
  .hamburger { display:block !important; }
  .nav-container { padding-left:14px !important; padding-right:14px !important; }
  .hero, .services, .testimonials, .faq-section, section { max-width:100%; }
  .testi-card { flex-basis:100%; }
}
@media (max-width: 560px) {
  .auth-modal { align-items:flex-start; padding:10px; }
  .auth-card { width:100%; max-height:calc(100vh - 20px); border-radius:24px; padding:0 18px 20px; }
  .auth-card > div[id$="View"] .auth-header { margin:0 -18px; padding:34px 22px 74px; }
  .auth-card > div[id$="View"] form { margin:-42px 0 0; padding-top:22px; }
  .auth-header h2 { font-size:25px; }
  .testimonials { padding-left:12px !important; padding-right:12px !important; }
  .testi-card { border-radius:20px; }
  .testi-quote p { font-size:14px; }
}
