:root {
  --ink: #0a0a0a;
  --panel: #121212;
  --paper: #f0eee8;
  --muted: #a6a39b;
  --line: rgba(240,238,232,.18);
  --hot: #ff4b19;
  --acid: #d5b192;
  --max: 1280px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; width:100%; max-width:100%; overflow-x:clip; }
body {
  margin: 0;
  width:100%; max-width:100%;
  background: var(--ink);
  color: var(--paper);
  font-family: Inter, Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.45;
  overflow-x: clip;
}
main { width:100%; max-width:100%; overflow-x:clip; }
img, video, svg { max-width:100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.noise {
  display:none;
  position: fixed; inset: 0; pointer-events: none; z-index: 20; opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");
}
.wrap { width: min(calc(100% - 48px), var(--max)); margin: 0 auto; }
.nav {
  position: sticky; top: 0; z-index: 10; backdrop-filter:none; -webkit-backdrop-filter:none;
  background: rgba(10,10,10,.97); border-bottom: 1px solid var(--line);
}
.nav-inner { min-height: 78px; display: flex; align-items: center; gap: 30px; }
.brand { font-weight: 900; letter-spacing: -.06em; font-size: 1.55rem; margin-right: auto; }
.brand span {
  display:inline-block;
  width:.42em;
  height:.5em;
  margin-left:.3em;
  vertical-align:-.06em;
  color:transparent;
  text-indent:-9999px;
  overflow:hidden;
  white-space:nowrap;
  background:var(--hot);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 120'%3E%3Cpath d='M50 0C65 18 62 32 75 43C82 34 83 25 83 25C105 47 103 76 89 96C78 112 22 120 8 94C-4 72 6 43 25 29C24 39 31 46 35 50C38 36 42 18 50 0Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 120'%3E%3Cpath d='M50 0C65 18 62 32 75 43C82 34 83 25 83 25C105 47 103 76 89 96C78 112 22 120 8 94C-4 72 6 43 25 29C24 39 31 46 35 50C38 36 42 18 50 0Z'/%3E%3C/svg%3E") center/contain no-repeat;
  transform-origin:50% 80%;
}
.brand:hover span { animation:brand-flame .72s ease-in-out infinite alternate; }
@keyframes brand-flame {
  0% { transform:translateY(0) rotate(-1deg) scale(1); filter:drop-shadow(0 0 0 rgba(200,92,59,0)); }
  100% { transform:translateY(-.04em) rotate(2deg) scale(1.13,1.18); filter:drop-shadow(0 0 .16em rgba(200,92,59,.5)); }
}
.nav-links { display: flex; gap: 26px; color: #cac7c0; font-size: .9rem; }
.nav-links a:hover, .footer a:hover { color: var(--hot); }
.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 48px; padding: 0 20px; border: 1px solid var(--paper);
  text-transform: uppercase; letter-spacing: .09em; font-weight: 800; font-size: .76rem;
  transition: .2s ease; cursor: pointer; background: transparent; color: var(--paper);
}
.button:hover { background: var(--paper); color: var(--ink); transform: translateY(-2px); }
.button.hot { background: var(--hot); border-color: var(--hot); color: #fff; }
.button.hot:hover { background: #fff; color: var(--ink); border-color: #fff; }
.menu { display: none; border: 0; background: none; color: white; font-size: 1.6rem; }
.hero { min-height: calc(100vh - 79px); display: grid; align-items: end; padding: 70px 0 40px; position: relative; }
.hero::before {
  content: ""; position: absolute; width: 48vw; height: 48vw; border-radius: 50%;
  right: -18vw; top: -20vw; background: radial-gradient(circle, rgba(255,75,25,.55), transparent 66%);
  filter: blur(16px); pointer-events: none;
}
.eyebrow { color: var(--hot); text-transform: uppercase; letter-spacing: .18em; font-weight: 800; font-size: .72rem; margin-bottom: 24px; }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 1100px; font-size: clamp(4rem, 9.1vw, 8.7rem); line-height: .87; letter-spacing: -.075em; margin-bottom: 44px; }
.outline { color: transparent; -webkit-text-stroke: 1.5px var(--paper); }
.hero-bottom { border-top: 1px solid var(--line); padding-top: 24px; display: grid; grid-template-columns: 1.5fr .65fr .65fr .65fr; gap: 28px; align-items: end; }
.hero-copy { max-width: 630px; color: #c9c6bf; font-size: 1.12rem; }
.mini-stat strong { display: block; font-size: 2.5rem; line-height: 1; letter-spacing: -.06em; color: var(--acid); }
.mini-stat span { color: var(--muted); font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.ticker { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); overflow: hidden; }
.ticker-track { width: max-content; display: flex; gap: 38px; padding: 19px 0; animation: run 25s linear infinite; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: #d2cfc8; }
.ticker-track b { color: var(--hot); }
@keyframes run { to { transform: translateX(-50%); } }
.section { padding: 120px 0; }
.section-head { display: grid; grid-template-columns: .65fr 2fr; gap: 30px; margin-bottom: 60px; }
.section-num { color: var(--hot); font-family: monospace; }
h2 { font-size: clamp(2.6rem, 6vw, 5.8rem); line-height: .95; letter-spacing: -.065em; max-width: 950px; }
.services-grid { border-top: 1px solid var(--line); }
.service {
  display: grid; grid-template-columns: 72px 1.4fr 1fr 32px; gap: 24px;
  padding: 30px 0; border-bottom: 1px solid var(--line); align-items: center; transition: .2s;
}
.service:hover { padding-left: 14px; background: linear-gradient(90deg, rgba(255,75,25,.09), transparent); }
.service .n { color: var(--hot); font-family: monospace; }
.service h3 { margin: 0; font-size: clamp(1.4rem, 2.8vw, 2.5rem); letter-spacing: -.045em; }
.service p { margin: 0; color: var(--muted); max-width: 420px; }
.service .arr { font-size: 1.5rem; }
.light { background: var(--paper); color: var(--ink); }
.light .eyebrow, .light .section-num { color: #d9380a; }
.cases { display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; }
.case {
  min-height: 510px; padding: 34px; background: #171717; border: 1px solid #292929;
  display: flex; flex-direction: column; position: relative; overflow: hidden;
}
.case::after {
  content:""; position:absolute; right:-80px; bottom:-140px; width:330px; height:330px; border-radius:50%;
  border: 58px solid rgba(255,75,25,.15); transition:.35s;
}
.case:hover::after { transform: scale(1.18); border-color: rgba(215,255,63,.16); }
.case:nth-child(2) { background: var(--hot); border-color: var(--hot); }
.case:nth-child(3) { grid-column: span 2; min-height: 370px; background: var(--acid); color: var(--ink); }
.tag { width: fit-content; border: 1px solid currentColor; padding: 8px 10px; font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; }
.case-result { margin-top: auto; position: relative; z-index: 1; }
.case-result strong { display:block; font-size: clamp(4.8rem, 10vw, 9rem); line-height: .82; letter-spacing: -.08em; }
.case h3 { margin: 26px 0 0; font-size: 1.55rem; max-width: 620px; }
.case p { color: inherit; opacity: .72; max-width: 580px; }
.cases-more { display:flex; justify-content:flex-end; margin-top:30px; }
.method-grid { display: grid; grid-template-columns: repeat(4,1fr); border-left: 1px solid var(--line); }
.step { min-height: 290px; padding: 24px; border-right: 1px solid var(--line); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display:flex; flex-direction:column; }
.step b { color: var(--hot); font-family: monospace; }
.step h3 { margin-top: auto; font-size: 1.35rem; }
.step p { color: var(--muted); margin-bottom: 0; font-size: .9rem; }
.manifesto { padding: 130px 0; position: relative; }
.manifesto blockquote { margin:0; font-size: clamp(2.7rem, 6.5vw, 6.6rem); line-height: .98; letter-spacing: -.065em; max-width: 1140px; }
.manifesto em { color: var(--hot); font-style: normal; }
.team-strip { display:grid; grid-template-columns: repeat(5,1fr); gap: 14px; }
.person { background:#161616; min-height: 310px; padding:14px 14px 24px; display:flex; flex-direction:column; border-top: 3px solid transparent; overflow:hidden; }
.person:hover { border-color: var(--hot); }
.person-photo { display:block; width:100%; height:clamp(280px,22vw,360px); object-fit:cover; object-position:center 22%; margin-bottom:22px; filter:saturate(.88) contrast(1.02); transition:transform .45s cubic-bezier(.2,.8,.2,1), filter .35s ease; }
.person:hover .person-photo { transform:scale(1.025); filter:saturate(1) contrast(1.02); }
.team-hero { padding:48px 0 0; }
.team-photo { margin:0; overflow:hidden; background:var(--panel); }
.team-photo img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.avatar { font-size: 5rem; font-weight: 900; letter-spacing:-.1em; color:#2f2f2f; margin:auto 0; }
.person h3 { margin-bottom: 3px; }
.person p { color:var(--muted); margin:0; }
.cta { background: var(--hot); color:#fff; padding: 90px 0; }
.cta-row { display:flex; justify-content:space-between; align-items:end; gap:40px; }
.cta h2 { max-width:860px; margin-bottom:0; }
.cta .button { flex:0 0 auto; background:#fff; color:#111; border-color:#fff; }
.footer { padding: 50px 0; color: #aaa79f; }
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:30px; }
.footer .brand { color:var(--paper); }
.footer-links { display:grid; gap:9px; font-size:.9rem; }
.subhero { padding: 100px 0 70px; border-bottom:1px solid var(--line); }
.subhero h1 { max-width:1150px; margin-bottom:30px; }
.subhero p { max-width:720px; font-size:1.2rem; color:#bbb8b0; }
.content-grid { display:grid; grid-template-columns: .7fr 2fr; gap:50px; }
.content-grid aside { color:var(--hot); text-transform:uppercase; letter-spacing:.15em; font-size:.72rem; }
.rich h2 { font-size:clamp(2rem,4vw,4rem); }
.rich p { color:#bbb8b0; font-size:1.05rem; max-width:800px; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.card { background:#151515; border:1px solid #272727; padding:28px; min-height:250px; }
.card b { color:var(--acid); font-size:2.8rem; letter-spacing:-.06em; }
.card p { color:var(--muted); }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:18px; max-width:900px; }
.field { display:grid; gap:8px; }
.field.full { grid-column:1/-1; }
.field label { color:var(--muted); font-size:.8rem; text-transform:uppercase; letter-spacing:.1em; }
.field input, .field textarea, .field select { width:100%; background:#141414; color:#fff; border:1px solid #333; padding:16px; border-radius:0; }
.field textarea { min-height:140px; resize:vertical; }
.fine { color:var(--muted); font-size:.75rem; grid-column:1/-1; }
@media (max-width: 860px) {
  html { scroll-behavior:auto; overscroll-behavior-x:none; }
  body { touch-action:pan-y; overscroll-behavior-x:none; }
  .noise { display:none; }
  .nav { backdrop-filter:none; -webkit-backdrop-filter:none; background:rgba(241,238,231,.98); }
  .reveal, .reveal.visible { opacity:1; transform:none; transition:none; }
  .wrap { width:min(calc(100% - 28px), var(--max)); }
  .nav-inner { min-height:68px; }
  .nav-links, .nav .button { display:none; }
  .menu { display:block; }
  .nav.open .nav-inner { flex-wrap:wrap; padding-bottom:18px; }
  .nav.open .nav-links { display:grid; width:100%; gap:14px; order:3; }
  .hero { min-height:auto; padding:80px 0 34px; }
  h1 { font-size:clamp(3.4rem,16vw,6rem); }
  .hero-bottom, .section-head, .content-grid { grid-template-columns:1fr; }
  .hero-bottom { gap:22px; }
  .section { padding:80px 0; }
  .service { grid-template-columns:42px 1fr 25px; }
  .service p { grid-column:2/-1; }
  .cases, .cards { grid-template-columns:1fr; }
  .case, .case:nth-child(3) { grid-column:auto; min-height:420px; }
  .cases-more { justify-content:flex-start; margin-top:24px; }
  .method-grid, .team-strip { grid-template-columns:1fr 1fr; }
  .cta-row { align-items:flex-start; flex-direction:column; }
  .footer-grid { grid-template-columns:1fr; }
}
@media (max-width: 520px) {
  html, body, main, section, nav, footer { width:100%; max-width:100%; overflow-x:clip; }
  .wrap, .hero-bottom > *, .section-head > *, .content-grid > *, .service > *, .team-strip > *, .cards > * { min-width:0; max-width:100%; }
  .hero h1, .subhero h1 { width:100%; max-width:100%; font-size:clamp(2.25rem,11.4vw,3.4rem); overflow-wrap:anywhere; word-break:normal; hyphens:auto; }
  .hero::before { right:-8vw; width:72vw; height:72vw; }
  .ticker { width:100%; max-width:100%; }
  h2, h3, p { overflow-wrap:anywhere; }
  .method-grid, .team-strip, .contact-form { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .step { min-height:220px; }
  .person { min-height:0; padding:10px 10px 20px; }
  .person-photo { height:min(92vw, 360px); aspect-ratio:auto; object-position:center 22%; margin-bottom:18px; }
}
@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
}

/* Napalm v2 — restrained editorial theme */
@font-face { font-family: "Napalm Sans"; src: url("/assets/NapalmSans.ttf") format("truetype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Napalm Sans"; src: url("/assets/NapalmSans-Bold.ttf") format("truetype"); font-weight: 700 900; font-display: swap; }
@font-face { font-family: "Napalm Mono"; src: url("/assets/NapalmMono.ttf") format("truetype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Napalm Display"; src: url("/assets/NapalmDisplay-Regular.otf") format("opentype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Napalm Display"; src: url("/assets/NapalmDisplay-Bold.otf") format("opentype"); font-weight: 700; font-display: swap; }
:root {
  --ink: #23201e;
  --panel: #2b2825;
  --paper: #f1eee7;
  --paper-2: #e6e0d7;
  --muted: #777069;
  --line: rgba(35,32,30,.16);
  --hot: #c85c3b;
  --hot-soft: #dda58e;
  --acid: #d5b192;
}
body { background: var(--paper); color: var(--ink); font-family: "Napalm Sans", sans-serif; }
.noise { opacity: .018; mix-blend-mode: multiply; }
.nav { background: rgba(241,238,231,.86); border-color: var(--line); }
.nav-links { color: #625d58; }
.brand { letter-spacing: -.055em; }
.button { color: var(--ink); border-color: rgba(35,32,30,.46); position: relative; overflow: hidden; isolation:isolate; }
.button::before { content:""; position:absolute; inset:0; background:var(--ink); transform:translateY(105%); transition:transform .28s cubic-bezier(.2,.8,.2,1); z-index:-1; }
.button:hover { background:transparent; color:var(--paper); transform:translateY(-2px); }
.button:hover::before { transform:translateY(0); }
.button.hot { background:var(--hot); border-color:var(--hot); color:#fff; }
.button.hot::before { background:#322e2b; }
.button.hot:hover, .button.hot:focus-visible { color:#fff; border-color:#322e2b; }
.menu { color:var(--ink); }
.hero { min-height: 82vh; padding-top:110px; }
.hero::before { width:38vw; height:38vw; right:-14vw; top:-10vw; background:radial-gradient(circle, rgba(200,92,59,.20), transparent 68%); }
.hero h1 { max-width:1180px; font-size:clamp(3.5rem,8.4vw,8rem); line-height:.91; }
.outline { color:var(--hot); -webkit-text-stroke:0; }
.hero-copy { color:#625d58; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:28px; }
.text-link { font-weight:700; border-bottom:1px solid currentColor; padding-bottom:3px; transition:color .25s, transform .25s; }
.text-link:hover { color:var(--hot); transform:translateX(4px); }
.mini-stat strong { color:var(--hot); }
.ticker { background:var(--panel); color:var(--paper); border:0; }
.ticker-track { color:#ddd7cc; }
.ticker-track b { color:var(--hot-soft); }
.eyebrow, .section-num, .service .n, .step b { color:var(--hot); }
.section-head { margin-bottom:52px; }
.section-intro { max-width:760px; color:var(--muted); font-size:1.08rem; margin:-24px 0 42px calc(21.7% + 8px); }
.section-head h2, .subhero h1, .manifesto blockquote { font-weight:700; }
h1, h2, h3, .brand { font-family:"Napalm Display", "Napalm Sans", sans-serif; }
h1, h2 { letter-spacing:-.045em; }
.service { position:relative; overflow:hidden; }
.service::before { content:""; position:absolute; left:0; bottom:0; height:2px; width:100%; background:var(--hot); transform:scaleX(0); transform-origin:left; transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.service:hover { padding-left:18px; background:rgba(200,92,59,.055); }
.service:hover::before { transform:scaleX(1); }
.service h3 { transition:transform .3s ease, color .3s ease; }
.service:hover h3 { transform:translateX(7px); color:var(--hot); }
.service .arr { transition:transform .3s ease; }
.service:hover .arr { transform:translate(5px,-5px) rotate(5deg); }
.light { background:var(--paper-2); color:var(--ink); }
.case { background:#34302d; border-color:#47413d; color:var(--paper); transition:transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease; }
.case:nth-child(2) { background:#bd674d; border-color:#bd674d; }
.case:nth-child(3) { background:#d6c2ad; color:var(--ink); }
.case:hover { transform:translateY(-9px); box-shadow:0 24px 55px rgba(54,42,35,.16); }
.case::after { border-color:rgba(221,165,142,.16); }
.case:hover::after { transform:scale(1.22) rotate(10deg); border-color:rgba(241,238,231,.15); }
.step { transition:background .3s, transform .3s; }
.step:hover { background:rgba(200,92,59,.07); transform:translateY(-6px); }
.step p, .person p, .card p, .rich p { color:var(--muted); }
.manifesto { background:var(--paper-2); }
.person { background:#e7e2da; border:1px solid transparent; transition:transform .35s, background .35s, border-color .35s; }
.person:hover { background:#efeae2; border-color:var(--hot-soft); transform:translateY(-7px); }
.avatar { color:#cfc7bd; transition:color .35s, transform .35s; }
.person:hover .avatar { color:var(--hot-soft); transform:translateX(5px); }
.cta { background:#ba6248; }
.contact-cta-grid { display:grid; grid-template-columns:1.7fr .7fr; gap:70px; align-items:end; }
.global-contact-cta h2 { margin:12px 0 20px; }
.global-contact-cta p { max-width:720px; color:rgba(255,255,255,.78); font-size:1.05rem; }
.global-contact-cta .button { margin-top:18px; }
.cta-label { display:block; font: .75rem "Napalm Mono"; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.72); }
.cta-contacts { display:grid; gap:13px; padding:24px 0; border-top:1px solid rgba(255,255,255,.42); }
.cta-contacts span { font: .72rem "Napalm Mono"; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.66); margin-bottom:8px; }
.cta-contacts a { font-size:1.12rem; width:fit-content; border-bottom:1px solid transparent; }
.cta-contacts a:hover { border-color:currentColor; }
.direct-contacts { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.direct-contacts a { min-height:180px; padding:24px; background:var(--paper); border:1px solid #d1c9bf; display:flex; flex-direction:column; justify-content:space-between; transition:transform .3s, border-color .3s; }
.direct-contacts a:hover { transform:translateY(-6px); border-color:var(--hot); }
.direct-contacts span { color:var(--hot); font: .72rem "Napalm Mono"; text-transform:uppercase; letter-spacing:.1em; }
.direct-contacts strong { font-size:1.25rem; overflow-wrap:anywhere; }
.footer { background:#2b2825; color:#bdb6ab; }
.footer .brand { color:var(--paper); }
.subhero { border-color:var(--line); background:linear-gradient(135deg, var(--paper) 55%, #e6d8cb); }
.subhero p { color:#655f59; }
.card { background:#f0ece5; border-color:#d2cbc1; color:var(--ink); transition:transform .35s, box-shadow .35s; }
.card:hover { transform:translateY(-8px) rotate(-.4deg); box-shadow:0 25px 55px rgba(50,43,38,.1); }
.card b { color:var(--hot); }
.field input, .field textarea, .field select { background:#ece7df; color:var(--ink); border-color:#c8c0b5; }
.field input:focus, .field textarea:focus, .field select:focus { outline:2px solid var(--hot-soft); outline-offset:2px; }
.journal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.article-card { min-height:380px; padding:28px; background:#e7e1d8; display:flex; flex-direction:column; border:1px solid transparent; position:relative; overflow:hidden; transition:transform .35s, border-color .35s; }
.article-card::after { content:"↗"; position:absolute; right:26px; top:24px; color:var(--hot); transition:transform .3s; }
.article-card:hover { transform:translateY(-8px); border-color:var(--hot-soft); }
.article-card:hover::after { transform:translate(5px,-5px); }
.article-card .meta { color:var(--hot); font: .75rem "Napalm Mono"; text-transform:uppercase; letter-spacing:.08em; }
.article-card h3 { margin-top:auto; font-size:1.65rem; line-height:1.15; }
.article-card p { color:var(--muted); }
.service-detail { display:grid; grid-template-columns:.7fr 1.8fr; gap:70px; }
.service-detail aside { font: .78rem "Napalm Mono"; color:var(--hot); text-transform:uppercase; }
.deliverables { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:38px; }
.deliverable { padding:20px; background:#e6e0d7; border-left:2px solid var(--hot-soft); }
.article-body { max-width:780px; margin:0 auto; }
.article-body .lead { font-size:1.35rem; color:#514c47; }
.article-body h2 { font-size:2.4rem; margin-top:60px; }
.article-body p, .article-body li { color:#5f5953; font-size:1.05rem; line-height:1.75; }
.article-body li { margin-bottom:10px; }
.reveal, .reveal.visible { opacity:1; transform:none; transition:none; }
@media (max-width:860px) {
  .journal-grid, .service-detail { grid-template-columns:1fr; }
  .nav.open .nav-links { color:var(--ink); }
}
@media (max-width:560px) {
  .deliverables { grid-template-columns:1fr; }
}

/* Extended site modules */
.industry-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:14px; }
.industry-card { grid-column:span 3; min-height:290px; padding:28px; background:#e7e1d8; border:1px solid rgba(35,32,30,.22); display:flex; flex-direction:column; position:relative; overflow:hidden; transition:transform .35s, border-color .35s, background .35s; }
.industry-card.wide { grid-column:span 6; }
.industry-card::before { content:""; position:absolute; width:150px; height:150px; right:-65px; top:-65px; border:32px solid rgba(200,92,59,.12); border-radius:50%; transition:transform .45s; }
.industry-card[href$="/b2b/"] { background:linear-gradient(145deg,#e6dfd5 0%,#d9cec2 100%); }
.industry-card[href$="/b2c/"] { background:radial-gradient(circle at 90% 12%,rgba(200,92,59,.16),transparent 38%),#eee5dd; }
.industry-card[href$="/saas/"] { background:linear-gradient(115deg,#dedbd4 0%,#ece7df 56%,#d9d2ca 100%); }
.industry-card[href$="/edtech/"] { background:radial-gradient(circle at 15% 115%,rgba(200,92,59,.15),transparent 46%),#ece4d9; }
.industry-card[href$="/martech/"] { background:linear-gradient(160deg,#eadfd3 0%,#dcd3ca 100%); }
.industry-card[href$="/ecommerce/"] { background:radial-gradient(circle at 105% 0%,rgba(200,92,59,.18),transparent 42%),#efe8df; }
.industry-card[href$="/real-estate/"] { background:linear-gradient(135deg,#ddd5cb 0%,#ebe5dd 100%); }
.industry-card[href$="/professional-services/"] { background:radial-gradient(circle at 0% 0%,rgba(200,92,59,.12),transparent 40%),#e8e0d7; }
.home-industries .industry-card { background:#e7e1d8; }
.home-industries .industry-card::before { width:118px; height:118px; right:24px; top:24px; border:0; border-radius:0; background:rgba(200,92,59,.14); }
.home-industries .industry-card[href$="/b2b/"]::before { clip-path:polygon(0 12%,22% 0,100% 78%,78% 100%); }
.home-industries .industry-card[href$="/b2c/"]::before { border:22px solid rgba(200,92,59,.14); border-radius:50%; background:transparent; }
.home-industries .industry-card[href$="/saas/"]::before { clip-path:polygon(0 0,100% 0,100% 28%,35% 28%,35% 100%,0 100%); }
.home-industries .industry-card[href$="/edtech/"]::before { clip-path:polygon(50% 0,100% 100%,0 100%); }
.home-industries .industry-card[href$="/martech/"]::before { clip-path:polygon(36% 0,64% 0,64% 36%,100% 36%,100% 64%,64% 64%,64% 100%,36% 100%,36% 64%,0 64%,0 36%,36% 36%); }
.home-industries .industry-card[href$="/ecommerce/"]::before { clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); }
.home-industries .industry-card[href$="/real-estate/"]::before { background:repeating-linear-gradient(90deg,rgba(200,92,59,.14) 0 18px,transparent 18px 31px); }
.home-industries .industry-card[href$="/professional-services/"]::before { background:radial-gradient(circle,rgba(200,92,59,.18) 0 8px,transparent 9px) 0 0/36px 36px; }
.industry-card:hover { transform:translateY(-7px); border-color:var(--hot); }
.industry-card:hover::before { transform:scale(1.22) rotate(15deg); }
.industry-card .meta { color:var(--hot); font: .75rem "Napalm Mono"; text-transform:uppercase; }
.industry-card h3 { font-size:1.8rem; margin-top:auto; margin-bottom:10px; }
.industry-card p { color:var(--muted); margin:0; }
.needs-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); }
.need-card { min-height:270px; padding:28px 34px 28px 0; border-bottom:1px solid var(--line); display:flex; flex-direction:column; position:relative; transition:padding .3s, background .3s; }
.need-card:nth-child(odd) { border-right:1px solid var(--line); padding-right:34px; }
.need-card:nth-child(even) { padding-left:34px; }
.need-card:hover { background:rgba(200,92,59,.055); }
.need-card span { color:var(--hot); font: .75rem "Napalm Mono"; }
.need-card h3 { margin-top:auto; max-width:520px; font-size:1.65rem; line-height:1.15; }
.need-card p { max-width:520px; color:var(--muted); margin-bottom:0; }
.filter-bar { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:34px; }
.filter-button { border:1px solid #bdb5aa; background:transparent; color:var(--ink); padding:10px 14px; cursor:pointer; transition:.25s; }
.filter-button:hover, .filter-button.active { background:var(--ink); border-color:var(--ink); color:var(--paper); }
.case-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.case-tile { min-height:360px; padding:26px; background:#e8e2da; display:flex; flex-direction:column; border:1px solid transparent; transition:transform .35s, border-color .35s; }
.case-tile[hidden] { display:none; }
.case-tile:hover { transform:translateY(-8px); border-color:var(--hot-soft); }
.case-tile .tags { display:flex; flex-wrap:wrap; gap:7px; }
.case-tile .tags span { font: .68rem "Napalm Mono"; color:var(--hot); text-transform:uppercase; }
.case-tile strong { display:block; margin-top:auto; font-size:4rem; letter-spacing:-.06em; color:var(--hot); }
.case-tile h3 { font-size:1.4rem; margin:8px 0; }
.case-tile p { color:var(--muted); margin-bottom:0; }
.case-layout { display:grid; grid-template-columns:.7fr 2fr; gap:60px; }
.case-facts { position:sticky; top:110px; align-self:start; display:grid; gap:18px; }
.case-fact { border-top:1px solid var(--line); padding-top:12px; }
.case-fact b { display:block; font: .72rem "Napalm Mono"; color:var(--hot); text-transform:uppercase; margin-bottom:5px; }
.case-story h2 { font-size:2.8rem; margin-top:60px; }
.case-story h2:first-child { margin-top:0; }
.case-story p, .case-story li { color:#5f5953; font-size:1.05rem; line-height:1.7; }
.metric-row { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:36px 0; }
.metric { padding:24px; background:#e5ded4; }
.metric strong { display:block; color:var(--hot); font-size:2.7rem; letter-spacing:-.05em; }
.metric span { color:var(--muted); font-size:.82rem; }
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.review-card { padding:28px; min-height:280px; background:#2e2a27; color:var(--paper); display:flex; flex-direction:column; }
.review-card blockquote { margin:0; font-size:1.12rem; line-height:1.55; }
.review-card footer { margin-top:auto; color:#bcb4aa; font-size:.83rem; }
.review-card.pending { background:#ded7ce; color:var(--ink); border:1px dashed #a79d91; }
.review-card.pending footer { color:var(--muted); }
.process-line { display:grid; grid-template-columns:repeat(5,1fr); border-left:1px solid var(--line); }
.process-item { padding:24px; min-height:250px; border:1px solid var(--line); border-left:0; display:flex; flex-direction:column; transition:.3s; }
.process-item:hover { background:#e4ddd3; transform:translateY(-5px); }
.process-item b { color:var(--hot); font: .75rem "Napalm Mono"; }
.process-item h3 { margin-top:auto; }
.process-item p { color:var(--muted); font-size:.88rem; margin-bottom:0; }
.format-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.format-card { padding:28px; background:#e7e1d8; min-height:300px; }
.format-card .best { color:var(--hot); font: .72rem "Napalm Mono"; text-transform:uppercase; }
.format-card h3 { margin-top:75px; font-size:1.7rem; }
.format-card ul { padding-left:18px; color:var(--muted); }
.faq-list { max-width:900px; margin:0 auto; border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { list-style:none; padding:24px 46px 24px 0; cursor:pointer; font-size:1.12rem; font-weight:700; position:relative; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; position:absolute; right:6px; color:var(--hot); font-size:1.5rem; transition:transform .25s; }
.faq-list details[open] summary::after { transform:rotate(45deg); }
.faq-list details p { color:var(--muted); max-width:760px; padding:0 0 24px; }
.tech-cloud { display:flex; flex-wrap:wrap; gap:10px; }
.tech-pill { padding:15px 18px; border:1px solid #bdb5aa; background:#ebe6de; transition:.25s; }
.tech-pill:hover { background:var(--ink); color:var(--paper); transform:translateY(-4px); }
.vacancy { display:grid; grid-template-columns:1fr 1fr auto; gap:30px; align-items:center; padding:28px 0; border-bottom:1px solid var(--line); }
.vacancy h3 { margin:0; font-size:1.55rem; }
.vacancy p { color:var(--muted); margin:0; }
.legal { max-width:900px; }
.legal .notice { padding:20px; background:#e4ddd3; border-left:3px solid var(--hot); color:#5d5650; }
.legal h2 { font-size:2rem; margin-top:48px; }
.legal p, .legal li { color:#5f5953; line-height:1.7; }
.quiz { max-width:850px; margin:0 auto; background:#e6dfd5; padding:34px; min-height:420px; }
.quiz-progress { height:3px; background:#cfc6ba; margin-bottom:35px; }
.quiz-progress span { display:block; height:100%; width:20%; background:var(--hot); transition:width .35s; }
.quiz-step { display:none; }
.quiz-step.active { display:block; animation:quizIn .35s ease; }
@keyframes quizIn { from { opacity:0; transform:translateX(14px); } }
.quiz-step h2 { font-size:2.3rem; }
.choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:25px 0; }
.choice { position:relative; }
.choice input { position:absolute; opacity:0; }
.choice label { display:block; padding:16px; border:1px solid #b9b0a5; cursor:pointer; transition:.2s; }
.choice input:checked + label { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.quiz-actions { display:flex; gap:10px; margin-top:24px; }
.proof-note { font-size:.78rem; color:var(--muted); margin-top:18px; }
.consent { display:flex; gap:10px; align-items:flex-start; color:var(--muted); font-size:.78rem; line-height:1.5; margin:14px 0; }
.consent input { margin-top:3px; }
.consent a { color:var(--hot); text-decoration:underline; }
.consent.full { grid-column:1/-1; }
@media (max-width:900px) {
  .industry-card, .industry-card.wide { grid-column:span 6; }
  .case-grid, .reviews-grid, .format-grid { grid-template-columns:1fr 1fr; }
  .process-line { grid-template-columns:1fr 1fr; }
  .case-layout { grid-template-columns:1fr; }
  .case-facts { position:static; }
}
@media (max-width:600px) {
  .industry-card, .industry-card.wide { grid-column:span 12; }
  .industry-grid { gap:12px; }
  .industry-card { min-height:280px; border-color:rgba(35,32,30,.28); }
  .case-grid, .reviews-grid, .format-grid, .process-line, .metric-row, .choice-grid, .needs-grid, .contact-cta-grid { grid-template-columns:1fr; }
  .need-card:nth-child(odd), .need-card:nth-child(even) { border-right:0; padding:26px 0; }
  .section-intro { margin:-24px 0 36px; }
  .vacancy { grid-template-columns:1fr; gap:8px; }
  .quiz { padding:22px; }
  .direct-contacts { grid-template-columns:1fr; }
}
