/* sms-program.css: /sms-program (2026-10-15), the text-message program page.
 * The legal-page rules are copied from docs/terms.html's inline block so the
 * page matches /terms; they live in a file here because this page carries no
 * inline <style>. Below them: the skip link and the form screenshots. */
:root {
  --navy: #1a3057;
  --navy-dark: #12223d;
  --navy-mid: #1a3260;
  --orange: #bd5728;
  --orange-light: #dd875f;
  --orange-dark: #a14a22;
  --gray-sub: #4a4a4a;
  --white: #ffffff;
  --off-white: #f5f3ef;
  --gray: #5d6673;
  --light-gray: #e8e5e0;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Montserrat',sans-serif;color:var(--navy-dark);background:var(--white);overflow-x:hidden}

/* ── NAV (careers.html / 404.html precedent) ── */
nav{position:sticky;top:0;z-index:1000;background:var(--navy-dark);border-bottom:3px solid var(--orange);padding:0 5%;display:flex;align-items:center;justify-content:space-between;height:70px}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none}
.nav-links a{color:rgba(255,255,255,.85);font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:color .2s}
.nav-links a:hover{color:var(--orange)}
.nav-links .dropdown{position:relative}
.nav-links .dropdown-menu{display:none;position:absolute;top:100%;left:0;background:var(--navy-dark);border:2px solid var(--orange);border-top:none;min-width:200px;border-radius:0 0 8px 8px;padding:8px 0;z-index:999;list-style:none}
.nav-links .dropdown:hover .dropdown-menu,.nav-links .dropdown:focus-within .dropdown-menu,.nav-links .dropdown.open .dropdown-menu{display:block}
.nav-links .dropdown-menu a{display:block;padding:10px 18px;font-size:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}
.nav-links .dropdown-menu a:last-child{border-bottom:none}
.nav-links .nav-ico{width:14px;height:14px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;display:inline-block;vertical-align:-0.18em}
.nav-cta{background:#BD5728;color:var(--white)!important;padding:10px 18px;border-radius:6px;font-weight:700!important;font-size:.78rem!important;transition:background .2s!important}
.nav-cta:hover{background:#A14A22!important;color:var(--white)!important}
.mobile-nav{display:none;position:fixed;top:70px;left:0;right:0;background:var(--navy-dark);z-index:999;border-top:2px solid var(--orange);max-height:calc(100vh - 70px);overflow-y:auto;box-shadow:0 8px 32px rgba(0,0,0,.4);padding-top:0}
.mobile-nav.open{display:block}
.mobile-nav > a{display:block;padding:12px 24px;color:rgba(255,255,255,.85);text-decoration:none;font-size:.82rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.06)}
.mobile-nav > a:hover{color:var(--orange-light);background:rgba(255,255,255,.04)}
.hamburger{display:none;flex-direction:column;gap:6px;cursor:pointer;padding:10px;background:transparent;border:none;z-index:1001}
.hamburger span{display:block;width:26px;height:3px;background:#fff;border-radius:2px;transition:all .3s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
nav .nav-logo img{height:60px;width:auto;border-radius:6px;flex-shrink:0}

/* ── PAGE CONTENT (privacy.html legal-page look) ── */
.terms-page{padding:60px 40px}
.terms-content{max-width:900px;margin:0 auto}
.terms-header{margin-bottom:48px;text-align:center}
.terms-header h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(2rem,4vw,3rem);color:var(--navy-dark);letter-spacing:.03em;margin-bottom:12px}
.terms-header p{color:var(--gray);font-size:.93rem;line-height:1.7}
.terms-header .terms-meta{font-size:.75rem;color:var(--gray);margin-top:8px}
.terms-section{margin-bottom:48px;scroll-margin-top:90px}
.terms-section h2{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:var(--navy-dark);letter-spacing:.02em;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--orange)}
.terms-section h3{font-family:'Montserrat',sans-serif;font-size:1rem;font-weight:700;color:var(--navy-dark);letter-spacing:0;margin-top:20px;margin-bottom:10px}
.terms-section p{font-size:.9rem;line-height:1.8;color:var(--gray);margin-bottom:12px;overflow-wrap:anywhere}
.terms-section .terms-lead{font-weight:600;color:var(--navy-dark)}
.terms-section a{color:#A14A22;text-decoration:underline}
.terms-section ul{margin-left:24px;margin-bottom:12px}
.terms-section li{font-size:.9rem;line-height:1.8;color:var(--gray);margin-bottom:8px}
.terms-section strong{color:var(--navy-dark)}
.highlight-box{background:var(--off-white);border-left:4px solid var(--orange);padding:20px;border-radius:6px;margin:20px 0}
.highlight-box p:last-child{margin-bottom:0}

/* ── FOOTER (footer-extended; careers.html rules) ── */
a{text-decoration:none}
.terms-section a{text-decoration:underline}
footer { background: var(--navy-dark); color: rgba(255,255,255,0.75); padding: 56px 5% 28px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 40px; }
.footer-brand { }
.footer-logo-text { font-weight: 800; font-size: 1.1rem; color: var(--white); margin-bottom: 4px; }
.footer-logo-sub { font-family: 'Dancing Script', cursive; font-size: 1rem; color: var(--orange); margin-bottom: 14px; }
.footer-desc { font-size: 0.82rem; line-height: 1.65; margin-bottom: 20px; max-width: 260px; }
.footer-badges { display: flex; gap: 8px; flex-wrap: wrap; }
.footer-badge { background: rgba(255,255,255,0.08); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 4px 10px; border-radius: 20px; color: rgba(255,255,255,0.7); }
.footer-col .footer-col-title { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--orange); margin-bottom: 16px; }
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.footer-col ul li a { font-size: 0.83rem; color: rgba(255,255,255,0.65); transition: color 0.2s; }
.footer-col ul li a:hover { color: var(--orange); }
.footer-contact-item { display: flex; flex-direction: column; gap: 2px; margin-bottom: 12px; }
.footer-contact-item .label { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.1em; color: rgba(255,255,255,0.4); font-weight: 700; }
.footer-contact-item .val { font-size: 0.85rem; color: rgba(255,255,255,0.8); }
.footer-contact-item .val a { color: rgba(255,255,255,0.8); }
.footer-contact-item .val a:hover { color: var(--orange); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); padding-top: 20px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }
.footer-bottom p { font-size: 0.75rem; color: rgba(255,255,255,0.4); }
.footer-bottom a { color: rgba(255,255,255,0.5); font-size: 0.75rem; }
.footer-bottom a:hover { color: var(--orange); }

@media(max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .terms-page{padding:40px 16px}
  nav{padding:0 20px}
  .nav-links{display:none}
  .hamburger{display:flex}
  .terms-section h2{font-size:1.3rem}
  .terms-section ul{margin-left:18px}
  .footer-grid{grid-template-columns:1fr}
}

/* skip link (same rule the other pages inline) */
.nbd-skip{position:absolute;left:-9999px;top:0;z-index:100000;background:#BD5728;color:#fff;padding:10px 16px;font-weight:700;text-decoration:none;border-radius:0 0 6px 0}
.nbd-skip:focus{left:0}

/* opt-in forms: screenshot + exact wording */
.sms-form{margin:28px 0 36px;padding-top:4px}
.sms-form h3{font-size:1.05rem}
.sms-rule{font-weight:700;color:var(--navy-dark)!important}
.sms-shot{margin:16px 0 12px;max-width:390px}
.sms-shot img{display:block;width:100%;height:auto;border:1px solid var(--light-gray);border-radius:10px;box-shadow:0 4px 18px rgba(18,34,61,.12)}
.sms-shot figcaption{font-size:.78rem;line-height:1.6;color:var(--gray);margin-top:8px}
.sms-quote-label{margin-bottom:6px!important;font-weight:600}
.sms-quote{background:var(--off-white);border-left:4px solid var(--navy);border-radius:6px;padding:14px 16px;font-size:.88rem;line-height:1.75;color:var(--navy-dark);overflow-wrap:anywhere}
.sms-quote-links{color:#A14A22;white-space:nowrap}
