
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { background:#232a33; color:#e5ebf0; font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; font-size:15px;
  line-height:1.5; -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; }
a { color:#2f80b8; text-decoration:none; }
a:hover { text-decoration:underline; }

.xl { max-width:1120px; margin:18px auto; background:#171e27;
  border:1px solid rgba(229,235,240,0.16); border-radius:3px; overflow:hidden;
  box-shadow:0 10px 40px rgba(47,128,184,0.14); }

.ribbon { display:flex; justify-content:space-between; align-items:center;
  background:#2f80b8; color:#ffffff; padding:9px 14px; font-size:13px; }
.ribbon .app { font-weight:700; }
.tabs b, .tabs i { font-style:normal; margin-left:14px; font-size:12px; opacity:0.9; }
.tabs b { border-bottom:2px solid #ffffff; padding-bottom:2px; }

.fbar { display:flex; align-items:center; gap:0; border-bottom:1px solid rgba(229,235,240,0.16);
  background:#171e27; font-family:'Courier New', Courier, monospace; font-size:13px; }
.namebox { width:80px; padding:8px 10px; border-right:1px solid rgba(229,235,240,0.16);
  color:#828f9c; text-align:center; }
.fx { padding:8px 12px; color:#828f9c; font-style:italic; border-right:1px solid rgba(229,235,240,0.16); }
.finput { padding:8px 14px; color:#e5ebf0; flex:1; white-space:nowrap; overflow:hidden;
  text-overflow:ellipsis; }

/* column header strip */
.colrow { display:grid; grid-template-columns:44px repeat(6,1fr);
  background:#232a33; border-bottom:1px solid rgba(229,235,240,0.16); }
.corner { border-right:1px solid rgba(229,235,240,0.16); }
.ch { text-align:center; padding:6px; font-family:'Courier New', Courier, monospace; font-size:12px;
  color:#828f9c; border-right:1px solid rgba(229,235,240,0.16); }

/* the sheet body */
.body { display:grid; grid-template-columns:44px repeat(6,1fr); }
.rownum { grid-column:1; background:#232a33; border-right:1px solid rgba(229,235,240,0.16);
  border-bottom:1px solid rgba(229,235,240,0.16); text-align:center; padding:8px 4px;
  font-family:'Courier New', Courier, monospace; font-size:12px; color:#828f9c; }
.cell { grid-column:span 1; border-right:1px solid rgba(229,235,240,0.16);
  border-bottom:1px solid rgba(229,235,240,0.16); padding:12px 14px; min-height:44px; cursor:cell;
  position:relative; }
.cell.active { outline:2px solid #2f80b8; outline-offset:-2px; background:rgba(47,128,184,0.14); z-index:2; }
.span2 { grid-column:span 2; } .span4 { grid-column:span 4; }
.span5 { grid-column:span 5; } .span6 { grid-column:span 6; }

.kick { font-family:'Courier New', Courier, monospace; font-size:12px; letter-spacing:0.22em;
  text-transform:uppercase; color:#2f80b8; background:#232a33; }
.hero { padding:clamp(26px,5vw,52px); }
.hero h1 { font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif; font-weight:800; line-height:0.98;
  font-size:clamp(2.2rem,7vw,4.6rem); letter-spacing:-0.02em; }
.hero p { color:#828f9c; margin:16px 0 22px; max-width:44ch; }
.btn { display:inline-block; background:#2f80b8; color:#ffffff; font-weight:700;
  padding:12px 24px; border-radius:3px; }
.btn:hover { text-decoration:none; opacity:0.92; }

.img { padding:0; } .img img { width:100%; height:100%; min-height:150px; object-fit:cover; }
.stat { display:flex; flex-direction:column; justify-content:center; background:#232a33; }
.stat .big { font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif; font-weight:800; font-size:2.4rem; line-height:1;
  color:#2f80b8; }
.stat span:last-child { font-family:'Courier New', Courier, monospace; font-size:12px; text-transform:uppercase;
  letter-spacing:0.12em; color:#828f9c; }

.about h2 { font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif; font-weight:800; font-size:1.5rem; margin-bottom:10px; }
.about p { color:#828f9c; }

.hcell { font-family:'Courier New', Courier, monospace; font-size:12px; letter-spacing:0.1em; text-transform:uppercase;
  color:#828f9c; background:#232a33; font-weight:700; }
.tc b { font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif; font-weight:700; }
.tc { color:#e5ebf0; }
.num { text-align:right; font-family:'Courier New', Courier, monospace; }
.tick { text-align:center; color:#2f80b8; }
.total { background:#232a33; font-family:'Courier New', Courier, monospace; }
.total.strong { font-weight:700; color:#2f80b8; }
.total.tsp { grid-column:span 1; color:#828f9c; }

.quote { background:#232a33; }
.quote blockquote { font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif; font-weight:700; font-size:clamp(1.2rem,3vw,1.9rem);
  line-height:1.2; }
.quote cite { display:block; font-style:normal; margin-top:10px; font-family:'Courier New', Courier, monospace;
  font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:#828f9c; }

.ck { font-family:'Courier New', Courier, monospace; font-size:12px; text-transform:uppercase; letter-spacing:0.08em;
  color:#828f9c; background:#232a33; }
.cv b { font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif; }

.statusbar { display:flex; justify-content:space-between; background:#2f80b8;
  color:#ffffff; font-family:'Courier New', Courier, monospace; font-size:12px; padding:7px 14px;
  letter-spacing:0.06em; }

@media (max-width:760px){
  .body, .colrow { grid-template-columns:34px repeat(6,1fr); }
  .cell { padding:9px 8px; font-size:13px; }
  .hero h1 { font-size:2rem; }
  .stat .big { font-size:1.6rem; }
}


.xq{box-sizing:border-box;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;color:#e5ebf0;padding:56px 24px;width:100%}
.xq *{box-sizing:border-box;margin:0}
.xq .xq-wrap{max-width:1060px;margin:0 auto}
.xq h2{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-size:1.7rem;line-height:1.2;margin-bottom:8px}
.xq .xq-kick{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#2f80b8;margin-bottom:10px;font-weight:700}

.xq-strip{padding-left:0;padding-right:0}
.xq-strip .xq-wrap{padding:0 24px}
.xq-striprail{list-style:none;display:flex;gap:12px;overflow-x:auto;padding:14px 24px;scroll-snap-type:x mandatory}
.xq-striprail li{flex:0 0 min(64vw,300px);scroll-snap-align:start}
.xq-striprail img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;display:block}


.xq-steplist{counter-reset:xqs;list-style:none;padding:0;margin-top:22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.xq-step{counter-increment:xqs;position:relative;padding:18px 18px 18px 20px;border-left:3px solid #2f80b8;background:rgba(229,235,240,0.05);border-radius:0 3px 3px 0}
.xq-step::before{content:"0" counter(xqs);display:block;font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-size:.8rem;letter-spacing:.1em;color:#2f80b8;font-weight:800;margin-bottom:8px}
.xq-step h3{font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Segoe UI', sans-serif;font-size:1.02rem;margin-bottom:6px}
.xq-step p{font-size:.9rem;color:#828f9c}


/* =====================================================
   DESIGN DNA: brutal-ink
   Whole-page visual system applied over the layout
   archetype. Appended last so it wins the cascade.
   ===================================================== */
*{border-radius:0 !important}
h1,h2,h3{font-family:'Arial Black', 'Arial Bold', Arial, sans-serif !important;text-transform:uppercase !important;letter-spacing:-0.01em !important;font-weight:900 !important}
img{filter:grayscale(1) contrast(1.18);border:3px solid #eaeff3 !important;box-shadow:8px 8px 0 #eaeff3 !important}
a[class*="btn"],button,span[class*="btn"]{border-radius:0 !important;border:3px solid #eaeff3 !important;box-shadow:5px 5px 0 #eaeff3 !important;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{border:3px solid #eaeff3 !important;box-shadow:8px 8px 0 #eaeff3 !important}
html::after{content:'';position:fixed;inset:0;z-index:99990;pointer-events:none;border:6px solid #eaeff3;background:none;}
