﻿/* Premium editorial theme shared by all public pages. */
:root{--ink:#102d36;--ink-2:#1c4149;--ink-soft:#526168;--teal:#24665f;--teal-lit:#dfc18b;--gold:#d8b77c;--paper:#f7f5ef;--surface:#fffefa;--line:#e3e3d9;--grad-brand:linear-gradient(135deg,#235e59,#163f40);--grad-ink:linear-gradient(120deg,#102d36,#1b4148);--grad-veil:linear-gradient(90deg,rgba(10,31,39,.92),rgba(10,31,39,.38));--r-sm:6px;--r-md:12px;--r-lg:18px;--shadow-sm:0 6px 20px rgba(16,45,54,.04);--shadow-md:0 16px 42px rgba(16,45,54,.08);--shadow-lg:0 24px 65px rgba(16,45,54,.14)}
body{line-height:1.75}::selection{background:#dfc18b;color:#102d36}h1,h2,h3{font-weight:500;letter-spacing:-.035em}.container{padding-left:24px;padding-right:24px}
.utility-bar{font-size:.68rem;padding:.6rem 0;border-bottom:1px solid #dfc18b33}.utility-bar .container{flex-wrap:nowrap!important}.utility-bar p{max-width:70%;line-height:1.5}.utility-bar .d-flex{flex-shrink:0}
.site-nav{background:rgba(255,254,250,.96)}.site-nav .navbar{min-height:90px}.brand{gap:.7rem}.brand__mark{width:48px;height:54px;flex-basis:48px;border-radius:4px 4px 16px 16px;border:1px solid #b89d69;box-shadow:inset 0 0 0 4px var(--ink),inset 0 0 0 5px #dfc18b66;color:#dfc18b}.brand__name{max-width:215px;font-size:1.08rem;line-height:1.2}.brand__sub{font-size:.58rem;letter-spacing:.16em}
.navbar-nav .nav-link{font-size:.79rem;padding:.6rem .58rem!important;border-radius:0;position:relative}.navbar-nav .nav-link.active,.navbar-nav .nav-link:hover{background:transparent;color:var(--teal)}.navbar-nav .nav-link.active::after{content:'';position:absolute;bottom:0;left:.58rem;right:.58rem;height:2px;background:#b29256}
.btn-brand,.btn-ghost,.btn-line{border-radius:5px;font-size:.85rem;padding:.95rem 1.5rem;gap:.85rem;box-shadow:none}.btn-brand:hover{box-shadow:0 8px 20px #102d3626}.site-nav .btn-brand{padding:.75rem 1rem;font-size:.76rem;white-space:nowrap}.eyebrow{font-family:var(--font-body);font-weight:600;font-size:.66rem;letter-spacing:.2em}.eyebrow::before{width:32px}
.hero{background:var(--ink);min-height:740px;align-items:center}.hero__media{left:51%}.hero__media .carousel-item img{object-position:center}.hero__veil{background:linear-gradient(90deg,#102d36 0%,#102d36 43%,#102d3647 67%,#102d360d 100%);pointer-events:none}.hero__inner{padding:4rem 0 4.5rem;pointer-events:none}.hero__inner .container>*{max-width:48%;pointer-events:auto}.hero h1{font-size:clamp(2.8rem,4.4vw,4.5rem);font-weight:400;line-height:1.08;margin-bottom:1.6rem}.hero h1 em{color:#dfc18b}.hero__lead{font-size:.98rem;line-height:1.85;padding-right:2.5rem;color:#d6dfe0}.hero__kn{font-size:.8rem;margin-top:1rem;padding-right:2rem;color:#b8c9c9}.hero__badges{gap:.5rem;margin-bottom:2rem}.badge-glass{border:0;border-radius:0;background:transparent;backdrop-filter:none;padding:0;font-size:.65rem;color:#dce5e4}.badge-glass+.badge-glass{border-left:1px solid #587074;padding-left:.65rem}.hero__cta{gap:.65rem}.hero__cta .btn-brand{background:#dfc18b;color:#102d36}.hero__cta .btn-brand:hover{background:#ecd4a8}.hero__cta .btn-ghost{background:transparent;border-color:#7d9294}.hero__float,.hero .pulse-line{display:none}.hero .carousel-indicators{margin:0 15% 2rem}.hero .carousel-indicators button{min-height:8px;padding:8px 0;background-clip:content-box}
.ticker{background:#0c242c;border-top:1px solid #dfc18b38}.ticker__tag{background:#dfc18b;color:#102d36;font-weight:600}.ticker__track span{font-size:.78rem}.trust{padding:2.5rem 0;background:#eeeee5}.trust__item i{border:1px solid #cfdbd0;width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;font-size:1.25rem}.trust__item strong{font-size:.84rem}.trust__item span{font-size:.73rem}
.section-head h2{font-weight:400;line-height:1.2}.section-head p{font-size:1.02rem;line-height:1.8}.card-x,.course-row,.portrait{border-color:var(--line);box-shadow:var(--shadow-sm)}.card-x{padding:clamp(1.5rem,2.6vw,2.4rem)}.card-x:hover{border-color:#bdcbbf}.card-icon{border-radius:50%;background:#eaf0e8;border:1px solid #d9e3d6;color:var(--teal);box-shadow:none}.course-card__code{border-radius:3px;background:#edf1e9;letter-spacing:.12em}.course-card h3{font-size:1.4rem;line-height:1.3}.course-card p{line-height:1.8}.course-card__meta{margin-top:1.5rem}.course-card__meta a{font-weight:600}.course-card:hover,.portrait:hover,.gal-item:hover,.vid-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.figure-frame,.stat-plate{animation:none;will-change:auto}.figure-frame{border:7px solid var(--surface);box-shadow:var(--shadow-lg)}.stat-plate{border-radius:7px;background:rgba(255,254,250,.95)}.sec--ink{border-top:1px solid #dfc18b40}
.page-banner{min-height:390px;border-bottom:4px solid #c5a46a}.page-banner img{object-position:center 42%}.page-banner__inner{padding:4.5rem 0 4rem}.page-banner h1{font-size:clamp(2.6rem,4.5vw,4.2rem);font-weight:400;max-width:22ch}.page-banner p{font-size:1rem;line-height:1.8;color:#e1e7e7}.crumb{font-family:var(--font-body);font-size:.65rem;margin-bottom:1.8rem}.crumb li{color:#dfc18b}.crumb a{color:#e0e7e7}.band{background:var(--grad-ink);border:1px solid #687b70}.band::after{border:1px solid #dfc18b40;background:transparent}.band .eyebrow{color:#dfc18b}.note-box{background:#eef1e8;border-color:#d6dece}.dl-row{padding:1.1rem 1.25rem;border-radius:7px}.filter-btn{border-radius:5px;padding:.65rem 1.2rem}.acc-x .accordion-button{font-size:1.15rem;padding:1.4rem}.form-control,.form-select{border-color:#d7ded5;border-radius:6px;padding:.8rem 1rem}.form-control:focus,.form-select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #24665f1f}
.site-footer{border-top:3px solid #b99b65;background:#0c252d}.site-footer h5{color:#dfc18b;font-size:.7rem}.site-footer a{color:#becdce}.footer-base{line-height:1.9}.fab{width:46px;height:46px;font-size:1.15rem;border:1px solid #ffffff4d}.fab--wa{background:#237857}.fab--call{background:#dfc18b;color:#102d36}.fab--call:hover{color:#102d36}:focus-visible{outline-color:#a77a32}
/* Collapse nine navigation links before they crowd the brand. */
@media(min-width:992px) and (max-width:1199.98px){.site-nav .navbar-expand-lg{flex-wrap:wrap}.site-nav .navbar-expand-lg .navbar-toggler{display:block}.site-nav .navbar-expand-lg .navbar-collapse{flex-basis:100%}.site-nav .navbar-expand-lg .navbar-collapse:not(.show){display:none!important}.site-nav .navbar-expand-lg .navbar-nav{flex-direction:column;align-items:stretch!important;width:100%;padding:1rem 0}.site-nav .navbar-nav .ms-lg-3{margin-left:0!important}}
@media(max-width:1199.98px){.hero__badges{flex-direction:column;align-items:flex-start}.badge-glass+.badge-glass{border:0;padding-left:0}.hero__cta .btn-brand,.hero__cta .btn-ghost{padding:.85rem 1rem}}
@media(max-width:767.98px){.utility-bar .container{justify-content:center!important}.utility-bar .ms-auto{margin-left:0!important}.site-nav .navbar{min-height:78px}.brand__name{font-size:.98rem}.hero{min-height:auto;display:flex;flex-direction:column}.hero__media{position:relative;left:auto;width:100%;height:300px;order:0}.hero__veil{display:none}.hero__inner{order:1;padding:2.5rem 0 3rem}.hero__inner .container>*{max-width:100%}.hero h1{font-size:clamp(2.6rem,9vw,3.8rem);max-width:17ch!important}.hero__lead,.hero__kn{padding-right:0}.hero__badges{margin-bottom:1.7rem}.hero .carousel-indicators{margin-bottom:1rem}.trust{padding:2rem 0}.trust__item{align-items:flex-start;gap:.6rem}.trust__item i{width:34px;height:34px;font-size:1rem}.trust__item strong{font-size:.76rem}.trust__item span{font-size:.68rem}.page-banner{min-height:340px}.page-banner__inner{padding:3rem 0}.sec{padding:3.5rem 0}.fab-stack{right:10px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.ticker__track{animation:none;flex-wrap:wrap;white-space:normal;gap:.75rem;padding:1rem}.hero .carousel-item{transition:none}}
/* Preserve legibility over image banners and generous carousel hit targets. */
.page-banner::after{background:linear-gradient(90deg,rgba(10,31,39,.96) 0%,rgba(10,31,39,.8) 48%,rgba(10,31,39,.42) 100%)}
.hero .carousel-indicators [data-bs-target]{height:3px;min-height:3px;width:24px;padding:10px 0;border:0;box-sizing:content-box;background-clip:content-box}

/* Notice marquee: the label stays fixed while only the viewport clips text. */
.ticker{min-width:0}
.ticker__tag{position:relative;z-index:1}
.ticker__viewport{flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;align-self:center}
.ticker__track{width:max-content;gap:0;padding:0;animation:none}
.ticker__group{display:flex;align-items:center;flex:0 0 auto;gap:2rem;padding:0 2rem 0 0}
.ticker__group span{flex:0 0 auto;white-space:nowrap}
.ticker__group span::before{margin-left:1rem}
.ticker__viewport:has(.ticker__track--loop){overflow:hidden}
.ticker__track--loop{animation:notice-scroll var(--ticker-duration,75s) linear infinite}
.ticker:hover .ticker__track{animation-play-state:running}
@keyframes notice-scroll{to{transform:translateX(-50%)}}
@media(hover:hover) and (pointer:fine){.ticker:hover .ticker__track{animation-play-state:paused}}
@media(max-width:575.98px){.ticker__tag{padding:.85rem .7rem;letter-spacing:.08em;gap:.35rem}.ticker__track span{font-size:.76rem}}
@media(prefers-reduced-motion:reduce){
  .ticker{align-items:flex-start}
  .ticker__viewport{overflow:visible}
  .ticker__track{width:100%;animation:none;transform:none;padding:.75rem;display:block}
  .ticker__group{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;padding:0}
  .ticker__group span{white-space:normal;flex:initial;overflow-wrap:anywhere}
  .ticker__group span::before{margin-left:0}
  .ticker__group[aria-hidden="true"]{display:none}
}
