/*
Theme Name: Principles Future
Description: A cinematic theme for the Principles LLC sports, media, performance, and education ecosystem.
Version: 1.7.1
Author: Principles LLC
License: GPL-2.0-or-later
Text Domain: principles-future
*/
:root{--ink:#111315;--paper:#f1f3ef;--muted:#a3aaa9;--line:#363d3d;--lime:#c9ff57;--cyan:#84e2e7;--display:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;--body:'Manrope',sans-serif}
*{box-sizing:border-box;margin:0;padding:0;letter-spacing:0}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{background:var(--ink);color:var(--paper);font-family:var(--body);font-size:15px;line-height:1.6}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}button{border:0}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--lime);outline-offset:5px}::selection{color:var(--ink);background:var(--lime)}[hidden]{display:none!important}.container{width:min(100% - 96px,1280px);margin-inline:auto}.skip-link{position:fixed;left:16px;top:-100px;z-index:50;background:var(--lime);color:var(--ink);padding:12px}.skip-link:focus{top:16px}.site-header{background:#111315;border-bottom:1px solid #333839;position:relative;z-index:10}.header-inner{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font:700 30px/1 var(--display);display:flex;align-items:center;gap:8px}.wordmark span{border-left:1px solid #687071;padding-left:8px;font:600 11px/1.2 var(--body)}.navigation{display:flex;gap:30px;color:#b7bfbd;font-size:12px}.navigation a:hover{color:var(--lime)}.header-contact{font-size:12px;border-bottom:1px solid #a0acaa;padding-block:8px}.header-contact span{margin-left:20px;font-size:19px;color:var(--lime)}.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;height:calc(100svh - 156px);min-height:640px;max-height:830px;overflow:hidden;background:#171e20}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,16,17,.54),rgba(10,16,17,.15) 52%,transparent 76%);z-index:-1}.hero-inner{height:100%;display:flex;flex-direction:column;justify-content:center;position:relative;padding-bottom:78px}.hero-copy{max-width:670px;padding-top:40px}.eyebrow{font-size:10px;font-weight:700;line-height:1.5;text-transform:uppercase;color:var(--lime);margin-bottom:18px}.signal-dot{display:inline-block;width:6px;height:6px;background:var(--lime);margin-right:10px;box-shadow:0 0 14px #c9ff57;animation:signal 3s ease-in-out infinite}.hero h1{font:800 132px/.91 var(--display);margin:20px 0;color:#f0f2ec}.hero-statement{font:500 43px/1.1 var(--display);color:#d9dedb}.hero-description{font-size:13px;color:#b8c2bf;max-width:365px;margin-top:22px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:30px}.button{min-height:48px;padding:12px 20px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:12px;font-weight:700;border:1px solid transparent;border-radius:2px;transition:background .2s,color .2s}.button-lime{background:var(--lime);color:var(--ink)}.button-lime:hover{background:#e6ffb7}.button span{font-size:21px;line-height:1}.text-link{display:inline-flex;gap:28px;align-items:center;font-size:12px;font-weight:600;border-bottom:1px solid #596763;padding-block:8px}.text-link:hover{color:var(--lime)}.text-link span{font-size:20px}.hero-baseline{position:absolute;bottom:23px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;color:#b4c0b9;border-top:1px solid #606a615c;padding-top:20px}.motion-toggle{background:transparent;display:flex;gap:8px;align-items:center;font-size:9px}.motion-toggle>span:first-child{font-size:8px;color:var(--lime)}
.section{padding-block:90px}.section-heading{display:grid;grid-template-columns:1.25fr 1fr;column-gap:50px;align-items:end}.section-heading>.eyebrow{grid-column:1/-1}.section-heading h2,h2{font:600 66px/.98 var(--display)}.section-heading h2 span{color:#8d9690}.section-intro{font-size:13px;color:#a5afaa;max-width:330px;padding-bottom:5px;justify-self:end;line-height:1.9}.division-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:42px;border-top:1px solid #49524d;border-bottom:1px solid #49524d}.division-tab{background:transparent;border-right:1px solid #49524d;padding:22px 20px;display:flex;align-items:center;gap:15px;text-align:left;font:600 23px/1 var(--display);transition:background .2s,color .2s;min-height:81px}.division-tab:last-child{border-right:0}.tab-number{font:500 9px/1 var(--body);color:#929f94}.tab-arrow{margin-left:auto;font:400 22px/1 var(--body);color:#838e86}.division-tab[aria-selected=true]{background:var(--lime);color:var(--ink)}.division-tab[aria-selected=true] .tab-number,.division-tab[aria-selected=true] .tab-arrow{color:#435329}.division-tab:hover{background:#26302a}.division-tab[aria-selected=true]:hover{background:#d8ff86}.division-panel{display:grid;grid-template-columns:1fr 1fr;min-height:438px;background:var(--paper);color:var(--ink);margin-top:24px;overflow:hidden}.division-visual{position:relative;min-height:438px;overflow:hidden;background:#1a2525}.division-copy{padding:42px 46px;align-self:center}.division-copy .eyebrow{color:#526242;margin-bottom:14px}.division-copy h3{font:600 52px/.98 var(--display);margin-bottom:20px}.division-copy>p:not(.eyebrow){max-width:390px;font-size:13px;color:#596460;line-height:1.85}.offerings{list-style:none;margin-top:22px;margin-bottom:18px}.offerings li{font-size:11px;color:#3b4741;padding-block:8px;border-top:1px solid #cdd4cb}.offerings li:last-child{border-bottom:1px solid #cdd4cb}.division-copy .text-link{border-color:#abb5a6}.division-copy .text-link:hover{color:#4e6c21}.division-panel:focus-visible{outline-offset:0}.graphic-code{position:absolute;top:24px;left:28px;color:#94a79f;font:500 11px var(--body)}.graphic-label{position:absolute;bottom:25px;left:28px;font:600 9px var(--body);color:#b1c9be}.boxing-visual{background:linear-gradient(155deg,#0c1a1b,#263434)}.wire-ring{width:310px;height:310px;border:18px solid #5a7770;border-top-color:#d2e8dd;border-right-color:#a0b9b0;border-bottom-color:#273c36;border-radius:50%;position:absolute;left:50%;top:49%;transform:translate(-50%,-50%) rotate(-26deg) scaleX(.66);box-shadow:inset 0 0 0 2px #c9ff57,0 0 0 1px #c9ff57;animation:ring-turn 18s ease-in-out infinite}.wire-ring-two{width:270px;height:270px;transform:translate(-50%,-50%) rotate(27deg) scaleX(.68);border-width:4px;border-color:#8ab7ac;box-shadow:none;animation-direction:reverse;animation-duration:24s}.media-visual{background:#151e23}.signal-grid{position:absolute;inset:60px 20px;background-image:linear-gradient(#52697733 1px,transparent 1px),linear-gradient(90deg,#52697733 1px,transparent 1px);background-size:36px 36px;transform:perspective(600px) rotateX(35deg)}.signal-bars{display:flex;position:absolute;inset:90px 90px;gap:16px;align-items:center;justify-content:center}.signal-bars i{width:9px;height:150px;display:block;background:linear-gradient(#d3feff,#547b8d);animation:wave 2.5s ease-in-out infinite;transform-origin:center}.signal-bars i:nth-child(2n){height:90px;animation-delay:-.5s}.signal-bars i:nth-child(3n){height:180px;animation-delay:-1.7s}.signal-bars i:nth-child(4n){animation-delay:-1s}.performance-visual{background:#18211a}.performance-track{position:absolute;width:270px;height:300px;left:50%;top:50%;transform:translate(-50%,-50%) skewY(-16deg);border:2px solid #c9ff57;clip-path:polygon(0 0,80% 0,100% 20%,100% 100%,20% 100%,0 80%);background:repeating-linear-gradient(0deg,transparent 0 38px,#7390574d 39px 40px);box-shadow:inset 0 0 40px #c9ff5714;animation:track-drift 8s ease-in-out infinite}.track-two{width:170px;height:200px;border-color:#e0f0d9;animation-direction:reverse;background:transparent}.academy-visual{background:#232423}.academy-lines{position:absolute;inset:85px 70px}.academy-lines i{display:block;height:45px;border:1px solid #9ea69a;background:linear-gradient(90deg,#c9ff571a,transparent);transform:skewY(-15deg);margin-bottom:22px;animation:lesson 6s ease-in-out infinite}.academy-lines i:nth-child(2){width:85%;animation-delay:-1s}.academy-lines i:nth-child(3){width:70%;animation-delay:-2s}.academy-lines i:nth-child(4){width:55%;animation-delay:-3s}
.approach{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#181d1d}.approach-heading{display:grid;grid-template-columns:1.25fr 1fr;column-gap:60px}.approach-heading .eyebrow{grid-column:1/-1}.approach-heading>p:last-child{font-size:13px;color:#aeb9b3;max-width:340px;align-self:end;justify-self:end;line-height:1.9}.connection-path{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:46px;position:relative;gap:24px}.connection-path::before{content:'';height:1px;background:linear-gradient(90deg,var(--lime),var(--cyan),#748e8b);position:absolute;top:0;left:0;right:0}.connection-path li{position:relative;padding-top:24px}.connection-path li::before{content:'';width:5px;height:5px;position:absolute;top:-2px;left:0;background:var(--lime)}.connection-path span{display:block;color:#99a8a1;font-size:9px;margin-bottom:12px}.connection-path strong{font-size:14px;font-weight:600}.foundation{background:var(--paper);color:var(--ink)}.foundation .eyebrow{color:#556344}.foundation-inner{display:grid;grid-template-columns:1.25fr 1fr;gap:60px}.foundation-copy{align-self:center}.foundation-copy p{font-size:13px;line-height:1.9;color:#5b6660;margin-bottom:15px}.values{display:flex;flex-wrap:wrap;gap:22px;padding-top:15px;border-top:1px solid #ccd3ca;color:#2a372e;font-size:11px;font-weight:700}.contact{background:#101616}.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact h2{font-size:66px}.contact h2 span{color:#84988a}.contact p:last-child{font-size:12px;color:#a9b8ad;margin-top:20px}.contact-email{flex-shrink:0}.site-footer{border-top:1px solid #364239;background:#101616}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:28px}.footer-inner .wordmark{font-size:25px}.footer-inner p,.footer-inner>span{font-size:10px;color:#90a194}
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{animation-play-state:paused!important;scroll-behavior:auto}
.hero{height:calc(100svh - 220px)}
.divisions{padding-top:64px}
.content-title{font:600 60px/1.1 var(--display);margin-bottom:24px}
@keyframes signal{50%{opacity:.4}}@keyframes ring-turn{50%{rotate:10deg}}@keyframes wave{50%{scale:1 .65}}@keyframes track-drift{50%{translate:0 -15px}}@keyframes lesson{50%{translate:16px 0}}
@media(min-width:1700px){.hero h1{font-size:150px}.hero-statement{font-size:48px}.hero-description{font-size:14px}.hero-art{object-position:center 58%}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.navigation{gap:20px}.hero h1{font-size:106px}.hero-statement{font-size:38px}.hero-copy{max-width:520px}.section-heading h2,h2{font-size:58px}.division-tab{padding-inline:16px;font-size:20px;gap:10px}.division-copy{padding:32px}.division-copy h3{font-size:46px}.contact h2{font-size:54px}.wire-ring{width:260px;height:260px}.wire-ring-two{width:230px;height:230px}.signal-bars{inset-inline:60px}}
@media(max-width:760px){.container{width:calc(100% - 40px)}.header-inner{height:72px;gap:12px}.wordmark{font-size:27px}.header-contact{display:none}.menu-toggle{display:flex;align-items:center;gap:18px;background:transparent;font-size:12px}.menu-toggle span{font-size:22px;color:var(--lime)}.navigation{display:none;position:absolute;top:72px;left:0;right:0;background:#111b18;padding:24px 20px;flex-direction:column;border-bottom:1px solid #44564b}.navigation.is-open{display:flex}.hero{height:720px;min-height:0;max-height:none}.hero-inner{justify-content:flex-start;padding-top:26px}.hero-copy{padding-top:0;max-width:100%}.hero-art{object-position:62% center;opacity:.8}.hero-shade{background:linear-gradient(180deg,#101919db,rgba(11,20,19,.65) 55%,rgba(11,20,19,.13))}.hero .eyebrow{font-size:9px;margin-bottom:24px}.hero h1{font-size:87px}.hero-statement{font-size:36px}.hero-description{font-size:12px;max-width:300px;color:#c2ccc6}.hero-actions{gap:22px;flex-wrap:wrap;margin-top:26px}.hero-baseline{font-size:8px;gap:12px;flex-wrap:wrap}.hero-baseline>span:nth-child(2){display:none}.section{padding-block:58px}.section-heading,.approach-heading,.foundation-inner{grid-template-columns:1fr;gap:0}.section-heading h2,h2{font-size:49px}.section-intro,.approach-heading>p:last-child{justify-self:start;margin-top:24px;max-width:100%;font-size:12px}.division-tabs{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:32px}.division-tab{font-size:22px;min-height:68px;padding:20px 15px}.division-tab:nth-child(2){border-right:0}.division-tab:nth-child(-n+2){border-bottom:1px solid #49524d}.division-panel{grid-template-columns:1fr;margin-top:18px}.division-visual{min-height:300px}.division-copy{padding:30px}.division-copy h3{font-size:46px}.signal-bars{inset:50px 90px}.performance-track{height:230px;width:210px}.track-two{width:140px;height:155px}.academy-lines{inset:40px 70px}.academy-lines i{height:35px;margin-bottom:16px}.connection-path{grid-template-columns:1fr 1fr;gap:28px 20px;margin-top:34px}.connection-path::before{display:none}.connection-path li{border-top:1px solid #506857}.connection-path span{font-size:8px}.connection-path strong{font-size:12px}.foundation-copy{margin-top:28px}.foundation-copy p{font-size:12px}.contact-inner{flex-direction:column;align-items:flex-start;gap:28px}.contact h2{font-size:46px}.footer-inner{flex-wrap:wrap;justify-content:flex-start;gap:18px}.footer-inner .wordmark{width:100%}.footer-inner>span{margin-left:auto}}
@media(max-width:380px){.hero h1{font-size:76px}.hero-statement{font-size:32px}.hero-actions{gap:12px}.hero{height:730px}.division-tab{font-size:20px}.contact h2{font-size:41px}}
@media(max-width:760px){.hero{height:640px}.hero h1{font-size:78px}.divisions{padding-top:48px}}
@media(max-width:380px){.hero h1{font-size:64px}.hero{height:640px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* The canvas is the environment; the text and division links remain ordinary HTML. */
:root { --lime: #f0ce8e; --cyan: #8ce9f0; }
.site-header { position: sticky; top: 0; }
.brand-logo { width: 178px; height: 34px; object-fit: contain; }
.wordmark { gap: 12px; }
.wordmark span { color: #bec8c5; }
.hero h1 { width: 100%; font-size: 0; line-height: 1; margin: 22px 0; }
.hero-logo { width: 565px; height: auto; max-height: 130px; object-fit: contain; object-position: left center; }
.scroll-journey.scene-running { height: 360svh; position: relative; }
.scene-running .hero { position: sticky; top: 84px; height: calc(100svh - 84px); min-height: 0; max-height: none; }
.hero.scene-ready { background: #0c1516; }
.scene-ready .hero-art { visibility: hidden; }
.ecosystem-stage { position: absolute; inset: 0; z-index: -1; display: none; }
.scene-ready .ecosystem-stage { display: block; }
#ecosystem-canvas { display: block; width: 100%; height: 100%; touch-action: pan-y; cursor: grab; }
#ecosystem-canvas:active { cursor: grabbing; }
.scene-ready .hero-shade { background: linear-gradient(90deg, #0c1516e6, #0c151688 30%, transparent 58%); pointer-events: none; }
.hero-inner { pointer-events: none; z-index: 2; }
.hero-copy, .hero-baseline { pointer-events: auto; }
.hero-copy { max-width: 580px; width: 45%; }
.hero-statement { font-size: 48px; }
.scene-labels { position: absolute; inset: 0; pointer-events: none; }
.scene-label { position: absolute; top: 0; left: 0; z-index: 3; display: flex; align-items: center; gap: 8px; min-height: 34px; padding: 6px 8px; background: #0c1516dc; border-bottom: 1px solid #526c68; white-space: nowrap; color: #cfdfd8; font: 600 15px/1 var(--display); pointer-events: auto; will-change: transform; transition: color .2s, border-color .2s; }
.scene-label span { font: 500 8px/1 var(--body); color: #8fa39b; }
.scene-label i { font: normal 15px/1 var(--body); color: var(--cyan); }
.scene-label.is-active, .scene-label:hover { color: #ffe7b1; border-color: #f0ce8e; }
.scene-label:hover { background: #243431; }
.scene-reset { position: absolute; right: 28px; top: 24px; display: grid; place-items: center; width: 38px; height: 38px; color: #c6d5cc; border: 1px solid #52675e; background: #0c151688; font-size: 24px; border-radius: 2px; }
.scene-reset:hover { background: #2a3c32; color: var(--lime); }
.journey-steps { display: flex; align-items: center; gap: 14px; }
.journey-steps button { min-width: 34px; min-height: 30px; border-bottom: 2px solid #48594f; background: transparent; color: #8ca798; font-size: 9px; }
.journey-steps button[aria-current] { color: #ffe9bd; border-color: #f0ce8e; }
.journey-current { min-width: 145px; }
.hero-baseline { font-size: 10px; }
.button-lime:hover { background: #f9e5be; }
.division-tab[aria-selected=true]:hover { background: #f9e5be; }
.division-copy .text-link:hover { color: #8c662e; }
.divisions { scroll-margin-top: 100px; }
.division-panel { min-height: 510px; margin-top: 0; background: #141c1f; color: #edf2ed; border-bottom: 1px solid #354548; }
.division-visual { min-height: 510px; background: #091012; }
.division-copy { padding: 42px 46px; }
.division-copy .eyebrow { color: #e7c589; }
.division-copy > p:not(.eyebrow) { color: #afbfbd; }
.division-copy .offerings li { color: #c3ceca; border-color: #354548; }
.division-copy .text-link { color: #f0ce8e; border-color: #6b6857; }
.division-copy .text-link:hover { color: #a0e4e8; }
.division-canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.division-fallback { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.division-toolbar { display: flex; align-items: center; justify-content: flex-end; min-height: 44px; }
.division-toolbar .motion-toggle, .division-toolbar .motion-label { font-size: 10px; }
.community-section { background: #111718; border-top: 1px solid #354345; scroll-margin-top: 84px; }
.inside-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 40px; margin-bottom: 38px; }
.inside-heading h2 { font-size: 66px; }
.inside-heading h2 span { color: #b6c5be; }
.inside-intro { color: #aebebb; max-width: 340px; justify-self: end; font-size: 13px; line-height: 1.9; }
.archive-tabs { display: flex; gap: 36px; border-bottom: 1px solid #394749; }
.archive-tabs button { background: transparent; border-bottom: 2px solid transparent; padding: 15px 0; font: 600 24px/1 var(--display); color: #a2b2ad; }
.archive-tabs button[aria-selected=true] { color: #f0ce8e; border-color: #f0ce8e; }
.archive-toolbar { display: flex; align-items: center; gap: 24px; min-height: 86px; flex-wrap: wrap; padding-block: 18px; }
.media-types { display: flex; border: 1px solid #3e4c4d; border-radius: 3px; overflow: hidden; }
.media-types button { min-height: 36px; min-width: 66px; padding: 6px 12px; background: transparent; color: #aabbb5; font-size: 11px; border-right: 1px solid #3e4c4d; }
.media-types button:last-child { border-right: 0; }
.media-types button[aria-pressed=true] { color: #131b1b; background: #e8d0a0; }
.category-picker { display: flex; align-items: center; gap: 12px; color: #95aba4; font-size: 10px; }
.category-picker select { background: #182123; color: #d8e1db; font: 500 11px var(--body); border: 1px solid #3e4c4d; min-height: 38px; border-radius: 3px; padding: 8px 28px 8px 10px; max-width: 100%; }
.archive-count { margin-left: auto; font-size: 10px; color: #a3b8af; }
.archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 22px; }
.moment { display: block; min-width: 0; text-align: left; background: transparent; }
.moment-image { display: block; position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #0b1011; }
.moment-image > img { width: 100%; height: 100%; object-fit: contain; transition: transform .35s ease; }
.moment:hover .moment-image > img { transform: scale(1.025); }
.moment-caption { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 15px 30px 18px 0; border-bottom: 1px solid #3d4b4a; }
.moment-category { color: #afc0b5; font-size: 9px; text-transform: uppercase; line-height: 1.6; display: block; }
.moment-caption strong { font: 600 25px/1.1 var(--display); color: #edf2e9; }
.archive-icon { flex-shrink: 0; filter: brightness(0) invert(1); }
.moment-caption > .archive-icon { position: absolute; right: 1px; top: 30px; }
.moment-play { position: absolute; inset: 0; display: grid; place-items: center; background: #06101028; }
.moment-play .archive-icon { width: 42px; height: 42px; padding: 9px; border: 1px solid white; border-radius: 50%; background: #1118; }
.archive-empty { padding: 70px 24px; text-align: center; border-bottom: 1px solid #394749; }
.archive-empty h3 { font: 500 32px/1.2 var(--display); }
.archive-empty .text-link { background: transparent; margin-top: 22px; }
.archive-more { display: flex; justify-content: center; margin-top: 28px; }
.archive-more .text-link { background: transparent; color: #f0ce8e; }
.journal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; padding-top: 28px; }
.journal-entry { min-width: 0; }
.journal-open { display: block; width: 100%; text-align: left; background: transparent; }
.journal-open > img { width: 100%; aspect-ratio: 16 / 10; object-fit: contain; background: #0b1011; }
.journal-copy { display: flex; flex-direction: column; gap: 13px; padding: 24px 0; border-bottom: 1px solid #394749; }
.journal-copy > strong { font: 600 36px/1.1 var(--display); }
.journal-excerpt { color: #b6c3bc; font-size: 12px; line-height: 1.9; max-width: 430px; }
.journal-command { display: flex; align-items: center; justify-content: space-between; color: #f0ce8e; font-size: 11px; margin-top: 7px; }
.principles-article { max-width: 850px; margin-inline: auto; }
.article-photo { width: 100%; height: auto; margin-bottom: 32px; }
.article-content p, .article-content ul, .article-content ol, .article-content figure { margin-bottom: 22px; }
.article-content img { width: 100%; height: auto; }
.article-content h2 { font-size: 40px; margin-block: 36px 18px; }
.article-content h3 { font: 600 30px/1.2 var(--display); margin-block: 28px 14px; }
.article-content a { color: #f0ce8e; text-decoration: underline; }
.article-content li { margin-left: 24px; }
.join-nav { color: #f0ce8e; }
.training-section { background: #101819; border-top: 1px solid #384849; scroll-margin-top: 84px; }
.training-heading { display: grid; grid-template-columns: 1.2fr 1fr; gap: 44px; align-items: end; margin-bottom: 38px; }
.training-heading h2 span { color: #b4c9c2; }
.training-heading > p { color: #b1c1bc; font-size: 13px; line-height: 1.9; max-width: 350px; justify-self: end; }
.training-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.training-option { display: flex; flex-direction: column; min-width: 0; background: #172123; border: 1px solid #415153; border-radius: 4px; padding: 28px 25px; }
.membership-option { border-top: 3px solid #f0ce8e; padding-top: 26px; }
.training-number { font-size: 9px; text-transform: uppercase; color: #a0b8ad; margin-bottom: 16px; }
.membership-option .training-number { color: #f0ce8e; }
.training-option h3 { font: 600 30px/1.1 var(--display); min-height: 66px; }
.training-price, .training-quote { display: flex; align-items: baseline; gap: 12px; min-height: 71px; margin-top: 12px; }
.training-price strong { font: 600 52px/1 var(--display); color: #f0ce8e; }
.training-price > span { font-size: 10px; color: #a9beb1; }
.training-quote { font: 500 26px/1.2 var(--display); color: #b5dbde; padding-top: 7px; }
.training-description { font-size: 12px; color: #b6c8be; line-height: 1.9; min-height: 70px; }
.training-facts { list-style: none; margin: 22px 0 26px; }
.training-facts li { font-size: 11px; color: #ced8d1; padding: 10px 0; border-top: 1px solid #3e5050; }
.training-facts li:last-child { border-bottom: 1px solid #3e5050; }
.training-request { width: 100%; margin-top: auto; gap: 12px; font-size: 11px; }
.membership-checkout { margin-top: auto; }
.membership-renewal { color: #c1d2c8; font-size: 11px; line-height: 1.75; margin-bottom: 18px; }
.membership-manage, .membership-inquiry { display: block; width: fit-content; max-width: 100%; font-size: 11px; line-height: 1.7; text-decoration: underline; text-underline-offset: 4px; padding-top: 12px; }
.membership-manage { color: #f0ce8e; }
.membership-inquiry { color: #c1d2c8; }
.training-outline { border-color: #829c94; background: transparent; color: #e3ebe3; }
.training-outline img { filter: brightness(0) invert(1); }
.training-outline:hover { background: #2c4140; border-color: #b5dbde; }
.training-details { display: flex; justify-content: space-between; gap: 36px; padding-top: 24px; font-size: 11px; color: #a8beb2; }
.training-details strong { color: #d5e3d8; font-weight: 600; }
.training-status { max-width: 330px; }
@media (max-width: 1100px) { .training-option { padding-inline: 20px; } .training-option h3 { font-size: 27px; } .training-quote { font-size: 24px; } .training-request { padding-inline: 13px; font-size: 10px; } }
@media (max-width: 1000px) and (min-width: 761px) {
  .menu-toggle { display: flex; align-items: center; gap: 18px; background: transparent; font-size: 12px; }
  .menu-toggle span { font-size: 22px; color: var(--lime); }
  .navigation { display: none; position: absolute; top: 84px; left: 0; right: 0; padding: 24px 32px; background: #111b18; border-bottom: 1px solid #44564b; flex-direction: column; gap: 20px; }
  .navigation.is-open { display: flex; }
}
@media (max-width: 760px) {
  .training-section { scroll-margin-top: 72px; }
  .training-heading { grid-template-columns: 1fr; gap: 24px; }
  .training-heading > p { justify-self: start; font-size: 12px; }
  .training-options { grid-template-columns: 1fr; gap: 18px; }
  .training-option { padding: 25px; }
  .membership-option { padding-top: 23px; }
  .training-option h3 { min-height: 0; font-size: 30px; }
  .training-price, .training-quote { min-height: 0; margin-top: 20px; margin-bottom: 20px; }
  .training-quote { font-size: 27px; padding-top: 0; }
  .training-description { min-height: 0; }
  .training-request { font-size: 12px; padding-inline: 18px; }
  .training-details { flex-direction: column; gap: 12px; }
}
body.archive-open { overflow: hidden; }
.archive-viewer { width: min(1120px, calc(100% - 48px)); max-height: calc(100svh - 48px); margin: auto; overflow-y: auto; padding: 0; border: 1px solid #4b5a58; border-radius: 4px; background: #11191b; color: #eef3ed; }
.archive-viewer::backdrop { background: #020708ed; }
.viewer-top { display: flex; align-items: center; justify-content: space-between; padding: 10px 18px; border-bottom: 1px solid #354342; }
.viewer-counter { font-size: 10px; color: #b4c2b9; }
.viewer-icon { display: grid; place-items: center; background: transparent; min-width: 44px; height: 44px; border: 1px solid #495956; border-radius: 2px; }
.viewer-icon img { filter: brightness(0) invert(1); }
.viewer-icon:hover { background: #344640; }
.viewer-media { background: #030707; display: flex; justify-content: center; min-height: 180px; }
.viewer-media img, .viewer-media video { display: block; width: 100%; height: auto; max-height: calc(100svh - 245px); object-fit: contain; }
.viewer-footer { padding: 22px 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.viewer-detail { font-size: 9px; text-transform: uppercase; color: #c4b68e; margin-bottom: 8px; }
.viewer-footer h2 { font: 600 30px/1.1 var(--display); overflow-wrap: anywhere; }
.viewer-navigation { display: flex; gap: 12px; flex-shrink: 0; }
.viewer-body { padding: 0 24px 28px; max-width: 760px; }
.viewer-body p { font-size: 13px; color: #c3d0c5; margin-top: 14px; line-height: 1.9; }
.archive-viewer[data-kind=story] .viewer-media img { max-height: 40svh; }
@media (max-width: 1100px) { .navigation { gap: 18px; font-size: 11px; } .archive-grid { gap: 24px 16px; } }
@media (max-width: 900px) and (min-width: 761px) { .header-contact { display: none; } }
@media (max-width: 760px) {
  .community-section { scroll-margin-top: 72px; }
  .inside-heading { grid-template-columns: 1fr; gap: 22px; margin-bottom: 26px; }
  .inside-heading h2 { font-size: 49px; }
  .inside-intro { justify-self: start; font-size: 12px; }
  .archive-toolbar { gap: 14px; }
  .category-picker { margin-left: auto; }
  .category-picker > span { display: none; }
  .category-picker select { max-width: 150px; }
  .media-types button { min-width: 49px; padding-inline: 9px; }
  .archive-count { flex-basis: 100%; text-align: right; }
  .archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
  .moment-caption { padding-top: 12px; padding-right: 20px; }
  .moment-caption strong { font-size: 22px; }
  .moment-category { font-size: 8px; }
  .moment-caption > .archive-icon { width: 16px; height: 16px; top: 28px; }
  .journal-grid { grid-template-columns: 1fr; }
  .journal-copy > strong { font-size: 31px; }
  .archive-viewer { width: calc(100% - 20px); max-height: calc(100svh - 20px); }
  .viewer-top { padding: 8px 12px; }
  .viewer-footer { padding: 18px 14px; gap: 12px; align-items: flex-start; }
  .viewer-footer h2 { font-size: 25px; }
  .viewer-navigation { gap: 6px; }
  .viewer-icon { min-width: 38px; height: 40px; }
  .viewer-body { padding: 0 14px 22px; }
  .viewer-media img, .viewer-media video { max-height: calc(100svh - 230px); }
}
@media (max-width: 380px) { .category-picker { margin-left: 0; } .category-picker select { max-width: 128px; } .archive-grid { grid-template-columns: 1fr; } }
.division-3d-ready > :not(.division-canvas):not(.graphic-code):not(.graphic-label) { visibility: hidden; }
.division-visual .graphic-code, .division-visual .graphic-label { z-index: 1; pointer-events: none; color: #adc1bd; }
.division-visual .graphic-code { color: #e7c589; }
.division-visual .graphic-label { max-width: calc(100% - 56px); line-height: 1.6; }
@media (max-width: 1100px) { .division-copy { padding: 32px; } }
@media (max-width: 760px) {
  .divisions { scroll-margin-top: 84px; }
  .division-visual { min-height: 0; height: 340px; }
  .division-copy { padding: 30px; }
}
.scene-ready .hero-description { color: #aabcaf; }
@media (max-width: 1100px) { .hero-copy { width: 46%; } .hero-statement { font-size: 41px; } .hero-description { max-width: 300px; } .hero-actions { gap: 18px; flex-wrap: wrap; } }
@media (max-width: 760px) {
  .brand-logo { width: 154px; height: 29px; } .wordmark { gap: 8px; }
  .scene-running .hero { top: 72px; height: calc(100svh - 72px); min-height: 0; }
  .hero-copy { width: 100%; max-width: 420px; } .hero-logo { width: 350px; max-height: 70px; }
  .hero-statement { font-size: 36px; } .hero h1 { margin: 18px 0; }
  .scene-ready .hero-shade { background: linear-gradient(180deg, #0c1516bf, #0c1516c9 34%, transparent 61%); }
  .scene-ready .hero-actions { gap: 18px; margin-top: 20px; }
  .scene-ready .hero-description { margin-top: 15px; font-size: 11px; max-width: 310px; }
  .hero.scene-ready .eyebrow { margin-bottom: 12px; }
  .scene-label { font-size: 12px; gap: 6px; padding: 7px 6px; }
  .scene-reset { top: auto; right: 20px; bottom: 86px; width: 30px; height: 30px; font-size: 21px; }
  .journey-steps { gap: 3px; } .journey-steps button { min-width: 26px; }
  .journey-current { min-width: 115px; font-size: 8px; }
  .hero-baseline { gap: 8px; font-size: 8px; bottom: 20px; }
  .motion-label { font-size: 8px; } .motion-toggle { gap: 6px; }
}
@media (max-width: 380px) { .hero-statement { font-size: 32px; } .hero-baseline { gap: 5px; } .journey-steps { gap: 0; } .journey-steps button { min-width: 23px; } .journey-current { min-width: 95px; } .motion-label { font-size: 7px; } }
@media (prefers-reduced-motion: reduce) { .scroll-journey.scene-running { height: auto; } .scene-running .hero { position: relative; top: 0; } }
@media (min-width: 761px) and (max-height: 800px) {
  .scene-ready .hero-copy { padding-top: 0; }
  .scene-ready .hero-statement { font-size: 37px; }
  .scene-ready .hero-description { margin-top: 16px; }
  .scene-ready .hero-actions { margin-top: 20px; }
  .scene-ready .hero h1 { margin-block: 16px; }
}
@media (max-width: 760px) and (max-height: 760px) {
  .scene-ready .hero-inner { padding-top: 12px; }
  .scene-ready .hero-statement { font-size: 27px; }
  .scene-ready .hero h1 { margin-block: 12px; }
  .scene-ready .hero .hero-logo { width: 300px; }
  .scene-ready .hero-description { margin-top: 10px; font-size: 10px; line-height: 1.6; }
  .scene-ready .hero-actions { margin-top: 12px; gap: 14px; }
  .scene-ready .hero-actions .button { padding-inline: 12px; min-height: 40px; gap: 14px; font-size: 11px; }
  .scene-ready .hero-actions .text-link { font-size: 11px; gap: 10px; }
  .scene-ready .hero .eyebrow { margin-bottom: 8px; }
}
