/*
  Scholars Network — tuition-reimbursement page styles
  ---------------------------------------
  Page-specific styles. Shared primitives (reset, `:root` brand tokens, base
  `body`, `html { scroll-behavior }`) live in global.css and are not
  redefined here.
*/

.dropdown-menu::before { content:""; position:absolute; top:-10px; left:0; right:0; height:10px; }

.dropdown-menu a.active { color:#4ECBA8!important; }

/* ─── HERO ─── */
.page-hero { min-height:68vh; background:linear-gradient(140deg, var(--navy) 0%, #1a3a52 55%, #00435C 100%); display:flex; align-items:center; padding:120px 5% 80px; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; inset:0; background:linear-gradient(120deg, rgba(255,255,255,0.04) 0%, transparent 70%); }
.page-hero-inner { max-width:1200px; margin:0 auto; width:100%; position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,3vw,4rem); align-items:center; }
.page-hero-inner > * { min-width:0; }
.page-hero h1 { font-family:'Playfair Display',serif; font-size:clamp(2rem,3.5vw,3.2rem); font-weight:400; color:var(--white); line-height:1.15; margin-bottom:1.25rem; }
.page-hero h1 em { font-style:normal; color:var(--gold); }
.hero-sub { font-size:1.05rem; color:rgba(255,255,255,0.7); line-height:1.7; margin-bottom:2rem; max-width:560px; }
.btn-primary { display:inline-flex; align-items:center; gap:0.5rem; background:var(--teal); color:var(--white); padding:0.85rem 2rem; border-radius:8px; font-size:0.95rem; font-weight:600; text-decoration:none; border:none; cursor:pointer; transition:background 0.2s,transform 0.15s; }
.btn-primary:hover { background:var(--teal-lt); transform:translateY(-1px); }

/* ─── PRODUCT SECTION ─── */
.products-section { padding:5rem 5%; max-width:1200px; margin:0 auto; }
.section-title { font-family:'Playfair Display',serif; font-size:clamp(1.8rem,3vw,2.6rem); font-weight:400; line-height:1.2; letter-spacing:0; margin-bottom:1rem; }
.section-lead { font-size:1.05rem; color:var(--gray); max-width:600px; line-height:1.7; margin-top:-0.5rem; margin-bottom:1.2rem; }

.product-content { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.product-points { display:flex; flex-direction:column; gap:1rem; }
.point { display:flex; gap:0.85rem; }
.point-dot { width:8px; height:8px; border-radius:50%; background:var(--teal); flex-shrink:0; margin-top:0.45rem; }
.point p { font-size:0.9rem; color:#374151; line-height:1.65; }
.product-info-card { background:var(--light); border:1px solid var(--border); border-radius:16px; padding:2rem; }
.product-info-card h4 { font-size:1rem; font-weight:700; margin-bottom:1rem; }
.ownership-group + .ownership-group { margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid var(--border); }
.ownership-group h5 { font-size:0.78rem; font-weight:800; color:var(--teal-lt); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:0.65rem; }
.ownership-list { list-style:none; display:flex; flex-direction:column; gap:0.55rem; }
.ownership-list li { position:relative; padding-left:1.15rem; color:#374151; font-size:0.88rem; line-height:1.55; }
.ownership-list li::before { content:''; position:absolute; left:0; top:0.62em; width:6px; height:6px; border-radius:50%; background:var(--teal); }
.info-row { display:flex; justify-content:space-between; align-items:center; padding:0.65rem 0; border-bottom:1px solid var(--border); font-size:0.85rem; }
.info-row:last-child { border-bottom:none; }
.info-row span:first-child { color:var(--gray); }
.info-row span:last-child { font-weight:600; color:var(--navy); }

/* ─── PROCESS ─── */
.dark-steps-section { background:var(--sky,#EBF8F8); padding:5rem 5%; color:var(--navy); }
.dark-steps-inner { max-width:1200px; margin:0 auto; }
.dark-steps-section .section-title { color:var(--navy); margin-bottom:2.5rem; }
.dark-steps-section .section-lead { color:var(--gray); }
.dark-steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.dark-step-card { background:#fff; border:1px solid var(--border,#E3E3E3); border-radius:16px; padding:2rem; position:relative; }
.dark-step-num { width:40px; height:40px; border-radius:50%; background:var(--teal); color:var(--white); font-size:0.9rem; font-weight:800; display:flex; align-items:center; justify-content:center; margin-bottom:1rem; position:relative; z-index:1; }
.dark-step-card h4 { font-size:1rem; font-weight:700; margin-bottom:0.5rem; color:var(--navy); }
.dark-step-card p { font-size:0.85rem; color:var(--gray); line-height:1.65; }

/* ─── TAX BENEFITS ─── */
.tax-section { padding:5rem 5%; background:#fff; }
.tax-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.tax-inner h2 { font-family:'Playfair Display',serif; font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:400; line-height:1.2; margin-bottom:1rem; }
.tax-inner p { font-size:0.95rem; color:var(--gray); line-height:1.75; }
.tax-cards { display:flex; flex-direction:column; gap:1rem; }
.tax-card { background:var(--white); border:1px solid var(--border); border-radius:14px; padding:1.5rem; display:flex; gap:1.25rem; align-items:flex-start; }
.tax-card-icon { width:28px; height:28px; border-radius:50%; background:rgba(13,124,102,0.16); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--teal); font-size:0.8rem; font-weight:800; margin-top:0.1rem; }
.tax-card-icon::after { content:'✓'; }
.tax-card h4 { font-size:0.95rem; font-weight:700; margin-bottom:0.3rem; }
.tax-card p { font-size:0.85rem; color:var(--gray); line-height:1.55; }
.tax-num { font-family:'Playfair Display',serif; font-size:2.2rem; font-weight:400; color:var(--teal); line-height:1; margin-bottom:0.25rem; }

/* ─── OUTCOMES ─── */
.outcomes-section { padding:5rem 5%; background:var(--sky,#EBF8F8); color:var(--navy); }
.outcomes-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.outcome-card { background:var(--white); border:1.5px solid rgba(11,126,162,0.26); border-radius:16px; padding:2rem; text-align:center; box-shadow:0 12px 30px rgba(35,44,59,0.06); transition:border-color 0.2s,box-shadow 0.2s,transform 0.2s; }
.outcome-card:hover { border-color:var(--teal); box-shadow:0 14px 34px rgba(11,126,162,0.14); transform:translateY(-3px); }
.outcome-card h3 { font-size:1.05rem; font-weight:700; color:var(--navy); margin-bottom:0.5rem; }
.outcome-card p { font-size:0.875rem; color:#425466; line-height:1.65; }

/* ─── CTA ─── */
.cta-section { background:var(--teal); padding:4rem 5%; text-align:center; }
.cta-section h2 { font-family:'Playfair Display',serif; font-size:clamp(1.6rem,3vw,2.4rem); font-weight:400; color:var(--white); margin-bottom:0.75rem; }
.cta-section p { color:rgba(255,255,255,0.8); font-size:1rem; margin-bottom:2rem; }
.cta-section .btn-primary { background:var(--white); color:var(--teal); }
.cta-section .btn-primary:hover { background:rgba(255,255,255,0.9); }

@media(max-width:1024px) {
  .page-hero-inner { grid-template-columns:1fr; gap:2.5rem; }
  .product-content { grid-template-columns:1fr; }
  .dark-steps-grid { grid-template-columns:1fr; }
  .tax-inner { grid-template-columns:1fr; gap:2rem; }
  .outcomes-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:640px) {
  .outcomes-grid { grid-template-columns:1fr; }
}

/* MODAL */
.modal-body { padding:1.5rem; }
.checkbox-grid { grid-template-columns:1fr; }
