/* ============================================
   SET POINT VOLLEYBALL — DESIGN SYSTEM v2
   Deep Blue + Orange + White — Energetic
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,700;1,700&display=swap');

:root {
  --blue:        #0B2D6B;
  --blue-mid:    #133580;
  --blue-light:  #1C3F96;
  --blue-pale:   #EEF2FB;
  --orange:      #F05A28;
  --orange-hot:  #FF6B35;
  --orange-pale: #FEF0EB;
  --white:       #FFFFFF;
  --off-white:   #F7F8FC;
  --gray-100:    #F0F2F7;
  --gray-200:    #DDE2EE;
  --gray-400:    #9AA3BC;
  --gray-600:    #5A6480;
  --gray-800:    #1E2640;
  --green:       #1A9E5C;
  --red:         #D93025;
  --navy:        #0B2D6B;
  --gold:        #C5A04E;
  --gold-light:  #D4B45E;
  --gold-pale:   #F8F3E8;
  --navy-light:  #1C3F96;
  --navy-mid:    #133580;

  --font-display: 'Oswald', sans-serif;
  --font-body:    'Inter', sans-serif;
  --font-serif:   'Playfair Display', serif;

  --max-w:      1200px;
  --radius:     14px;
  --radius-sm:  8px;
  --radius-pill:100px;

  --shadow:         0 4px 20px rgba(11,45,107,0.10);
  --shadow-lg:      0 16px 48px rgba(11,45,107,0.18);
  --shadow-orange:  0 8px 28px rgba(240,90,40,0.30);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);color:var(--gray-800);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{line-height:1.15;}

.container{max-width:var(--max-w);margin:0 auto;padding:0 24px;}
.section{padding:96px 0;}
.section-sm{padding:56px 0;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;background:var(--blue);border-bottom:3px solid var(--orange);transition:box-shadow 0.3s;}
nav.scrolled{box-shadow:0 4px 24px rgba(11,45,107,0.25);}
.nav-inner{max-width:var(--max-w);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:70px;}
.nav-logo{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--white);text-decoration:none;letter-spacing:0.05em;display:flex;align-items:center;gap:10px;}
.nav-logo .accent{color:var(--orange);}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none;}
.nav-links a{color:rgba(255,255,255,0.82);text-decoration:none;font-size:0.88rem;font-weight:500;letter-spacing:0.02em;transition:color 0.2s;padding:4px 0;border-bottom:2px solid transparent;}
.nav-links a:hover,.nav-links a.active{color:var(--white);border-bottom-color:var(--orange);}
.nav-links .sign-in{color:var(--white);font-weight:600;}
.nav-links .sign-in:hover{color:var(--orange);}
.nav-cta .sign-in{color:#FFFFFF !important;border-color:rgba(255,255,255,0.5) !important;background:transparent !important;}
.nav-cta .sign-in:hover{color:#F05A28 !important;border-color:#F05A28 !important;}
.nav-cta{display:flex;align-items:center;gap:10px;}
.nav-mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:4px;}
.nav-mobile-toggle span{display:block;width:24px;height:2px;background:var(--white);margin:5px 0;transition:all 0.3s;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:var(--radius-sm);font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:0.04em;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:all 0.22s ease;white-space:nowrap;text-transform:uppercase;}
.btn-primary{background:var(--orange);color:var(--white);border-color:var(--orange);}
.btn-primary:hover{background:var(--orange-hot);border-color:var(--orange-hot);transform:translateY(-2px);box-shadow:var(--shadow-orange);}
.btn-blue{background:var(--blue);color:var(--white);border-color:var(--blue);}
.btn-blue:hover{background:var(--blue-light);border-color:var(--blue-light);transform:translateY(-2px);}
.btn-white{background:var(--white);color:var(--blue);border-color:var(--white);}
.btn-white:hover{background:rgba(255,255,255,0.9);transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,255,255,0.2);}
.btn-outline-white{background:transparent;color:#FFFFFF;border-color:rgba(255,255,255,0.5);}
.btn-outline-white:hover{border-color:var(--orange);color:var(--orange);transform:translateY(-2px);}
.btn-outline-blue{background:transparent;color:var(--blue);border-color:var(--blue);}
.btn-outline-blue:hover{background:var(--blue);color:var(--white);}
.btn-secondary{background:transparent;color:#FFFFFF;border-color:rgba(255,255,255,0.5);}
.btn-secondary:hover{border-color:var(--orange);color:var(--orange);transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--blue);border-color:var(--blue);}
.btn-outline:hover{background:var(--blue);color:var(--white);transform:translateY(-2px);}
.btn-sm{padding:9px 18px;font-size:0.82rem;}
.btn-lg{padding:16px 34px;font-size:1.05rem;}

/* BADGES */
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:var(--radius-pill);font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;}
.badge-orange{background:var(--orange-pale);color:var(--orange);border:1px solid rgba(240,90,40,0.25);}
.badge-blue{background:var(--blue);color:var(--white);}
.badge-white{background:rgba(255,255,255,0.15);color:var(--white);border:1px solid rgba(255,255,255,0.25);}
.badge-green{background:rgba(26,158,92,0.1);color:var(--green);border:1px solid rgba(26,158,92,0.25);}

.section-label{font-family:var(--font-display);font-size:0.82rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--orange);display:block;margin-bottom:12px;}
.section-heading{font-family:var(--font-display);font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:700;color:var(--blue);line-height:1.08;letter-spacing:0.01em;margin-bottom:20px;}
.section-heading.light{color:var(--white);}
.section-subtext{font-size:1.05rem;color:var(--gray-600);max-width:560px;line-height:1.7;}
.section-subtext.light{color:rgba(255,255,255,0.72);}
.divider-orange{width:52px;height:4px;background:var(--orange);border-radius:2px;margin:18px 0;}

/* CARDS */
.card{background:var(--white);border-radius:var(--radius);border:1.5px solid var(--gray-200);padding:32px;box-shadow:var(--shadow);transition:all 0.3s ease;}
.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--orange);}

.feature-card{padding:32px;border-radius:var(--radius);border:1.5px solid var(--gray-200);transition:all 0.3s;position:relative;overflow:hidden;background:var(--white);}
.feature-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform 0.3s ease;}
.feature-card:hover::after{transform:scaleX(1);}
.feature-card:hover{border-color:rgba(240,90,40,0.3);box-shadow:var(--shadow-lg);transform:translateY(-4px);}
.feature-card h3{font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--blue);margin-bottom:10px;letter-spacing:0.02em;}
.feature-card p{font-size:0.9rem;color:var(--gray-600);line-height:1.65;}
.feature-icon{width:52px;height:52px;background:var(--orange-pale);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:18px;border:1px solid rgba(240,90,40,0.2);}

/* GRIDS */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}

/* CHECK LIST */
.check-list{list-style:none;}
.check-list li{display:flex;align-items:flex-start;gap:10px;padding:7px 0;font-size:0.95rem;}
.check-list li::before{content:'✓';color:var(--orange);font-weight:800;flex-shrink:0;margin-top:1px;}

/* TESTIMONIAL */
.testimonial{background:var(--white);border-radius:var(--radius);padding:32px;border-left:4px solid var(--orange);box-shadow:var(--shadow);}
.testimonial-text{font-family:var(--font-serif);font-style:italic;font-size:1.1rem;color:var(--blue);line-height:1.65;margin-bottom:18px;}
.testimonial-author{font-size:0.85rem;font-weight:600;color:var(--gray-600);}

/* STATS */
.stat-num{font-family:var(--font-display);font-size:3.4rem;font-weight:700;color:var(--orange);line-height:1;}
.stat-label{font-size:0.85rem;font-weight:500;color:rgba(255,255,255,0.6);margin-top:6px;}

/* PRICING */
.pricing-card{border-radius:var(--radius);padding:40px 32px;border:1.5px solid var(--gray-200);position:relative;transition:all 0.3s;background:var(--white);}
.pricing-card.featured{border-color:var(--orange);background:var(--blue);color:var(--white);box-shadow:0 24px 64px rgba(11,45,107,0.28);}
.pricing-card:not(.featured):hover{border-color:var(--orange);box-shadow:var(--shadow-lg);transform:translateY(-4px);}
.price-num{font-family:var(--font-display);font-size:3.6rem;font-weight:700;color:var(--blue);line-height:1;}
.pricing-card.featured .price-num{color:var(--orange);}
.price-period{font-size:0.9rem;color:var(--gray-400);}
.pricing-card.featured .price-period{color:rgba(255,255,255,0.5);}

/* MATCH WIDGET */
.match-card-dark{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.12);border-radius:10px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;transition:background 0.2s;}
.match-card-dark:hover{background:rgba(255,255,255,0.12);}
.match-school-name{font-weight:600;font-size:0.93rem;color:var(--white);}
.match-meta{font-size:0.73rem;color:rgba(255,255,255,0.45);margin-top:2px;}
.pct{font-family:var(--font-display);font-weight:700;font-size:1.4rem;border-radius:6px;padding:4px 12px;}
.pct-high{background:rgba(26,158,92,0.2);color:#3DD68C;}
.pct-med{background:rgba(240,90,40,0.2);color:var(--orange-hot);}

/* APP SCREEN */
.app-screen{background:linear-gradient(145deg,var(--blue-light),var(--blue));border-radius:16px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:rgba(255,255,255,0.35);font-size:0.85rem;text-align:center;border:1px solid rgba(255,255,255,0.1);box-shadow:0 32px 80px rgba(11,45,107,0.35);position:relative;overflow:hidden;padding:24px;}
.app-screen::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--orange),var(--orange-hot));}

/* TICKER */
.ticker-bar{background:var(--orange);padding:11px 0;overflow:hidden;}
.ticker-track{display:flex;gap:60px;animation:ticker 32s linear infinite;white-space:nowrap;}
@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.ticker-item{font-family:var(--font-display);font-size:0.82rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--white);display:flex;align-items:center;gap:10px;}
.ticker-sep{opacity:0.5;}

/* PULSE */
.pulse-dot{width:8px;height:8px;border-radius:50%;background:#3DD68C;animation:pulse 2s infinite;display:inline-block;margin-right:6px;}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(61,214,140,0.4);}50%{box-shadow:0 0 0 6px rgba(61,214,140,0);}}

/* TRUST ITEMS */
.trust-item{display:flex;align-items:center;gap:7px;font-size:0.82rem;color:rgba(255,255,255,0.6);font-weight:500;}
.trust-dot{width:6px;height:6px;border-radius:50%;background:var(--orange);flex-shrink:0;}

/* FOOTER */
footer{background:var(--blue);color:rgba(255,255,255,0.75);padding:80px 0 40px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:56px;}
.footer-brand p{font-size:0.9rem;line-height:1.7;color:rgba(255,255,255,0.6);max-width:280px;margin:14px 0 20px;}
.footer-heading{font-family:var(--font-display);font-size:0.8rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--orange);margin-bottom:16px;}
.footer-links{list-style:none;}
.footer-links li{margin-bottom:10px;}
.footer-links a{color:rgba(255,255,255,0.6);text-decoration:none;font-size:0.9rem;transition:color 0.2s;}
.footer-links a:hover{color:var(--orange);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:28px;display:flex;justify-content:space-between;align-items:center;font-size:0.82rem;color:rgba(255,255,255,0.4);}
.footer-bottom a{color:var(--orange);text-decoration:none;}

/* COMPARE TABLE - improved */
.compare-table{width:100%;border-collapse:collapse;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.compare-table th{padding:16px 18px;text-align:center;font-family:var(--font-display);font-size:0.88rem;font-weight:600;letter-spacing:0.06em;background:var(--blue);color:var(--white);}
.compare-table th.sp-head{background:var(--orange);color:var(--white);}
.compare-table th:first-child{text-align:left;background:var(--gray-800);}
.compare-table td{padding:14px 18px;text-align:center;border-bottom:1px solid var(--gray-100);font-size:0.88rem;color:var(--gray-800);}
.compare-table td:first-child{text-align:left;font-weight:500;background:var(--off-white);}
.compare-table .yes{color:var(--green);font-weight:700;font-size:1rem;}
.compare-table .no{color:var(--gray-400);font-size:1rem;}
.compare-table .partial{color:var(--orange);font-size:0.82rem;font-weight:600;}
.compare-table .sp-col{background:rgba(240,90,40,0.06);font-weight:600;color:var(--blue);}
.compare-table tr:nth-child(even) td{background:var(--gray-100);}
.compare-table tr:nth-child(even) td:first-child{background:var(--gray-200);}
.compare-table tr:nth-child(even) .sp-col{background:rgba(240,90,40,0.10);}

/* ACCORDION FAQ */
.faq-item{border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);margin-bottom:10px;overflow:hidden;transition:border-color 0.3s;}
.faq-item:hover{border-color:rgba(240,90,40,0.3);}
.faq-question{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;cursor:pointer;background:var(--white);font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--blue);letter-spacing:0.02em;transition:background 0.2s;border:none;width:100%;text-align:left;}
.faq-question:hover{background:var(--off-white);}
.faq-question .faq-icon{font-size:1.3rem;color:var(--orange);transition:transform 0.3s;flex-shrink:0;font-style:normal;}
.faq-item.open .faq-question .faq-icon{transform:rotate(45deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.35s ease, padding 0.35s ease;}
.faq-item.open .faq-answer{max-height:500px;}
.faq-answer-inner{padding:0 24px 20px;font-size:0.93rem;color:var(--gray-600);line-height:1.7;}

/* Hero text on light backgrounds - force dark text */
.hero-light{background:var(--blue-pale);}
.hero-light .section-heading,.hero-light h1,.hero-light h2{color:var(--blue)!important;}
.hero-light .section-subtext,.hero-light p{color:var(--gray-600)!important;}
.hero-light .section-label{color:var(--orange)!important;}

/* Step mockup images */
.step-mockup{max-width:480px;width:100%;border-radius:var(--radius);box-shadow:var(--shadow-lg);border:1px solid var(--gray-200);}
.step-mockup-sm{max-width:360px;width:100%;}

/* Framed mockup with white background */
.mockup-frame{background:var(--white);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-lg);border:1.5px solid var(--gray-200);display:inline-block;}
.mockup-frame img{border-radius:var(--radius-sm);max-width:100%;}

/* Calendar table */
.calendar-table{width:100%;border-collapse:collapse;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);font-size:0.88rem;}
.calendar-table th{padding:14px 16px;text-align:left;background:var(--blue);color:var(--white);font-family:var(--font-display);font-size:0.82rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;}
.calendar-table td{padding:12px 16px;border-bottom:1px solid var(--gray-100);color:var(--gray-800);}
.calendar-table tr:nth-child(even) td{background:var(--off-white);}
.calendar-table tr:hover td{background:var(--blue-pale);}
.calendar-tag{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);font-size:0.72rem;font-weight:600;letter-spacing:0.04em;}
.calendar-tag.contact{background:rgba(26,158,92,0.1);color:var(--green);}
.calendar-tag.evaluation{background:rgba(240,90,40,0.1);color:var(--orange);}
.calendar-tag.dead{background:rgba(217,48,37,0.1);color:var(--red);}
.calendar-tag.quiet{background:var(--blue-pale);color:var(--blue);}

/* Email template cards */
.template-card{background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius);padding:28px;transition:all 0.3s;position:relative;}
.template-card:hover{border-color:var(--orange);box-shadow:var(--shadow-lg);transform:translateY(-3px);}
.template-card h4{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--blue);margin-bottom:10px;letter-spacing:0.02em;}
.template-card p{font-size:0.88rem;color:var(--gray-600);line-height:1.6;}
.template-card .template-preview{background:var(--off-white);border-radius:var(--radius-sm);padding:16px;margin-top:14px;font-size:0.82rem;color:var(--gray-600);line-height:1.65;border-left:3px solid var(--orange);}

/* FADE ANIMATION */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}

/* RESPONSIVE */
@media(max-width:960px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px;}
  .nav-links{display:none;}
  .nav-mobile-toggle{display:block;}
  .section{padding:64px 0;}
}
@media(max-width:600px){
  .footer-grid{grid-template-columns:1fr;}
  .container{padding:0 16px;}
  .btn-lg{padding:14px 24px;font-size:0.95rem;}
}
