/* ChantierBot — identity system 2026 */
:root{--ink:#0B1C2B;--muted:#657180;--coral:#FFBA18;--red:#FFBA18;--red2:#ECA400;--line:#DCE3E8;--shell:#F7F8F6;--lavender:#F4F5F1;--dark:#0B1C2B;--soft:#FFF4D5;--font:'Outfit',system-ui,sans-serif}
body{background:#fff;color:var(--ink)}
h1,h2,h3,.brand-text{font-family:var(--font);letter-spacing:-.055em}
.brand-text{font-weight:800;font-size:24px;letter-spacing:-.065em}
.brand-text>span{margin-left:0;color:#FFBA18}
.brand-mark{width:41px;height:41px}
.site-header{background:rgba(255,255,255,.96);border-bottom-color:#E4E9EC}
.hero{background:linear-gradient(180deg,#F9FAF8 0%,#F2F5F5 100%)}
.hero-pill{color:#0B1C2B;background:#FFF4D5;border-color:#F4D983}
.hero h1{letter-spacing:-.075em;font-weight:800;font-size:clamp(49px,6.6vw,92px)}
.hero h1 span{color:#D99A00}
.hero-content>p{font-size:17px;max-width:700px;color:#4D5D69}
.hero-content>p strong{color:#0B1C2B}
.btn-red,.header-cta{background:#FFBA18;color:#0B1C2B;border-radius:10px}
.btn-red:hover,.header-cta:hover{background:#F1A900;color:#0B1C2B;box-shadow:0 8px 24px #FFBA1845}
.btn-outline{border-color:#CBD5DB}
.hero-stage{background:linear-gradient(145deg,#0B1C2B,#163248 70%,#2B4657);border-color:#0B1C2B}
.stage-orbit{border-color:#ffffff1a}
.hero-dashboard{box-shadow:0 30px 80px #0005}
.dash-side{background:#0B1C2B}
.dash-active .icon,.dash-brand b span{color:#FFBA18}
.float-note-icon,.app-icon,.challenge-index{background:#FFF3CE;color:#A87500}
.platform-band{background:#0B1C2B;color:#fff;border:0}
.platform-band h2,.platform-band h2 span{color:#fff}
.platform-band h2 span,.eyebrow-light{color:#FFBA18}
.platform-band .band-text p{color:#C4D1DB}
.platform-band .pillars>span{background:#173145;color:#fff;border-color:#335064}
.platform-band .pillars span:before{color:#FFBA18}
.platform-band .light-link{color:#FFBA18}
.apps-section,.challenges,.role-section,.approach-section{background:#fff}
.challenge,.app-card,.steps,.role-preview{background:#F7F9F8;border-color:#E1E8E9}
.app-card:hover{border-color:#FFBA18;box-shadow:0 16px 36px #0B1C2B12}
.story-section,.assist-section{background:#F4F6F4}
.contact-section{background:#F4F6F4}
.contact-panel{border-color:#DCE3E8}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#DDA100;box-shadow:0 0 0 3px #FFBA182b}
.privacy-label input{accent-color:#D99A00}
.site-footer{background:#0B1C2B;color:#fff;border-color:#1F394C}
.site-footer .brand-text,.site-footer .footer-brand{color:#fff}
.site-footer .footer-main p,.site-footer .back-top,.site-footer .footer-bottom{color:#B9C8D3}
.site-footer .footer-bottom{border-color:#284052}
@media(max-width:600px){.brand-text{font-size:21px}.brand-mark{width:34px;height:34px}.hero h1{font-size:clamp(43px,10vw,60px)}}
/* Three deliberate mascot moments — quiet, purposeful, no animation */
.mascot-moment{display:flex;align-items:center;gap:18px;max-width:490px;padding:12px 18px 12px 8px;border:1px solid #DFE6E7;border-radius:18px;background:#fff;box-shadow:0 12px 30px #0B1C2B0b}
.mascot-moment img{width:105px;height:96px;object-fit:contain;flex:none}
.mascot-moment div{display:flex;flex-direction:column;gap:5px}
.mascot-moment strong{font-size:15px;line-height:1.3;letter-spacing:-.025em;color:#0B1C2B}
.mascot-moment span{font-size:12px;line-height:1.55;color:#657180}
.mascot-moment-platform{position:relative;z-index:2;margin-top:40px;margin-bottom:-25px;margin-left:auto;margin-right:auto;max-width:470px;background:#173145;border-color:#3A566A}
.mascot-moment-platform strong{color:#fff}.mascot-moment-platform span{color:#CFDAE2}
.mascot-moment-assist{margin-top:24px;max-width:430px}
.mascot-moment-contact{margin-top:30px;max-width:425px}
.mascot-success{display:flex;align-items:center;gap:12px}.mascot-success img{width:78px;height:72px;object-fit:contain;flex:none}.mascot-success div{display:flex;flex-direction:column;gap:5px}.mascot-success strong{font-size:15px;color:#0B1C2B}.mascot-success span{font-size:12px;line-height:1.5}
@media(max-width:600px){.mascot-moment{gap:8px;padding:9px 12px 9px 3px}.mascot-moment img{width:78px;height:78px}.mascot-moment strong{font-size:13px}.mascot-moment span{font-size:11px}.mascot-moment-platform{margin-bottom:0;margin-top:26px}}
@media(prefers-reduced-motion:reduce){.mascot-moment,.mascot-moment img{animation:none!important;transition:none!important}}
/* Accessible floating return-to-top control */
.mobile-toggle{color:#E6A100;border-color:#F4D67C}
.mobile-toggle .icon{color:#E6A100;stroke:#E6A100;stroke-width:2.4}
.mobile-toggle:hover,.mobile-toggle:focus-visible{background:#FFF4D5;border-color:#FFBA18}
.floating-back-top{position:fixed;right:clamp(16px,2.5vw,38px);bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:110;display:flex;align-items:center;gap:9px;padding:11px 15px;border:1px solid #355067;border-radius:999px;background:#0B1C2B;color:#fff;box-shadow:0 8px 28px #0B1C2B28;font-size:12px;font-weight:700;letter-spacing:.01em;opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s ease,background .2s ease}
.floating-back-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.floating-back-top:hover,.floating-back-top:focus-visible{background:#17364B;border-color:#FFBA18;outline-offset:3px}
.floating-back-top svg{width:17px;height:17px;stroke:#FFBA18;stroke-width:2.3;fill:none;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:600px){.floating-back-top{right:14px;bottom:calc(16px + env(safe-area-inset-bottom,0px));padding:10px 13px}}
@media(prefers-reduced-motion:reduce){.floating-back-top{transition:none}}
/* 3D-styled mascot: slightly larger without dominating content */
.mascot-moment img{width:116px;height:106px;object-fit:contain}
.mascot-moment-platform{background:#173145}
.mascot-success img{width:90px;height:80px}
@media(max-width:600px){.mascot-moment img{width:85px;height:80px}}