
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { background:#fdfdfd; color:#0a0a0a; font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size:17px; line-height:1.5; -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; }
a { color:#0a0a0a; text-decoration:none; }

.swiss { max-width:1240px; margin:0 auto; padding:0 clamp(16px,4vw,40px);
  display:grid; grid-template-columns:repeat(12,1fr); column-gap:15px; }
.swiss > * { grid-column:1 / -1; }

/* masthead */
.masthead { display:grid; grid-template-columns:subgrid; grid-column:1 / -1;
  align-items:baseline; padding:22px 0; border-bottom:2px solid #0a0a0a; }
.brand { grid-column:1 / 4; font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif; font-weight:800;
  letter-spacing:-0.01em; font-size:19px; text-transform:uppercase; }
.mnav { grid-column:6 / 12; display:flex; gap:26px; }
.mnav a { font-size:12px; letter-spacing:0.18em; text-transform:uppercase;
  color:#787878; }
.mnav a:hover { color:#0044ff; }
.idx { grid-column:12 / 13; text-align:right; font-size:12px;
  letter-spacing:0.14em; color:#787878; }

/* hero */
.hero { position:relative; display:grid; grid-template-columns:subgrid;
  grid-column:1 / -1; padding:clamp(40px,9vw,110px) 0 clamp(30px,6vw,70px); }
.kick { grid-column:1 / -1; font-size:12px; letter-spacing:0.32em;
  text-transform:uppercase; color:#0044ff; margin-bottom:26px; }
.htitle { grid-column:1 / 10; font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif; font-weight:800;
  line-height:0.94; letter-spacing:-0.03em;
  font-size:clamp(3rem,11vw,7.5rem); text-transform:uppercase; }
.dek { grid-column:9 / 13; align-self:end; color:#787878; font-size:18px;
  line-height:1.45; border-top:1px solid rgba(10,10,10,0.30); padding-top:14px; }
.acts { grid-column:1 / 7; margin-top:34px; display:flex; gap:14px; }
.btn { background:#0044ff; color:#ffffff; padding:14px 28px;
  font-weight:700; font-size:13px; letter-spacing:0.14em; text-transform:uppercase;
  border-radius:3px; }
.btn2 { border:1.5px solid #0a0a0a; padding:14px 28px; font-weight:700;
  font-size:13px; letter-spacing:0.14em; text-transform:uppercase;
  border-radius:3px; }
.btn:hover { background:#0a0a0a; color:#fdfdfd; }
.btn2:hover { background:#0a0a0a; color:#fdfdfd; }
.bar { grid-column:1 / -1; height:8px; background:#0044ff; margin-top:44px; }

/* image band */
.band { margin:clamp(30px,6vw,64px) 0; }
.band img { width:100%; height:clamp(240px,42vw,560px); object-fit:cover;
  border-radius:3px; }
.band figcaption { margin-top:10px; font-size:12px; letter-spacing:0.14em;
  text-transform:uppercase; color:#787878; }

/* generic label + body rows */
.row { display:grid; grid-template-columns:subgrid; grid-column:1 / -1;
  padding:clamp(34px,5vw,58px) 0; border-top:1px solid rgba(10,10,10,0.16); }
.lbl { grid-column:1 / 4; font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif; font-weight:700; font-size:15px;
  text-transform:uppercase; letter-spacing:0.04em; display:flex; gap:12px;
  align-items:flex-start; }
.lbl .num { color:#0044ff; font-size:13px; padding-top:2px; }
.body { grid-column:4 / 13; }
.body .big { font-size:clamp(1.15rem,2.4vw,1.6rem); line-height:1.5;
  max-width:60ch; }

/* services grid */
.grid6 { grid-column:4 / 13; display:grid;
  grid-template-columns:repeat(3,1fr); column-gap:15px; row-gap:34px; }
.cell { border-top:2px solid #0a0a0a; padding-top:14px; }
.cno { font-size:12px; letter-spacing:0.14em; color:#0044ff; }
.cell h3 { font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif; font-weight:700; font-size:1.05rem;
  margin:8px 0 8px; }
.cell p { color:#787878; font-size:0.95rem; line-height:1.5; }

/* quote */
.quote blockquote { font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif; font-weight:700;
  font-size:clamp(1.5rem,4.4vw,2.8rem); line-height:1.12; letter-spacing:-0.02em;
  max-width:20ch; }
.quote cite { display:block; margin-top:18px; font-style:normal; font-size:12px;
  letter-spacing:0.2em; text-transform:uppercase; color:#787878; }

/* contact */
.contact ul { list-style:none; margin-top:18px; }
.contact li { display:grid; grid-template-columns:110px 1fr; padding:14px 0;
  border-top:1px solid rgba(10,10,10,0.16); align-items:baseline; }
.contact li span { font-size:12px; letter-spacing:0.16em; text-transform:uppercase;
  color:#787878; }
.contact a:hover { color:#0044ff; }

/* footer */
.foot { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
  padding:26px 0 46px; margin-top:20px; border-top:2px solid #0a0a0a;
  font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:#787878; }

@media (max-width:820px){
  .brand,.mnav,.idx,.htitle,.dek,.acts,.lbl,.body,.grid6{ grid-column:1 / -1; }
  .mnav{ display:none; }
  .grid6{ grid-template-columns:1fr; }
  .contact li{ grid-template-columns:1fr; gap:2px; }
}


.xq{box-sizing:border-box;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;color:#0a0a0a;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:Futura, 'Century Gothic', '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:#0044ff;margin-bottom:10px;font-weight:700}

.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 #0044ff;background:rgba(10,10,10,0.05);border-radius:0 3px 3px 0}
.xq-step::before{content:"0" counter(xqs);display:block;font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif;font-size:.8rem;letter-spacing:.1em;color:#0044ff;font-weight:800;margin-bottom:8px}
.xq-step h3{font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif;font-size:1.02rem;margin-bottom:6px}
.xq-step p{font-size:.9rem;color:#787878}


.xq-hours{border-top:1px solid rgba(10,10,10,0.14)}
.xq-hours-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px;align-items:start}
.xq-hours address{font-style:normal;color:#787878;line-height:1.8;margin-top:8px}
.xq-hourtable{width:100%;border-collapse:collapse}
.xq-hourtable th,.xq-hourtable td{text-align:left;padding:12px 6px;border-bottom:1px solid rgba(10,10,10,0.14)}
.xq-hourtable th{font-family:Futura, 'Century Gothic', 'Segoe UI', sans-serif}
.xq-hourtable td{color:#0044ff;font-weight:700;text-align:right}


/* =====================================================
   DESIGN DNA: pixel-arcade
   Whole-page visual system applied over the layout
   archetype. Appended last so it wins the cascade.
   ===================================================== */
html::before{content:'';position:fixed;inset:0;z-index:99980;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Crect width='8' height='8' fill='%230a0a0a'/%3E%3Crect x='8' y='8' width='8' height='8' fill='%230a0a0a'/%3E%3C/svg%3E");opacity:.05;}
h1,h2,h3{font-family:'Courier New', Courier, monospace !important;text-transform:uppercase !important;letter-spacing:.02em !important;font-weight:800 !important}
img{image-rendering:pixelated;filter:contrast(1.3) saturate(1.4);border-radius:0 !important;border:4px solid #0a0a0a !important;box-shadow:6px 6px 0 rgba(0,68,255,.9) !important}
a[class*="btn"],button,span[class*="btn"]{border-radius:0 !important;border:4px solid #0a0a0a !important;box-shadow:5px 5px 0 #0044ff !important;font-family:'Courier New', Courier, monospace !important;text-transform:uppercase}
div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{border-radius:0 !important;border:4px solid #0a0a0a !important;box-shadow:8px 8px 0 rgba(0,68,255,.5) !important}
