/* Project Sol site layer. Loads after /assets/vendor/cyberpulse/cyberpulse.css (the licensed
   vendor theme system, night mode) and maps Sol's components onto its tokens: brand colour,
   crop corners, notched form fields, styled headings, glitch hovers, footer notch.
   Page markup keeps the Sol class names (.card, .btn, .msg, .tag ...) so the page scripts are unchanged. */

/* ---------- Tokens ---------- */
:root{
  /* Theme customizer values: brand = Sol amber (launcher sun). */
  --cpl-color-brand:#ffb648;--cpl-color-brand-rgb:255,182,72;
  --cpl-color-glitch-1:#ff5b3a;--cpl-color-glitch-2:#83f6e2;
  --cpl-container__padding:16px;

  /* Purista (the demo's Adobe font) is not redistributable; Chakra Petch stands in for display text,
     Inter is the theme's own body font from the Toxic demo. */
  --font-head:"Chakra Petch","Segoe UI Variable",system-ui,sans-serif;
  --font-body:"Inter","Segoe UI Variable",system-ui,sans-serif;

  /* Sol names used by the page scripts / inline styles, resolved to theme values. */
  --bg:hsl(0,0%,5%);--bg2:hsl(var(--cpl-color-background-100));--panel:hsl(0,0%,9%);
  --accent:var(--cpl-color-brand);--accent-hi:#ffcb7a;--accent-ink:#141006;--accent-rgb:var(--cpl-color-brand-rgb);
  --text:hsl(var(--cpl-color-contrast-100));--muted:hsl(var(--cpl-color-contrast-300));--faint:hsl(0,0%,52%);
  --line:hsla(0,0%,100%,.1);--line-strong:hsla(0,0%,100%,.24);
  --ok:#5fd38a;--bad:#f07a7a;
  --cut-xs:5px;--cut:14px;--cut-sm:8px;--bar-h:64px;
  --chamfer:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));
  --chamfer-xs:polygon(var(--cut-xs) 0,100% 0,100% calc(100% - var(--cut-xs)),calc(100% - var(--cut-xs)) 100%,0 100%,0 var(--cut-xs));
  --chamfer-sm:polygon(var(--cut-sm) 0,100% 0,100% calc(100% - var(--cut-sm)),calc(100% - var(--cut-sm)) 100%,0 100%,0 var(--cut-sm));
  --sun-2:#ff7a2f;
  --sun-grad:linear-gradient(100deg,#ffd88a,var(--accent) 50%,#ff9a45);
  --sun-shimmer:linear-gradient(100deg,#ffe0a0,var(--accent) 25%,var(--sun-2) 50%,var(--accent) 75%,#ffe0a0);
  font-family:var(--font-body);font-size:16px;color:var(--text);
}
html.cpl-night-mode{--cpl-color-background:var(--bg)}
@keyframes sun-shimmer{from{background-position:0% 50%}to{background-position:200% 50%}}

/* ---------- Base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--bar-h) + 10px);background:var(--bg);overflow-x:clip}
body{margin:0;min-height:100vh;padding-top:var(--bar-h);background:transparent;font-family:var(--font-body);font-size:16px;
  line-height:1.6;letter-spacing:.01em;color:var(--muted);overflow-x:clip}
a{color:var(--accent)}
a:hover{color:var(--text)}
[hidden]{display:none!important}
img{display:inline-block}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px;width:100%}
p{margin:.3em 0 1em;color:var(--muted)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-head);font-weight:700;text-transform:uppercase;color:var(--text);margin:0 0 .45em;line-height:1.1;letter-spacing:.02em}
h1:first-child,h2:first-child,h3:first-child,h4:first-child{margin-top:0}
h2{font-size:clamp(1.9rem,5vw,3rem)}
h3{font-size:1.05rem;letter-spacing:.06em}
code,kbd{font-family:Consolas,monospace;font-size:.9em;background:hsl(var(--cpl-color-background-200));padding:0 5px}
pre{font-family:Consolas,"Courier New",monospace}
::selection{background:var(--accent);color:var(--accent-ink)}

/* Theme "styled" heading: the notched brand line above the title (theme .is-style-cpl-styled). */
.block>h2,.cpl-styled{position:relative}
.block>h2::before,.cpl-styled::before{display:block;width:100px;margin-bottom:14px;content:"";border-top:3px solid var(--accent);
  clip-path:polygon(0 calc(100% - 1px),2px 0,40px 0,42px calc(100% - 1px),100% calc(100% - 1px),100% 100%,0 100%)}
.cpl-styled.center::before{margin-left:auto;margin-right:auto}

/* ---------- Top bar (theme navbar: transparent at the top, solid once scrolled) ---------- */
.topbar{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--bar-h);background:hsla(0,0%,5%,.55);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid transparent;
  font-family:var(--font-head);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.08em;
  transition:background-color .15s ease-in-out,border-color .15s ease-in-out,transform .2s ease-in-out}
.topbar.cpl-navbar-scroll{background:hsla(0,0%,7%,.96);border-bottom-color:var(--line)}
.topbar.cpl-navbar-hide{transform:translateY(-100%)}
.topbar>.wrap{height:var(--bar-h);max-width:none;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding-left:clamp(16px,2.5vw,36px);padding-right:clamp(16px,2.5vw,36px)}
.logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:700;font-size:1.15rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--text);text-decoration:none;white-space:nowrap}
.logo img{width:30px;height:30px;display:block}
.logo:hover{color:var(--text)}
.logo b,.hero h1 b,.soon h1 b{background:var(--sun-shimmer);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;animation:sun-shimmer 6s linear infinite}
.topbar nav{display:flex;gap:6px;align-items:center;flex:none}
.topbar nav a.txt{position:relative;color:var(--text);text-decoration:none;padding:8px 12px;font-size:13px;letter-spacing:.08em}
.topbar nav a.txt:hover,.topbar nav a.txt.on{color:var(--accent)}
/* active link: the theme's small brand notch under the label */
.topbar nav a.txt.on::after{content:"";position:absolute;left:12px;right:12px;bottom:0;border-top:2px solid var(--accent);
  clip-path:polygon(0 0,100% 0,calc(100% - 2px) 100%,2px 100%)}
.topbar .tag,.topbar .ibtn,.topbar button.small,.topbar .btn.small{height:36px;box-sizing:border-box;margin:0}
.topbar nav [data-staff]{margin-right:4px}
.ibtn{display:inline-flex;align-items:center;justify-content:center;width:36px;color:var(--text);border:1px solid var(--line-strong);clip-path:var(--chamfer-xs)}
.ibtn:hover{border-color:var(--accent);color:var(--accent)}
.ibtn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* phone: text links fold into the toggle panel (assets/ui.js adds .nav-toggle) */
.nav-toggle{display:none}
@media(max-width:640px){
  .topbar nav a.txt{display:none}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:36px;padding:0;margin-left:2px;
    --cpl-btn__background-color:transparent;--cpl-btn__color:var(--text);clip-path:none;order:9}
  .nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;width:22px;height:2px;background:currentColor;position:relative;transition:transform .2s}
  .nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0}
  .nav-toggle span::before{top:-7px}.nav-toggle span::after{top:7px}
  .topbar.nav-open .nav-toggle span{background:transparent}
  .topbar.nav-open .nav-toggle span::before{transform:translateY(7px) rotate(45deg)}
  .topbar.nav-open .nav-toggle span::after{transform:translateY(-7px) rotate(-45deg)}
  .topbar.nav-open{background:hsla(0,0%,7%,.98)}
  .topbar.nav-open nav{position:absolute;top:var(--bar-h);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    background:hsla(0,0%,7%,.98);border-bottom:1px solid var(--line);padding:6px 16px 16px}
  .topbar.nav-open nav a.txt{display:block;font-size:20px;padding:12px 0;border-bottom:1px solid var(--line)}
  .topbar.nav-open nav a.txt.on::after{display:none}
  .topbar.nav-open nav .btn,.topbar.nav-open nav button{margin-top:12px;height:44px}
  .logo{font-size:1rem;letter-spacing:.12em}
}

/* ---------- Buttons (theme buttons: brand fill, crop corners, invert on hover, glitch) ---------- */
button,.btn,input[type=submit]{
  --cpl-btn__padding-v:.95em;--cpl-btn__padding-h:1.7em;--cpl-btn__font-size:.8rem;--cpl-btn__crop:8px;
  --cpl-btn__background-color:hsl(var(--cpl-color-background-300));--cpl-btn__color:var(--text);
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:var(--cpl-btn__padding-v) var(--cpl-btn__padding-h);font-family:var(--font-head);font-size:var(--cpl-btn__font-size);
  font-weight:600;line-height:1;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap;
  color:var(--cpl-btn__color);background-color:var(--cpl-btn__background-color);border:0;border-radius:0;cursor:pointer;
  clip-path:polygon(0 var(--cpl-btn__crop),var(--cpl-btn__crop) 0,100% 0,100% calc(100% - var(--cpl-btn__crop)),calc(100% - var(--cpl-btn__crop)) 100%,0 100%)}
.btn.primary,button.primary,.btn.big,.btn.brand{--cpl-btn__background-color:var(--cpl-color-brand);--cpl-btn__color:hsl(var(--cpl-color-black))}
button.danger,.btn.danger{--cpl-btn__background-color:hsla(4,70%,62%,.22);--cpl-btn__color:var(--bad)}
.btn:not(.off):hover,.btn:focus-visible,button:not([disabled]):hover,button:focus-visible{--cpl-btn__background-color:hsl(var(--cpl-color-contrast-100));--cpl-btn__color:hsl(var(--cpl-color-contrast-900));color:var(--cpl-btn__color)}
button.danger:not([disabled]):hover{--cpl-btn__background-color:var(--bad);--cpl-btn__color:#140404}
.btn.on{--cpl-btn__background-color:var(--cpl-color-brand);--cpl-btn__color:#000}
button:disabled{opacity:.45;cursor:not-allowed}
.btn.big{--cpl-btn__padding-v:1.35em;--cpl-btn__padding-h:2.6em;--cpl-btn__font-size:.95rem;--cpl-btn__crop:12px;letter-spacing:.14em;font-weight:700}
.btn.ghost{--cpl-btn__background-color:hsla(0,0%,100%,.1);--cpl-btn__color:var(--text);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
button.small,.btn.small{--cpl-btn__padding-v:0;--cpl-btn__padding-h:14px;--cpl-btn__font-size:.72rem;--cpl-btn__crop:6px;height:34px}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:600px){.btn.big{--cpl-btn__padding-h:1.6em;--cpl-btn__font-size:.88rem;width:100%}}

/* ---------- Cards / panels ---------- */
.card{position:relative;padding:1px;background:var(--line);clip-path:var(--chamfer)}
.card>.in{position:relative;height:100%;padding:20px;background:var(--panel);clip-path:var(--chamfer)}
.card.corners>.in::before,.card.corners>.in::after{content:"";position:absolute;width:12px;height:12px;border:2px solid var(--accent);pointer-events:none}
.card.corners>.in::before{right:7px;top:7px;border-left:0;border-bottom:0}
.card.corners>.in::after{left:7px;bottom:7px;border-right:0;border-top:0}
.card:hover{background:hsla(0,0%,100%,.16)}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.grid>.card{height:100%}
.panel{max-width:460px;margin:40px auto}
.ticks{height:10px;opacity:.5;background:repeating-linear-gradient(90deg,var(--line-strong) 0 1px,transparent 1px 10px);margin:8px 0 22px}
.brackets{position:relative}
.brackets::before,.brackets::after{content:"";position:absolute;width:22px;height:22px;border:2px solid var(--accent);pointer-events:none;z-index:2}
.brackets::before{left:-6px;top:-6px;border-right:0;border-bottom:0}
.brackets::after{right:-6px;bottom:-6px;border-left:0;border-top:0}

/* ---------- Forms (theme fields: tinted fill, 4px bottom rule, notched edge) ---------- */
label{display:block;margin:12px 0 6px;font-family:var(--font-head);font-size:.76rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=submit]):not([type=button]),textarea,select{
  --cpl-form__border-color:hsla(0,0%,100%,.28);
  display:block;width:100%;min-height:44px;padding:10px 14px;font:inherit;font-size:.95rem;font-weight:500;line-height:1.4;color:var(--text);
  background-color:hsla(0,0%,100%,.05);border:0;border-bottom:3px solid var(--cpl-form__border-color);border-radius:0;outline:0;
  -webkit-appearance:none;appearance:none;transition:border-color .15s,background-color .15s;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 3px),calc(100% - 2px) calc(100% - 2px),102px calc(100% - 2px),100px 100%,4px 100%,0 calc(100% - 4px))}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=submit]):not([type=button]):focus,textarea:focus,select:focus{
  --cpl-form__border-color:var(--accent);background-color:hsla(0,0%,100%,.08)}
input::placeholder,textarea::placeholder{color:hsl(0,0%,50%)}
textarea{min-height:110px;resize:vertical}
select{width:auto;padding-right:36px;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3e%3cpath fill='none' d='M15 7.5L12 4.5L9 7.5M9 16.5L12 19.5L15 16.5' stroke='%23999999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
  background-repeat:no-repeat;background-position:calc(100% - 10px) center;background-size:18px}
select option{background:#151515;color:var(--text)}
input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);caret-color:var(--text);
  -webkit-box-shadow:0 0 0 1000px #17150f inset;box-shadow:0 0 0 1000px #17150f inset;transition:background-color 9999s}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.row>input{flex:1;min-width:140px;width:auto!important}
.msg{min-height:1.3em;font-size:.9rem;color:var(--muted)}
.msg.err{color:var(--bad)}.msg.ok{color:var(--ok)}

/* ---------- Data bits ---------- */
.tag{display:inline-flex;align-items:center;height:28px;vertical-align:middle;padding:0 10px;font-family:var(--font-head);font-size:.7rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:hsla(0,0%,100%,.06);clip-path:var(--chamfer-xs)}
.tag.on{color:#000;background:var(--accent)}
.logo .tag{height:22px;font-size:.62rem;color:var(--accent);background:rgba(var(--accent-rgb),.12)}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--text)}
th{color:var(--faint);font-family:var(--font-head);font-weight:600;text-transform:uppercase;font-size:.7rem;letter-spacing:.1em}
.scroll{overflow-x:auto}
.avatar{width:56px;height:56px;object-fit:cover;background:#222;clip-path:var(--chamfer-sm)}
.list{list-style:none;margin:0;padding:0}
.list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);color:var(--text)}
.list li:last-child{border:0}
.list .grow{flex:1;min-width:0;overflow-wrap:anywhere}
.dot{width:9px;height:9px;background:var(--faint);flex:none;transform:rotate(45deg)}
.dot.ingame{background:var(--accent)}.dot.launcher{background:#ff7a2f}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 18px}
.tabs button.on{--cpl-btn__background-color:var(--cpl-color-brand);--cpl-btn__color:#000}
pre.out{margin:10px 0 0;padding:12px;max-height:260px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.84rem;line-height:1.5;
  color:var(--muted);background:hsl(var(--cpl-color-background-100));border-left:3px solid var(--accent)}
section.block{margin:0 0 72px}

/* ---------- Hero (home) ---------- */
.hero{position:relative;isolation:isolate;min-height:calc(100svh - var(--bar-h));display:grid;align-items:center;padding:clamp(48px,10vh,120px) 0 clamp(56px,10vh,110px);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,var(--bg) 0%,hsla(0,0%,5%,.86) 38%,hsla(0,0%,5%,.35) 100%),
    url("/assets/sunrise-field.png") 70% center/cover no-repeat;
  -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}
.hero-inner{max-width:720px}
.hero .kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;font-family:var(--font-head);font-weight:600;font-size:.8rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.hero .kicker::before{content:"";width:42px;border-top:2px solid var(--accent)}
.hero h1{font-size:clamp(3.2rem,11vw,6.5rem);line-height:.95;letter-spacing:.04em;margin:0 0 22px}
.tagline{font-size:clamp(1.05rem,2.2vw,1.25rem);line-height:1.6;color:hsl(0,0%,82%);max-width:560px;margin:0 0 30px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.platforms{margin-top:22px;display:flex;gap:14px;font-family:var(--font-head);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.platforms span+span::before{content:"//";margin-right:14px;color:var(--accent)}
.hero .scroll-hint{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);width:2px;height:46px;background:linear-gradient(var(--accent),transparent);opacity:.7}

/* ---------- Steps (home) ---------- */
.steps{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
.step>.in{padding:26px 24px 24px}
.step .num{display:block;font-family:var(--font-head);font-weight:700;font-size:2.6rem;line-height:1;color:transparent;-webkit-text-stroke:1px var(--accent);margin-bottom:14px}
.step h3{margin-bottom:8px}
.step p{margin:0;font-size:.95rem}
@media(max-width:820px){.steps{grid-template-columns:minmax(0,1fr)}}

/* ---------- Band (call to action) ---------- */
.band{position:relative;margin:0 0 72px;padding:clamp(36px,6vw,64px) clamp(20px,5vw,60px);background:var(--accent);color:#000;
  clip-path:polygon(0 24px,24px 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%);overflow:hidden}
.band::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(0,0,0,.06) 0 2px,transparent 2px 14px);pointer-events:none}
.band>*{position:relative;z-index:1}
.band h2{color:#000;margin-bottom:10px}
.band p{color:rgba(0,0,0,.72);font-size:1.05rem;max-width:560px}
.band .btn{--cpl-btn__background-color:#000;--cpl-btn__color:var(--accent)}
.band .btn:hover{--cpl-btn__background-color:#fff;--cpl-btn__color:#000}

/* ---------- News ---------- */
.news-post{margin-bottom:16px}
.news-post h3{font-size:1.25rem;margin-bottom:6px}
.news-post .meta{margin-bottom:10px;font-family:var(--font-head);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.news-post .body{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}
.news-post img{display:block;max-width:100%;margin-top:12px;clip-path:var(--chamfer-sm)}

/* ---------- Coming soon / ghost text ---------- */
.ghost-bg{position:relative;overflow:hidden}
.ghost-bg::before{content:attr(data-t);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--font-head);font-weight:700;
  font-size:clamp(4rem,16vw,12rem);white-space:nowrap;color:transparent;-webkit-text-stroke:1px hsla(0,0%,100%,.07);pointer-events:none}
.ghost-bg>*{position:relative;z-index:1}
.soon{min-height:50vh;display:grid;place-items:center;text-align:center;padding:60px 16px}
.soon h1{font-size:clamp(3rem,13vw,9rem);letter-spacing:.04em;line-height:.9}
.soon p{font-size:1.1rem;max-width:520px;margin:0 auto 22px}
.soon.compact{min-height:0;padding:36px 16px}.soon.compact h1{font-size:clamp(2rem,7vw,3.6rem)}

/* ---------- Footer (theme footer copyright with the centre notch) ---------- */
.site-footer{position:relative;margin-top:40px;padding:0 16px;color:var(--faint);font-size:.85rem}
.site-footer .cpl-footer-copyright{max-width:1180px;margin:0 auto;padding:34px 0 30px;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;justify-content:space-between;color:var(--faint)}
.site-footer .cpl-footer-copyright::before{border-top-color:hsla(0,0%,100%,.1)}
.site-footer p{margin:0;color:var(--faint)}
.site-footer nav{display:flex;gap:18px;font-family:var(--font-head);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}
.site-footer nav a{color:var(--muted);text-decoration:none}
.site-footer nav a:hover{color:var(--accent)}
@media(max-width:600px){.site-footer .cpl-footer-copyright{flex-direction:column;text-align:center}}

/* ---------- Theme effects ---------- */
.cpl-page-noise{--cpl-page-noise__z-index:1;opacity:.5}
.cpl-scroll-progress-bar{--cpl-scroll-progress-bar__background-color:hsl(var(--cpl-color-background-100));--cpl-scroll-progress-bar__height:120px;
  --cpl-scroll-progress-bar--line__height:100px;left:28px;color:var(--accent)}
@media(max-width:1300px){.cpl-scroll-progress-bar{display:none}}
/* glitch hover keeps the button's own colours */
.cpl-glitch-button .cpl-glitch-background::before,.cpl-glitch-button .cpl-glitch-background::after{background-color:var(--cpl-btn__background-color)}
.cpl-glitch-text .cpl-glitch-wrapper{white-space:nowrap}
@media (prefers-reduced-motion:reduce){
  .logo b,.hero h1 b,.soon h1 b{animation:none}
  .cpl-page-noise{display:none}
  .cpl-glitch-text:hover,.cpl-glitch-button:hover{animation:none!important}
  .cpl-glitch-wrapper,.cpl-glitch-background{display:none!important}
}

/* Ash / geometry canvas (assets/fx.js): fixed behind all content. */
#fx-ash{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;pointer-events:none}
a::before,a::after,button::before,button::after,.btn::before,.btn::after,summary::before,summary::after{cursor:inherit}

/* Cursor: white translucent arrowhead with a soft shadow (own artwork). Mouse-type pointers only. */
@media (hover:hover) and (pointer:fine){
  html,body,*{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='translate(2 2) scale(1.0)'%3E%3Cpath d='M2.5 3.5 L19.5 11 L11.5 12.8 L9 21 Z' fill='black' fill-opacity='0.38' transform='translate(1.6 2.2)'/%3E%3Cpath d='M1.5 1.5 L18.5 9 L10.5 10.8 L8 19 Z' fill='rgba(255,255,255,.88)' stroke='rgba(20,22,30,.65)' stroke-width='1' stroke-linejoin='round'/%3E%3Cpath d='M1.5 1.5 L10.5 10.8 L8 19 Z' fill='white' fill-opacity='.18'/%3E%3C/g%3E%3C/svg%3E") 2 2,default}
  a,button,summary,label,select,[role=button],.btn,.feature,.ibtn,input[type=checkbox],input[type=radio],input[type=file],input[type=submit],input[type=button],input[type=range]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='translate(2 2) scale(1.12)'%3E%3Cpath d='M2.5 3.5 L19.5 11 L11.5 12.8 L9 21 Z' fill='black' fill-opacity='0.38' transform='translate(1.6 2.2)'/%3E%3Cpath d='M1.5 1.5 L18.5 9 L10.5 10.8 L8 19 Z' fill='rgba(255,190,90,.96)' stroke='rgba(255,255,255,.95)' stroke-width='1' stroke-linejoin='round'/%3E%3Cpath d='M1.5 1.5 L10.5 10.8 L8 19 Z' fill='white' fill-opacity='.18'/%3E%3C/g%3E%3C/svg%3E") 2 2,pointer}
  a *,button *,summary *,label *,[role=button] *,.btn *,.feature *{cursor:inherit}
  a:active,button:active,summary:active,[role=button]:active,.btn:active,.feature:active,.ibtn:active{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='translate(2 2) scale(0.94)'%3E%3Cpath d='M2.5 3.5 L19.5 11 L11.5 12.8 L9 21 Z' fill='black' fill-opacity='0.38' transform='translate(1.6 2.2)'/%3E%3Cpath d='M1.5 1.5 L18.5 9 L10.5 10.8 L8 19 Z' fill='rgba(255,122,47,.96)' stroke='rgba(255,255,255,.95)' stroke-width='1' stroke-linejoin='round'/%3E%3Cpath d='M1.5 1.5 L10.5 10.8 L8 19 Z' fill='white' fill-opacity='.18'/%3E%3C/g%3E%3C/svg%3E") 2 2,pointer}
  [disabled],[disabled]:active,button:disabled,button:disabled:active,.btn.off,.btn.off:active,[aria-disabled=true]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='translate(2 2) scale(1.0)'%3E%3Cpath d='M2.5 3.5 L19.5 11 L11.5 12.8 L9 21 Z' fill='black' fill-opacity='0.38' transform='translate(1.6 2.2)'/%3E%3Cpath d='M1.5 1.5 L18.5 9 L10.5 10.8 L8 19 Z' fill='rgba(255,255,255,.88)' stroke='rgba(20,22,30,.65)' stroke-width='1' stroke-linejoin='round'/%3E%3Cpath d='M1.5 1.5 L10.5 10.8 L8 19 Z' fill='white' fill-opacity='.18'/%3E%3C/g%3E%3C/svg%3E") 2 2,default}
  input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=submit]):not([type=button]):not([type=range]),textarea,[contenteditable=true],[contenteditable=true] *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M11.2 6.6 H15.2 M15.2 6.6 V25.6 M11.2 25.6 H19.2 M15.2 6.6 H19.2' stroke='black' stroke-opacity='.38' stroke-width='2.4' fill='none' stroke-linecap='round' transform='translate(1.2 1.6)'/%3E%3Cpath d='M12 5 H20 M16 5 V24 M12 24 H20' stroke='rgba(255,255,255,.9)' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3Cpath d='M16 8 V21' stroke='rgba(255,182,72,.75)' stroke-width='1' fill='none'/%3E%3C/svg%3E") 16 16,text}
  input:disabled,textarea:disabled{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='translate(2 2) scale(1.0)'%3E%3Cpath d='M2.5 3.5 L19.5 11 L11.5 12.8 L9 21 Z' fill='black' fill-opacity='0.38' transform='translate(1.6 2.2)'/%3E%3Cpath d='M1.5 1.5 L18.5 9 L10.5 10.8 L8 19 Z' fill='rgba(255,255,255,.88)' stroke='rgba(20,22,30,.65)' stroke-width='1' stroke-linejoin='round'/%3E%3Cpath d='M1.5 1.5 L10.5 10.8 L8 19 Z' fill='white' fill-opacity='.18'/%3E%3C/g%3E%3C/svg%3E") 2 2,default}
  *::before,*::after,*::backdrop,dialog::backdrop{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='translate(2 2) scale(1.0)'%3E%3Cpath d='M2.5 3.5 L19.5 11 L11.5 12.8 L9 21 Z' fill='black' fill-opacity='0.38' transform='translate(1.6 2.2)'/%3E%3Cpath d='M1.5 1.5 L18.5 9 L10.5 10.8 L8 19 Z' fill='rgba(255,255,255,.88)' stroke='rgba(20,22,30,.65)' stroke-width='1' stroke-linejoin='round'/%3E%3Cpath d='M1.5 1.5 L10.5 10.8 L8 19 Z' fill='white' fill-opacity='.18'/%3E%3C/g%3E%3C/svg%3E") 2 2,default}
  a:focus,a:focus-visible,button:focus,button:focus-visible,select:focus,summary:focus,[role=button]:focus,.btn:focus{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='translate(2 2) scale(1.12)'%3E%3Cpath d='M2.5 3.5 L19.5 11 L11.5 12.8 L9 21 Z' fill='black' fill-opacity='0.38' transform='translate(1.6 2.2)'/%3E%3Cpath d='M1.5 1.5 L18.5 9 L10.5 10.8 L8 19 Z' fill='rgba(255,190,90,.96)' stroke='rgba(255,255,255,.95)' stroke-width='1' stroke-linejoin='round'/%3E%3Cpath d='M1.5 1.5 L10.5 10.8 L8 19 Z' fill='white' fill-opacity='.18'/%3E%3C/g%3E%3C/svg%3E") 2 2,pointer}
  a:active:focus,button:active:focus,.btn:active:focus{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='translate(2 2) scale(0.94)'%3E%3Cpath d='M2.5 3.5 L19.5 11 L11.5 12.8 L9 21 Z' fill='black' fill-opacity='0.38' transform='translate(1.6 2.2)'/%3E%3Cpath d='M1.5 1.5 L18.5 9 L10.5 10.8 L8 19 Z' fill='rgba(255,122,47,.96)' stroke='rgba(255,255,255,.95)' stroke-width='1' stroke-linejoin='round'/%3E%3Cpath d='M1.5 1.5 L10.5 10.8 L8 19 Z' fill='white' fill-opacity='.18'/%3E%3C/g%3E%3C/svg%3E") 2 2,pointer}
  button:disabled:focus,button:disabled:focus-visible,[disabled]:focus{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='translate(2 2) scale(1.0)'%3E%3Cpath d='M2.5 3.5 L19.5 11 L11.5 12.8 L9 21 Z' fill='black' fill-opacity='0.38' transform='translate(1.6 2.2)'/%3E%3Cpath d='M1.5 1.5 L18.5 9 L10.5 10.8 L8 19 Z' fill='rgba(255,255,255,.88)' stroke='rgba(20,22,30,.65)' stroke-width='1' stroke-linejoin='round'/%3E%3Cpath d='M1.5 1.5 L10.5 10.8 L8 19 Z' fill='white' fill-opacity='.18'/%3E%3C/g%3E%3C/svg%3E") 2 2,default}
  input:focus,textarea:focus,input:focus-visible,textarea:focus-visible,input:active,textarea:active{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M11.2 6.6 H15.2 M15.2 6.6 V25.6 M11.2 25.6 H19.2 M15.2 6.6 H19.2' stroke='black' stroke-opacity='.38' stroke-width='2.4' fill='none' stroke-linecap='round' transform='translate(1.2 1.6)'/%3E%3Cpath d='M12 5 H20 M16 5 V24 M12 24 H20' stroke='rgba(255,255,255,.9)' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3Cpath d='M16 8 V21' stroke='rgba(255,182,72,.75)' stroke-width='1' fill='none'/%3E%3C/svg%3E") 16 16,text}
  dialog,dialog *{cursor:inherit}
}

/* =====================================================================================
   Public site pages (v52): header menu, overlays, home layout, inner pages.
   Behaviour lives in /assets/ui.js; class names starting cpl- are the vendor theme's own.
   ===================================================================================== */

/* ---------- Header with the main menu ---------- */
.cp-ico{display:inline-flex;width:18px;height:18px;flex:none}
.cp-ico svg{width:100%;height:100%;display:block}
.topbar.has-menu>.wrap{justify-content:flex-start;gap:6px}
.topbar.has-menu .logo{margin-right:18px}
.topbar.has-menu nav{margin-left:4px}
.cp-hbtn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;margin:0;
  --cpl-btn__background-color:transparent;--cpl-btn__color:var(--text);clip-path:none;color:var(--text)}
.cp-hbtn:hover,.cp-hbtn:focus-visible{--cpl-btn__background-color:transparent;--cpl-btn__color:var(--accent);color:var(--accent)}
.cpl-offcanvas-toggle.cp-hbtn{margin-right:6px}
.cp-search-toggle{margin-left:auto}
.cp-menu{display:flex;align-self:stretch;flex:0 1 auto;min-width:0}
.cp-menu-list{display:flex;align-items:stretch;list-style:none;margin:0;padding:0}
.cp-menu-list>li{position:relative;display:flex;align-items:center}
.cp-menu-list>li.has-mega{position:static}
.cp-menu-list>li>a{position:relative;display:flex;align-items:center;gap:6px;height:100%;padding:0 13px;color:var(--text);text-decoration:none;
  font-family:var(--font-head);font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.cp-menu-list>li>a .caret{width:9px;height:9px;opacity:.6;transition:transform .2s}
.cp-menu-list>li:hover>a,.cp-menu-list>li.open>a,.cp-menu-list>li.on>a{color:var(--accent)}
.cp-menu-list>li.on>a::after{content:"";position:absolute;left:13px;right:13px;bottom:14px;border-top:2px solid var(--accent)}
.cp-menu-list>li.open>a .caret{transform:rotate(180deg)}
.cp-sub,.cp-mega{position:absolute;top:100%;visibility:hidden;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:5}
.cp-menu-list>li:hover>.cp-sub,.cp-menu-list>li.open>.cp-sub,.cp-menu-list>li:hover>.cp-mega,.cp-menu-list>li.open>.cp-mega{visibility:visible;opacity:1;transform:none}
.cp-sub{left:0;min-width:220px;list-style:none;margin:0;padding:12px 0;background:hsl(0,0%,8%);border:1px solid var(--line);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%)}
.cp-sub a,.cp-mega-col a{display:block;padding:8px 22px;color:var(--muted);text-decoration:none;font-size:.88rem;transition:color .15s,padding .15s}
.cp-sub a:hover,.cp-sub a.on,.cp-mega-col a:hover,.cp-mega-col a.on{color:var(--accent);padding-left:28px}
.cp-mega{left:0;right:0;background:hsl(0,0%,7%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cp-mega-in{max-width:1180px;margin:0 auto;padding:28px 16px 32px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.3fr);gap:20px}
.cp-mega-col h6{margin:0 0 10px 22px;font-size:.72rem;letter-spacing:.16em;color:var(--faint)}
.cp-mega-col ul{list-style:none;margin:0;padding:0}
.cp-mega-card{position:relative;display:block;overflow:hidden;clip-path:var(--chamfer);min-height:150px}
.cp-mega-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.cp-mega-card:hover img{transform:scale(1.05)}
.cp-mega-card span{position:absolute;left:0;bottom:0;padding:6px 12px;background:#000;color:#fff;font-family:var(--font-head);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}
.cp-burger{display:none;width:42px;height:38px;padding:0;margin:0 0 0 4px;--cpl-btn__background-color:transparent;--cpl-btn__color:var(--text);clip-path:none}
.cp-burger span,.cp-burger span::before,.cp-burger span::after{display:block;width:22px;height:2px;background:currentColor;position:relative}
.cp-burger span::before,.cp-burger span::after{content:"";position:absolute;left:0}
.cp-burger span::before{top:-7px}.cp-burger span::after{top:7px;width:14px}
@media(max-width:1060px){
  .cp-menu{display:none}
  .cp-burger{display:inline-flex;align-items:center;justify-content:center}
  .topbar.has-menu nav a.txt{display:none}
  .topbar.has-menu .nav-toggle{display:none}
}
@media(max-width:560px){
  .topbar.has-menu nav{display:none}
  .topbar.has-menu .logo{margin-right:0;font-size:.95rem;letter-spacing:.1em}
  .topbar.has-menu .logo img{width:26px;height:26px}
}

/* ---------- Overlays (fancybox look, vanilla) ---------- */
html.cp-lock{overflow:hidden}
.fancybox-container{position:fixed;inset:0;z-index:1000;outline:none}
.fancybox-container[hidden]{display:none!important}
.fancybox-container .fancybox-content{display:block;z-index:2}
.fancybox-bg{position:absolute;inset:0;z-index:0}
.cpl-fancybox-search .cpl-fancybox-wrap{padding-bottom:30px}
.cpl-search-head{max-width:none;justify-content:space-between}
.cpl-fancybox-search .cpl-search-body{flex:0 0 auto;margin-top:12vh;width:min(800px,100%)}
.cpl-fancybox-search input.cpl-search-input{height:auto;border:0;border-bottom:1px solid var(--line-strong);clip-path:none;background:transparent;font-family:var(--font-head);text-transform:none;letter-spacing:.02em;padding-right:60px}
.cpl-fancybox-search input.cpl-search-input:focus{border-bottom-color:var(--accent);box-shadow:none}
.cpl-fancybox-search .cpl-search-btn{--cpl-btn__background-color:transparent;--cpl-btn__color:var(--text);clip-path:none;padding:12px 16px}
.cpl-fancybox-search .cpl-search-btn .cp-ico{width:24px;height:24px}
.cp-search-results{order:2;width:min(800px,100%);margin-top:18px;flex:1 1 auto}
.cp-search-results ul{list-style:none;margin:0;padding:0}
.cp-search-results a{display:flex;align-items:center;gap:14px;padding:14px 6px;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}
.cp-search-results a:hover,.cp-search-results a:focus-visible{color:var(--accent);background:hsla(0,0%,100%,.03)}
.cp-search-results a b{flex:1;min-width:0;font-weight:600;overflow-wrap:anywhere}
.cp-search-results small{color:var(--faint);white-space:nowrap}
.cp-search-results .tag{flex:none;height:24px;font-size:.62rem}
.cp-search-empty{text-align:center;color:var(--faint)}
.cpl-search-footer p{margin:0;color:var(--faint);font-size:.82rem}
.cpl-offcanvas-head{justify-content:space-between}
.cpl-offcanvas-head .cpl-fancybox-close{position:relative;right:auto}
.cpl-offcanvas-body h6{margin:28px 0 12px;font-size:.74rem;letter-spacing:.16em;color:var(--faint)}
.cpl-offcanvas-body p{font-size:.92rem}
.cp-side-news,.cp-side-links{list-style:none;margin:0;padding:0}
.cp-side-news li{padding:9px 0;border-bottom:1px solid var(--line);color:var(--faint);font-size:.88rem}
.cp-side-news a{display:block;text-decoration:none;color:var(--text)}
.cp-side-news a:hover b{color:var(--accent)}
.cp-side-news b{display:block;font-weight:600;font-size:.92rem}
.cp-side-news small{color:var(--faint);font-size:.76rem}
.cp-side-links{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}
.cp-side-links a{color:var(--muted);text-decoration:none;font-family:var(--font-head);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
.cp-side-links a:hover{color:var(--accent)}
.cp-side-shots{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.cp-side-shots a{display:block;aspect-ratio:1;overflow:hidden;clip-path:var(--chamfer-xs)}
.cp-side-shots img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.cp-side-shots a:hover img{transform:scale(1.08)}
[data-status]{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-head);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
[data-status] .live-dot{display:inline-block;width:9px;height:9px;margin:0;border-radius:50%;background:var(--faint);flex:none;animation:none}
[data-status].is-up .live-dot{background:var(--ok);box-shadow:0 0 0 0 rgba(95,211,138,.6);animation:cp-ping 1.8s infinite}
[data-status].is-down .live-dot{background:var(--bad)}
@keyframes cp-ping{70%{box-shadow:0 0 0 8px rgba(95,211,138,0)}100%{box-shadow:0 0 0 0 rgba(95,211,138,0)}}
.cpl-fancybox-navbar .cpl-fancybox-wrap{display:block;padding:0}
.cp-phone-head{display:flex;align-items:center;justify-content:space-between;height:var(--bar-h);padding:0 16px;border-bottom:1px solid var(--line)}
.cp-phone-body{padding:10px 16px 40px}
.cp-phone-menu{list-style:none;margin:0;padding:0}
.cp-phone-menu>li{display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--line)}
.cp-phone-menu>li>a{flex:1;padding:14px 0;color:var(--text);text-decoration:none;font-family:var(--font-head);font-weight:600;font-size:1.25rem;letter-spacing:.06em;text-transform:uppercase}
.cp-phone-menu>li.on>a{color:var(--accent)}
.cp-phone-toggle{width:44px;height:44px;padding:0;--cpl-btn__background-color:transparent;--cpl-btn__color:var(--text);clip-path:none}
.cp-phone-toggle .cp-ico{width:14px;height:14px;transition:transform .2s}
.cp-phone-menu>li.open .cp-phone-toggle .cp-ico{transform:rotate(180deg)}
.cp-phone-menu ul{flex:0 0 100%;list-style:none;margin:0 0 10px;padding:0 0 0 12px;border-left:2px solid var(--accent)}
.cp-phone-menu ul a{display:block;padding:8px 0;color:var(--muted);text-decoration:none}
.cp-phone-acct{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.cp-phone-acct .btn,.cp-phone-acct button{height:42px}

/* Lightbox */
.cp-lightbox .fancybox-bg{background:hsla(0,0%,2%,.95)}
.cp-lightbox .fancybox-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 16px 30px;opacity:0;transition:opacity .25s}
.cp-lightbox.cpl-fancybox-open .fancybox-content{opacity:1}
.cp-lb-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:14px 16px}
.cp-lb-count{font-family:var(--font-head);font-size:.8rem;letter-spacing:.14em;color:var(--muted)}
.cp-lb-stage{margin:0;flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center}
.cp-lb-stage img{max-width:100%;max-height:100%;object-fit:contain;clip-path:var(--chamfer)}
.cp-lb-cap{margin:12px 0 0;text-align:center;color:var(--muted)}
.cp-lb-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:64px;padding:0;--cpl-btn__background-color:hsla(0,0%,100%,.08);--cpl-btn__color:var(--text)}
.cp-lb-arrow .cp-ico{width:26px;height:26px}
.cp-lb-arrow.prev{left:12px}.cp-lb-arrow.next{right:12px}
@media(max-width:600px){.cp-lb-arrow{top:auto;bottom:16px;transform:none;height:44px}}

/* Preloader + back-to-top tweaks */
.cpl-preloader{--cpl-preloader__background:var(--bg);animation:cp-pre-out .4s 6s forwards}
.cpl-preloader-logo{width:auto;padding:7px 4px;animation:cp-pre-type 1s steps(12) both}
.cpl-preloader-logo .logo{font-size:1.5rem;gap:14px;white-space:nowrap}
.cpl-preloader-logo .logo img{width:40px;height:40px}
@keyframes cp-pre-type{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes cp-pre-out{to{opacity:0;visibility:hidden;pointer-events:none}}
.cpl-scroll-top-button{--cpl-scroll-top-button__background-color:hsl(0,0%,12%);z-index:50;text-decoration:none}
.cpl-scroll-top-button:hover{color:var(--accent)}
.cpl-scroll-top-button .cp-ico{width:16px;height:16px}

/* ---------- Shared page blocks ---------- */
.cp-section{position:relative;padding:clamp(60px,9vw,110px) 0}
.cp-section.tight{padding:clamp(36px,5vw,60px) 0}
.cp-heading{max-width:760px;margin:0 auto 44px;text-align:center}
.cp-heading h2::before{display:block;width:70px;margin:0 auto 18px;content:"";border-top:3px solid currentColor}
.cp-heading p{font-size:1.05rem}
.cp-heading.left{margin-left:0;text-align:left}.cp-heading.left h2::before{margin-left:0}
.cp-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 16px;font-family:var(--font-head);font-weight:600;font-size:.8rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
.cp-kicker::before{content:"";width:42px;border-top:2px solid currentColor}
.cp-btns{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.cp-cols{display:grid;gap:28px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}
.cp-cols.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cp-cols.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cp-cols.top{align-items:start}
.cp-cols.stretch{align-items:stretch}
@media(max-width:900px){.cp-cols,.cp-cols.c3{grid-template-columns:minmax(0,1fr)}.cp-cols.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cp-frame{position:relative;padding:10px;background:hsla(0,0%,100%,.04);border:1px solid var(--line);clip-path:var(--chamfer)}
.cp-frame img{display:block;width:100%;height:auto;clip-path:var(--chamfer-sm)}
.cp-frame::after{content:"";position:absolute;right:10px;bottom:10px;width:30px;height:30px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);pointer-events:none}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* Jagged section edge (own shape) */
.cp-divider{position:relative;height:46px;margin:-1px 0;background:var(--div,var(--accent));
  clip-path:polygon(0 100%,0 62%,6% 62%,7.5% 30%,16% 30%,17.5% 62%,33% 62%,35% 12%,37% 12%,38% 0,44% 0,45% 12%,47% 12%,49% 62%,63% 62%,64.5% 36%,78% 36%,79.5% 62%,90% 62%,91.5% 22%,95% 22%,96.5% 62%,100% 62%,100% 100%)}
.cp-divider.flip{transform:scale(-1,-1)}
.cp-divider.dark{--div:hsl(0,0%,4%)}

/* Brand band */
.cp-band{position:relative;overflow:hidden;background:var(--accent);color:#0b0904}
.cp-band h2,.cp-band h3{color:#0b0904}
.cp-band p{color:rgba(0,0,0,.72)}
.cp-band .ghost{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;pointer-events:none;overflow:hidden;
  font-family:var(--font-head);font-weight:700;font-size:clamp(4rem,13vw,11rem);line-height:.95;letter-spacing:.04em;color:transparent;-webkit-text-stroke:1px rgba(0,0,0,.09);white-space:nowrap;text-transform:uppercase}
.cp-band .ghost span:nth-child(2){margin-left:-30%}
.cp-band>.wrap{position:relative;z-index:1}
.cp-band .btn{--cpl-btn__background-color:#0b0904;--cpl-btn__color:var(--accent)}
.cp-band .btn:hover{--cpl-btn__background-color:#fff;--cpl-btn__color:#000}
.cp-band a:not(.btn){color:#0b0904}

/* Marquee */
.cp-marquee{overflow:hidden;margin-top:40px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.cp-marquee-in{display:flex;width:max-content;animation:cp-marquee 38s linear infinite}
.cp-marquee:hover .cp-marquee-in{animation-play-state:paused}
.cp-marquee-row{display:flex;align-items:center;gap:56px;padding-right:56px}
.cp-marquee-row span{display:inline-flex;align-items:center;gap:14px;font-family:var(--font-head);font-weight:700;font-size:clamp(1.1rem,2.4vw,1.6rem);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:#0b0904}
.cp-marquee-row img{width:40px;height:40px;filter:brightness(0)}
@keyframes cp-marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.cp-marquee-in{animation:none}}

/* Icon boxes (blur cards) */
.cp-iconbox{position:relative;height:100%;padding:36px 28px 30px;text-align:center;background:hsla(0,0%,8%,.55);border:1px solid hsla(0,0%,100%,.12);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);clip-path:var(--chamfer);transition:border-color .2s,transform .3s}
.cp-iconbox:hover{border-color:rgba(var(--accent-rgb),.6);transform:translateY(-4px)}
.cp-iconbox .ic{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;margin:6px 0 22px;color:var(--accent);border:1px solid rgba(var(--accent-rgb),.5);transform:rotate(45deg)}
.cp-iconbox .ic svg{width:26px;height:26px;transform:rotate(-45deg);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cp-iconbox h3{margin-bottom:10px;font-size:1.15rem}
.cp-iconbox p{margin:0;font-size:.95rem}
.cp-iconbox .cp-state{margin-top:14px}
.cp-iconbox.left{text-align:left}
.cp-bg{position:relative;isolation:isolate;overflow:hidden}
.cp-bg>.bg{position:absolute;inset:0;z-index:-1}
.cp-bg>.bg img{width:100%;height:100%;object-fit:cover;opacity:.45}
.cp-bg>.bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg),hsla(0,0%,5%,.55) 30%,hsla(0,0%,5%,.55) 70%,var(--bg))}

/* Carousel */
.cp-carousel{position:relative}
.cp-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.cp-track::-webkit-scrollbar{display:none}
.cp-track>*{flex:0 0 auto;scroll-snap-align:start}
.cp-carousel[data-center] .cp-track>*{scroll-snap-align:center}
.cp-car-arrow{position:absolute;top:calc(50% - 20px);z-index:2;width:44px;height:56px;padding:0;transform:translateY(-50%);--cpl-btn__background-color:hsla(0,0%,4%,.75);--cpl-btn__color:var(--text)}
.cp-car-arrow .cp-ico{width:22px;height:22px}
.cp-car-arrow.prev{left:10px}.cp-car-arrow.next{right:10px}
.cp-car-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.cp-car-dots button{width:22px;height:4px;min-height:0;padding:0;clip-path:none;--cpl-btn__padding-v:0;--cpl-btn__padding-h:0;--cpl-btn__background-color:hsla(0,0%,100%,.25);transition:width .2s}
.cp-car-dots button.on{width:44px;--cpl-btn__background-color:var(--accent)}
.cp-slide{position:relative;display:block;margin:0;overflow:hidden;clip-path:var(--chamfer)}
.cp-slide img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.cp-slide:hover img{transform:scale(1.04)}
.cp-slide .cap{position:absolute;left:0;bottom:0;padding:7px 14px;background:#000;color:#fff;font-family:var(--font-head);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase}
.cp-shots .cp-track>*{width:min(72vw,880px);aspect-ratio:16/8}
.cp-shots .cp-track{padding:0 14vw;scroll-padding:0 14vw}
@media(max-width:700px){.cp-shots .cp-track>*{width:86vw}.cp-shots .cp-track{padding:0 7vw;scroll-padding:0 7vw}}

/* Home hero */
.cp-hero{position:relative;isolation:isolate;min-height:calc(100svh - var(--bar-h));display:grid;align-items:center;padding:clamp(40px,8vh,90px) 0 clamp(70px,10vh,120px);overflow:hidden}
.cp-hero>.bg{position:absolute;inset:0;z-index:-1}
.cp-hero>.bg img{width:100%;height:100%;object-fit:cover;object-position:70% center}
.cp-hero>.bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,hsla(0,0%,5%,.86) 38%,hsla(0,0%,5%,.35) 100%),linear-gradient(0deg,var(--bg) 0%,transparent 35%)}
.cp-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(24px,5vw,70px);align-items:center}
.cp-hero h1{font-size:clamp(3rem,9vw,6rem);line-height:.95;letter-spacing:.04em;margin:0 0 20px}
.cp-hero h1 b{background:var(--sun-shimmer);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sun-shimmer 6s linear infinite}
.cp-hero .tagline{margin-bottom:28px}
.cp-hero .platforms{margin-top:24px}
.cp-hero-slider .cp-track>*{width:100%;aspect-ratio:16/9}
.cp-hero-slider .cp-track{gap:0}
@media(max-width:900px){.cp-hero-grid{grid-template-columns:minmax(0,1fr)}.cp-hero{min-height:0}}

/* News cards */
.cp-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 30px}
.cp-filters button{height:36px;--cpl-btn__padding-h:16px;--cpl-btn__font-size:.74rem;--cpl-btn__crop:6px;--cpl-btn__background-color:hsla(0,0%,100%,.08);--cpl-btn__color:var(--text)}
.cp-filters button.on{--cpl-btn__background-color:var(--accent);--cpl-btn__color:#000}
.cp-band .cp-filters button{--cpl-btn__background-color:rgba(0,0,0,.12);--cpl-btn__color:#0b0904}
.cp-band .cp-filters button.on{--cpl-btn__background-color:#0b0904;--cpl-btn__color:var(--accent)}
.cp-posts{display:grid;gap:26px 22px;grid-template-columns:repeat(3,minmax(0,1fr))}
.cp-posts.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:980px){.cp-posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.cp-posts,.cp-posts.c2{grid-template-columns:minmax(0,1fr)}}
.cp-post{position:relative;display:flex;flex-direction:column;min-width:0}
.cp-post-img{display:block;aspect-ratio:16/9;overflow:hidden;background:hsl(0,0%,12%)}
.cp-post-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.cp-post:hover .cp-post-img img{transform:scale(1.05)}
.cp-post-title{position:relative;z-index:1;align-self:flex-start;max-width:calc(100% - 24px);margin:-18px 0 0 12px;padding:7px 12px;background:#000;font-size:.86rem;line-height:1.3;letter-spacing:.06em}
.cp-post-title a{color:#fff;text-decoration:none}
.cp-post-title a:hover{color:var(--accent)}
.cp-post-card{flex:1;margin-top:-14px;padding:30px 20px 18px;background:hsl(0,0%,10%);clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%)}
.cp-band .cp-post-card{background:#151515}
.cp-band .cp-post-card p{color:hsl(0,0%,72%)}
.cp-post-card p{margin:8px 0 14px;font-size:.92rem;color:var(--muted)}
.cp-cat{font-family:var(--font-head);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);text-decoration:none}
.cp-band a.cp-cat{color:var(--accent)}
.cp-post-meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-family:var(--font-head);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.cp-post-meta span+span::before{content:"//";margin-right:16px;color:var(--accent)}
.cp-empty{grid-column:1/-1;text-align:center;padding:30px 0}
.cp-band .cp-empty,.cp-band .msg{color:rgba(0,0,0,.7)}

/* CTA */
.cp-cta{text-align:center}
.cp-cta h2{margin-bottom:12px}
.cp-cta p{max-width:560px;margin:0 auto 26px;font-size:1.05rem}
.cp-cta .cp-btns{justify-content:center}

/* Inner page header */
.cp-pagehead{position:relative;isolation:isolate;overflow:hidden;padding:clamp(70px,12vw,140px) 0 clamp(40px,6vw,70px)}
.cp-pagehead>.bg{position:absolute;inset:0;z-index:-1}
.cp-pagehead>.bg img{width:100%;height:100%;object-fit:cover;opacity:.5}
.cp-pagehead>.bg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--bg) 4%,hsla(0,0%,5%,.6) 60%,hsla(0,0%,5%,.85))}
.cp-pagehead h1{font-size:clamp(2.4rem,7vw,4.6rem);margin:0 0 12px;letter-spacing:.04em;overflow-wrap:anywhere}
.cp-pagehead p{max-width:640px;font-size:1.08rem}
.cp-crumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;list-style:none;font-family:var(--font-head);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.cp-crumbs li+li::before{content:"/";margin-right:8px;color:var(--accent)}
.cp-crumbs a{color:var(--muted);text-decoration:none}.cp-crumbs a:hover{color:var(--accent)}

/* Prose + article */
.cp-prose{font-size:1.02rem;line-height:1.75}
.cp-prose p{color:hsl(0,0%,78%)}
.cp-prose h2{font-size:clamp(1.5rem,3.4vw,2.1rem);margin:1.6em 0 .6em}
.cp-prose h3{font-size:1.15rem;margin:1.4em 0 .5em}
.cp-prose ul{padding-left:1.2em;color:hsl(0,0%,78%)}
.cp-prose li{margin:.3em 0}
.cp-prose li::marker{color:var(--accent)}
.cp-prose blockquote{margin:1.6em 0;padding:18px 24px;border-left:3px solid var(--accent);background:hsla(0,0%,100%,.04);font-family:var(--font-head);font-size:1.2rem;color:var(--text)}
.cp-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(28px,4vw,56px);align-items:start}
@media(max-width:980px){.cp-layout{grid-template-columns:minmax(0,1fr)}}
.cp-article-img{margin:0 0 28px}
.cp-article-img img{display:block;width:100%;max-height:520px;object-fit:cover;clip-path:var(--chamfer)}
.cp-article-body{white-space:pre-wrap;overflow-wrap:anywhere}
.cp-article-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:24px 0}
.cp-article-gallery a{display:block;aspect-ratio:16/10;overflow:hidden;clip-path:var(--chamfer-xs)}
.cp-article-gallery img{width:100%;height:100%;object-fit:cover}
.cp-tags{display:flex;flex-wrap:wrap;gap:6px;margin:26px 0}
.cp-tags a.tag{text-decoration:none}
.cp-postnav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:40px 0 0;padding-top:26px;border-top:1px solid var(--line)}
.cp-postnav a{display:block;padding:16px 18px;background:hsla(0,0%,100%,.04);text-decoration:none;color:var(--text);clip-path:var(--chamfer-sm)}
.cp-postnav a:hover{background:hsla(0,0%,100%,.08)}
.cp-postnav small{display:block;margin-bottom:6px;font-family:var(--font-head);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.cp-postnav .next{text-align:right;grid-column:2}
.cp-sidebar>*+*{margin-top:36px}
.cp-widget h5{position:relative;margin:0 0 16px;padding-bottom:10px;font-size:.9rem;letter-spacing:.14em;border-bottom:1px solid var(--line)}
.cp-widget h5::after{content:"";position:absolute;left:0;bottom:-1px;width:40px;border-bottom:2px solid var(--accent)}
.cp-widget ul{list-style:none;margin:0;padding:0}
.cp-widget li{border-bottom:1px solid var(--line)}
.cp-widget li a{display:flex;justify-content:space-between;gap:10px;padding:10px 0;color:var(--muted);text-decoration:none}
.cp-widget li a:hover,.cp-widget li a.on{color:var(--accent)}
.cp-widget .cp-recent a{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center}
.cp-recent img{width:64px;height:44px;object-fit:cover;clip-path:var(--chamfer-xs)}
.cp-recent b{display:block;color:var(--text);font-size:.9rem;line-height:1.3}
.cp-recent small{color:var(--faint);font-size:.74rem}
.cp-searchform{display:flex;gap:8px}
.cp-searchform input{flex:1;min-width:0}

/* Number boxes, progress, timeline */
.cp-numbox{text-align:center;padding:26px 12px}
.cp-numbox b{display:block;font-family:var(--font-head);font-size:clamp(2.6rem,6vw,3.8rem);line-height:1;color:transparent;-webkit-text-stroke:1px var(--accent)}
.cp-numbox span{display:block;margin-top:10px;font-family:var(--font-head);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.cp-progress{margin:0 0 18px}
.cp-progress-label{display:flex;justify-content:space-between;margin-bottom:8px;font-family:var(--font-head);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text)}
.cp-progress-bar{height:6px;background:hsla(0,0%,100%,.1);overflow:hidden}
.cp-progress-bar i{display:block;height:100%;width:var(--v);background:var(--sun-grad);transform-origin:left;transition:transform 1.4s cubic-bezier(.2,1,.2,1)}
.cp-progress.reveal{opacity:1;transform:none}
.cp-progress.reveal .cp-progress-bar i{transform:scaleX(0)}
.cp-progress.reveal.in .cp-progress-bar i{transform:none}
.cp-timeline{position:relative;list-style:none;margin:0;padding:0 0 0 34px}
.cp-timeline::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;border-left:2px solid var(--line-strong)}
.cp-timeline>li{position:relative;margin:0 0 30px}
.cp-timeline>li::before{content:"";position:absolute;left:-31px;top:6px;width:14px;height:14px;background:var(--bg);border:2px solid var(--faint);transform:rotate(45deg)}
.cp-timeline>li.done::before{background:var(--accent);border-color:var(--accent)}
.cp-timeline>li.now::before{border-color:var(--accent);box-shadow:0 0 0 5px rgba(var(--accent-rgb),.2)}
.cp-timeline h3{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;font-size:1.1rem}
.cp-timeline p{margin:0 0 8px}
.cp-state{display:inline-flex;align-items:center;height:22px;padding:0 9px;font-family:var(--font-head);font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:hsla(0,0%,100%,.1);color:var(--muted)}
.cp-state.done{background:rgba(95,211,138,.16);color:var(--ok)}
.cp-state.now{background:rgba(var(--accent-rgb),.18);color:var(--accent)}
.cp-state.plan{background:hsla(0,0%,100%,.08);color:var(--faint)}

/* Tabs */
.cp-tabs-nav{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 30px;border-bottom:1px solid var(--line)}
.cp-tabs-nav button{position:relative;height:auto;padding:14px 18px;clip-path:none;--cpl-btn__padding-v:14px;--cpl-btn__padding-h:18px;--cpl-btn__background-color:transparent;--cpl-btn__color:var(--muted);font-family:var(--font-head);font-size:.8rem;letter-spacing:.12em}
.cp-tabs-nav button:hover{--cpl-btn__background-color:transparent;--cpl-btn__color:var(--text)}
.cp-tabs-nav button.on{--cpl-btn__color:var(--accent)}
.cp-tabs-nav button.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;border-bottom:2px solid var(--accent)}
.cp-tabs-nav.center{justify-content:center}

/* Accordion */
.cp-accordion{border-top:1px solid var(--line)}
.cp-acc-item{border-bottom:1px solid var(--line)}
.cp-acc-head{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;height:auto;padding:20px 4px;text-align:left;clip-path:none;
  --cpl-btn__padding-v:20px;--cpl-btn__padding-h:4px;--cpl-btn__background-color:transparent;--cpl-btn__color:var(--text);font-family:var(--font-head);font-size:1.02rem;font-weight:600;letter-spacing:.04em;text-transform:none}
.cp-acc-head:hover,.cp-acc-head:focus-visible{--cpl-btn__background-color:transparent;--cpl-btn__color:var(--accent)}
.cp-acc-head::after{content:"";flex:none;width:10px;height:10px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg) translateY(-3px);transition:transform .25s}
.cp-acc-item.open .cp-acc-head::after{transform:rotate(-135deg) translateY(-2px)}
.cp-acc-body{overflow:hidden;transition:height .28s ease}
.cp-acc-body>div{padding:0 4px 22px;color:var(--muted)}
.cp-acc-body p:last-child{margin-bottom:0}

/* Gallery layouts */
.cp-g-justified{display:flex;flex-wrap:wrap;gap:8px}
.cp-g-justified a{flex-grow:calc(var(--w) * 100 / var(--h));flex-basis:calc(var(--w) * 230px / var(--h));height:230px}
.cp-g-justified::after{content:"";flex-grow:999}
.cp-g-masonry{columns:3 280px;column-gap:12px}
.cp-g-masonry a{display:block;margin:0 0 12px;break-inside:avoid;clip-path:var(--chamfer-sm)}
.cp-g-tiles{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(120px,16vw,210px);grid-auto-flow:dense;gap:8px}
.cp-g-tiles a:nth-child(6n+1){grid-column:span 2;grid-row:span 2}
.cp-g-tiles a:nth-child(6n+4){grid-column:span 2}
@media(max-width:700px){.cp-g-tiles{grid-template-columns:repeat(2,1fr)}.cp-g-justified a{height:150px;flex-basis:calc(var(--w) * 150px / var(--h))}}
.cp-gitem{position:relative;display:block;overflow:hidden}
.cp-gitem img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.cp-gitem::after{content:attr(data-caption);position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent);
  color:#fff;font-family:var(--font-head);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}
.cp-gitem:hover img{transform:scale(1.05)}
.cp-gitem:hover::after,.cp-gitem:focus-visible::after{opacity:1;transform:none}
.cp-g-masonry .cp-gitem img{height:auto}
.cp-g-carousel .cp-track>*{width:min(86vw,1000px);aspect-ratio:16/8}

/* Team / credits */
.cp-member{text-align:center;padding:30px 20px}
.cp-member .av{width:110px;height:110px;margin:0 auto 16px;display:grid;place-items:center;background:hsl(0,0%,12%);clip-path:var(--chamfer)}
.cp-member .av img{width:72px;height:72px}
.cp-member h3{margin-bottom:4px}
.cp-member .role{font-family:var(--font-head);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.cp-credits{columns:2 320px;column-gap:40px;padding-left:1.1em}
.cp-credits li{break-inside:avoid;margin:0 0 12px;color:var(--muted)}
.cp-credits li::marker{color:var(--accent)}
.cp-credits b{color:var(--text)}

/* Status */
.cp-stat>.in{padding:26px 22px}
.cp-stat h3{font-size:.8rem;letter-spacing:.16em;color:var(--faint);margin-bottom:10px}
.cp-stat .v{font-family:var(--font-head);font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;color:var(--text);line-height:1.1;overflow-wrap:anywhere}
.cp-stat .v.up{color:var(--ok)}.cp-stat .v.down{color:var(--bad)}
.cp-stat p{margin:8px 0 0;font-size:.88rem}
.cp-countdown{display:flex;gap:10px;flex-wrap:wrap}
.cp-countdown>span{min-width:76px;padding:14px 8px 10px;text-align:center;background:hsla(0,0%,100%,.05);clip-path:var(--chamfer-sm)}
.cp-countdown b{display:block;font-family:var(--font-head);font-size:2rem;line-height:1;color:var(--text)}
.cp-countdown i{display:block;margin-top:6px;font-style:normal;font-family:var(--font-head);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}

/* Alert / note */
.cp-alert{position:relative;padding:16px 20px 16px 22px;background:hsla(0,0%,100%,.05);border-left:3px solid var(--accent);color:var(--muted)}
.cp-alert b{color:var(--text)}

/* 404 */
.cp-404{min-height:calc(100svh - var(--bar-h) - 160px);display:grid;place-items:center;text-align:center;padding:60px 16px}
.cp-404 h1{font-size:clamp(6rem,26vw,16rem);line-height:.85;margin:0;letter-spacing:.02em;color:transparent;-webkit-text-stroke:2px var(--accent)}
.cp-404 h2{font-size:clamp(1.4rem,4vw,2.2rem)}
.cp-404 .cp-btns{justify-content:center}

/* Footer columns */
.site-footer.cp-footer{margin-top:0;padding-top:clamp(50px,7vw,80px);background:hsl(0,0%,4%)}
.cp-footer-cols{max-width:1180px;margin:0 auto;padding-bottom:40px;display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:30px}
.cp-footer-col h6{margin:6px 0 16px;font-size:.84rem;letter-spacing:.14em;color:var(--text)}
.cp-footer-col ul{list-style:none;margin:0;padding:0}
.cp-footer-col li{margin:0 0 10px}
.cp-footer-col a{color:var(--muted);text-decoration:none}
.cp-footer-col a:hover{color:var(--accent)}
.cp-footer-about .logo{margin-bottom:16px}
.cp-footer-about p{max-width:340px;margin-bottom:14px;color:var(--faint)}
@media(max-width:820px){.cp-footer-cols{grid-template-columns:1fr 1fr}.cp-footer-about{grid-column:1/-1}}
@media(max-width:420px){.cp-footer-cols{grid-template-columns:1fr}}
.cp-acc-head,.cp-tabs-nav button{white-space:normal;text-align:left}
.cpl-preloader-disabled .cpl-preloader{display:none}
.cp-band .cp-post h3,.cp-band .cp-post-title a,.cp-band .card h3{color:#fff}
.cp-band .cp-post-title a:hover{color:var(--accent)}
.cp-band .cp-post p,.cp-band .card p{color:var(--muted,#b9b4a8)}

/* ---------- Polish layer (2026-10-24): text rendering, press feedback, scrollbars, focus ---------- */
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1,h2,h3,h4{text-wrap:balance}
p,li,dd{text-wrap:pretty}
.num,.tile .v,.stat b,time,.tabular{font-variant-numeric:tabular-nums}
button,.btn,input[type=submit]{transition:background-color .16s ease-out,color .16s ease-out,opacity .16s ease-out,transform .12s ease-out}
button:not([disabled]):active,.btn:not(.off):active,input[type=submit]:active{transform:scale(.96)}
input,select,textarea{transition:border-color .16s ease-out,box-shadow .16s ease-out,background-color .16s ease-out}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 1px var(--accent),0 0 0 4px rgba(var(--accent-rgb),.18)}
*{scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.18) transparent}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.14);border:3px solid transparent;background-clip:padding-box;border-radius:10px}
::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb),.55);background-clip:padding-box;border:3px solid transparent}
@media (prefers-reduced-motion:reduce){button,.btn,input[type=submit]{transition:none}button:active,.btn:active{transform:none}}
/* Photo-background sections fade to transparent at both edges, so the page pattern behind them shows through
   instead of meeting a straight line. The dimming overlay is flat; the mask does the fading. */
.cp-bg>.bg{-webkit-mask-image:linear-gradient(180deg,transparent,#000 24%,#000 76%,transparent);mask-image:linear-gradient(180deg,transparent,#000 24%,#000 76%,transparent)}
.cp-bg>.bg::after{background:hsla(0,0%,5%,.55)}
/* Page headers and the home hero fade out at the bottom, and the footer fades in at the top, so the
   fixed emblem backdrop never meets a straight edge between sections. */
.cp-pagehead>.bg,.cp-hero>.bg{-webkit-mask-image:linear-gradient(180deg,#000 50%,transparent);mask-image:linear-gradient(180deg,#000 50%,transparent)}
.site-footer.cp-footer{background:linear-gradient(180deg,transparent,hsla(0,0%,4%,.85) 120px,hsl(0,0%,4%) 220px)}
.cp-heading.today{max-width:980px;margin-bottom:0}.cp-heading.today p{font-size:clamp(1.05rem,1.6vw,1.2rem)}.cp-heading.today p+p{margin-top:16px}
