/* Shared visual system for TBCC's secondary pages. Keeps the established
   STAY L.I.T. colors and assets while matching the homepage's quieter polish. */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap');

.page-premium { --page-line: rgba(17,20,37,.13); color: var(--tbcc-ink); font-family: 'Montserrat',system-ui,sans-serif; }
.page-premium .container { max-width: 1320px; padding-inline: clamp(20px,4vw,48px); }
.page-premium h1,.page-premium h2,.page-premium h3,.page-premium h4,.page-premium h5,.page-premium h6 { font-family: 'Montserrat',system-ui,sans-serif; color: var(--tbcc-ink); letter-spacing: -.045em; font-weight: 800; }
.page-premium .navbar { background: #fff !important; border: 0; border-bottom: 1px solid var(--page-line); box-shadow: none; padding-block: 12px !important; }
.page-premium .navbar-brand img { height: 76px !important; }
.page-premium .navbar-carf-seal,.page-premium .navbar-carf-seal img { width: 62px !important; height: 62px !important; min-width: 62px; max-width: 62px !important; filter: none; }
.page-premium .navbar-nav { align-items: center; gap: 3px; }
.page-premium .navbar-nav .nav-link { color: var(--tbcc-ink) !important; font-size: .72rem; margin: 0; padding-inline: 7px; }
.page-premium .navbar-nav .nav-link:hover,.page-premium .navbar-nav .nav-link:focus,.page-premium .navbar-nav .nav-link.active { color: var(--tbcc-primary) !important; }
.page-premium .navbar-nav .btn { padding: 10px 13px; font-size: .75rem; border-radius: 5px; font-weight: 700; }
.page-premium .navbar-nav .btn-outline-light { color: var(--tbcc-ink); border-color: var(--page-line); }
.page-premium .navbar-toggler { background: var(--tbcc-ink); }
.page-premium .btn { border-radius: 5px; font-weight: 700; letter-spacing: -.015em; }
.page-premium .btn-primary { color: var(--tbcc-ink) !important; background: var(--tbcc-rainbow) !important; box-shadow: none; }
.page-premium .hero,.page-premium .inner-hero { min-height: clamp(260px,30vw,420px); display: grid; place-items: center; padding: clamp(48px,7vw,100px) 0; background: var(--tbcc-ink); border: 0; border-bottom: 5px solid transparent; border-image: var(--tbcc-rainbow) 1; }
.page-premium .hero:not(.about-photo-hero):not(.programs-hero):not(.careers-hero):not(.accomplishments-hero):not(.blog-preview-hero) { background: var(--tbcc-ink); }
.page-premium .hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 15% 20%,rgba(255,79,163,.2),transparent 25%),radial-gradient(circle at 85% 15%,rgba(71,209,255,.18),transparent 28%); pointer-events: none; }
.page-premium .hero .overlay { background: rgba(9,11,22,.62); }
.page-premium .hero .container { position: relative; z-index: 1; max-width: 900px; }
.page-premium .hero h1 { color: #fff; font-size: clamp(2.55rem,5.3vw,5.25rem); line-height: 1; margin: 0 0 18px; }
.page-premium .hero p { color: #fff; max-width: 700px; margin-inline: auto; font-size: clamp(.95rem,1.5vw,1.15rem); line-height: 1.75; }
.page-premium .section { padding-block: clamp(58px,7vw,108px); }
.page-premium .section:nth-of-type(odd) { background: #fff; }
.page-premium .section:nth-of-type(even),.page-premium .bg-light { background: #f6f7f9 !important; }
.page-premium .section > .container > h2:first-child,.page-premium .section-title { font-size: clamp(2rem,3.6vw,3.4rem); line-height: 1.12; margin-top: 0; margin-bottom: 2.25rem !important; }
.page-premium .section > .container > h2:first-child::after,.page-premium .section-title::after { content: ''; display: block; width: 56px; height: 4px; margin: 16px auto 0; background: var(--tbcc-rainbow); }
.page-premium .card { border: 1px solid var(--page-line); border-radius: 8px; box-shadow: none; overflow: hidden; transition: transform .2s ease,box-shadow .2s ease; }
.page-premium .card:hover { transform: translateY(-5px); box-shadow: 0 14px 28px rgba(17,20,37,.09); }
.page-premium .card::before { content: ''; display: block; height: 3px; background: var(--tbcc-rainbow); }
.page-premium .card-title { color: var(--tbcc-ink); font-size: 1.14rem; }
.page-premium .card-text,.page-premium p,.page-premium li { line-height: 1.8; }
.page-premium .form-control,.page-premium .form-select { border-radius: 4px; border-color: var(--page-line); padding: .8rem .9rem; }
.page-premium .form-control:focus,.page-premium .form-select:focus { border-color: var(--tbcc-blue); box-shadow: 0 0 0 .2rem rgba(0,168,255,.15); }
.page-premium .footer { background: var(--tbcc-ink); border-top: 5px solid transparent; border-image: var(--tbcc-rainbow) 1; }
.page-premium .footer :is(h1,h2,h3,h4,h5,h6,p,a) { color: #fff; }
.page-premium :is(a,button,input,select,textarea):focus-visible { outline: 3px solid var(--tbcc-blue); outline-offset: 4px; }
@media (max-width:1199.98px) { .page-premium .navbar-collapse { padding-top: 22px; } .page-premium .navbar-nav { align-items: stretch; gap: 6px; } .page-premium .navbar-nav .nav-link { padding: 10px; font-size: .9rem; } .page-premium .navbar-nav .btn { display: block; margin: 0 0 8px; } .page-premium .navbar-carf-seal { margin-right: auto; } }
@media (max-width:767.98px) { .page-premium .hero,.page-premium .inner-hero { min-height: 250px; } .page-premium .section { padding-block: 54px; } .page-premium .hero h1 { font-size: clamp(2.2rem,10vw,3.15rem); } }
@media (prefers-reduced-motion:reduce) { .page-premium *,.page-premium *::before,.page-premium *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
