/* ============================================================
   UI/UX Pro Max redesign — index.html + contact.html only.
   Loaded AFTER styles.css and scoped to body.home so the
   dashboard/admin/project/login pages are untouched.
   Palette: Trust teal (#0F766E) + professional blue (#0369A1)
   Type: Lexend (headings) + Source Sans 3 (body)
   ============================================================ */

/* --- Token override (skip when high-contrast a11y mode is on) --- */
body.home:not(.high-contrast){
  --navy:#0B3B36; --blue:#0369A1; --blue-mid:#0369A1; --blue-light:#0EA5E9;
  --teal:#0F766E; --teal-light:#14B8A6; --amber:#B45309; --coral:#C0391E;
  --white:#FFFFFF; --off-white:#F0FDFA; --surface:#E6F5F1;
  --border:rgba(15,46,42,0.10); --border-mid:rgba(15,46,42,0.18);
  --text:#0F2E2A; --text-mid:#2C6B60; --text-muted:#4A7A72; --text-faint:#7C9E96;
  --r:12px; --r-lg:18px; --r-xl:26px;
  --shadow:0 6px 24px rgba(11,59,54,0.10); --shadow-lg:0 24px 64px rgba(11,59,54,0.20);
  /* redesign-only tokens */
  --brand-deep:#0B3B36; --cta:#0369A1;
  --glass:rgba(255,255,255,0.72); --glass-brd:rgba(255,255,255,0.60);
  --glass-dark:rgba(9,46,42,0.55); --glass-dark-brd:rgba(255,255,255,0.12);
}

body.home{background:var(--off-white);font-family:'Source Sans 3',sans-serif;color:var(--text);}
.home h1,.home h2,.home h3,.home .nav-logo,.home .stat-num,.home .brand-mark{font-family:'Lexend',sans-serif;letter-spacing:-0.02em;}
.home button,.home input,.home select,.home textarea{font-family:inherit;}

/* Accessible focus ring for keyboard users everywhere on these pages */
.home a:focus-visible,.home button:focus-visible,.home input:focus-visible,
.home select:focus-visible,.home textarea:focus-visible{
  outline:3px solid var(--teal-light);outline-offset:2px;border-radius:6px;
}

/* ============================ HEADER =========================== */
/* Accessibility bar — dark teal to open the standout header block */
.home .a11y-bar{background:#082B27;border-bottom:1px solid rgba(255,255,255,0.06);}

/* Sticky glass navbar sitting over the hero — the header centrepiece */
.home .nav{
  position:sticky;top:0;z-index:100;height:64px;padding:0 clamp(16px,4vw,32px);
  background:var(--glass-dark);
  -webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);
  border-bottom:1px solid var(--glass-dark-brd);
}
.home .nav-logo{font-size:21px;color:#fff;}
.home .nav-logo-dot{color:var(--teal-light);}
.home .nav-logo-sub{color:rgba(255,255,255,0.55);}
.home .nav-right{gap:6px;}
.home .nav-btn{
  border:1px solid rgba(255,255,255,0.22);color:rgba(255,255,255,0.9);
  padding:9px 16px;border-radius:10px;font-size:13.5px;font-weight:500;min-height:40px;
  transition:background .2s,border-color .2s,transform .2s;
}
.home .nav-btn:hover{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.4);color:#fff;transform:translateY(-1px);}
.home .nav-btn.primary{
  background:linear-gradient(135deg,var(--teal-light),var(--teal));border:none;color:#fff;
  box-shadow:0 6px 18px rgba(13,152,116,0.35);
}
.home .nav-btn.primary:hover{filter:brightness(1.06);box-shadow:0 10px 26px rgba(13,152,116,0.45);}
.home .nav-dropdown{background:rgba(11,46,42,0.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.12);border-radius:14px;}

/* ============================= HERO ============================ */
.home .hero{
  padding:clamp(64px,10vw,104px) 24px clamp(72px,10vw,104px);
  background:
    radial-gradient(1100px 520px at 12% -10%, rgba(20,184,166,0.34), transparent 58%),
    radial-gradient(900px 520px at 112% 8%, rgba(3,105,161,0.34), transparent 55%),
    linear-gradient(160deg,#0B3B36 0%,#0E5049 46%,#0B3B36 100%);
}
.home .hero::before{background:radial-gradient(ellipse 90% 70% at 50% 108%,rgba(20,184,166,0.20) 0%,transparent 62%);}
.home .hero::after{background-image:radial-gradient(circle,rgba(255,255,255,0.04) 1px,transparent 1px);background-size:30px 30px;}
.home .hero-eyebrow{
  background:rgba(255,255,255,0.10);color:#fff;border:1px solid rgba(255,255,255,0.22);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:0.12em;font-weight:600;
}
.home .hero h1{font-weight:600;font-size:clamp(36px,6.2vw,60px);letter-spacing:-0.03em;}
.home .hero h1 em{color:var(--teal-light);font-style:normal;background:linear-gradient(120deg,var(--teal-light),#7FE7CE);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.home .hero-sub{color:rgba(255,255,255,0.72);font-size:clamp(15px,2vw,18px);font-weight:400;}

/* Glass Project-ID card */
.home .pid-box{
  background:rgba(255,255,255,0.09);border:1px solid rgba(255,255,255,0.24);border-radius:var(--r-xl);
  padding:28px;-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);
  box-shadow:0 24px 70px rgba(0,0,0,0.30),inset 0 1px 0 rgba(255,255,255,0.14);
}
.home .pid-label{color:rgba(255,255,255,0.60);}
.home .pid-input{background:rgba(255,255,255,0.10);border:1px solid rgba(255,255,255,0.22);border-radius:12px;padding:14px 16px;min-height:52px;}
.home .pid-input:focus{border-color:var(--teal-light);background:rgba(255,255,255,0.16);box-shadow:0 0 0 3px rgba(20,184,166,0.30);}
.home .pid-btn{
  background:linear-gradient(135deg,var(--teal-light),var(--teal));border-radius:12px;padding:14px 24px;
  font-weight:600;min-height:52px;box-shadow:0 8px 22px rgba(13,152,116,0.4);transition:filter .2s,transform .2s,box-shadow .2s;
}
.home .pid-btn:hover{filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 12px 30px rgba(13,152,116,0.5);}
.home .pid-btn:active{transform:translateY(0);}
.home .pid-hint strong{color:rgba(255,255,255,0.85);text-decoration-color:rgba(255,255,255,0.4);}

/* ========================= STATS STRIP ======================== */
.home .stats-strip{
  background:transparent;border:none;margin:-42px auto 0;max-width:1000px;position:relative;z-index:5;
  gap:14px;padding:0 24px 8px;
}
.home .stat{
  flex:1;min-width:150px;background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--r-lg);
  padding:20px 18px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow);
}
.home .stat-num{font-size:clamp(26px,4vw,34px);color:var(--brand-deep);font-weight:600;}
.home .stat-label{color:var(--text-muted);font-weight:500;}

/* =========================== FEATURES ========================= */
.home .features{padding:clamp(56px,9vw,88px) 24px;max-width:1100px;}
.home .section-heading h2{font-size:clamp(26px,4vw,36px);color:var(--brand-deep);font-weight:600;}
.home .section-heading p{color:var(--text-muted);}
.home .features-grid{gap:18px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));}
.home .feature-card{
  background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--r-lg);padding:26px;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.home .feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--teal-light);}
.home .feature-icon{width:50px;height:50px;border-radius:14px;font-size:22px;box-shadow:inset 0 0 0 1px rgba(15,46,42,0.05);}
.home .feature-card h3{font-size:16px;color:var(--brand-deep);}
.home .feature-card p{color:var(--text-mid);font-size:14px;}

/* ========================== CTA STRIP ========================= */
.home .cta-strip{
  padding:clamp(56px,9vw,84px) 24px;
  background:
    radial-gradient(700px 380px at 50% 0%,rgba(3,105,161,0.30),transparent 60%),
    linear-gradient(160deg,#0B3B36,#0E5049);
}
.home .cta-strip h2{font-size:clamp(24px,4vw,32px);font-weight:600;}
.home .cta-strip p{color:rgba(255,255,255,0.72);}

/* ==================== UNIFIED BUTTON SYSTEM =================== */
.home .btn,.home .cta-btn-primary,.home .cta-btn-outline{
  min-height:46px;border-radius:12px;font-weight:600;font-size:14px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  transition:transform .2s,box-shadow .2s,background .2s,filter .2s;cursor:pointer;
}
.home .btn-primary,.home .cta-btn-primary{
  background:linear-gradient(135deg,var(--teal-light),var(--teal));color:#fff;border:none;
  box-shadow:0 8px 22px rgba(13,152,116,0.35);padding:13px 26px;
}
.home .btn-primary:hover,.home .cta-btn-primary:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 14px 32px rgba(13,152,116,0.45);}
.home .btn-primary:active,.home .cta-btn-primary:active{transform:translateY(0);}
.home .cta-btn-outline{
  background:rgba(255,255,255,0.08);color:#fff;border:1px solid rgba(255,255,255,0.30);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:13px 26px;
}
.home .cta-btn-outline:hover{background:rgba(255,255,255,0.16);transform:translateY(-2px);}
.home .btn-outline{background:var(--white);color:var(--brand-deep);border:1px solid var(--border-mid);}
.home .btn-outline:hover{background:var(--surface);border-color:var(--teal);transform:translateY(-1px);}

/* ==================== MODALS / CHATBOT / FAB ================== */
.home .modal-overlay{background:rgba(9,46,42,0.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.home .modal{border-radius:var(--r-xl);border:1px solid var(--glass-brd);box-shadow:var(--shadow-lg);}
.home .chatbot-fab{background:linear-gradient(135deg,var(--teal-light),var(--teal));box-shadow:0 8px 26px rgba(13,152,116,0.45);}
.home .chatbot-fab:hover{transform:scale(1.07) translateY(-2px);}
.home .chatbot-panel{border-radius:var(--r-xl);border:1px solid var(--glass-brd);box-shadow:var(--shadow-lg);}
.home .chatbot-head{background:linear-gradient(135deg,var(--brand-deep),#0E5049);}
.home .form-input,.home .form-select,.home .form-textarea{border-radius:10px;min-height:44px;}
.home .form-input:focus,.home .form-select:focus,.home .form-textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(20,184,166,0.14);}

/* ============================ FOOTER ========================== */
.home .site-footer{background:#082B27;color:rgba(255,255,255,0.72);padding:clamp(40px,6vw,60px) 24px 28px;}
.home .footer-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;}
.home .footer-brand .brand-mark{font-size:22px;color:#fff;font-weight:600;}
.home .footer-brand p{font-size:13.5px;line-height:1.7;margin-top:10px;max-width:320px;color:rgba(255,255,255,0.60);}
.home .footer-col h4{font-size:12px;text-transform:uppercase;letter-spacing:0.08em;color:rgba(255,255,255,0.5);margin-bottom:14px;font-weight:600;}
.home .footer-col a{display:block;color:rgba(255,255,255,0.78);font-size:14px;text-decoration:none;padding:5px 0;transition:color .15s;cursor:pointer;}
.home .footer-col a:hover{color:var(--teal-light);}
.home .footer-bottom{max-width:1100px;margin:28px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,0.10);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:rgba(255,255,255,0.5);}

/* ========================= CONTACT PAGE ======================= */
.home .contact-hero{
  padding:clamp(72px,10vw,110px) 24px clamp(48px,7vw,72px);text-align:center;position:relative;overflow:hidden;
  background:
    radial-gradient(900px 460px at 20% -10%,rgba(20,184,166,0.32),transparent 58%),
    radial-gradient(800px 460px at 110% 0%,rgba(3,105,161,0.32),transparent 55%),
    linear-gradient(160deg,#0B3B36,#0E5049 50%,#0B3B36);
}
.home .contact-hero::after{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,0.04) 1px,transparent 1px);background-size:30px 30px;pointer-events:none;}
.home .contact-hero-inner{position:relative;z-index:1;max-width:640px;margin:0 auto;}
.home .contact-hero h1{color:#fff;font-size:clamp(32px,5.5vw,52px);font-weight:600;margin-bottom:14px;}
.home .contact-hero p{color:rgba(255,255,255,0.72);font-size:clamp(15px,2vw,18px);}
.home .contact-wrap{max-width:1080px;margin:-40px auto 0;padding:0 24px clamp(56px,9vw,88px);position:relative;z-index:5;}
.home .contact-grid{display:grid;grid-template-columns:1.25fr 0.9fr;gap:22px;align-items:start;}
.home .glass-card{
  background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--r-xl);
  padding:clamp(24px,3.5vw,36px);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);
  box-shadow:var(--shadow-lg);
}
.home .glass-card h2{font-size:22px;color:var(--brand-deep);font-weight:600;margin-bottom:6px;}
.home .glass-card .card-sub{font-size:14px;color:var(--text-muted);margin-bottom:22px;line-height:1.6;}
.home .contact-info-list{display:flex;flex-direction:column;gap:18px;margin-bottom:26px;}
.home .contact-info-item{display:flex;gap:14px;align-items:flex-start;}
.home .contact-info-icon{width:44px;height:44px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(20,184,166,0.18),rgba(3,105,161,0.14));color:var(--teal);}
.home .contact-info-icon svg{width:22px;height:22px;}
.home .contact-info-item h4{font-size:13px;color:var(--brand-deep);font-weight:600;margin-bottom:2px;}
.home .contact-info-item p,.home .contact-info-item a{font-size:14px;color:var(--text-mid);line-height:1.55;text-decoration:none;}
.home .contact-info-item a:hover{color:var(--teal);}
.home .contact-hours{border-top:1px solid var(--border);padding-top:18px;font-size:13px;color:var(--text-muted);line-height:1.8;}
.home .contact-hours strong{color:var(--brand-deep);}
.home .contact-success{
  display:none;background:#E4F5EE;border:1px solid #9FE1CB;border-radius:14px;padding:16px 18px;
  font-size:14px;color:#0C7A5A;margin-bottom:18px;line-height:1.5;
}
.home .contact-success.show{display:block;}

/* ====================== HIGH-CONTRAST SAFETY ================= */
/* Disable blur/translucency so a11y mode stays legible */
body.home.high-contrast .nav,
body.home.high-contrast .pid-box,
body.home.high-contrast .stat,
body.home.high-contrast .feature-card,
body.home.high-contrast .glass-card,
body.home.high-contrast .chatbot-panel{
  -webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border:1px solid #000;
}
body.home.high-contrast .nav{background:#000;}

/* =========================== RESPONSIVE ====================== */
@media(max-width:820px){
  .home .contact-grid{grid-template-columns:1fr;}
  .home .footer-inner{grid-template-columns:1fr 1fr;}
}
@media(max-width:560px){
  .home .nav-logo-sub{display:none;}
  .home .stats-strip{flex-wrap:wrap;}
  .home .stat{min-width:calc(50% - 7px);}
  .home .footer-inner{grid-template-columns:1fr;gap:24px;}
  .home .pid-input-row{flex-direction:column;}
  .home .pid-btn{width:100%;}
}

/* ===================== REDUCED MOTION ======================== */
@media(prefers-reduced-motion:reduce){
  .home *,.home *::before,.home *::after{transition:none!important;animation:none!important;}
  .home .feature-card:hover,.home .btn-primary:hover,.home .cta-btn-primary:hover,
  .home .nav-btn:hover,.home .pid-btn:hover,.home .chatbot-fab:hover{transform:none;}
}
