*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
:target,.hero,.sec,[id]{scroll-margin-top:88px}
@media (max-width:900px){:target,.hero,.sec,[id]{scroll-margin-top:72px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  background:var(--paper);color:var(--ink);
  font-family:'Inter Tight','Helvetica Neue',Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-feature-settings:"ss01","cv11";
  overflow-x:hidden;
}
img{max-width:100%;display:block}
::selection{background:var(--red);color:var(--paper)}
a{color:inherit;text-decoration:none}

:root{
  --paper:#f4f1ec;
  --paper-2:#ebe7df;
  --ink:#0a0a0a;
  --ink-2: color-mix(in srgb, var(--ink) 80%, var(--paper));
  --red:#e2231a;
  --red-2:#c81912;
  --mute:#8a8782;
}

/* background texture */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image: repeating-linear-gradient(0deg, transparent 0 11px, rgba(10,10,10,.018) 11px 12px);
}
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;mix-blend-mode:multiply;opacity:.4;z-index:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='280' height='280'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.0' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .04  0 0 0 0 .04  0 0 0 0 .03  0 0 0 .12 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

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

/* Page container */
.wrap{max-width:1440px;margin:0 auto;padding:0 64px;position:relative;z-index:1}

/* ── NAV ─────────────────────────────────────────────────────────── */
.nav{
  position:sticky;top:0;z-index:50;background:color-mix(in srgb, var(--paper) 92%, transparent);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:2px solid var(--ink);
}
.nav-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;padding:18px 64px;max-width:1440px;margin:0 auto}
.brand{display:flex;align-items:center;gap:14px;font-family:'Inter Tight',sans-serif;font-weight:900;font-size:22px;letter-spacing:-.025em;text-transform:uppercase}
.brand .mark{width:24px;height:24px;background:var(--red);position:relative}
.brand .mark::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;background:var(--ink);transform:translateX(-50%)}
.brand .mark::before{content:"";position:absolute;top:50%;left:0;right:0;height:3px;background:var(--ink);transform:translateY(-50%)}
.brand-slash{color:var(--red);font-weight:900;margin:0 2px}
.nav-menu{display:flex;gap:28px;font-family:'Inter Tight',sans-serif;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.02em}
.nav-menu a{color:var(--ink);position:relative;padding:6px 0}
.nav-menu a:hover{color:var(--red)}
.nav-menu a.active{color:var(--red)}
.nav-menu a.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--red)}
.nav-cta{display:flex;justify-content:flex-end;gap:10px}

/* ── BUTTONS ─────────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Inter Tight',sans-serif;
  font-weight:600;font-size:13.5px;letter-spacing:.08em;padding:11px 18px;border:2px solid var(--ink);
  background:transparent;color:var(--ink);cursor:pointer;transition:all .15s;text-transform:uppercase;line-height:1}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn-prim{background:var(--red);border-color:var(--red);color:var(--paper)}
.btn-prim:hover{background:var(--ink);border-color:var(--ink)}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:var(--red);border-color:var(--red);color:var(--paper)}
.btn-ghost{border-color:transparent;color:var(--ink-2)}
.btn-ghost:hover{background:transparent;color:var(--red);border-color:transparent;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.btn .arrow{font-size:18px;line-height:0;font-weight:900;display:inline-block;transform:translateY(-.06em)}

/* ── HERO ────────────────────────────────────────────────────────── */
.hero{padding:48px 0 0}
.hero-eyebrow{display:flex;align-items:center;gap:14px;font-family:'JetBrains Mono',monospace;
  font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);font-weight:500}
.hero-eyebrow::before{content:"";width:36px;height:2px;background:var(--red)}
.hero-eyebrow .pulse{width:9px;height:9px;background:var(--red);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--red) 70%, transparent)}80%{box-shadow:0 0 0 8px color-mix(in srgb, var(--red) 0%, transparent)}100%{box-shadow:0 0 0 0 color-mix(in srgb, var(--red) 0%, transparent)}}

.hero-display{
  font-family:'Inter Tight',sans-serif;
  font-weight:900;
  font-size: clamp(72px, 11vw, 188px);
  line-height:.84;letter-spacing:-.045em;
  margin:18px 0 0;color:var(--ink);text-transform:uppercase;
}
.hero-display .red{color:var(--red)}
.hero-display .out{-webkit-text-stroke:2px var(--ink);-webkit-text-fill-color:transparent;color:transparent}

.hero-lede{
  display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:end;
  margin-top:36px;padding-bottom:36px;border-bottom:2px solid var(--ink);
}
.hero-lede .l{font-size:21px;line-height:1.45;font-weight:400;color:var(--ink);max-width:38ch;text-wrap:pretty}
.hero-lede .l b{font-weight:700}
.hero-lede .r{display:flex;flex-direction:column;gap:12px;align-items:flex-end;text-align:right}
.hero-lede .r .actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.hero-lede .r .meta{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}

/* Stats marquee — 4 cells */
.marquee{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;align-items:stretch;
  margin:0;border-bottom:2px solid var(--ink);
}
.marquee .cell{padding:24px 24px 24px 0;border-right:1.5px solid var(--ink);font-family:'Inter Tight',sans-serif;position:relative}
.marquee .cell:not(:first-child){padding-left:24px}
.marquee .cell:last-child{border-right:none}
.marquee .k{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:10px;display:flex;justify-content:space-between}
.marquee .k .idx{color:var(--red);font-weight:600}
.marquee .v{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:54px;line-height:.96;letter-spacing:-.03em;color:var(--ink)}
.marquee .v.r{color:var(--red)}
.marquee .v .u{font-size:18px;color:var(--ink-2);font-weight:500;letter-spacing:.02em;margin-left:4px;text-transform:lowercase}
.marquee .sub{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.1em;color:var(--ink-2);margin-top:8px;text-transform:uppercase}
.marquee .v.txt{font-size:26px;letter-spacing:-.015em;line-height:1.05;color:var(--ink);text-transform:uppercase}

/* ── SECTION TITLE ────────────────────────────────────────────────── */
.sec{padding:96px 0 0}
.sec-h{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:end;
  padding-bottom:18px;border-bottom:2px solid var(--ink);margin-bottom:36px}
.sec-num{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--red);font-weight:600}
.sec-t{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:64px;line-height:.92;
  letter-spacing:-.035em;color:var(--ink);text-transform:uppercase;margin:0}
.sec-t .red{color:var(--red)}
.sec-t .slash{color:var(--red)}
.sec-meta{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-2);text-align:right;max-width:24ch}

/* ── UNSERE SICHERHEITSARBEIT (Pillars) ─────────────────────────── */
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:2px solid var(--ink)}
.pillar{padding:32px 30px 36px;border-right:2px solid var(--ink);position:relative;background:var(--paper)}
.pillar:last-child{border-right:none}
.pillar .num{position:absolute;top:18px;right:22px;font-family:'JetBrains Mono',monospace;
  font-size:11.5px;letter-spacing:.18em;font-weight:600}
.pillar .n{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--red);font-weight:600;margin-bottom:64px}
.pillar .t{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:38px;line-height:.94;letter-spacing:-.025em;text-transform:uppercase;margin:0 0 18px;text-wrap:balance}
.pillar .b{font-size:15.5px;line-height:1.55;color:var(--ink-2);text-wrap:pretty;max-width:32ch}
.pillar .meta{margin-top:24px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;display:flex;justify-content:space-between;padding-top:18px;border-top:1.5px solid currentColor;opacity:.85}

/* ── PROZESS / ABLAUF ───────────────────────────────────────────── */
.prozess{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:2px solid var(--ink);position:relative}
.prozess::after{content:"";position:absolute;left:0;right:0;top:96px;height:2px;background:var(--red);z-index:1;pointer-events:none}
.step{padding:28px 24px 32px;background:var(--paper);border-right:2px solid var(--ink);position:relative;display:flex;flex-direction:column;gap:14px;z-index:2}
.step:last-child{border-right:none}
.step:nth-child(even){background:var(--paper-2)}
.step-num{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);font-weight:500;display:flex;justify-content:space-between;align-items:center}
.step-num .meta{color:var(--red);font-weight:600}
.step-dot{width:36px;height:36px;border-radius:50%;background:var(--paper);border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;
  font-family:'Inter Tight',sans-serif;font-weight:900;font-size:16px;line-height:1;color:var(--ink);margin:8px auto 8px;position:relative;z-index:3}
.step:last-child .step-dot{background:var(--red);border-color:var(--red);color:var(--paper)}
.step h4{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:20px;line-height:1;letter-spacing:-.02em;text-transform:uppercase;color:var(--ink);margin:0;text-wrap:balance;text-align:center}
.step h4 .red{color:var(--red)}
.step .step-b{font-size:13.5px;line-height:1.5;color:var(--ink-2);text-wrap:pretty;text-align:center;margin:0}
.step-when{margin-top:auto;padding-top:14px;border-top:1.5px solid var(--ink);font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);text-align:center}
.step-when b{color:var(--red);font-weight:600}
@media (max-width:1100px){
  .prozess{grid-template-columns:1fr}
  .prozess::after{display:none}
  .step{border-right:none;border-bottom:2px solid var(--ink)}
  .step:last-child{border-bottom:none}
}

/* ── BEST PRACTICES ──────────────────────────────────────────────── */
.practices{display:grid;grid-template-columns:repeat(12,1fr);gap:0;border:2px solid var(--ink)}
.prac{padding:28px 26px 30px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);background:var(--paper);grid-column:span 4;position:relative;display:flex;flex-direction:column;gap:18px}
.prac:nth-child(3n){border-right:none}
.prac:nth-last-child(-n+3){border-bottom:none}
.prac .head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.prac .num{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:60px;line-height:.86;letter-spacing:-.04em;color:var(--ink)}
.prac:nth-child(4) .num{color:var(--red)}
.prac .tag{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);padding:4px 8px;border:1.5px solid var(--ink);align-self:flex-start}
.prac .t{font-family:'Inter Tight',sans-serif;font-weight:800;font-size:24px;line-height:.98;letter-spacing:.01em;color:var(--ink);text-transform:uppercase;margin:0;text-wrap:balance}
.prac .t .red{color:var(--red)}
.prac .b{font-size:14.5px;line-height:1.55;color:var(--ink-2);text-wrap:pretty;margin:0}
.prac .foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1.5px solid var(--ink);font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.prac .foot a{color:var(--red);font-weight:600}

/* ── PILLAR TIE (Lage führen) ───────────────────────────────────── */
.pillar-tie{margin-top:0;border:2px solid var(--ink);border-bottom:none;padding:24px 30px;background:var(--red);color:var(--paper);
  display:grid;grid-template-columns:auto auto 1fr;gap:24px;align-items:center}
.pt-num{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:38px;letter-spacing:-.03em;line-height:1;text-transform:uppercase;white-space:nowrap}
.pt-h{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:32px;letter-spacing:-.025em;line-height:1;text-transform:uppercase;white-space:nowrap;border-left:1.5px solid var(--paper);padding-left:24px}
.pt-t{font-family:'Inter Tight',sans-serif;font-size:16.5px;line-height:1.4;font-weight:500;text-wrap:pretty;max-width:62ch}
.pt-t b{font-weight:800}
@media (max-width:1100px){
  .pillar-tie{grid-template-columns:1fr;gap:14px}
  .pt-h{border-left:none;padding-left:0;border-top:1.5px solid var(--paper);padding-top:14px}
}

/* ── NEWS ────────────────────────────────────────────────────────── */
.news{display:grid;grid-template-columns:5fr 4fr;gap:0;border:2px solid var(--ink)}
.news-feat{padding:0;border-right:2px solid var(--ink);background:var(--paper);display:flex;flex-direction:column}
.news-feat .img{aspect-ratio:4/3;background:var(--ink);position:relative;overflow:hidden;border-bottom:2px solid var(--ink)}
.news-feat .img-fill{position:absolute;inset:0;background-size:cover;background-position:center;
  background-image:linear-gradient(180deg, rgba(10,10,10,0) 50%, rgba(10,10,10,.65) 100%), var(--news-img)}
.news-feat .img-tag{position:absolute;top:14px;left:14px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;background:var(--red);color:var(--paper);padding:6px 10px;font-weight:600;z-index:2}
.news-feat .body{padding:24px 26px 28px;display:flex;flex-direction:column;gap:14px;flex:1}
.news-feat .meta{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);display:flex;gap:18px}
.news-feat .meta b{color:var(--red);font-weight:600}
.news-feat .h{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:34px;line-height:.96;letter-spacing:-.025em;color:var(--ink);text-transform:uppercase;margin:0;text-wrap:balance}
.news-feat .h .red{color:var(--red)}
.news-feat .p{font-size:15px;line-height:1.55;color:var(--ink-2);margin:0;text-wrap:pretty}

.news-list{padding:0;display:flex;flex-direction:column;background:var(--paper)}
.news-list .row{padding:22px 24px;border-bottom:2px solid var(--ink);display:flex;flex-direction:column;gap:8px;flex:1}
.news-list .row:last-child{border-bottom:none}
.news-list .meta{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);display:flex;gap:14px}
.news-list .meta b{color:var(--red);font-weight:600}
.news-list .h{font-family:'Inter Tight',sans-serif;font-weight:800;font-size:18px;line-height:1.1;letter-spacing:-.015em;color:var(--ink);text-transform:uppercase;margin:0;text-wrap:balance}
.news-list .link{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-weight:600;margin-top:auto}

/* ── FAQ ──────────────────────────────────────────────────────────────── */
.faq{display:grid;grid-template-columns:1fr 1.6fr;gap:0;border:2px solid var(--ink)}
.faq-l{padding:36px 36px 36px;background:var(--ink);color:var(--paper);border-right:2px solid var(--ink);position:relative;display:flex;flex-direction:column;gap:18px}
.faq-l .lbl{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);font-weight:600}
.faq-l h3{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:44px;line-height:.94;letter-spacing:-.03em;text-transform:uppercase;margin:0;text-wrap:balance}
.faq-l h3 .red{color:var(--red)}
.faq-l p{margin:0;font-size:15px;line-height:1.55;color:#d8d4cc;max-width:34ch;text-wrap:pretty}
.faq-l .actions{margin-top:auto;padding-top:20px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.faq-l .actions .btn{border-color:var(--paper);color:var(--paper)}
.faq-l .actions .btn:hover{background:var(--paper);color:var(--ink)}
.faq-l .actions .btn-prim{background:var(--red);border-color:var(--red);color:var(--paper)}
.faq-l .actions .btn-prim:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}

.faq-r{background:var(--paper);display:flex;flex-direction:column}
.faq-item{border-bottom:1.5px solid var(--ink)}
.faq-item:last-child{border-bottom:none}
.faq-item summary{display:grid;grid-template-columns:48px 1fr auto;gap:18px;align-items:center;padding:22px 30px;
  cursor:pointer;list-style:none;color:var(--ink);transition:background .15s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{background:var(--paper-2)}
.faq-item .faq-num{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.16em;color:var(--red);font-weight:600;text-transform:uppercase}
.faq-item .faq-q{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:18px;line-height:1.25;letter-spacing:-.01em;color:var(--ink);text-wrap:balance}
.faq-item .faq-icon{width:28px;height:28px;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:'Inter Tight',sans-serif;font-weight:900;font-size:18px;line-height:1;transition:all .15s;color:var(--ink);background:var(--paper)}
.faq-item .faq-icon::before{content:"+"}
.faq-item[open] .faq-icon{background:var(--red);border-color:var(--red);color:var(--paper)}
.faq-item[open] .faq-icon::before{content:"−"}
.faq-item[open] > summary{background:var(--paper-2)}
.faq-a{padding:0 30px 26px 96px;font-size:15px;line-height:1.6;color:var(--ink-2);text-wrap:pretty;max-width:62ch}
.faq-a b{color:var(--ink);font-weight:600}
@media (max-width:1100px){
  .faq{grid-template-columns:1fr}
  .faq-l{border-right:none;border-bottom:2px solid var(--ink)}
  .faq-item summary{grid-template-columns:auto 1fr auto;padding:18px 24px;gap:14px}
  .faq-a{padding:0 24px 22px 24px}
}

/* ── TESTIMONIALS ────────────────────────────────────────────────── */
.testimonials{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:0;border:2px solid var(--ink)}
.testi{padding:32px 30px 28px;border-right:2px solid var(--ink);background:var(--paper);display:flex;flex-direction:column;gap:18px;position:relative}
.testi:last-child{border-right:none}
.testi.dark{background:var(--ink);color:var(--paper)}
.testi.dark .role{color:#d8d4cc}
.testi.dark .quotemark{color:var(--red)}
.testi .quotemark{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:96px;line-height:.7;color:var(--red);letter-spacing:-.05em}
.testi .q{font-family:'Inter Tight',sans-serif;font-weight:600;font-size:22px;line-height:1.25;letter-spacing:-.015em;color:inherit;text-wrap:pretty;margin:0}
.testi.feat .q{font-size:32px;font-weight:700;letter-spacing:-.02em}
.testi .q .red{color:var(--red)}
.testi .who{margin-top:auto;padding-top:18px;border-top:1.5px solid currentColor;opacity:.95;display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.testi .name{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:15px;line-height:1.2;text-transform:uppercase;letter-spacing:-.005em}
.testi .role{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-top:4px}
.testi .rating{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;color:var(--red);font-weight:600}

/* ── TEAM ────────────────────────────────────────────────────────── */
.team-hero{position:relative;border:2px solid var(--ink);overflow:hidden;background:var(--ink)}
.team-hero img{width:100%;display:block;height:auto;filter:contrast(1.03) saturate(.9)}
.team-hero .overlay{
  position:absolute;left:0;bottom:0;right:0;
  background:linear-gradient(180deg, rgba(10,10,10,0) 0%, rgba(10,10,10,.85) 70%, rgba(10,10,10,.95) 100%);
  padding:64px 36px 32px;
  display:block;
  color:var(--paper);
  min-height:36px;
}
.team-hero .overlay h3{font-family:'Inter Tight',sans-serif;font-weight:900;font-size:60px;line-height:.94;letter-spacing:-.035em;margin:0;text-transform:uppercase;text-wrap:balance}
.team-hero .overlay h3 .red{color:var(--red)}
.team-hero .corner{position:absolute;top:18px;left:18px;display:flex;gap:10px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);z-index:2}
.team-hero .corner .tag{background:var(--red);padding:6px 10px;font-weight:600}
.team-hero .corner .tag.outline{background:transparent;border:1.5px solid var(--paper)}

/* Member roster */
.roster{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:20px;border:2px solid var(--ink)}
.mem{padding:22px 22px 22px;border-right:2px solid var(--ink);background:var(--paper);display:flex;flex-direction:column;gap:8px}
.mem:last-child{border-right:none}
.mem .role{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--red);font-weight:600}
.mem .name{font-family:'Inter Tight',sans-serif;font-weight:800;font-size:20px;letter-spacing:-.018em;line-height:1;text-transform:uppercase;color:var(--ink)}
.mem .bio{font-size:13px;line-height:1.5;color:var(--ink-2);margin:0;text-wrap:pretty}
.mem .meta{margin-top:8px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}

/* ── CTA STRIP ───────────────────────────────────────────────────── */
.cta{margin-top:96px;background:var(--ink);color:var(--paper);padding:64px;display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center;border:2px solid var(--ink)}
.cta h3{margin:0;font-family:'Inter Tight',sans-serif;font-weight:900;font-size:72px;line-height:.9;letter-spacing:-.04em;text-transform:uppercase;text-wrap:balance}
.cta h3 .red{color:var(--red)}
.cta h3 .out{-webkit-text-stroke:2px var(--paper);-webkit-text-fill-color:transparent;color:transparent}
.cta .r{display:flex;flex-direction:column;gap:18px}
.cta .r p{margin:0;font-size:16px;line-height:1.5;color:#d8d4cc;max-width:42ch}
.cta .r .actions{display:flex;gap:12px;flex-wrap:wrap}
.cta .btn-prim{background:var(--red);border-color:var(--red)}
.cta .btn-prim:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.cta .btn-out{background:transparent;color:var(--paper);border-color:var(--paper)}
.cta .btn-out:hover{background:var(--paper);color:var(--ink)}

/* ── FOOTER ──────────────────────────────────────────────────────── */
.foot{margin-top:64px;padding:48px 0 36px;border-top:2px solid var(--ink)}
.foot-top{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:48px;align-items:flex-start;padding-bottom:48px;border-bottom:2px solid var(--ink)}
.foot-brand .brand{font-size:32px;margin-bottom:18px}
.foot-brand .brand .mark{width:32px;height:32px}
.foot-brand .tag{font-size:14px;line-height:1.5;color:var(--ink-2);max-width:34ch;margin:0}
.foot-col h5{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--red);font-weight:600;margin:0 0 14px}
.foot-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--ink)}
.foot-col a:hover{color:var(--red)}
.foot-bottom{padding-top:24px;display:flex;justify-content:space-between;align-items:center;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.foot-bottom b{color:var(--red);font-weight:600}

/* responsive sketch */
@media (max-width:1100px){
  .wrap{padding:0 32px}
  .nav-inner{padding:14px 32px;grid-template-columns:1fr auto}
  .nav-menu{display:none}
  .marquee{grid-template-columns:repeat(2,1fr)}
  .marquee .cell{border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);padding:18px}
  .pillars,.practices,.testimonials,.news{grid-template-columns:1fr!important}
  .prac{grid-column:span 1;border-right:none;border-bottom:2px solid var(--ink)}
  .cta{padding:36px;grid-template-columns:1fr;gap:24px}
  .roster{grid-template-columns:1fr 1fr}
}

/* ── CONTACT FORM MODAL ──────────────────────────────────────────────── */
body.aw360-no-scroll { overflow: hidden; }

.aw360-modal{
  border:2px solid var(--ink);
  background:var(--paper);color:var(--ink);
  padding:0;max-width:680px;width:calc(100vw - 32px);
  max-height:calc(100vh - 32px);overflow:auto;
  box-shadow:0 24px 64px rgba(10,10,10,.35);
}
.aw360-modal::backdrop{background:rgba(10,10,10,.7);backdrop-filter:blur(6px)}
.aw360-modal.aw360-modal-shim{
  display:block!important;position:fixed;z-index:1000;
  left:50%;top:50%;transform:translate(-50%,-50%);
}
.aw360-modal-close{
  position:absolute;top:10px;right:12px;
  background:transparent;border:none;font-size:28px;line-height:1;
  cursor:pointer;color:var(--ink);padding:4px 12px;z-index:2;
  font-family:'Inter Tight',sans-serif;font-weight:300;
}
.aw360-modal-close:hover{color:var(--red)}
.aw360-modal-inner{padding:40px 40px 28px}
.aw360-modal-inner h2{
  font-family:'Inter Tight',sans-serif;font-weight:900;
  font-size:40px;line-height:.94;letter-spacing:-.03em;
  text-transform:uppercase;margin:0 0 10px;text-wrap:balance;
}
.aw360-modal-inner h2 .red{color:var(--red)}
.aw360-modal-intro{
  margin:0 0 22px;font-size:15px;line-height:1.5;color:var(--ink-2);
  max-width:48ch;text-wrap:pretty;
}

.aw360-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.aw360-field{display:flex;flex-direction:column;gap:6px}
.aw360-field-full{grid-column:1 / -1}
.aw360-field > span{
  font-family:'JetBrains Mono',monospace;font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-weight:500;
}
.aw360-field input,
.aw360-field select,
.aw360-field textarea{
  border:1.5px solid var(--ink);background:transparent;
  padding:10px 12px;font-family:'Inter Tight',sans-serif;
  font-size:14.5px;color:var(--ink);border-radius:0;width:100%;
  transition:border-color .15s, background-color .15s;
}
.aw360-field input:focus,
.aw360-field select:focus,
.aw360-field textarea:focus{
  outline:none;border-color:var(--red);background:var(--paper-2);
}
.aw360-field textarea{resize:vertical;min-height:96px;font-family:inherit}
.aw360-field select{appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%230a0a0a' stroke-width='2' fill='none'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;
}
.aw360-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.aw360-consent{
  display:flex;align-items:flex-start;gap:10px;margin-bottom:18px;
  font-size:13px;line-height:1.45;color:var(--ink-2);cursor:pointer;
}
.aw360-consent input[type=checkbox]{
  margin-top:2px;flex:0 0 auto;width:16px;height:16px;accent-color:var(--red);
}
.aw360-consent-text a{color:var(--red);text-decoration:underline;text-underline-offset:3px}

.aw360-form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.aw360-form-actions .btn{min-width:auto}
.aw360-form-msg{margin-top:14px;font-size:14px;color:var(--ink-2);min-height:1em;text-wrap:pretty}
.aw360-form-msg-error{color:var(--red);font-weight:600}

.aw360-form-success{
  padding:36px 32px;border:2px solid var(--red);
  background:color-mix(in srgb, var(--red) 8%, var(--paper));
  display:flex;flex-direction:column;gap:14px;
}
.aw360-form-success-title{
  margin:0;font-family:'Inter Tight',sans-serif;font-weight:900;
  font-size:34px;line-height:.96;letter-spacing:-.025em;text-transform:uppercase;
  color:var(--ink);text-wrap:balance;
}
.aw360-form-success-title .red{color:var(--red)}
.aw360-form-success-body{
  margin:0;font-size:15.5px;line-height:1.55;color:var(--ink);
  text-wrap:pretty;max-width:48ch;
}
.aw360-form-success-body a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.aw360-form-success-body b, .aw360-form-success-body strong{font-weight:700;color:var(--ink)}
.aw360-form-success-actions{
  display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:6px;
}

@media (max-width:600px){
  .aw360-form-grid{grid-template-columns:1fr}
  .aw360-modal-inner{padding:28px 22px 22px}
  .aw360-modal-inner h2{font-size:30px}
}

/* hCaptcha widget inside the modal */
.aw360-captcha-row{margin:8px 0 18px}
.aw360-captcha-row .h-captcha{display:flex;justify-content:flex-start}
.aw360-captcha-row iframe{max-width:100%}
