/* =========================================================
   Mykhailo Boltovskyi — QA Engineer
   Plain CSS. Mobile-first. Zero border-radius (except tags).
   ========================================================= */

/* ---------------------------------------------------------
   FONTS
   The display face is Ruberoid (Pepper Type) — the typeface
   k-2.army uses. It is a commercial retail font, so it is NOT
   bundled here: buy a webfont licence at pprtype.com/fonts/ruberoid
   (or rentafont.com), drop the .woff2 files into ./fonts/ and
   uncomment the block below. Nothing else needs to change —
   'Ruberoid' is already first in every font stack.

   Until then the site renders in Rubik (SIL Open Font Licence,
   served from Google Fonts): the closest free match to Ruberoid's
   squarish geometry, rounded corners and large x-height.

@font-face{
  font-family:'Ruberoid';
  src:url('fonts/Ruberoid-Regular.woff2') format('woff2');
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Ruberoid';
  src:url('fonts/Ruberoid-Medium.woff2') format('woff2');
  font-weight:500; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Ruberoid';
  src:url('fonts/Ruberoid-Bold.woff2') format('woff2');
  font-weight:700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Ruberoid';
  src:url('fonts/Ruberoid-ExtraBold.woff2') format('woff2');
  font-weight:800; font-style:normal; font-display:swap;
}
   --------------------------------------------------------- */

:root{
  /* palette */
  --white:      #ffffff;
  --paper:      #f2f4f8;
  --paper-2:    #e7ebf2;
  --ink:        #0d0f12;
  --ink-soft:   #4a5160;
  --navy:       #0a1834;
  --navy-2:     #071022;
  --black:      #05070c;
  --accent:     #2f6bff;
  --accent-dk:  #1b47c4;
  --accent-lt:  #7fa4ff;
  --line-light: rgba(13,15,18,.14);
  --line-dark:  rgba(255,255,255,.16);

  /* type */
  --font-head: 'Ruberoid','Rubik',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body: 'Ruberoid','Rubik',system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  --font-mono: 'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  /* layout */
  --wrap: 1180px;
  --gut: 20px;
  --header-h: 62px;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }

body{
  margin:0;
  background:var(--white);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.65;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; display:block; }

/* NO ROUNDED CORNERS ANYWHERE (tags opt back in explicitly) */
a,button,input,textarea,select,div,section,article,li,ul,ol{ border-radius:0; }

a{ color:inherit; text-decoration:none; }

h1,h2,h3,h4{
  font-family:var(--font-head);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:-.025em;
  line-height:1.02;
  margin:0;
}

p{ margin:0 0 1em; }
ul,ol{ margin:0; padding:0; list-style:none; }
strong{ font-weight:700; color:inherit; }

.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut); }

.skip-link{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--accent); color:#fff; padding:12px 18px;
  font-family:var(--font-mono); font-size:12px; text-transform:uppercase;
}
.skip-link:focus{ left:0; }

:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }

/* ---------------------------------------------------------
   BACKGROUND TEXTURES — grid / graph paper / dots
   --------------------------------------------------------- */
.bg-grid,.bg-graph,.bg-dots{ position:relative; isolation:isolate; }
.bg-grid::before,.bg-graph::before,.bg-dots::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
}

/* dark: fine grid + heavier every 5th line */
.bg-grid::before{
  background-image:
    linear-gradient(to right, rgba(127,164,255,.10) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(127,164,255,.10) 1px, transparent 1px),
    linear-gradient(to right, rgba(127,164,255,.20) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(127,164,255,.20) 1px, transparent 1px);
  background-size:32px 32px,32px 32px,160px 160px,160px 160px;
  mask-image:radial-gradient(120% 90% at 50% 0%, #000 25%, transparent 92%);
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0%, #000 25%, transparent 92%);
}

/* light: graph paper */
.bg-graph::before{
  background-image:
    linear-gradient(to right, rgba(10,24,52,.055) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(10,24,52,.055) 1px, transparent 1px),
    linear-gradient(to right, rgba(10,24,52,.10) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(10,24,52,.10) 1px, transparent 1px);
  background-size:28px 28px,28px 28px,140px 140px,140px 140px;
}

/* navy: dot matrix + faint diagonal wash */
.bg-dots::before{
  background-image:
    radial-gradient(rgba(127,164,255,.22) 1px, transparent 1px),
    repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 2px, transparent 2px 10px);
  background-size:26px 26px, auto;
}

/* ---------------------------------------------------------
   SECTION SHELLS
   --------------------------------------------------------- */
.section{ padding:72px 0; position:relative; scroll-margin-top:var(--header-h); }
.section-light{ background:var(--white); color:var(--ink); }
.section-navy{ background:var(--navy); color:#e9edf6; }
.section-dark{ background:var(--black); color:#eef1f7; }
.section-navy strong,.section-dark strong{ color:#fff; }

.section-navy + .section-light,
.section-light + .section-navy,
.section-dark + .section-light{ border-top:1px solid var(--line-dark); }

.section-label{
  font-family:var(--font-mono);
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--accent); margin:0 0 26px;
  display:flex; align-items:center; gap:12px;
}
.section-label span{
  color:inherit; opacity:.65;
  border:1px solid currentColor; padding:2px 6px; line-height:1;
}
.section-label::after{ content:""; flex:1; height:1px; background:currentColor; opacity:.28; }
.section-light .section-label{ color:var(--accent-dk); }

.section-title{ font-size:clamp(27px,6.8vw,50px); text-wrap:balance; }
.section-title.sm{ font-size:clamp(22px,5vw,28px); margin-bottom:20px; }
.section-title.xl{ font-size:clamp(34px,9.6vw,76px); }
.section-title .accent{ color:var(--accent-lt); }
.section-intro{ margin-top:14px; max-width:56ch; color:var(--ink-soft); }

/* ---------------------------------------------------------
   TAGS / BADGES  (the only rounded things on the page)
   --------------------------------------------------------- */
.tag{
  display:inline-block; border-radius:999px;
  font-family:var(--font-mono); font-size:10.5px; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase;
  padding:6px 14px; margin:0;
  border:1px solid currentColor; color:var(--accent-lt);
  line-height:1;
}
.section-light .tag{ color:var(--accent-dk); }
.tag-live{ color:#fff; border-color:rgba(255,255,255,.35); background:rgba(47,107,255,.16); }
.tag-live::before{
  content:""; display:inline-block; width:6px; height:6px; border-radius:50%;
  background:var(--accent-lt); margin-right:8px; vertical-align:middle;
  box-shadow:0 0 0 3px rgba(127,164,255,.22);
}

/* ---------------------------------------------------------
   BUTTONS — always square
   --------------------------------------------------------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--font-head); font-weight:700;
  font-size:13px; letter-spacing:.06em; text-transform:uppercase;
  padding:16px 26px; border:1px solid transparent; cursor:pointer;
  transition:background-color .18s ease, color .18s ease, border-color .18s ease;
  border-radius:0; text-align:center;
}
.btn-sm{ padding:10px 16px; font-size:11px; }
.btn-primary{ background:var(--accent); color:#fff; border-color:var(--accent); }
.btn-primary:hover{ background:#fff; color:var(--navy); border-color:#fff; }
.section-light .btn-primary:hover{ background:var(--navy); color:#fff; border-color:var(--navy); }
.btn-ghost{ background:transparent; color:inherit; border-color:currentColor; font-family:var(--font-mono); letter-spacing:.06em; text-transform:none; }
.btn-ghost:hover{ background:#fff; color:var(--black); border-color:#fff; }

/* ---------------------------------------------------------
   HEADER
   --------------------------------------------------------- */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(5,7,12,.92);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--line-dark);
  color:#fff;
}
.header-inner{ display:flex; align-items:center; gap:16px; height:var(--header-h); }

.brand{ display:flex; align-items:center; gap:10px; margin-right:auto; min-width:0; }
.brand-mark{
  font-family:var(--font-mono); font-weight:600; font-size:13px;
  background:var(--accent); color:#fff; padding:7px 8px; line-height:1;
}
.brand-text{
  font-family:var(--font-head); font-size:13px; font-weight:600;
  text-transform:uppercase; letter-spacing:.02em; line-height:1.15;
  display:flex; flex-direction:column; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis;
}
.brand-text em{
  font-style:normal; font-family:var(--font-mono); font-size:9.5px;
  letter-spacing:.18em; color:var(--accent-lt); font-weight:400;
}

.site-nav{ display:none; gap:22px; }
.site-nav a{
  font-family:var(--font-mono); font-size:11.5px; letter-spacing:.12em;
  text-transform:uppercase; color:rgba(255,255,255,.66);
  padding:6px 0; border-bottom:1px solid transparent;
  transition:color .18s ease, border-color .18s ease;
}
.site-nav a:hover,.site-nav a.is-current{ color:#fff; border-bottom-color:var(--accent); }
.site-nav a.nav-accent{ color:var(--accent-lt); }
.header-cta{ flex:none; }

/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */
.hero{ padding:56px 0 64px; border-bottom:1px solid var(--line-dark); }
.hero-name{
  font-size:clamp(38px,11.4vw,104px);
  line-height:.92; margin:22px 0 0; letter-spacing:-.03em;
}
.hero-role{
  font-family:var(--font-mono); font-size:13px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--accent-lt);
  margin:20px 0 0; padding-top:18px; border-top:1px solid var(--line-dark);
}
.hero-role .sep{ opacity:.4; padding:0 6px; }
.hero-pitch{ margin:22px 0 0; max-width:62ch; font-size:16.5px; color:rgba(238,241,247,.86); }
.hero-actions{ display:flex; flex-direction:column; gap:12px; margin-top:30px; }
.hero-actions .btn{ width:100%; }

.hero-links{ display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:26px; }
.hero-links a{
  font-family:var(--font-mono); font-size:12px; letter-spacing:.08em;
  color:rgba(238,241,247,.72);
  border-bottom:1px solid rgba(255,255,255,.25); padding-bottom:2px;
  transition:color .18s ease, border-color .18s ease;
}
.hero-links a:hover{ color:var(--accent-lt); border-bottom-color:var(--accent-lt); }

.stats{
  display:grid; grid-template-columns:repeat(2,1fr);
  margin:44px 0 0; border-top:1px solid var(--line-dark); border-left:1px solid var(--line-dark);
}
.stat{
  padding:18px 16px;
  border-right:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark);
}
.stat dt{
  font-family:var(--font-mono); font-size:10px; letter-spacing:.16em;
  text-transform:uppercase; color:rgba(238,241,247,.55);
}
.stat dd{
  margin:8px 0 0; font-family:var(--font-head); font-weight:700;
  font-size:clamp(26px,7vw,38px); line-height:1; color:#fff;
}

/* ---------------------------------------------------------
   ABOUT
   --------------------------------------------------------- */
.split{ display:grid; gap:28px; }
.prose{ max-width:66ch; color:var(--ink-soft); }
.prose p{ margin-bottom:1.15em; }
.prose strong{ color:var(--ink); }
.prose-kicker{
  border-left:3px solid var(--accent); padding:4px 0 4px 18px;
  color:var(--ink); font-weight:500;
}

/* ---------------------------------------------------------
   HALO LAB FIT
   --------------------------------------------------------- */
.halo{ border-top:2px solid var(--accent); }
.halo-head{ margin-bottom:34px; }
.halo-sub{
  margin:16px 0 0; font-family:var(--font-mono); font-size:12.5px;
  letter-spacing:.06em; color:rgba(233,237,246,.62);
}
.checklist{ display:grid; gap:0; border-top:1px solid var(--line-dark); }
.checklist li{
  position:relative; padding:22px 0 22px 42px;
  border-bottom:1px solid var(--line-dark);
  transition:background-color .2s ease, padding-left .2s ease;
}
.checklist li::before{
  content:"✓"; position:absolute; left:0; top:22px;
  width:24px; height:24px; display:grid; place-items:center;
  background:var(--accent); color:#fff;
  font-size:13px; font-weight:700; line-height:1;
}
.checklist li:hover{ background:rgba(47,107,255,.08); }
.checklist h3{
  font-size:16px; letter-spacing:.01em; color:#fff; margin-bottom:8px;
  text-transform:uppercase;
}
.checklist p{ margin:0; color:rgba(233,237,246,.72); font-size:15px; max-width:70ch; }
.checklist em{ color:var(--accent-lt); font-style:normal; }

/* ---------------------------------------------------------
   SKILLS
   --------------------------------------------------------- */
.skills-grid{ display:grid; gap:36px; margin-top:34px; }
.skill-block{ border-top:2px solid var(--ink); padding-top:20px; }
.skill-block:nth-child(2){ border-top-color:var(--accent); }
.skill-title{ font-size:18px; margin-bottom:18px; }
.chips{ display:flex; flex-wrap:wrap; gap:8px; }
.chips li{
  font-family:var(--font-mono); font-size:11.5px; letter-spacing:.04em;
  padding:9px 12px; border:1px solid var(--line-light); background:var(--paper);
  color:var(--ink); line-height:1;
  transition:background-color .16s ease, color .16s ease, border-color .16s ease;
}
.chips li:hover{ background:var(--accent); color:#fff; border-color:var(--accent); }

/* ---------------------------------------------------------
   TIMELINE
   --------------------------------------------------------- */
.timeline{ margin-top:34px; display:grid; gap:0; }
.tl-item{
  display:grid; gap:18px;
  padding:30px 0; border-top:1px solid var(--line-dark);
}
.tl-item:last-child{ border-bottom:1px solid var(--line-dark); }
.tl-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.tl-date{
  font-family:var(--font-mono); font-size:11.5px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--accent-lt); margin:0;
}
.tl-role{ font-size:clamp(19px,5vw,25px); color:#fff; }
.tl-org{
  margin:8px 0 18px; font-family:var(--font-mono); font-size:12px;
  letter-spacing:.08em; color:rgba(233,237,246,.6); text-transform:uppercase;
}
.bullets{ display:grid; gap:12px; }
.bullets li{
  position:relative; padding-left:22px; color:rgba(233,237,246,.78); font-size:15px;
}
.bullets li::before{
  content:""; position:absolute; left:0; top:9px;
  width:8px; height:8px; background:var(--accent);
}

/* ---------------------------------------------------------
   CASE STUDIES
   --------------------------------------------------------- */
.cases{ margin-top:32px; display:grid; gap:14px; }
.case{ border:1px solid var(--line-light); background:var(--white); transition:border-color .2s ease, transform .2s ease; }
.case:hover{ border-color:var(--accent); }
.case.is-open{ border-color:var(--accent); }
.case-feature{ border-left:3px solid var(--accent); }

.case-head{
  width:100%; display:flex; align-items:flex-start; gap:14px;
  background:transparent; border:0; cursor:pointer;
  padding:22px; text-align:left; font:inherit; color:inherit;
}
.case-num{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.1em;
  color:var(--accent-dk); padding-top:4px; flex:none;
}
.case-titles{ display:flex; flex-direction:column; gap:6px; min-width:0; flex:1; }
.case-title{
  font-family:var(--font-head); font-weight:800; text-transform:uppercase;
  font-size:16px; letter-spacing:-.005em; line-height:1.15;
}
.case-excerpt{ font-family:var(--font-mono); font-size:11.5px; color:var(--ink-soft); letter-spacing:.02em; }
.case-toggle{
  flex:none; width:26px; height:26px; position:relative;
  border:1px solid var(--line-light); transition:background-color .2s ease, border-color .2s ease;
}
.case-toggle::before,.case-toggle::after{
  content:""; position:absolute; left:50%; top:50%; background:var(--ink);
  transform:translate(-50%,-50%); transition:opacity .2s ease, background-color .2s ease;
}
.case-toggle::before{ width:11px; height:1px; }
.case-toggle::after{ width:1px; height:11px; }
.case-head:hover .case-toggle{ background:var(--accent); border-color:var(--accent); }
.case-head:hover .case-toggle::before,.case-head:hover .case-toggle::after{ background:#fff; }
.case-head[aria-expanded="true"] .case-toggle{ background:var(--accent); border-color:var(--accent); }
.case-head[aria-expanded="true"] .case-toggle::before{ background:#fff; }
.case-head[aria-expanded="true"] .case-toggle::after{ opacity:0; }

.case-panel{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .28s ease; }
.case.is-open .case-panel{ grid-template-rows:1fr; }
.case-panel-inner{ overflow:hidden; }
.case-panel-inner > p{
  margin:0; padding:0 22px 18px 22px; color:var(--ink-soft);
  border-top:1px solid var(--line-light); padding-top:18px;
}
.case-tags{ display:flex; flex-wrap:wrap; gap:6px; padding:0 22px 22px; }
.case-tags li{
  font-family:var(--font-mono); font-size:10px; letter-spacing:.14em;
  text-transform:uppercase; padding:6px 10px; line-height:1;
  background:var(--navy); color:#fff;
}

/* ---------------------------------------------------------
   CREDENTIALS
   --------------------------------------------------------- */
.cred-grid{ display:grid; gap:44px; margin-top:14px; }
.certs{ display:grid; gap:12px; }
.certs a{
  display:grid; gap:5px; padding:20px;
  border:1px solid var(--line-light); background:var(--paper);
  transition:background-color .18s ease, border-color .18s ease, color .18s ease;
}
.certs a:hover{ background:var(--navy); border-color:var(--navy); color:#fff; }
.cert-name{ font-family:var(--font-head); font-weight:600; text-transform:uppercase; font-size:14.5px; line-height:1.2; }
.cert-org{ font-family:var(--font-mono); font-size:11.5px; color:var(--ink-soft); }
.certs a:hover .cert-org{ color:rgba(255,255,255,.7); }
.cert-view{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-dk); margin-top:6px; }
.certs a:hover .cert-view{ color:var(--accent-lt); }

.langs{ display:grid; border-top:1px solid var(--line-light); }
.langs li{
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:16px 0; border-bottom:1px solid var(--line-light);
}
.lang-name{ font-family:var(--font-head); font-weight:600; text-transform:uppercase; font-size:15px; }
.lang-level{ font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#fff; background:var(--accent); padding:5px 10px; line-height:1; }

/* ---------------------------------------------------------
   CONTACT
   --------------------------------------------------------- */
.contact{ padding-bottom:80px; }
.contact-note{ margin-top:24px; }
.contact-actions{ display:flex; flex-direction:column; gap:12px; margin-top:30px; }
.contact-actions .btn{ width:100%; }
.contact-list{ margin-top:44px; border-top:1px solid var(--line-dark); }
.contact-list li{
  display:grid; gap:4px; padding:16px 0; border-bottom:1px solid var(--line-dark);
}
.cl-key{ font-family:var(--font-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:rgba(238,241,247,.5); }
.cl-val{
  font-family:var(--font-mono); font-size:13.5px; word-break:break-word;
  color:#fff; transition:color .18s ease;
}
.cl-val:hover{ color:var(--accent-lt); }

/* ---------------------------------------------------------
   FOOTER
   --------------------------------------------------------- */
.site-footer{ background:var(--black); color:rgba(238,241,247,.6); border-top:1px solid var(--line-dark); padding:26px 0; }
.footer-inner{ display:grid; gap:8px; font-family:var(--font-mono); font-size:11.5px; letter-spacing:.06em; }
.footer-inner p{ margin:0; }
.footer-name{ color:#fff; text-transform:uppercase; letter-spacing:.1em; }
.footer-top{ color:var(--accent-lt); justify-self:start; transition:color .18s ease; }
.footer-top:hover{ color:#fff; }

/* ---------------------------------------------------------
   SCROLL REVEAL
   --------------------------------------------------------- */
.reveal{ opacity:0; transform:translateY(16px); transition:opacity .45s ease, transform .45s ease; }
.reveal.is-visible{ opacity:1; transform:none; }

/* ---------------------------------------------------------
   BREAKPOINTS
   --------------------------------------------------------- */
@media (min-width:560px){
  .hero-actions,.contact-actions{ flex-direction:row; flex-wrap:wrap; }
  .hero-actions .btn,.contact-actions .btn{ width:auto; }
  .stats{ grid-template-columns:repeat(4,1fr); }
  .contact-list li{ grid-template-columns:110px 1fr; gap:16px; align-items:baseline; }
  .case-head{ padding:26px; align-items:center; }
  .case-title{ font-size:18px; }
  .case-panel-inner > p,.case-tags{ padding-left:26px; padding-right:26px; }
}

@media (min-width:820px){
  :root{ --gut:32px; --header-h:70px; }
  .section{ padding:104px 0; }
  .hero{ padding:88px 0 96px; }
  .site-nav{ display:flex; }
  .split{ grid-template-columns:minmax(0,1fr) minmax(0,1.06fr); gap:56px; align-items:start; }
  .skills-grid{ grid-template-columns:1fr 1fr; gap:56px; }
  .cred-grid{ grid-template-columns:1.25fr .75fr; gap:64px; }
  .tl-item{ grid-template-columns:220px minmax(0,1fr); gap:36px; padding:40px 0; }
  .tl-meta{ flex-direction:column; align-items:flex-start; gap:14px; }
  .checklist{ grid-template-columns:1fr 1fr; column-gap:48px; }
  .checklist li{ padding-right:24px; }
  .halo-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:48px; }
  .halo-sub{ max-width:30ch; text-align:right; margin-bottom:6px; }
  .cases{ grid-template-columns:1fr 1fr; gap:16px; align-content:start; }
  .case{ align-self:start; }
  .footer-inner{ grid-template-columns:auto auto 1fr; align-items:center; gap:24px; }
  .footer-top{ justify-self:end; }
  .hero-pitch{ font-size:18px; }
}

@media (min-width:1100px){
  .hero-name{ letter-spacing:-.035em; }
  .section-title{ font-size:clamp(34px,3.6vw,50px); }
}

/* ---------------------------------------------------------
   MOTION / PRINT
   --------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation:none !important; transition:none !important; }
  .reveal{ opacity:1; transform:none; }
}

@media print{
  .site-header,.hero-actions,.contact-actions,.footer-top,.case-toggle,.skip-link{ display:none !important; }
  body{ background:#fff; color:#000; font-size:11pt; }
  .section,.hero{ padding:18px 0; border:0; }
  .section-navy,.section-dark,.site-footer{ background:#fff !important; color:#000 !important; }
  .section-navy *,.section-dark *,.site-footer *{ color:#000 !important; }
  .bg-grid::before,.bg-graph::before,.bg-dots::before{ display:none; }
  .case-panel{ grid-template-rows:1fr !important; }
  .reveal{ opacity:1 !important; transform:none !important; }
  a[href^="http"]::after{ content:" (" attr(href) ")"; font-size:8pt; }
}
