:root{
  --ink:#0a0a0a;
  --paper:#f2ede4;
  --paper-2:#ebe4d6;
  --red:#d02e2e;
  --red-deep:#8c1a1a;
  --gold:#b8903a;
  --blue:#1a3a6e;
  --stamp:#5a1010;
  --line:#1a1a1a;
  --muted:#6b6354;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Fraunces', Georgia, serif;
  background:var(--paper);
  color:var(--ink);
  overflow-x:hidden;
  cursor:default;
  line-height:1.5;
}
/* Grain overlay — the soul of the brutalist dossier */
body::before{
  content:"";
  position:fixed;inset:0;
  pointer-events:none;z-index:999;
  opacity:.12;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  mix-blend-mode:multiply;
}
/* Fine horizontal print lines */
body::after{
  content:"";
  position:fixed;inset:0;
  pointer-events:none;z-index:998;
  background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(0,0,0,.015) 3px,rgba(0,0,0,.015) 4px);
}

.mono{font-family:'JetBrains Mono',monospace}

/* ============ LANG SWITCH ============ */
.lang-switch{
  position:fixed;top:70px;right:20px;z-index:100;
  display:flex;gap:0;
  font-family:'JetBrains Mono',monospace;
  font-size:11px;font-weight:700;
  letter-spacing:.15em;
}
.lang-switch a{
  padding:10px 14px;
  color:var(--ink);
  text-decoration:none;
  border:1.5px solid var(--ink);
  background:var(--paper);
  transition:all .15s;
}
.lang-switch a+a{border-left:none}
.lang-switch a.active{background:var(--ink);color:var(--paper)}
.lang-switch a:hover{background:var(--red);color:var(--paper);border-color:var(--red)}

.pdf-btn{
  position:fixed;bottom:24px;right:24px;z-index:100;
  padding:14px 20px;
  background:var(--ink);color:var(--paper);
  font-family:'JetBrains Mono',monospace;
  font-size:11px;font-weight:700;letter-spacing:.2em;
  border:none;cursor:pointer;
  text-decoration:none;
  box-shadow:6px 6px 0 var(--red);
  transition:all .1s;
}
.pdf-btn:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--red)}
.pdf-btn:active{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--red)}

/* ============ HEADER — CLASSIFIED DOSSIER ============ */
.dossier-header{
  position:relative;
  padding:40px 6vw 0;
  border-bottom:2px solid var(--ink);
}
.dossier-meta{
  display:flex;justify-content:space-between;align-items:flex-start;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;text-transform:uppercase;
  letter-spacing:.25em;color:var(--ink);
  margin-bottom:30px;
  flex-wrap:wrap;gap:12px;
}
.dossier-meta .tag{
  display:inline-block;padding:4px 10px;
  border:1.5px solid var(--ink);
}
.dossier-meta .live::before{
  content:"●";color:var(--red);margin-right:6px;
  animation:blink 1.4s infinite;
}
@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:.2}}

/* Main name — MASSIVE */
.name-block{
  position:relative;
  padding-bottom:20px;
}
.name-eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--red);
  margin-bottom:10px;
}
.name-main{
  font-family:'Fraunces',serif;
  font-weight:900;
  font-size:clamp(60px, 14vw, 220px);
  line-height:.82;
  letter-spacing:-.045em;
  color:var(--ink);
  font-variation-settings:"opsz" 144;
}
.name-main .first{display:block}
.name-main .last{
  display:block;
  font-style:italic;
  font-weight:400;
  color:var(--ink);
  position:relative;
}
.name-main .last::after{
  content:"";
  display:inline-block;
  width:.4em;height:.12em;
  background:var(--red);
  margin-left:.2em;vertical-align:middle;
  animation:cursor 1s infinite;
}
@keyframes cursor{50%{opacity:0}}

/* The stamp */
.stamp{
  position:absolute;
  top:80px;right:6vw;
  border:3px solid var(--stamp);
  color:var(--stamp);
  padding:8px 16px;
  font-family:'JetBrains Mono',monospace;
  font-weight:700;font-size:14px;
  letter-spacing:.2em;
  transform:rotate(-8deg);
  opacity:.85;
  background:rgba(242,237,228,.4);
}
.stamp small{
  display:block;font-size:9px;font-weight:400;
  letter-spacing:.15em;margin-top:2px;
}

/* Role line — spans wide */
.role-line{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:24px;align-items:center;
  padding:24px 0 30px;
  border-top:1px dashed var(--ink);
  margin-top:10px;
}
.role-number{
  font-family:'JetBrains Mono',monospace;
  font-size:14px;font-weight:700;
  color:var(--red);
  letter-spacing:.15em;
}
.role-text{
  font-family:'Fraunces',serif;
  font-size:clamp(18px, 2.2vw, 28px);
  font-weight:400;
  font-style:italic;
  color:var(--ink);
  line-height:1.25;
}
.role-text strong{font-weight:900;font-style:normal}

/* ============ HERO GRID : massive numbers + intro ============ */
.hero{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:0;
  border-bottom:2px solid var(--ink);
}
.hero-left{
  padding:60px 6vw 60px 6vw;
  border-right:2px solid var(--ink);
}
.hero-right{
  padding:60px 6vw;
  background:var(--ink);
  color:var(--paper);
  position:relative;
  overflow:hidden;
}
.hero-right::before{
  content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(208,46,46,.15) 0, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(184,144,58,.1) 0, transparent 50%);
}

.section-label{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;letter-spacing:.3em;
  text-transform:uppercase;
  display:flex;align-items:center;gap:12px;
  margin-bottom:24px;
}
.section-label::after{
  content:"";flex:1;height:1px;background:currentColor;opacity:.4;
}
.hero-left .section-label{color:var(--red)}
.hero-right .section-label{color:var(--gold)}

.lede{
  font-family:'Fraunces',serif;
  font-size:clamp(17px, 1.5vw, 22px);
  line-height:1.5;
  font-weight:400;
  color:var(--ink);
  margin-bottom:20px;
}
.lede strong{font-weight:900;color:var(--red-deep)}
.lede.big{
  font-size:clamp(22px, 2.2vw, 32px);
  font-weight:900;
  line-height:1.2;
  letter-spacing:-.02em;
  margin-bottom:30px;
}
.lede.big em{
  font-style:italic;font-weight:400;
  color:var(--red);
}

/* Hero right — the numbers */
.numbers-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  position:relative;z-index:1;
}
.num-card{
  padding:24px 20px;
  border-right:1px solid rgba(242,237,228,.15);
  border-bottom:1px solid rgba(242,237,228,.15);
  position:relative;
}
.num-card:nth-child(2n){border-right:none}
.num-card:nth-child(n+3){border-bottom:none}
.num-val{
  font-family:'Fraunces',serif;
  font-weight:900;
  font-size:clamp(54px, 7vw, 96px);
  line-height:.9;
  letter-spacing:-.05em;
  color:var(--paper);
  display:block;
  transition:color .3s;
}
.num-card:hover .num-val{color:var(--red)}
.num-label{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
  margin-top:10px;
  display:block;
}

.contact-strip{
  margin-top:40px;
  padding-top:24px;
  border-top:1px solid rgba(242,237,228,.25);
  display:grid;gap:10px;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  position:relative;z-index:1;
}
.contact-strip .row{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:16px;align-items:baseline;
}
.contact-strip .k{
  color:var(--gold);
  letter-spacing:.15em;
  text-transform:uppercase;
  font-size:10px;
}
.contact-strip .v{color:var(--paper)}
.contact-strip a{color:var(--paper);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.contact-strip a:hover{color:var(--gold)}

/* ============ MANIFESTO (The statement) ============ */
.manifesto{
  padding:100px 6vw;
  background:var(--paper-2);
  border-bottom:2px solid var(--ink);
  position:relative;
}
.manifesto-inner{
  max-width:1400px;margin:0 auto;
}
.manifesto-quote{
  font-family:'Fraunces',serif;
  font-weight:300;
  font-style:italic;
  font-size:clamp(32px, 5.5vw, 96px);
  line-height:1.02;
  letter-spacing:-.03em;
  color:var(--ink);
}
.manifesto-quote .accent{
  color:var(--red);
  font-style:normal;
  font-weight:900;
}
.manifesto-quote .underline{
  text-decoration:underline;
  text-decoration-color:var(--gold);
  text-decoration-thickness:4px;
  text-underline-offset:12px;
}
.manifesto-sign{
  display:flex;justify-content:space-between;
  margin-top:60px;
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.2em;text-transform:uppercase;
  flex-wrap:wrap;gap:16px;
}

/* ============ TRIPTYQUE : Clarifier / Transformer / Repositionner ============ */
.triptych{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-bottom:2px solid var(--ink);
}
.tri-card{
  padding:60px 40px;
  border-right:2px solid var(--ink);
  position:relative;
  cursor:default;
  transition:background .3s;
  overflow:hidden;
}
.tri-card:last-child{border-right:none}
.tri-card:hover{background:var(--ink);color:var(--paper)}
.tri-card:hover .tri-num{color:var(--red)}
.tri-card:hover .tri-label{color:var(--gold)}
.tri-num{
  font-family:'Fraunces',serif;
  font-weight:900;
  font-size:120px;
  line-height:1;
  letter-spacing:-.05em;
  color:var(--red);
  transition:color .3s;
  display:block;
  margin-bottom:20px;
}
.tri-label{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:12px;
  display:block;
  transition:color .3s;
}
.tri-title{
  font-family:'Fraunces',serif;
  font-weight:900;
  font-size:36px;
  line-height:1;
  letter-spacing:-.02em;
  margin-bottom:16px;
}
.tri-body{
  font-size:16px;line-height:1.55;
  font-weight:400;
}

/* ============ SKILLS SCORING BAR ============ */
.skills-section{
  padding:80px 6vw;
  border-bottom:2px solid var(--ink);
  background:var(--paper);
}
.big-title{
  font-family:'Fraunces',serif;
  font-weight:900;
  font-size:clamp(40px, 7vw, 96px);
  line-height:.95;
  letter-spacing:-.04em;
  margin-bottom:10px;
}
.big-title em{
  font-style:italic;font-weight:400;
  color:var(--red);
}
.big-subtitle{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:50px;
}

.skills-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:60px;
}
.skill-row{
  padding:18px 0;
  border-bottom:1px solid rgba(0,0,0,.12);
  display:grid;
  grid-template-columns:1fr auto;
  gap:20px;align-items:center;
  cursor:default;
}
.skill-row:first-child{border-top:1px solid rgba(0,0,0,.12)}
.skill-name{
  font-family:'Fraunces',serif;
  font-weight:700;
  font-size:22px;
  letter-spacing:-.015em;
  transition:color .2s,transform .2s;
}
.skill-row:hover .skill-name{color:var(--red);transform:translateX(6px)}
.skill-visual{
  display:flex;align-items:center;gap:14px;
}
.skill-bar{
  width:180px;height:6px;
  background:rgba(0,0,0,.1);
  position:relative;
  overflow:hidden;
}
.skill-fill{
  position:absolute;left:0;top:0;bottom:0;
  background:var(--ink);
  width:0;
  transition:width 1.5s cubic-bezier(.2,.8,.2,1);
}
.skill-row:hover .skill-fill{background:var(--red)}
.skill-score{
  font-family:'JetBrains Mono',monospace;
  font-weight:700;
  font-size:14px;
  color:var(--red-deep);
  min-width:50px;text-align:right;
}

.chips-block{
  background:var(--ink);
  color:var(--paper);
  padding:40px;
  position:relative;
}
.chips-block h3{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:24px;
}
.chips{
  display:flex;flex-wrap:wrap;gap:8px;
}
.chip{
  padding:8px 14px;
  border:1px solid rgba(242,237,228,.3);
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.05em;
  transition:all .15s;
  cursor:default;
}
.chip:hover{
  background:var(--red);
  border-color:var(--red);
  color:var(--paper);
  transform:translate(-2px,-2px);
  box-shadow:3px 3px 0 var(--gold);
}
.cognitive{
  margin-top:30px;padding-top:30px;
  border-top:1px solid rgba(242,237,228,.2);
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:15px;
  line-height:1.55;
  color:var(--paper);
}
.cognitive::before{
  content:"AVANTAGE COGNITIF";
  display:block;
  font-family:'JetBrains Mono',monospace;
  font-style:normal;
  font-size:10px;letter-spacing:.3em;
  color:var(--gold);margin-bottom:10px;
}

/* ============ TIMELINE — THE MEAT ============ */
.timeline-section{
  padding:100px 6vw;
  border-bottom:2px solid var(--ink);
  background:var(--paper);
}
.timeline-header{
  display:grid;
  grid-template-columns:1fr auto;
  gap:40px;align-items:flex-end;
  margin-bottom:60px;
  padding-bottom:30px;
  border-bottom:1px dashed var(--ink);
}

.tl-tabs{
  display:flex;gap:0;flex-wrap:wrap;
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.15em;text-transform:uppercase;
}
.tl-tab{
  padding:10px 16px;
  border:1.5px solid var(--ink);
  background:var(--paper);
  cursor:pointer;
  font-weight:700;
  color:var(--ink);
  transition:all .15s;
  font-family:inherit;font-size:inherit;letter-spacing:inherit;
}
.tl-tab+.tl-tab{border-left:none}
.tl-tab:hover{background:var(--ink);color:var(--paper)}
.tl-tab.active{background:var(--red);color:var(--paper);border-color:var(--red)}

/* Each job entry */
.job-entry{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:40px;
  padding:50px 0;
  border-top:1px solid var(--ink);
  position:relative;
  transition:opacity .3s;
}
.job-entry.hidden{display:none}
.job-entry:last-child{border-bottom:1px solid var(--ink)}

.job-side{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.job-period{
  font-family:'Fraunces',serif;
  font-size:28px;
  font-weight:900;
  letter-spacing:-.02em;
  color:var(--red);
  text-transform:none;letter-spacing:-.02em;
  line-height:1;
  margin-bottom:12px;
}
.job-tag{
  display:inline-block;
  padding:4px 10px;
  border:1.5px solid var(--ink);
  margin-bottom:10px;
  font-size:10px;
}
.job-code{color:var(--muted);margin-top:16px;font-size:10px;display:block}

.job-main{
  padding-left:30px;
  border-left:2px solid var(--ink);
  position:relative;
}
.job-main::before{
  content:"";
  position:absolute;left:-8px;top:0;
  width:14px;height:14px;
  background:var(--red);
  border:2px solid var(--ink);
  border-radius:50%;
}
.job-title{
  font-family:'Fraunces',serif;
  font-weight:900;
  font-size:clamp(24px, 3vw, 38px);
  line-height:1.08;
  letter-spacing:-.025em;
  color:var(--ink);
  margin-bottom:8px;
}
.job-org{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--red-deep);
  margin-bottom:24px;
}
.job-narrative{
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:19px;
  line-height:1.5;
  color:var(--ink);
  margin-bottom:24px;
  padding-left:20px;
  border-left:3px solid var(--gold);
}

.job-impact-row{
  display:flex;gap:30px;flex-wrap:wrap;
  margin:24px 0;
  padding:20px;
  background:var(--paper-2);
  border:1.5px solid var(--ink);
}
.job-impact-row .imp{
  display:flex;flex-direction:column;
}
.job-impact-row .imp strong{
  font-family:'Fraunces',serif;
  font-size:36px;font-weight:900;
  line-height:1;
  color:var(--red);
  letter-spacing:-.03em;
}
.job-impact-row .imp span{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:6px;
}

.job-details{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:30px;
  margin-top:20px;
}
.bullets{list-style:none}
.bullets li{
  font-size:15px;line-height:1.55;
  padding-left:20px;
  position:relative;
  margin-bottom:10px;
}
.bullets li::before{
  content:"→";
  position:absolute;left:0;top:0;
  color:var(--red);
  font-weight:700;
}
.bullets li strong{font-weight:900;color:var(--ink)}

.proof-card{
  background:var(--ink);
  color:var(--paper);
  padding:24px;
  position:relative;
}
.proof-card::before{
  content:"";
  position:absolute;top:10px;right:10px;
  width:30px;height:30px;
  border:1.5px solid var(--gold);
  border-radius:50%;
  background:radial-gradient(circle,var(--red) 3px,transparent 4px);
}
.proof-title{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:14px;
}
.proof-card ul{list-style:none}
.proof-card li{
  font-size:13px;line-height:1.5;
  padding-left:18px;position:relative;
  margin-bottom:10px;
  color:var(--paper);
}
.proof-card li::before{
  content:"◆";
  position:absolute;left:0;
  color:var(--red);
  font-size:10px;
  top:3px;
}
.proof-card li strong{color:var(--gold)}

.signature-band{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(242,237,228,.3);
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gold);
}

/* Job story boxes (Context/Action/Effect) */
.job-story-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:20px 0;
}
.story-box{
  border:1.5px solid var(--ink);
  padding:16px;
  background:var(--paper);
  transition:all .2s;
}
.story-box:hover{background:var(--red);color:var(--paper);border-color:var(--red)}
.story-box:hover strong{color:var(--paper)}
.story-box strong{
  display:block;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--red);
  margin-bottom:8px;
  transition:color .2s;
}
.story-box span{font-size:14px;line-height:1.45;display:block}

/* ============ CASE STUDY — Resocom ============ */
.case-section{
  padding:100px 6vw;
  background:var(--ink);
  color:var(--paper);
  border-bottom:2px solid var(--ink);
  position:relative;
  overflow:hidden;
}
.case-section::before{
  content:"CASE / 01";
  position:absolute;
  top:20px;right:6vw;
  font-family:'Fraunces',serif;
  font-weight:900;
  font-size:clamp(100px, 20vw, 300px);
  color:rgba(208,46,46,.08);
  letter-spacing:-.05em;
  line-height:.8;
  pointer-events:none;
  z-index:0;
}
.case-inner{position:relative;z-index:1}
.case-title{
  font-family:'Fraunces',serif;
  font-weight:900;
  font-size:clamp(40px, 7vw, 96px);
  line-height:.95;
  letter-spacing:-.04em;
  margin-bottom:20px;
}
.case-title em{color:var(--red);font-style:italic;font-weight:400}
.case-subtitle{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:50px;
}
.case-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,.72fr) minmax(0,1fr);
  gap:24px;
  align-items:stretch;
  margin-top:34px;
}
.case-card,
.case-bridge{
  min-width:0;
  border:2px solid rgba(242,237,228,.72);
  padding:30px;
  background:rgba(242,237,228,.04);
  transition:all .28s ease;
}
.case-card:hover,
.case-bridge:hover{
  background:var(--paper);
  color:var(--ink);
}
.case-card:hover .case-label,
.case-bridge:hover .case-label,
.case-bridge:hover .bridge-label{color:var(--red)}
.case-card:hover ul,
.case-bridge:hover ul,
.case-bridge:hover p{color:var(--ink)}
.case-card.after{
  border-color:var(--red);
  border-width:3px;
  box-shadow:10px 10px 0 rgba(208,46,46,.16);
}
.case-label,
.bridge-label{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:18px;
  display:block;
  transition:color .2s;
}
.case-card h3,
.case-bridge h3{
  font-family:'Fraunces',serif;
  font-size:30px;
  line-height:1;
  letter-spacing:-.03em;
  margin-bottom:16px;
}
.case-card p,
.case-bridge p{
  font-size:15px;
  line-height:1.58;
  color:rgba(242,237,228,.88);
  margin-bottom:16px;
}
.case-card ul,
.case-bridge ul{list-style:none}
.case-card li,
.case-bridge li{
  font-size:15px;
  line-height:1.55;
  padding-left:16px;
  position:relative;
  margin-bottom:12px;
}
.case-card li::before,
.case-bridge li::before{
  content:"—";
  position:absolute;
  left:0;
  color:var(--red);
}
.case-bridge{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
  position:relative;
  overflow:hidden;
}
.case-bridge::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(184,144,58,.08),rgba(208,46,46,.04));
  pointer-events:none;
}
.case-bridge > *{position:relative;z-index:1}
.bridge-steps{
  display:grid;
  gap:12px;
}
.bridge-step{
  border-left:2px solid rgba(184,144,58,.5);
  padding-left:14px;
}
.bridge-step strong{
  display:block;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:6px;
}
.bridge-step span{
  display:block;
  font-size:14px;
  line-height:1.5;
}
.case-kpis{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.case-kpi{
  border:1px solid rgba(242,237,228,.24);
  padding:12px;
  min-width:0;
}
.case-kpi strong{
  display:block;
  font-family:'Fraunces',serif;
  font-size:28px;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--paper);
}
.case-kpi span{
  display:block;
  margin-top:6px;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
}
.case-bridge:hover .case-kpi strong{color:var(--red-deep)}
.case-result-band{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(242,237,228,.2);
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
}

/* ============ WORLD MAP 45 COUNTRIES ============ */
.world-section{
  padding:100px 6vw;
  background:var(--paper-2);
  border-bottom:2px solid var(--ink);
}
.world-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;align-items:center;
}
.world-svg-wrap{
  position:relative;
  background:var(--paper);
  border:2px solid var(--ink);
  padding:30px;
  box-shadow:8px 8px 0 var(--ink);
}
.world-svg{width:100%;height:auto;display:block}
.world-svg .dot{
  fill:var(--red);
  transition:fill .2s,r .2s;
  cursor:pointer;
}
.world-svg .dot:hover{fill:var(--gold);r:6}
.world-caption{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:.15em;text-transform:uppercase;
  color:var(--muted);
  margin-top:20px;
}

/* ============ VALUE / ADVANTAGES ============ */
.value-section{
  padding:100px 6vw;
  border-bottom:2px solid var(--ink);
}
.adv-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  margin-top:50px;
  border:2px solid var(--ink);
}
.adv-card{
  padding:40px 30px;
  border-right:2px solid var(--ink);
  position:relative;
  transition:all .3s;
  cursor:default;
}
.adv-card:last-child{border-right:none}
.adv-card:hover{background:var(--ink);}
.adv-card:hover .adv-num{color:var(--red)}
.adv-card:hover .adv-line{background:var(--gold)}
.adv-num{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;letter-spacing:.3em;
  color:var(--red);
  margin-bottom:20px;
  transition:color .3s;
}
.adv-line{
  width:30px;height:2px;
  background:var(--ink);
  margin-bottom:20px;
  transition:background .3s;
}
.adv-card h3{
  font-family:'Fraunces',serif;
  font-weight:900;
  font-size:24px;
  letter-spacing:-.02em;
  line-height:1.1;
  margin-bottom:16px;
}
.adv-card p{
  font-size:15px;line-height:1.55;
}

/* ============ RARE SIGNAL SECTION ============ */
.rare-board{
  display:grid;
  grid-template-columns:minmax(320px, 520px) 1fr;
  gap:36px;
  align-items:stretch;
  margin-top:40px;
}
.rare-radar-card{
  background:var(--ink);
  color:var(--paper);
  border:2px solid var(--ink);
  padding:28px;
  position:relative;
  overflow:hidden;
  min-height:100%;
}
.rare-radar-card::before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 50% 40%, rgba(208,46,46,.18) 0, transparent 38%),
    radial-gradient(circle at 85% 20%, rgba(184,144,58,.11) 0, transparent 24%);
  pointer-events:none;
}
.rare-radar-head,
.rare-scorecard,
.rare-radar-wrap{position:relative;z-index:1}
.rare-radar-head{
  display:flex;justify-content:space-between;gap:20px;align-items:flex-start;
  margin-bottom:16px;
}
.rare-kicker{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);
  display:block;margin-bottom:10px;
}
.rare-radar-head h3{
  font-family:'Fraunces',serif;
  font-size:clamp(28px, 3vw, 42px);
  line-height:1;letter-spacing:-.03em;
}
.rare-radar-head p{
  margin-top:12px;font-size:15px;line-height:1.5;max-width:28ch;color:rgba(242,237,228,.9)
}
.rare-scorecard{
  border:1.5px solid rgba(242,237,228,.18);
  padding:12px 14px;
  min-width:140px;
  background:rgba(242,237,228,.03);
}
.rare-scorecard strong{
  display:block;
  font-family:'Fraunces',serif;
  font-size:48px;line-height:.9;color:var(--paper);letter-spacing:-.05em;
}
.rare-scorecard span{
  display:block;margin-top:8px;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);
}
.rare-radar-wrap{padding:14px 0 10px}
.rare-radar{width:100%;max-width:470px;display:block;margin:0 auto}
.rare-radar .grid{fill:none;stroke:rgba(242,237,228,.12);stroke-width:1}
.rare-radar .axis{stroke:rgba(242,237,228,.18);stroke-width:1}
.rare-radar .label{
  fill:var(--gold);font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:1.6px;text-transform:uppercase
}
.rare-radar .dot{fill:var(--paper);stroke:var(--red);stroke-width:3;opacity:0;transform-origin:center;transform:scale(.5)}
.rare-radar .radar-shape{
  fill:rgba(208,46,46,.2);stroke:var(--red);stroke-width:3;
  stroke-dasharray:1200;stroke-dashoffset:1200;opacity:.2;
  transition:stroke-dashoffset 1.5s cubic-bezier(.2,.8,.2,1), opacity .6s ease;
}
.rare-radar .halo{fill:none;stroke:rgba(184,144,58,.25);stroke-width:1.2;opacity:.5}
.rare-radar-card.in .radar-shape{stroke-dashoffset:0;opacity:1}
.rare-radar-card.in .dot{animation:rareDotPop .45s ease forwards, rarePulse 2.1s ease-in-out infinite}
.rare-radar-card.in .dot:nth-of-type(1){animation-delay:.15s, .75s}
.rare-radar-card.in .dot:nth-of-type(2){animation-delay:.3s, .9s}
.rare-radar-card.in .dot:nth-of-type(3){animation-delay:.45s, 1.05s}
.rare-radar-card.in .dot:nth-of-type(4){animation-delay:.6s, 1.2s}
@keyframes rareDotPop{to{opacity:1;transform:scale(1)}}
@keyframes rarePulse{0%,100%{r:5}50%{r:7}}
.rare-metrics{
  display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px;
}
.rare-metric{
  border-top:1px solid rgba(242,237,228,.14);padding-top:10px;
}
.rare-metric strong{
  display:block;font-family:'Fraunces',serif;font-size:24px;color:var(--paper);letter-spacing:-.03em
}
.rare-metric span{
  display:block;margin-top:4px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)
}
.rare-metric em{display:block;margin-top:6px;font-style:normal;font-size:13px;color:rgba(242,237,228,.78);line-height:1.45}

.rare-evidence-card{
  background:var(--ink);
  color:var(--paper);
  border:2px solid var(--ink);
  padding:28px;
  position:relative;
  overflow:hidden;
  min-height:100%;
}
.rare-evidence-card::before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 50% 40%, rgba(208,46,46,.14) 0, transparent 38%),
    radial-gradient(circle at 85% 20%, rgba(184,144,58,.10) 0, transparent 24%);
  pointer-events:none;
}
.evidence-grid,
.evidence-ledger,
.rare-evidence-card .rare-radar-head{position:relative;z-index:1}
.evidence-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin:12px 0 16px;
}
.evidence-pillar{
  border:1px solid rgba(242,237,228,.15);
  background:rgba(242,237,228,.04);
  padding:14px;
}
.pillar-k{
  display:block;
  font-family:'JetBrains Mono',monospace;
  font-size:9px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:8px;
}
.evidence-pillar strong{
  display:block;
  font-family:'Fraunces',serif;
  font-size:24px;
  line-height:1;
  letter-spacing:-.03em;
}
.evidence-pillar p{
  margin-top:8px;
  font-size:13px;
  line-height:1.45;
  color:rgba(242,237,228,.84);
}
.data-visual{
  padding:16px;
  align-items:stretch;
  border-style:solid;
  border-color:rgba(0,0,0,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.42), rgba(0,0,0,.03));
}
.data-bars{
  width:100%;
  display:grid;
  gap:12px;
}
.data-row{
  display:grid;
  gap:6px;
  min-width:0;
}
.data-top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}
.data-label{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1.35;
  color:var(--muted);
  min-width:0;
  overflow-wrap:anywhere;
}
.data-value{
  flex:0 0 auto;
  font-family:'Fraunces',serif;
  font-size:18px;
  line-height:1;
  letter-spacing:-.03em;
  font-weight:900;
  color:var(--ink);
}
.data-track{
  height:10px;
  background:linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.09));
  border:1px solid rgba(0,0,0,.08);
  position:relative;
  overflow:hidden;
}
.data-track::after{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(90deg, transparent 0, transparent 23%, rgba(255,255,255,.32) 23%, rgba(255,255,255,.32) 24%);
  pointer-events:none;
}
.data-fill{
  display:block;
  height:100%;
  width:var(--fill, 0%);
  background:linear-gradient(90deg, var(--ink) 0%, var(--red) 100%);
  box-shadow:inset -10px 0 0 rgba(255,255,255,.12);
  transform-origin:left center;
  transform:scaleX(.12);
  transition:transform 1s cubic-bezier(.2,.8,.2,1);
}
.adv-card.in .data-fill{transform:scaleX(1)}


.hero, .triptych, .skills-grid, .job-entry, .job-details, .evidence-grid, .rare-radar-head, .footer-info, .case-grid, .world-grid, .numbers-grid, .contact-strip .row, .mobile-sticky-cta, .final-cta, .dossier-meta, .mobile-proof-links, .tl-tabs, .data-row, .data-top{min-width:0}
.hero > *, .triptych > *, .skills-grid > *, .job-entry > *, .job-details > *, .evidence-grid > *, .rare-radar-head > *, .footer-info > *, .case-grid > *, .world-grid > *, .numbers-grid > *, .contact-strip .row > *{min-width:0}
.name-main, .manifesto-quote, .big-title, .case-title, .final-quote, .job-title, .job-org, .role-text, .lede, .proof-card li, .contact-strip .v, .chip{overflow-wrap:anywhere;word-break:break-word}
.adv-grid.rare-grid{
  margin-top:0;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
}
.rare-grid .adv-card{
  overflow:hidden;
  min-height:0;
  background:var(--paper);
  display:flex;
  flex-direction:column;
  padding:34px 28px 30px;
}
.rare-grid .adv-card::after{
  content:"";position:absolute;left:28px;right:28px;bottom:22px;height:1px;background:rgba(0,0,0,.12)
}
.rare-grid .adv-card h3{
  margin:0 0 12px;
  font-size:27px;
  line-height:1.08;
}
.rare-grid .adv-card p{
  margin:0;
  font-size:15px;
  line-height:1.62;
  max-width:42ch;
}
.rare-visual{
  flex:0 0 auto;
  min-height:164px;
  display:flex;align-items:center;justify-content:center;
  margin:10px 0 22px;
  padding:16px 14px;
  border:1.5px dashed rgba(0,0,0,.14);
  background:linear-gradient(180deg, rgba(0,0,0,.015), rgba(0,0,0,.04));
}
.rare-svg{width:100%;height:100%}
.adv-card .rare-svg .wire,
.adv-card .rare-svg .grid-line,
.adv-card .rare-svg .pulse-line,
.adv-card .rare-svg .core-ring,
.adv-card .rare-svg .beam,
.adv-card .rare-svg .trace,
.adv-card .rare-svg .node,
.adv-card .rare-svg .particle,
.adv-card .rare-svg .tile,
.adv-card .rare-svg .focus-dot,
.adv-card .rare-svg .blip{transition:all .45s ease}
.adv-card .rare-svg .wire,
.adv-card .rare-svg .grid-line,
.adv-card .rare-svg .pulse-line,
.adv-card .rare-svg .core-ring,
.adv-card .rare-svg .beam,
.adv-card .rare-svg .trace{stroke:var(--ink);fill:none}
.adv-card .rare-svg .node,
.adv-card .rare-svg .focus-dot,
.adv-card .rare-svg .tile,
.adv-card .rare-svg .particle,
.adv-card .rare-svg .blip{fill:var(--red)}
.adv-card .rare-svg .wire,
.adv-card .rare-svg .pulse-line,
.adv-card .rare-svg .trace{stroke-width:2}
.adv-card .rare-svg .grid-line{stroke-width:1;opacity:.25}
.adv-card .rare-svg .node{opacity:.35}
.adv-card .rare-svg .focus-dot{opacity:.9}
.adv-card .rare-svg .particle{opacity:.7}
.adv-card .rare-svg .tile{opacity:.18}
.adv-card .rare-svg .beam{stroke:rgba(208,46,46,.4);stroke-width:6;stroke-linecap:round;opacity:.15}
.adv-card.in .rare-svg.signal-map .node:nth-child(5),
.adv-card.in .rare-svg.signal-map .node:nth-child(6),
.adv-card.in .rare-svg.signal-map .node:nth-child(7),
.adv-card.in .rare-svg.signal-map .node:nth-child(8){animation:rareNodeBlink 2.4s ease-in-out infinite}
.adv-card.in .rare-svg.signal-map .focus-dot{animation:rareSweep 3.6s ease-in-out infinite}
@keyframes rareNodeBlink{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes rareSweep{0%{transform:translateX(-30px)}50%{transform:translateX(26px)}100%{transform:translateX(-30px)}}
.adv-card.in .rare-svg.signal-scan .beam{animation:scanBeam 2.8s ease-in-out infinite}
.adv-card.in .rare-svg.signal-scan .blip{animation:blipPing 2.2s ease-in-out infinite}
.adv-card.in .rare-svg.signal-scan .blip:nth-of-type(2){animation-delay:.3s}
.adv-card.in .rare-svg.signal-scan .blip:nth-of-type(3){animation-delay:.65s}
@keyframes scanBeam{0%{transform:translateX(-56px);opacity:.08}45%{opacity:.32}100%{transform:translateX(56px);opacity:.08}}
@keyframes blipPing{0%,100%{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
.adv-card.in .rare-svg.signal-grid .tile{animation:gridResolve 2.4s cubic-bezier(.2,.8,.2,1) infinite alternate}
.adv-card.in .rare-svg.signal-grid .tile:nth-of-type(2){animation-delay:.15s}
.adv-card.in .rare-svg.signal-grid .tile:nth-of-type(3){animation-delay:.3s}
.adv-card.in .rare-svg.signal-grid .tile:nth-of-type(4){animation-delay:.45s}
.adv-card.in .rare-svg.signal-grid .tile:nth-of-type(5){animation-delay:.6s}
.adv-card.in .rare-svg.signal-grid .tile:nth-of-type(6){animation-delay:.75s}
@keyframes gridResolve{0%{opacity:.15;transform:translate(-10px,8px)}100%{opacity:.95;transform:translate(0,0)}}
.adv-card.in .rare-svg.signal-core .core-ring{animation:coreRing 2.6s ease-in-out infinite}
.adv-card.in .rare-svg.signal-core .particle{animation:coreParticle 2.2s ease-in-out infinite}
.adv-card.in .rare-svg.signal-core .particle:nth-of-type(2){animation-delay:.18s}
.adv-card.in .rare-svg.signal-core .particle:nth-of-type(3){animation-delay:.36s}
.adv-card.in .rare-svg.signal-core .particle:nth-of-type(4){animation-delay:.54s}
@keyframes coreRing{0%,100%{opacity:.35;stroke-width:1.2}50%{opacity:1;stroke-width:2.2}}
@keyframes coreParticle{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}
@media (max-width:980px){
  .rare-board{grid-template-columns:1fr}
  .rare-evidence-card{padding:24px}
  .evidence-grid{grid-template-columns:1fr}
  .rare-radar-card{padding:24px}
  .rare-radar-head{flex-direction:column}
  .rare-scorecard{min-width:0;width:100%}
  .adv-grid.rare-grid{grid-template-columns:1fr}
  .rare-grid .adv-card{min-height:auto;padding:28px 22px 24px}
  .rare-grid .adv-card::after{left:22px;right:22px}
  .rare-grid .adv-card h3{font-size:24px}
  .rare-grid .adv-card p{max-width:none}
  .rare-visual{min-height:142px;padding:14px 12px}
}

/* ============ LANGUAGES + EDUCATION ============ */
.footer-info{
  padding:80px 6vw;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:60px;
  border-bottom:2px solid var(--ink);
  background:var(--paper);
}
.info-col h3{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--red);
  margin-bottom:24px;
  padding-bottom:12px;
  border-bottom:1px solid var(--ink);
}
.lang-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:20px;align-items:center;
  padding:14px 0;
  border-bottom:1px dashed rgba(0,0,0,.15);
}
.lang-name{
  font-family:'Fraunces',serif;
  font-weight:900;
  font-size:22px;
  letter-spacing:-.015em;
}
.lang-level{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  color:var(--muted);
  letter-spacing:.1em;
}
.lang-dots{display:flex;gap:3px;margin-top:4px;justify-content:flex-end}
.lang-dot{width:8px;height:8px;background:rgba(0,0,0,.15)}
.lang-dot.on{background:var(--red)}

.edu-item{
  padding:14px 0;
  border-bottom:1px dashed rgba(0,0,0,.15);
}
.edu-title{
  font-family:'Fraunces',serif;
  font-weight:900;
  font-size:17px;
  letter-spacing:-.01em;
  margin-bottom:2px;
}
.edu-sub{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  color:var(--muted);
  letter-spacing:.05em;
}

/* ============ FINAL STATEMENT ============ */
.final{
  padding:120px 6vw;
  background:var(--ink);
  color:var(--paper);
  text-align:center;
  position:relative;
  overflow:hidden;
}
.final::before{
  content:"FIN / DOSSIER";
  position:absolute;
  top:40px;left:50%;transform:translateX(-50%);
  font-family:'JetBrains Mono',monospace;
  font-size:11px;letter-spacing:.4em;
  color:var(--gold);
}
.final-quote{
  font-family:'Fraunces',serif;
  font-weight:300;
  font-style:italic;
  font-size:clamp(28px, 4.5vw, 64px);
  line-height:1.15;
  letter-spacing:-.03em;
  max-width:1200px;margin:0 auto;
}
.final-quote .key{
  color:var(--red);font-style:normal;font-weight:900;
}
.final-quote .hi{
  text-decoration:underline;
  text-decoration-color:var(--gold);
  text-decoration-thickness:3px;
  text-underline-offset:10px;
}
.final-cta{
  margin-top:60px;
  display:flex;justify-content:center;gap:20px;flex-wrap:wrap;
}
.final-cta a{
  padding:16px 30px;
  border:2px solid var(--paper);
  color:var(--paper);
  text-decoration:none;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:.3em;
  text-transform:uppercase;
  font-weight:700;
  transition:all .15s;
}
.final-cta a:hover{
  background:var(--red);
  border-color:var(--red);
  transform:translate(-3px,-3px);
  box-shadow:6px 6px 0 var(--gold);
}
.final-cta a.primary{
  background:var(--red);border-color:var(--red);
}
.final-cta a.primary:hover{
  background:var(--gold);border-color:var(--gold);color:var(--ink);
}

/* ============ REVEAL ANIMATIONS ============ */
.reveal{
  opacity:0;
  transform:translateY(30px);
  transition:opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1);
}
.reveal.in{opacity:1;transform:translateY(0)}


/* ============ CASE FILES DOSSIER ============ */
.case-dossier{
  padding:100px 6vw;
  border-bottom:2px solid var(--ink);
  background:linear-gradient(180deg,var(--paper) 0%, var(--paper-2) 100%);
}
.case-dossier.dark{
  background:var(--ink);
  color:var(--paper);
}
.case-dossier .section-label{margin-bottom:18px}
.case-dossier-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:36px;
  align-items:start;
}
.case-dossier-main{
  border:2px solid var(--ink);
  background:rgba(255,255,255,.42);
  padding:34px;
  box-shadow:8px 8px 0 rgba(0,0,0,.08);
}
.case-dossier.dark .case-dossier-main{
  background:rgba(242,237,228,.04);
  border-color:rgba(242,237,228,.7);
  box-shadow:none;
}
.case-dossier-kpis{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin:28px 0;
}
.case-kpi{
  border:1.5px solid var(--ink);
  background:var(--paper);
  padding:18px;
}
.case-dossier.dark .case-kpi{
  background:rgba(242,237,228,.04);
  border-color:rgba(242,237,228,.26);
}
.case-kpi strong{
  display:block;
  font-family:'Fraunces',serif;
  font-size:34px;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--red);
}
.case-dossier.dark .case-kpi strong{color:var(--paper)}
.case-kpi span{
  display:block;
  margin-top:8px;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
}
.case-dossier.dark .case-kpi span{color:var(--gold)}
.case-steps{display:grid;gap:12px}
.case-step{
  border-left:3px solid var(--red);
  padding:16px 18px;
  background:rgba(0,0,0,.04);
}
.case-dossier.dark .case-step{background:rgba(242,237,228,.05)}
.case-step strong{
  display:block;
  margin-bottom:6px;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--red);
}
.case-dossier.dark .case-step strong{color:var(--gold)}
.case-proof-stack{display:grid;gap:14px}
.case-proof-card{
  border:1.5px solid var(--ink);
  background:var(--paper);
  padding:22px;
}
.case-dossier.dark .case-proof-card{
  background:rgba(242,237,228,.04);
  border-color:rgba(242,237,228,.26);
}
.case-proof-card h4{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--red);
  margin-bottom:12px;
}
.case-dossier.dark .case-proof-card h4{color:var(--gold)}
.case-proof-card ul{list-style:none}
.case-proof-card li{
  position:relative;
  padding-left:16px;
  margin-bottom:10px;
  font-size:14px;
  line-height:1.55;
}
.case-proof-card li::before{
  content:'◆';
  position:absolute;
  left:0;top:2px;
  font-size:9px;
  color:var(--red);
}
.case-dossier.dark .case-proof-card li::before{color:var(--red)}
.timeline-note{
  margin-top:30px;
  padding:18px 20px;
  border:1px dashed rgba(0,0,0,.3);
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.12em;
  color:var(--muted);
  text-transform:uppercase;
}
.mini-proof-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:18px 0 8px;
}
.mini-proof{
  padding:14px;
  border:1px solid rgba(0,0,0,.14);
  background:rgba(0,0,0,.03);
}
.mini-proof strong{
  display:block;
  font-family:'Fraunces',serif;
  font-size:26px;
  line-height:1;
  color:var(--red);
}
.mini-proof span{
  display:block;
  margin-top:6px;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}

/* ============ RESPONSIVE ============ */
@media (max-width:980px){
  .hero,.triptych,.adv-grid,.footer-info,.world-grid,.skills-grid,.case-grid,.job-details,.job-story-grid{
    grid-template-columns:1fr !important;
  }
  .hero-left,.hero-right{border-right:none;border-bottom:2px solid var(--ink)}
  .tri-card,.adv-card{border-right:none;border-bottom:2px solid var(--ink)}
  .tri-card:last-child,.adv-card:last-child{border-bottom:none}
  .case-bridge{padding:24px}
  .stamp{position:static;display:inline-block;margin:20px 0;transform:rotate(-4deg)}
  .job-entry{grid-template-columns:1fr;gap:20px}
  .job-main{padding-left:20px}
  .name-main{font-size:clamp(48px,15vw,120px)}
  .role-line{grid-template-columns:1fr;gap:10px}
  .timeline-header{grid-template-columns:1fr}
  .final-quote{font-size:clamp(22px,7vw,40px)}
}



/* ============ MOBILE IMMERSIVE MODE ============ */
.mobile-only{display:none}
.desktop-only{display:block}
.mobile-proof-rail{
  display:none;
}
.mobile-sticky-cta{
  display:none;
}
.mobile-scroll-cue{
  display:none;
}
.timeline-mobile-toggle{display:none}

@media (max-width:768px){
  html{scroll-padding-top:84px;overflow-x:hidden}
  body{padding-bottom:88px;overflow-x:hidden;width:100%;max-width:100vw}
  .desktop-only{display:none !important}
  .mobile-only{display:block}
  .pdf-btn{display:none}
  .dossier-header{
    min-height:100svh;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:18px 18px 22px;
    background:
      radial-gradient(circle at 20% 15%, rgba(208,46,46,.11) 0, transparent 30%),
      radial-gradient(circle at 80% 80%, rgba(184,144,58,.12) 0, transparent 28%),
      var(--paper);
  }
  .dossier-meta{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-bottom:14px;
    width:100%;
  }
  .dossier-meta .tag,
  .dossier-meta .live{
    font-size:9px;
    letter-spacing:.14em;
    width:100%;
    white-space:normal;
    line-height:1.35;
    text-align:center;
  }
  .name-block{
    padding:18px 0 10px;
  }
  .name-eyebrow{
    font-size:10px;
    letter-spacing:.22em;
    margin-bottom:14px;
    max-width:18em;
  }
  .name-main{
    font-size:clamp(62px, 22vw, 120px);
    line-height:.84;
  }
  .stamp{
    margin-top:18px;
    padding:7px 12px;
    font-size:11px;
  }
  .role-line{
    margin-top:0;
    padding:18px 0 0;
    border-top:1px dashed var(--ink);
  }
  .role-text{
    font-size:clamp(19px, 5.4vw, 28px);
    line-height:1.2;
  }
  .quick-scan{
    margin-top:14px;
    padding:14px 0 6px;
  }
  .qs-line{
    font-size:12px;
    letter-spacing:.08em;
    line-height:1.45;
  }
  .mobile-hero-proof{
    margin-top:18px;
    display:grid;
    gap:10px;
    padding:16px;
    border:1.5px solid var(--ink);
    background:rgba(242,237,228,.78);
    backdrop-filter: blur(4px);
  }
  .mobile-hero-proof strong{
    font-family:'Fraunces',serif;
    font-weight:900;
    font-size:26px;
    line-height:1;
    letter-spacing:-.03em;
  }
  .mobile-hero-proof p{
    font-size:15px;
    line-height:1.45;
  }
  .mobile-scroll-cue{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:18px;
    font-family:'JetBrains Mono',monospace;
    font-size:10px;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--muted);
  }
  .mobile-scroll-cue::after{
    content:"";
    flex:1;
    height:1px;
    background:var(--ink);
    opacity:.2;
  }
  .hero-left,
  .hero-right,
  .manifesto,
  .skills-section,
  .timeline-section,
  .case-section,
  .world-section,
  .value-section,
  .footer-info,
  .final{
    padding-left:18px !important;
    padding-right:18px !important;
    width:100%;
    max-width:100%;
  }
  .hero-left{
    padding-top:28px !important;
    padding-bottom:22px !important;
  }
  .hero-right{
    padding-top:22px !important;
    padding-bottom:26px !important;
  }
  .hero-right .section-label{margin-bottom:18px}
  .lede.big{
    font-size:clamp(24px, 7vw, 36px);
    margin-bottom:20px;
  }
  .lede{
    font-size:16px;
    line-height:1.55;
  }
  .numbers-grid{
    grid-template-columns:1fr 1fr;
  }
  .num-card{padding:18px 14px}
  .num-val{font-size:clamp(44px, 13vw, 72px)}
  .contact-strip{margin-top:24px}
  .contact-strip .row{grid-template-columns:58px 1fr;gap:10px}
  .mobile-proof-rail{
    display:grid;
    gap:10px;
    padding:18px;
    border-bottom:2px solid var(--ink);
    background:var(--paper-2);
  }
  .mobile-proof-rail .mini-kicker{
    font-family:'JetBrains Mono',monospace;
    font-size:10px;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:var(--red);
  }
  .mobile-proof-rail p{
    font-size:16px;
    line-height:1.5;
  }
  .mobile-proof-links{
    display:flex;
    gap:8px;
    overflow:auto;
    padding-bottom:2px;
    scrollbar-width:none;
  }
  .mobile-proof-links::-webkit-scrollbar{display:none}
  .mobile-proof-links a{
    white-space:normal;
    padding:10px 14px;
    border:1.5px solid var(--ink);
    text-decoration:none;
    color:var(--ink);
    font-family:'JetBrains Mono',monospace;
    font-size:10px;
    letter-spacing:.17em;
    text-transform:uppercase;
    background:var(--paper);
  }

  svg, img, canvas{max-width:100%;height:auto}
  .mobile-proof-links, .tl-tabs, .contact-strip, .job-impact-row, .job-story-grid{max-width:100%}
  .role-text, .lede, .job-title, .job-narrative, .adv-card p, .adv-card h3, .mobile-hero-proof p{overflow-wrap:anywhere;word-break:break-word}
  .manifesto{padding-top:56px !important;padding-bottom:56px !important}
  .manifesto-quote{
    font-size:clamp(28px, 10vw, 54px);
    line-height:1.02;
  }
  .triptych .tri-card{
    min-height:74svh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:36px 22px;
  }
  .tri-num{font-size:92px}
  .skills-grid{gap:26px}
  .chips-block{padding:24px 20px}
  .timeline-section{padding-top:64px !important;padding-bottom:70px !important}
  .timeline-header{
    gap:18px;
    margin-bottom:30px;
    padding-bottom:18px;
  }
  .tl-tabs{
    overflow:auto;
    flex-wrap:nowrap;
    scrollbar-width:none;
  }
  .tl-tabs::-webkit-scrollbar{display:none}
  .tl-tab{white-space:normal}
  .job-entry{
    padding:28px 0;
  }
  .job-entry.mobile-hidden{
    display:none;
  }
  .job-main{
    padding-left:16px;
  }
  .job-title{font-size:30px}
  .job-narrative{font-size:17px;padding-left:14px}
  .job-impact-row{gap:18px;padding:16px}
  .job-impact-row .imp strong{font-size:28px}
  .timeline-mobile-toggle{
    display:flex;
    width:100%;
    justify-content:center;
    margin-top:20px;
  }
  .timeline-mobile-toggle button{
    width:100%;
    padding:14px 16px;
    background:var(--ink);
    color:var(--paper);
    border:none;
    font-family:'JetBrains Mono',monospace;
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
    box-shadow:5px 5px 0 var(--red);
  }
  .case-section{padding-top:64px !important;padding-bottom:64px !important}
  .case-section::before{font-size:110px;top:18px;right:18px}
  .world-section{padding-top:64px !important;padding-bottom:64px !important}
  .world-svg-wrap{padding:18px;box-shadow:5px 5px 0 var(--ink)}
  .rare-board{gap:22px}
  .rare-evidence-card{padding:22px 18px}
  .evidence-grid{grid-template-columns:1fr}
  .data-row{grid-template-columns:1fr;gap:6px}
  .rare-radar-card{padding:22px 18px}
  .rare-radar-head{gap:18px}
  .rare-radar-wrap{padding:6px 0 0}
  .rare-radar{max-width:100%}
  .rare-metrics{grid-template-columns:1fr;gap:10px}
.data-visual{padding:14px 12px}
  .data-bars{gap:10px}
  .data-top{gap:8px;align-items:center}
  .data-label{font-size:9px;letter-spacing:.06em}
  .data-value{font-size:16px}
  .rare-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0;
    overflow:visible;
    scroll-snap-type:none;
    overscroll-behavior-x:auto;
  }
  .rare-grid .adv-card{
    width:100%;
    max-width:100%;
    min-height:auto;
    scroll-snap-align:none;
    border-right:none;
    border-bottom:2px solid var(--ink);
    padding:24px 18px 28px;
  }
  .rare-grid .adv-card:last-child{border-right:none;border-bottom:none}
  .footer-info{gap:34px;padding-top:56px !important;padding-bottom:120px !important}
  .final{
    padding-top:72px !important;
    padding-bottom:132px !important;
    text-align:left;
  }
  .final::before{left:18px;transform:none}
  .final-cta{
    justify-content:flex-start;
    gap:12px;
  }
  .final-cta a{
    width:100%;
    text-align:center;
  }
  .mobile-sticky-cta{
    display:flex;
    position:fixed;
    left:10px;
    right:10px;
    width:calc(100vw - 20px);
    max-width:calc(100vw - 20px);
    bottom:10px;
    z-index:120;
    gap:10px;
    padding:10px;
    background:rgba(10,10,10,.94);
    border:1px solid rgba(242,237,228,.16);
    box-shadow:0 12px 28px rgba(0,0,0,.28);
    backdrop-filter: blur(10px);
    transition:opacity .25s ease, transform .25s ease;
  }
  .mobile-sticky-cta a{
    flex:1;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-family:'JetBrains Mono',monospace;
    font-size:10px;
    letter-spacing:.14em;
    text-transform:uppercase;
    border:1.5px solid var(--paper);
    color:var(--paper);
    padding:0 12px;
  }
  .mobile-sticky-cta a.primary{
    background:var(--red);
    border-color:var(--red);
  }
  .mobile-sticky-cta.is-hidden{
    opacity:0;
    transform:translateY(18px);
    pointer-events:none;
  }
}

/* ============ PRINT ============ */

@media (max-width:980px){
  .case-dossier-grid,.case-dossier-kpis,.mini-proof-row{grid-template-columns:1fr !important}
  .case-dossier-main,.case-proof-card{padding:22px}
}

@media print{
  body{background:white;font-size:10pt}
  body::before,body::after{display:none}
  .lang-switch,.pdf-btn,.tl-tabs{display:none}
  .job-entry,.adv-card,.tri-card,.case-card{break-inside:avoid}
  .hero,.triptych,.adv-grid,.footer-info{page-break-inside:avoid}
  .final{background:white;color:black}
}



/* ===== BRUTALIST IMMERSIVE DOSSIER LAYER ===== */
html { scroll-padding-top: 150px; }

.reveal-block{
  opacity:0;
  transform:translateY(28px) scale(.985);
  transition:opacity .6s ease, transform .6s ease, border-color .35s ease, box-shadow .35s ease, background .35s ease;
  will-change:transform, opacity;
}
.reveal-block.visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

.story-section{
  position:relative;
  scroll-margin-top:140px;
}
.story-section.is-current-section::before{
  content:"";
  position:absolute;
  inset:-12px -8px;
  pointer-events:none;
  border-radius:20px;
  background:radial-gradient(circle at top left, rgba(208,46,46,.08), transparent 45%);
  opacity:.9;
}

.mobile-story-nav,
.mobile-guide{
  display:none;
}

.timeline-section{
  position:relative;
}
.timeline-section::before{
  content:"";
  position:absolute;
  left:6vw;
  right:6vw;
  top:0;
  height:1px;
  background:linear-gradient(90deg, rgba(208,46,46,.45), transparent 65%);
  opacity:.65;
}
.timeline-focus .timeline-header{
  position:sticky;
  top:136px;
  z-index:20;
  background:linear-gradient(180deg, rgba(242,237,228,.94), rgba(242,237,228,.84));
  backdrop-filter:blur(8px);
  padding-top:12px;
}

.timeline-section .job-entry{
  transition:transform .28s ease, opacity .3s ease, filter .3s ease;
}
.timeline-section .job-entry.is-active{
  transform:translateY(-4px);
}
.timeline-section .job-entry.is-active .job-main{
  box-shadow:14px 14px 0 rgba(208,46,46,.10);
  background:linear-gradient(180deg, rgba(208,46,46,.03), rgba(0,0,0,0));
}
.timeline-section .job-entry.is-active .job-main::before{
  width:16px;height:16px;
  box-shadow:0 0 0 6px rgba(208,46,46,.10);
}

.job-entry .proof-card,
.job-entry .job-impact-row,
.story-box{
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}
.job-entry.is-active .proof-card{
  transform:translateY(-2px);
  box-shadow:12px 12px 0 rgba(184,144,58,.12);
}
.job-entry.is-active .job-impact-row{
  border-color:var(--red);
}
.job-entry.is-active .story-box{
  box-shadow:6px 6px 0 rgba(0,0,0,.08);
}

.case-section,
.value-section,
.world-section{
  position:relative;
}
.case-section::after,
.value-section::after,
.world-section::after{
  content:"";
  position:absolute;
  left:6vw;
  right:6vw;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg, rgba(0,0,0,.22), transparent 75%);
}

@media (max-width: 768px){
  :root{
    --mobile-nav-h: 58px;
    --mobile-guide-h: 88px;
  }

  html{
    scroll-padding-top: calc(var(--mobile-nav-h) + var(--mobile-guide-h) + 28px);
  }

  .lang-switch{
    top:auto;
    bottom:88px;
    right:12px;
    transform:scale(.94);
    transform-origin:bottom right;
  }

  .pdf-btn{
    right:12px;
    bottom:18px;
    padding:12px 16px;
    box-shadow:4px 4px 0 var(--red);
  }

  .mobile-story-nav{
    display:block;
    position:fixed;
    top:0; left:0; right:0;
    z-index:1200;
    background:linear-gradient(180deg, rgba(10,10,10,.92), rgba(10,10,10,.78));
    border-bottom:1px solid rgba(242,237,228,.08);
    pointer-events:none;
    backdrop-filter:blur(10px);
  }

  .mobile-story-topline{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    min-height:42px;
    padding:calc(env(safe-area-inset-top, 0px) + 10px) 12px 6px;
  }

  .mobile-story-kicker,
  .mobile-story-label{
    font-family:'JetBrains Mono',monospace;
    font-size:10px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
  }
  .mobile-story-kicker{ color:var(--red); }
  .mobile-story-label{ color:var(--paper); text-align:right; }

  .mobile-story-progress{
    height:3px;
    background:rgba(242,237,228,.08);
    overflow:hidden;
  }
  .mobile-story-progress span{
    display:block;
    width:0;
    height:100%;
    background:linear-gradient(90deg, var(--red), #f4b3b3);
    box-shadow:0 0 18px rgba(208,46,46,.42);
  }

  .mobile-story-exp{
    display:none;
    padding:8px 12px 10px;
    gap:8px;
    justify-content:center;
    align-items:center;
    pointer-events:auto;
  }
  .mobile-story-exp.show{ display:flex; }

  .story-dot{
    width:10px; height:10px; padding:0;
    border-radius:999px;
    border:1px solid rgba(242,237,228,.34);
    background:rgba(242,237,228,.06);
    box-shadow:none;
  }
  .story-dot.active{
    width:24px;
    background:var(--red);
    border-color:var(--red);
  }

  .mobile-guide{
    display:block;
    position:fixed;
    top:var(--mobile-nav-h);
    left:0; right:0;
    z-index:1190;
    padding:8px 12px 10px;
    pointer-events:none;
  }
  .mobile-guide-inner{
    border:1px solid rgba(242,237,228,.1);
    background:linear-gradient(180deg, rgba(10,10,10,.92), rgba(10,10,10,.78));
    color:var(--paper);
    border-radius:14px;
    padding:10px 12px;
    box-shadow:0 12px 30px rgba(0,0,0,.22);
  }
  .mobile-guide-meta{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:10px;
    margin-bottom:6px;
  }
  .mobile-guide-step,
  .mobile-guide-title{
    font-family:'JetBrains Mono',monospace;
    font-size:10px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
  }
  .mobile-guide-step{ color:var(--red); }
  .mobile-guide-title{ color:var(--paper); text-align:right; }
  .mobile-guide-copy{
    margin:0;
    color:rgba(242,237,228,.78);
    font-size:13px;
    line-height:1.4;
    font-family:'Fraunces',serif;
  }

  .dossier-header{
    padding-top: calc(var(--mobile-nav-h) + var(--mobile-guide-h) + 20px);
  }

  .hero,
  .skills-grid,
  .world-grid,
  .job-details,
  .job-story-grid,
  .rare-board,
  .adv-grid,
  .case-grid,
  .triptych{
    grid-template-columns:1fr !important;
  }

  .hero-left,
  .hero-right,
  .case-card,
  .case-bridge,
  .rare-radar-card,
  .rare-evidence-card,
  .chips-block{
    min-width:0;
  }

  .hero-left{ border-right:none; border-bottom:2px solid var(--ink); padding:34px 16px; }
  .hero-right{ padding:34px 16px; }
  .triptych .tri-card{ border-right:none; border-bottom:2px solid var(--ink); }
  .triptych .tri-card:last-child{ border-bottom:none; }

  .timeline-focus .timeline-header{
    position:relative;
    top:auto;
    backdrop-filter:none;
    background:transparent;
    padding-top:0;
  }

  .timeline-header{
    grid-template-columns:1fr;
    gap:18px;
  }

  .job-entry{
    grid-template-columns:1fr;
    gap:14px;
    padding:28px 0;
  }
  .job-side{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
  }
  .job-period{ font-size:24px; width:100%; }
  .job-main{
    padding-left:16px;
  }
  .job-main::before{
    left:-7px;
  }
  .job-title{
    font-size:clamp(1.7rem, 8vw, 2.3rem);
  }
  .job-narrative{
    font-size:1rem;
    padding-left:14px;
  }
  .job-impact-row{
    gap:16px;
    padding:14px;
  }
  .job-impact-row .imp strong{
    font-size:28px;
  }
  .job-details{
    gap:16px;
  }
  .proof-card{
    padding:18px;
  }

  .timeline-section .job-entry{
    scroll-margin-top: calc(var(--mobile-nav-h) + var(--mobile-guide-h) + 28px);
  }
  .timeline-section .job-entry.is-active .job-main{
    box-shadow:8px 8px 0 rgba(208,46,46,.08);
  }
  .timeline-section .job-entry.is-active::after{
    content:"EN COURS";
    position:absolute;
    top:10px; right:0;
    font-family:'JetBrains Mono',monospace;
    font-size:10px;
    letter-spacing:.16em;
    color:var(--red);
  }

  .numbers-grid{
    grid-template-columns:1fr 1fr;
  }

  .mobile-sticky-cta{
    backdrop-filter: blur(8px);
    border-radius:14px;
  }

  .mobile-scroll-cue{
    margin-top:12px;
    padding:10px 12px;
    border:1px dashed rgba(0,0,0,.2);
    font-family:'JetBrains Mono',monospace;
    font-size:10px;
    letter-spacing:.18em;
    text-transform:uppercase;
  }
}

@media (prefers-reduced-motion: reduce){
  .reveal-block,
  .story-dot,
  .timeline-section .job-entry,
  .job-entry .proof-card,
  .job-entry .job-impact-row,
  .story-box{
    transition:none !important;
  }
}




/* ===== PATCH: remove lang switch + align bottom mobile CTA with guide card ===== */
.lang-switch{
  display:none !important;
}

.mobile-bottom-cta{
  display:none;
}

@media (max-width: 768px){
  .mobile-bottom-cta{
    display:block;
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;
    z-index:1185;
    pointer-events:none;
  }

  .mobile-bottom-cta-inner{
    border:1px solid rgba(242,237,228,.1);
    background:linear-gradient(180deg, rgba(10,10,10,.92), rgba(10,10,10,.78));
    color:var(--paper);
    border-radius:14px;
    padding:10px 12px 12px;
    box-shadow:0 12px 30px rgba(0,0,0,.22);
    pointer-events:auto;
    backdrop-filter:blur(10px);
  }

  .mobile-bottom-cta-meta{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:10px;
    margin-bottom:8px;
  }

  .mobile-bottom-cta-kicker,
  .mobile-bottom-cta-label{
    font-family:'JetBrains Mono',monospace;
    font-size:10px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
  }

  .mobile-bottom-cta-kicker{
    color:var(--red);
  }

  .mobile-bottom-cta-label{
    color:var(--paper);
    text-align:right;
  }

  .mobile-bottom-cta-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .mobile-bottom-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:12px 10px;
    border-radius:10px;
    text-decoration:none;
    font-family:'JetBrains Mono',monospace;
    font-size:11px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    transition:transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
  }

  .mobile-bottom-btn:active{
    transform:translateY(1px);
  }

  .mobile-bottom-btn-call{
    background:var(--red);
    color:var(--paper);
    border:1px solid var(--red);
    box-shadow:0 8px 20px rgba(208,46,46,.22);
  }

  .mobile-bottom-btn-alt{
    background:rgba(242,237,228,.04);
    color:var(--paper);
    border:1px solid rgba(242,237,228,.18);
  }

  /* leave room so content is not hidden behind the fixed CTA */
  body{
    padding-bottom:112px;
  }

  .pdf-btn{
    bottom:118px;
  }
}
