/* Appearance and motion layer: same Weazel red in both themes. */
:root{color-scheme:light;--surface-soft:#eeeeec;--body-copy:#555;--border-soft:#e9e9e7}
:root[data-theme=dark]{color-scheme:dark;--bg:#111113;--paper:#1b1b1f;--ink:#f2f1ef;--muted:#adaeb5;--line:#34343b;--surface-soft:#25252b;--body-copy:#c2c2c8;--border-soft:#303037;--red:#e32337;--red-dark:#bd1426}
body{transition:background-color .35s,color .35s}.appearance-button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:20px;flex-shrink:0;transition:background .2s,transform .3s}.appearance-button:hover{transform:rotate(-10deg);color:var(--red)}#motion-toggle{font-size:15px}.header-actions{gap:14px}.header-actions>a:first-of-type{font-size:11px;border-bottom:1px solid #aaa;padding-bottom:5px}.header-actions>.button{border-bottom:0!important;padding:14px 19px!important}.mobile-nav-bar{display:none}.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:100;pointer-events:none;background:transparent}.reading-progress span{display:block;height:100%;width:100%;background:#ff5d6f;transform-origin:left;transform:scaleX(0)}.has-scrolled .main-nav{box-shadow:0 7px 30px #0005}.main-nav{transition:box-shadow .3s}
/* Dark surfaces, including the portal and form previews. */
[data-theme=dark] .news-card,[data-theme=dark] .panel,[data-theme=dark] .company-card,[data-theme=dark] .stat,[data-theme=dark] .module-link,[data-theme=dark] .team-card,[data-theme=dark] .admin-card,[data-theme=dark] .price-card:not(.featured),[data-theme=dark] .article-body,[data-theme=dark] .catalogue,[data-theme=dark] .table-wrap,[data-theme=dark] .map-module,[data-theme=dark] .folder-tabs button,[data-theme=dark] .breadcrumbs button,[data-theme=dark] .kanban>a{background:var(--paper);color:var(--ink);border-color:var(--line)}
[data-theme=dark] .wire,[data-theme=dark] .wire>small{background:var(--paper);color:var(--ink)}
[data-theme=dark] .mastline{border-color:var(--line)}[data-theme=dark] .logo i{background:repeating-linear-gradient(0deg,#fff 0 8px,transparent 8px 12px)}
[data-theme=dark] .logo b{background:#fff;color:#111}[data-theme=dark] .button.black{background:var(--red);color:#fff}
[data-theme=dark] .section-heading{border-color:#aaa}[data-theme=dark] .section-heading a,[data-theme=dark] .card-bottom,[data-theme=dark] .company-card small b{color:var(--muted)}
[data-theme=dark] .card-bottom,[data-theme=dark] .company-card small,[data-theme=dark] .map-list button,[data-theme=dark] .document-row,[data-theme=dark] .related-item,[data-theme=dark] .list-row,[data-theme=dark] .row,[data-theme=dark] .steps,[data-theme=dark] .ticket-info,[data-theme=dark] .progress-steps,[data-theme=dark] .reaction-bar,[data-theme=dark] td{border-color:var(--line)}
[data-theme=dark] .stat span,[data-theme=dark] .meta,[data-theme=dark] small,[data-theme=dark] .article-figure figcaption,[data-theme=dark] .article-byline small{color:var(--muted)}
[data-theme=dark] .article-body>p,[data-theme=dark] .message p{color:var(--body-copy)}[data-theme=dark] .article-body .lead-paragraph{color:var(--ink)}
[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#151518;border-color:#45454d;color:var(--ink)}[data-theme=dark] input[readonly]{background:#222227;color:var(--muted)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#9696a0}
[data-theme=dark] .source-box,[data-theme=dark] .notice,[data-theme=dark] .upload-preview,[data-theme=dark] .builder-field,[data-theme=dark] .mini-logo,[data-theme=dark] .kanban{background:var(--surface-soft);color:var(--body-copy)}[data-theme=dark] .upload-preview strong,[data-theme=dark] .builder-field{color:var(--ink)}[data-theme=dark] .upload-preview,[data-theme=dark] .builder-field{border-color:#4d4d57}
[data-theme=dark] .message>div{background:#28282f}[data-theme=dark] .message.own>div{background:#361d25}
[data-theme=dark] .badge{background:#303037;color:#d4d4dd}[data-theme=dark] .badge.red{background:var(--red);color:#fff}[data-theme=dark] .badge.amber{background:#3e3020;color:#f2ce8d}
[data-theme=dark] .bar{background:#36363e}[data-theme=dark] .topic-strip{border-color:#555}[data-theme=dark] .topic-strip button{color:#b5b5bc}[data-theme=dark] .topic-strip button.active{color:#ff6676}
[data-theme=dark] .company-monogram{border-color:var(--paper)}[data-theme=dark] .company-card p{color:var(--muted)}[data-theme=dark] .chart{border-color:#555}[data-theme=dark] .progress-steps b{color:#bdbdc6}[data-theme=dark] .progress-steps .current{color:#ff6676}
[data-theme=dark] .calendar-days .has-event{background:#352027}[data-theme=dark] .calendar-days small{color:#ff8190}[data-theme=dark] .calendar-days>div{border-color:var(--line)}[data-theme=dark] .folder-tabs .active{background:var(--red);color:white}
[data-theme=dark] .pdf-preview{background:#fff;color:#111}[data-theme=dark] .pdf-preview small{color:#777}[data-theme=dark] .map-label,[data-theme=dark] .map-credit{color:#111}[data-theme=dark] .map-list strong{color:var(--ink)}[data-theme=dark] .map-list button:hover strong{color:#ff6676}
[data-theme=dark] .dark-section{background:#080809}[data-theme=dark] .dark-section .section-heading{border-color:#444}[data-theme=dark] .membership .button.white{color:#111}[data-theme=dark] .membership-stack>div{background:#fff;color:#111}[data-theme=dark] .membership-stack span{color:#777}[data-theme=dark] .footer-links p{color:#aaa}
/* Entrances and touch-safe feedback. Animations never change page geometry. */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:none}.news-card,.company-card,.team-card,.admin-card,.module-link,.price-card{transition:border-color .25s,box-shadow .3s,transform .4s,opacity .65s}.news-card:hover,.team-card:hover,.admin-card:hover,.module-link:hover{border-color:var(--red);box-shadow:0 12px 30px #00000012}.button{position:relative;overflow:hidden}.button:after{content:'';position:absolute;inset:-100% auto -100% -90%;width:40%;background:linear-gradient(90deg,transparent,#ffffff35,transparent);transform:rotate(25deg);transition:left .65s;pointer-events:none}.button:hover:after{left:140%}.button>span{transition:transform .25s}.button:hover>span{transform:translate(3px,-3px)}
.lead-story:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(350px circle at var(--pointer-x,70%) var(--pointer-y,30%),#ffffff18,transparent 70%);z-index:0}.lead-caption,.lead-top{z-index:1}.lead-top>span:first-child:before{animation:signal-pulse 2.5s ease-in-out infinite}.lead-caption h2{animation:headline-enter .8s cubic-bezier(.2,.8,.2,1) both}.lead-caption p{animation:headline-enter .9s .12s both}.lead-caption>div{animation:headline-enter .9s .2s both}
.membership,.rail-ad{position:relative;isolation:isolate}.membership:after,.rail-ad:after{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at var(--pointer-x,80%) var(--pointer-y,20%),#ffffff18,transparent 60%),repeating-linear-gradient(135deg,transparent 0 45px,#ffffff05 45px 46px);animation:ambient-pan 16s ease-in-out infinite alternate}.membership-stack{animation:stack-float 7s ease-in-out infinite}.map-pin:after{content:'';position:absolute;inset:-6px;border:1px solid #ce142590;border-radius:50%;animation:map-pulse 4s ease-out infinite;pointer-events:none}.map-pin:nth-of-type(2n):after{animation-delay:1.8s}.map-pin:nth-of-type(3n):after{animation-delay:2.8s}.map-pin:hover>span{background:#111}.map-pin>span{transition:background .2s,box-shadow .2s}.player-center>button{animation:play-breathe 4s ease-in-out infinite}.wave i{animation:wave-dance 1.7s ease-in-out infinite alternate;transform-origin:center}.wave i:nth-child(3n){animation-delay:-.5s}.wave i:nth-child(2n){animation-delay:-1s}.image-arrow{transition:background .25s,transform .25s}.card-image:hover .image-arrow{background:var(--red);transform:translate(2px,-2px)}.save:active{transform:scale(1.12)}
@keyframes headline-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes signal-pulse{50%{box-shadow:0 0 0 5px #e3233700;opacity:.5}}@keyframes ambient-pan{to{background-position:40px 0}}@keyframes stack-float{50%{transform:rotate(-2deg) translateY(-7px)}}@keyframes map-pulse{0%{transform:scale(.6);opacity:0}20%{opacity:.8}85%,100%{transform:scale(1.35);opacity:0}}@keyframes play-breathe{50%{box-shadow:0 0 0 14px #ffffff0a}}@keyframes wave-dance{to{transform:scaleY(.35)}}
@media(hover:hover) and (pointer:fine){.news-card.is-visible:hover,.company-card.is-visible:hover,.team-card.is-visible:hover,.admin-card.is-visible:hover,.module-link.is-visible:hover{transform:translateY(-5px)}.price-card.is-visible:hover{transform:translateY(-7px)}}
/* Tablet and phone: real menu, touch targets and readable one-column content. */
@media(max-width:1100px){.header-actions>a:first-of-type{display:none}.header-actions{gap:10px}}
@media(max-width:850px){.mobile-nav-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 4%;min-height:52px}.mobile-nav-bar>span{font-size:13px;font-weight:900;letter-spacing:1px}.mobile-nav-bar small{color:#ffbcc6;font-size:8px;letter-spacing:1.5px;margin-left:12px}.mobile-nav-bar button{display:flex;align-items:center;gap:12px;min-height:34px;color:#fff;font-size:10px;font-weight:800;letter-spacing:1px}.menu-icon{width:18px;height:12px;position:relative;border-top:2px solid white;border-bottom:2px solid white;transition:transform .25s}.menu-icon:after{content:'';position:absolute;left:0;right:0;top:3px;height:2px;background:white}.menu-open .menu-icon{transform:rotate(90deg)}.main-nav{overflow:visible}.nav-inner{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 80px);overflow-y:auto;background:#b71022;padding:12px 4% 22px;box-shadow:0 20px 25px #0004;grid-template-columns:1fr 1fr;gap:0 22px}.menu-open .nav-inner{display:grid;animation:menu-enter .25s ease-out}.nav-inner a,.nav-inner button{padding:18px 5px;font-size:11px;min-height:49px;border-bottom:1px solid #ffffff25;white-space:normal;line-height:1.5}.nav-inner button{margin:0;text-align:left;color:#fff}.nav-inner a:after{display:none}.nav-inner a.active{background:#ffffff15;padding-left:12px}.portal-nav{scroll-snap-type:x proximity}.portal-nav>a{scroll-snap-align:start;min-height:46px}.folder-tabs button{min-height:42px}.map-list button{min-height:56px}.save{min-height:34px}.reading-progress{height:2px}.breadcrumbs{flex-wrap:wrap}.appearance-button{width:38px;height:40px}.map-pin{padding:6px;min-width:40px;min-height:40px}.map-pin:after{inset:0}.profile-layout .panel{min-width:0}.steps{line-height:1.6}}
@keyframes menu-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:540px){.masthead{padding-block:20px;gap:12px;flex-wrap:wrap}.header-actions{margin-left:auto;gap:7px}.appearance-button{width:35px;height:38px;font-size:19px}.header-actions>.button{padding:12px!important;font-size:8px;gap:10px;min-height:38px}.logo{width:144px;grid-template-rows:23px 22px}.logo b{font-size:23px}.logo>span{font-size:23px}.lead-side{grid-template-columns:1fr}.lead-side .news-card{display:grid;grid-template-columns:38% minmax(0,1fr);min-height:190px}.lead-side .card-image{height:100%;aspect-ratio:auto}.lead-side .card-copy{padding:17px}.lead-side h3{font-size:26px}.lead-side .card-bottom{font-size:8px}.lead-side .save{font-size:9px}.lead-story{min-height:530px}.lead-caption h2{font-size:42px}.article-byline .save{margin-left:0}.reading-layout{gap:20px}.article-body{padding:22px 18px}.fields{gap:22px}input,select,textarea{font-size:16px;min-height:46px}.button{min-height:44px}.three-grid,.two-grid,.article-grid{gap:20px}.four-grid{grid-template-columns:1fr 1fr}.company-card p{min-height:0}.company-card h3{overflow-wrap:anywhere}.footer-links{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-links a{min-height:28px;line-height:1.6}.footer-links p{grid-column:1/-1}.org-header{gap:14px}.portal-content .stats{gap:10px}.portal-title>.badge{white-space:normal}.reaction-bar{gap:10px}.reaction-bar button{min-height:40px}.message>div{max-width:calc(100% - 43px)}.map-sidebar{padding:22px}.map-label{pointer-events:none}.home-heading h1{font-size:43px}.calendar{overflow:hidden}.calendar-days small{overflow-wrap:anywhere}}
@media(max-width:370px){.masthead .logo{width:125px;grid-template-rows:20px 20px;grid-template-columns:1fr 18px}.masthead .logo b{font-size:20px}.masthead .logo>span{font-size:21px}.header-actions{gap:5px}.appearance-button{width:31px}.header-actions>.button{font-size:7px;padding:11px 8px!important;gap:6px}.home-heading h1{font-size:38px}.page-heading h1{font-size:43px}.lead-caption h2{font-size:37px}.four-grid{grid-template-columns:1fr}.footer-top{gap:20px;flex-wrap:wrap}.footer-top h2{font-size:31px}.stats{grid-template-columns:1fr 1fr}.stats .stat:last-child:nth-child(odd){grid-column:1/-1}}
/* User pause and OS accessibility preferences both stop every decorative motion. */
html[data-motion=paused] *,html[data-motion=paused] *:before,html[data-motion=paused] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-motion=paused] .reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
@media print{.appearance-button,.mobile-nav-bar,.main-nav,.reading-progress,#top{display:none!important}.reveal{opacity:1!important;transform:none!important}body{background:#fff!important;color:#111!important}}
@media(max-width:540px){.masthead .logo{width:132px;grid-template-columns:1fr 20px}.masthead .logo b{font-size:22px}.masthead .logo>span{font-size:23px}}
@media(max-width:370px){.masthead .logo{width:108px;grid-template-columns:1fr 16px}.masthead .logo b{font-size:18px;letter-spacing:-1.5px}.masthead .logo>span{font-size:20px;letter-spacing:2px}}
@media(max-width:370px){.dark-section{margin-inline:0;padding-inline:14px}}
