/* Yarin Bruner — portfolio. Business-editorial: black / white / one accent. */
:root {
  --accent: #FFD200;
  --ink: #000;
  --paper: #fff;
  --g100: #E6E6E6;
  --g200: #CCCCCC;
  --g400: #999999;
  --g500: #666666;
  --g600: #4D4D4D;
  --g700: #333333;
  --g900: #1A1A1A;
  --gut: 48px;
  --sec: 120px;
  --radius: 28px;
  --ease: cubic-bezier(.2, .7, .2, 1);
  --sans: 'Schibsted Grotesk', 'Helvetica Neue', Helvetica, sans-serif;
  --serif: 'Instrument Serif', Georgia, serif;
  --mono: 'IBM Plex Mono', ui-monospace, Menlo, monospace;
}
@media (max-width: 1100px) { :root { --gut: 32px; --sec: 96px; } }
@media (max-width: 720px)  { :root { --gut: 20px; --sec: 64px; --radius: 22px; } }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; background: var(--paper); color: var(--ink);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
a:hover { opacity: .72; }
button, input, textarea { font-family: inherit; }
button { cursor: pointer; }
h1, h2, h3, p, figure, blockquote, dl, dd { margin: 0; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.dark :focus-visible { outline-color: var(--accent); }

.serif { font-family: var(--serif); font-style: italic; font-weight: 400; text-transform: none; letter-spacing: -.01em; }
.mono { font-family: var(--mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; font-weight: 400; }
@media (max-width: 720px) { .mono { font-size: 11px; } }
.muted { color: var(--g500); }
.dim { color: var(--g400); }
.ic { width: 1em; height: 1em; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.hl { box-shadow: inset 0 -.3em 0 var(--accent); padding: 0 .12em; }

.wrap { padding-left: var(--gut); padding-right: var(--gut); }
.sec { padding-top: var(--sec); padding-bottom: var(--sec); }
.dark { background: var(--ink); color: var(--paper); }

/* 12-col grid */
.g12 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; row-gap: 24px; }
.c3 { grid-column: span 3; } .c4 { grid-column: span 4; } .c5 { grid-column: span 5; }
.c6 { grid-column: span 6; } .c7 { grid-column: span 7; } .c8 { grid-column: span 8; }
.c9 { grid-column: span 9; } .c12 { grid-column: 1 / -1; }
.o5-8 { grid-column: 5 / span 8; } .o6-7 { grid-column: 6 / span 7; } .o7-6 { grid-column: 7 / span 6; }
@media (max-width: 960px) {
  .g12 > * { grid-column: 1 / -1 !important; }
}

/* Header */
.site-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px var(--gut); border-bottom: 1px solid var(--g100); }
.brand { display: flex; align-items: center; gap: 10px; font-size: 20px; font-weight: 700; letter-spacing: -.02em; }
.mark { width: 30px; height: 30px; border-radius: 999px; background: var(--accent); display: flex; align-items: center; justify-content: center; }
.mark .ic { width: 16px; height: 16px; stroke-width: 3; stroke: #000; }
.main-nav { display: flex; align-items: center; gap: 40px; font-size: 15px; font-weight: 500; }
.main-nav a { display: flex; align-items: flex-start; gap: 3px; padding-bottom: 3px; border-bottom: 1.5px solid transparent; }
.main-nav a[aria-current="page"] { border-bottom-color: var(--ink); }
.main-nav sup { font-size: 10px; line-height: 1; }
.head-right { display: flex; align-items: center; gap: 12px; }
.status { display: flex; align-items: center; gap: 8px; padding: 11px 16px; border: 1px solid var(--g200); border-radius: 999px; font-size: 13px; font-weight: 500; white-space: nowrap; }
.dot-live { width: 7px; height: 7px; border-radius: 999px; background: var(--accent); box-shadow: 0 0 0 1.5px #000; flex-shrink: 0; }
.lang { display: flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 12px; border: 1px solid var(--g200); border-radius: 999px; font-size: 14px; font-weight: 600; }
.menu-btn { display: none; width: 44px; height: 44px; border-radius: 999px; border: 1px solid var(--g200); background: transparent; color: inherit; align-items: center; justify-content: center; font-size: 18px; }
@media (max-width: 1240px) { .status { display: none; } }
@media (max-width: 900px) {
  .site-header { padding: 14px var(--gut); }
  .main-nav, .head-right .btn { display: none; }
  .menu-btn { display: flex; }
  .brand { font-size: 18px; } .mark { width: 28px; height: 28px; }
}
.menu { position: fixed; inset: 0; z-index: 50; background: #000; color: #fff; display: flex; flex-direction: column; justify-content: space-between; padding: 14px var(--gut) 32px; }
.menu-top { display: flex; align-items: center; justify-content: space-between; }
.menu .menu-btn { display: flex; border-color: var(--g600); }
.menu nav { display: flex; flex-direction: column; border-bottom: 1px solid var(--g700); margin-top: 48px; }
.menu nav a { display: flex; justify-content: space-between; align-items: baseline; padding: 18px 0; border-top: 1px solid var(--g700); font-size: clamp(40px, 12vw, 64px); font-weight: 700; letter-spacing: -.035em; text-transform: uppercase; }
.menu nav .mono { color: var(--g400); }
.menu-foot { display: flex; flex-direction: column; gap: 16px; }
.menu-foot .st { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--g200); }
.menu-foot .st i { width: 7px; height: 7px; border-radius: 999px; background: var(--accent); }

/* Buttons & chips */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 17px 28px; border-radius: 999px; font-size: 15px; font-weight: 600; border: 1px solid transparent; }
.btn-sm { padding: 13px 22px; font-size: 14px; }
.btn-lg { padding: 20px 32px; font-size: 16px; }
.btn-dark { background: #000; color: #fff; }
.btn-accent { background: var(--accent); color: #000; }
.btn-line { border-color: #000; padding: 16px 27px; }
.btn .ic { width: 18px; height: 18px; }
@media (max-width: 720px) { .btn-block-m { width: 100%; height: 54px; padding: 0; } }
.chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: #fff; font-size: 13px; font-weight: 500; }
.chip.grey { background: var(--g100); padding: 9px 16px; }
.chip i { width: 6px; height: 6px; border-radius: 999px; background: #000; }
.circle-btn { width: 48px; height: 48px; border-radius: 999px; background: #fff; display: flex; align-items: center; justify-content: center; font-size: 20px; }
.link-u { display: inline-flex; align-items: center; gap: 8px; padding-bottom: 4px; border-bottom: 1px solid #000; font-size: 15px; font-weight: 600; }

/* Placeholders */
.ph { background: var(--g100); display: flex; align-items: center; justify-content: center; text-align: center; color: var(--g600); position: relative; overflow: hidden; }
.ph.t2 { background: var(--g200); }

/* Type scale */
.display { font-weight: 700; text-transform: uppercase; letter-spacing: -.035em; line-height: .95; }
.display .serif { font-size: 1.19em; }
.h-hero { --h: clamp(42px, 7.2vw, 104px); font-size: var(--h); line-height: .94; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: .23em; }
.h-hero .br { flex-basis: 100%; height: 0; }
@media (max-width: 960px) { .h-hero .br { display: none; } .h-hero { column-gap: .25em; } }
.h-hero .portrait { align-self: center; flex-shrink: 0; width: calc(var(--h) * 2.1); height: calc(var(--h) * .85); border-radius: 999px; font-family: var(--mono); font-size: max(9px, calc(var(--h) * .105)); letter-spacing: .06em; font-weight: 400; text-transform: uppercase; }
.h-hero .burst { align-self: center; flex-shrink: 0; width: calc(var(--h) * .75); height: calc(var(--h) * .75); stroke-width: 2.2; }
.h-sec { font-size: clamp(40px, 6.1vw, 88px); display: flex; flex-wrap: wrap; align-items: baseline; column-gap: .2em; }
.h-mid { font-size: clamp(38px, 4.5vw, 64px); }
.h-cta { font-size: clamp(52px, 10.4vw, 150px); line-height: .9; letter-spacing: -.045em; }
.h-cta .serif { font-size: 1.17em; color: var(--accent); }
.lead { font-size: clamp(17px, 1.5vw, 21px); line-height: 1.45; color: var(--g700); text-wrap: pretty; }

/* Cards */
.card { display: flex; flex-direction: column; gap: 22px; }
.card:hover { opacity: 1; }
.lift { transition: transform .4s var(--ease); }
.card:hover .lift { transform: translateY(-6px); }
.cover { border-radius: var(--radius); }
.cover .tl { position: absolute; top: 20px; inset-inline-start: 20px; display: flex; gap: 8px; }
.cover .tr { position: absolute; top: 20px; inset-inline-end: 20px; }
.card-meta { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.card-meta .t { display: flex; flex-direction: column; gap: 10px; }
.card-meta .title { font-size: clamp(22px, 2.1vw, 30px); line-height: 1.15; font-weight: 600; letter-spacing: -.02em; }
.metric { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex-shrink: 0; text-align: end; }
.metric b { font-size: clamp(22px, 2.2vw, 32px); line-height: 1; font-weight: 700; letter-spacing: -.03em; box-shadow: inset 0 -.3em 0 var(--accent); padding: 0 4px; }

/* Home hero */
.hero { display: flex; flex-direction: column; gap: 44px; padding: 40px var(--gut) var(--sec); }
.hero-left { display: flex; flex-direction: column; justify-content: space-between; gap: 32px; padding-top: 6px; }
.hero-left p { max-width: 400px; }
.hero-left .actions { display: flex; flex-wrap: wrap; gap: 12px; }
.socials { display: flex; flex-wrap: wrap; gap: 24px; color: var(--g500); margin-top: 28px; }
.socials a { display: flex; align-items: center; gap: 4px; }
.feature .cover { height: 440px; background: var(--g100); }
.feature .result { position: absolute; left: 20px; right: 20px; bottom: 20px; display: flex; justify-content: space-between; align-items: flex-end; text-align: start; }
.feature .result .box { display: flex; flex-direction: column; gap: 6px; max-width: 280px; padding: 18px 20px; border-radius: 20px; background: #000; color: #fff; }
.feature .result .box b { font-size: 40px; font-weight: 700; letter-spacing: -.03em; line-height: 1; color: var(--accent); }
.feature .result .box span { font-size: 13px; line-height: 1.4; color: var(--g200); }
.feature .result .go { width: 56px; height: 56px; border-radius: 999px; background: #fff; color: #000; display: flex; align-items: center; justify-content: center; font-size: 22px; }
.hero-right { display: flex; flex-direction: column; gap: 24px; }
.now-card { flex-grow: 1; display: flex; flex-direction: column; justify-content: space-between; gap: 20px; padding: 26px; background: #000; color: #fff; border-radius: var(--radius); }
.now-card p { font-size: 23px; line-height: 1.28; font-weight: 500; letter-spacing: -.015em; text-wrap: pretty; }
.now-card .row { display: flex; justify-content: space-between; align-items: center; }
.now-card .dots { display: flex; gap: 5px; } .now-card .dots i { width: 8px; height: 8px; border-radius: 999px; background: var(--g600); } .now-card .dots i:first-child { background: var(--accent); }
.explore { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.explore .circ { width: 150px; height: 150px; border-radius: 999px; border: 1px solid #000; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; font-size: 15px; font-weight: 600; }
.explore .circ .ic { font-size: 22px; }
@media (max-width: 960px) {
  .feature .cover { height: 380px; }
  .hero-right { flex-direction: row; } .hero-right > * { flex: 1; } .explore { justify-content: center; }
}
@media (max-width: 720px) {
  .hero { gap: 24px; padding-top: 28px; }
  .feature .cover { height: 420px; border-radius: 24px; }
  .feature .result .box b { font-size: 34px; } .feature .result .go { display: none; }
  .hero-right { flex-direction: column; } .explore { display: none; }
  .now-card { flex-grow: 0; padding: 22px; } .now-card p { font-size: 20px; }
  .hero-left .actions { flex-direction: column; } .hero-left .actions .btn { width: 100%; height: 54px; padding: 0; }
}

/* Selected work */
.sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; margin-bottom: 56px; }
.sec-head .side { display: flex; flex-direction: column; align-items: flex-end; gap: 20px; max-width: 420px; text-align: end; }
.sec-head .side p { font-size: 18px; line-height: 1.5; color: var(--g700); text-wrap: pretty; }
.sec-head sup { font-size: 13px; font-weight: 500; letter-spacing: 0; align-self: flex-start; }
@media (min-width: 961px) { .sec-head h2 { flex-wrap: nowrap; } }
.work-grid { row-gap: 72px; }
.work-grid .cover { height: clamp(320px, 36vw, 520px); }
.work-grid .short .cover { height: clamp(300px, 30.5vw, 440px); }
@media (max-width: 960px) { .work-grid { row-gap: 40px; } .sec-head { flex-direction: column; align-items: flex-start; margin-bottom: 32px; gap: 16px; } .sec-head .side { align-items: flex-start; text-align: start; } }
@media (max-width: 720px) { .work-grid .cover, .work-grid .short .cover { height: 260px; } .card { gap: 14px; } .cover .tr { display: none; } .cover .tl { top: 14px; inset-inline-start: 14px; } }

/* Capabilities */
.caps-list { border-bottom: 1px solid var(--g700); }
.cap { display: grid; grid-template-columns: 56px minmax(0, 1fr) 280px 40px; align-items: center; gap: 24px; padding: 34px 0; border-top: 1px solid var(--g700); }
.cap .n { color: var(--accent); }
.cap .name { font-size: clamp(28px, 2.8vw, 40px); font-weight: 600; letter-spacing: -.025em; }
.cap .desc { font-size: 15px; line-height: 1.5; color: var(--g200); }
.cap .ic { font-size: 24px; stroke-width: 1.6; }
@media (max-width: 1100px) { .cap { grid-template-columns: 48px minmax(0, 1fr) 32px; } .cap .desc { grid-column: 2; grid-row: 2; } .cap .ic { grid-column: 3; grid-row: 1; } }
@media (max-width: 720px) { .cap { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 22px 0; } .cap .ic { display: none; } .cap .desc { font-size: 14px; } }

/* Proof: testimonial + stats */
.quote { font-family: var(--serif); font-size: clamp(32px, 4.2vw, 60px); line-height: 1.08; letter-spacing: -.01em; text-wrap: pretty; }
.who { display: flex; align-items: center; gap: 16px; }
.who .av { width: 56px; height: 56px; border-radius: 999px; background: var(--g200); flex-shrink: 0; }
.who b { display: block; font-size: 16px; font-weight: 600; } .who span { font-size: 14px; color: var(--g500); }
.stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding-top: 40px; margin-top: 72px; border-top: 1px solid var(--g100); }
.stat b { display: block; font-size: clamp(44px, 5.3vw, 76px); line-height: 1; font-weight: 700; letter-spacing: -.045em; margin-bottom: 10px; }
.stat span { font-size: 15px; color: var(--g500); }
@media (max-width: 720px) { .stats { grid-template-columns: 1fr; gap: 0; margin-top: 40px; padding-top: 0; border-top: 0; border-bottom: 1px solid var(--g100); } .stat { display: flex; justify-content: space-between; align-items: baseline; padding: 18px 0; border-top: 1px solid var(--g100); } .stat b { margin: 0; } }

/* Footer */
.site-footer { display: flex; flex-direction: column; gap: 80px; padding: 96px var(--gut) 40px; background: #000; color: #fff; }
.foot-cta { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; }
.foot-cta .round { flex-shrink: 0; width: 200px; height: 200px; border-radius: 999px; background: var(--accent); color: #000; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; font-size: 18px; font-weight: 600; }
.foot-cta .round .ic { font-size: 26px; }
.foot-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 24px; padding-top: 32px; border-top: 1px solid var(--g700); }
.foot-grid > div { display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.foot-grid .mono { color: var(--g400); }
.foot-grid .email { font-size: clamp(20px, 2vw, 28px); font-weight: 500; letter-spacing: -.02em; }
.foot-grid .end { justify-content: flex-end; text-align: end; font-size: 13px; color: var(--g400); }
.foot-slim { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 24px; border-top: 1px solid var(--g700); font-size: 13px; color: var(--g400); }
.foot-slim nav { display: flex; gap: 28px; flex-wrap: wrap; }
.slim-cta { display: flex; justify-content: space-between; align-items: center; gap: 48px; }
.site-footer.slim { gap: 56px; padding: 72px var(--gut) 36px; }
.slim-cta h2 { font-size: clamp(40px, 5.6vw, 80px); display: flex; flex-wrap: wrap; align-items: baseline; column-gap: .27em; letter-spacing: -.04em; }
.slim-cta h2 .serif { font-size: 1.2em; color: var(--accent); }
@media (max-width: 960px) {
  .site-footer { padding-top: 64px; gap: 48px; }
  .foot-cta { flex-direction: column; align-items: flex-start; gap: 32px; }
  .foot-cta .round { width: 100%; height: 56px; border-radius: 999px; flex-direction: row; font-size: 16px; }
  .foot-cta .round .ic { font-size: 18px; }
  .foot-grid { grid-template-columns: 1fr 1fr; } .foot-grid > div:first-child { grid-column: 1 / -1; } .foot-grid .end { text-align: start; }
  .slim-cta { flex-direction: column; align-items: flex-start; gap: 28px; }
  .foot-slim { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* Work index */
.idx-head { display: flex; flex-direction: column; gap: 48px; padding: 64px var(--gut) 48px; }
.idx-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; }
.idx-top h1 { font-size: clamp(80px, 13.9vw, 200px); line-height: .84; letter-spacing: -.05em; display: flex; align-items: flex-start; gap: 14px; }
.idx-top h1 sup { padding-top: .07em; font-size: clamp(16px, 1.7vw, 24px); font-weight: 500; letter-spacing: 0; }
.idx-top p { max-width: 440px; font-size: 20px; line-height: 1.5; color: var(--g700); text-wrap: pretty; }
.tools { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 24px; border-top: 1px solid var(--g100); }
.filters { display: flex; flex-wrap: wrap; gap: 8px; }
.filters button { display: flex; align-items: flex-start; gap: 4px; padding: 12px 20px; border-radius: 999px; border: 1px solid var(--g200); background: transparent; color: #000; font-size: 15px; font-weight: 500; }
.filters button sup { font-size: 10px; line-height: 1; }
.filters button[aria-pressed="true"] { background: #000; border-color: #000; color: #fff; }
.toggle { display: flex; gap: 4px; padding: 4px; background: var(--g100); border-radius: 999px; flex-shrink: 0; }
.toggle button { padding: 10px 20px; border-radius: 999px; border: 0; background: transparent; font-size: 14px; font-weight: 600; }
.toggle button[aria-pressed="true"] { background: #000; color: #fff; }
.idx-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; row-gap: 56px; padding: 16px var(--gut) var(--sec); }
.idx-grid .cover { height: 300px; border-radius: 24px; }
.idx-grid .card { gap: 18px; }
.idx-grid .card-meta .title { font-size: 24px; }
.idx-list { padding: 16px var(--gut) var(--sec); }
.idx-list .hd, .idx-list .row { display: grid; grid-template-columns: 56px 128px minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) 90px 120px 32px; align-items: center; gap: 24px; padding: 18px 12px; }
.idx-list .hd { padding-top: 0; padding-bottom: 16px; color: var(--g500); }
.idx-list .row { border-top: 1px solid var(--g100); border-radius: 4px; }
.idx-list .row:hover { opacity: 1; background: var(--g100); }
.idx-list .row .th { height: 76px; border-radius: 12px; }
.idx-list .row .ttl { font-size: 24px; font-weight: 600; letter-spacing: -.02em; }
.idx-list .row .res { font-size: 24px; font-weight: 700; letter-spacing: -.03em; box-shadow: inset 0 -.3em 0 var(--accent); padding: 0 4px; justify-self: start; }
.idx-list .row .ic { font-size: 22px; }
.idx-list .end { border-top: 1px solid var(--g100); }
@media (max-width: 1100px) { .idx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .idx-list .hd { display: none; } .idx-list .row { grid-template-columns: 56px minmax(0, 1fr) auto; } .idx-list .row .th, .idx-list .row .cl, .idx-list .row .cat, .idx-list .row .yr, .idx-list .row .ic { display: none; } }
@media (max-width: 720px) {
  .idx-head { padding-top: 40px; gap: 32px; } .idx-top { flex-direction: column; align-items: flex-start; gap: 20px; } .idx-top p { font-size: 17px; }
  .tools { flex-direction: column; align-items: stretch; } .toggle { align-self: flex-start; }
  .filters { flex-wrap: nowrap; overflow-x: auto; margin: 0 calc(var(--gut) * -1); padding: 0 var(--gut); scrollbar-width: none; } .filters button { white-space: nowrap; flex-shrink: 0; padding: 10px 16px; font-size: 14px; }
  .idx-grid { grid-template-columns: 1fr; row-gap: 40px; } .idx-grid .cover { height: 260px; }
  .idx-list .row .ttl { font-size: 19px; }
}

/* Case study */
.cs-top { display: flex; justify-content: space-between; align-items: center; }
.cs-top a { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; }
.cs-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding-top: 28px; border-top: 1px solid var(--g100); }
.cs-meta > div { display: flex; flex-direction: column; gap: 8px; } .cs-meta span:last-child { font-size: 19px; font-weight: 500; }
.results { padding: 48px; border-radius: 32px; background: #000; color: #fff; }
.results .big { display: block; font-size: clamp(48px, 5.3vw, 76px); line-height: 1; font-weight: 700; letter-spacing: -.045em; color: var(--accent); margin-bottom: 12px; }
.results .lab { font-size: 15px; color: var(--g200); }
.results .k { padding-inline-start: 24px; border-inline-start: 1px solid var(--g700); }
.results .intro { display: flex; flex-direction: column; justify-content: space-between; gap: 24px; font-size: 18px; line-height: 1.45; color: var(--g200); }
.step .num { display: flex; align-items: center; gap: 8px; color: var(--g500); margin-bottom: 14px; } .step .num i { width: 6px; height: 6px; border-radius: 999px; background: #000; }
.step h2 { font-size: clamp(30px, 2.8vw, 40px); line-height: 1.05; font-weight: 600; letter-spacing: -.025em; }
.step p { font-size: clamp(19px, 1.8vw, 26px); line-height: 1.45; color: var(--g700); text-wrap: pretty; }
.cs-body { display: flex; flex-direction: column; gap: 112px; }
.next { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: center; gap: 24px; padding-top: 48px; border-top: 1px solid #000; }
.next .nt { font-size: clamp(36px, 5vw, 72px); line-height: .95; font-weight: 700; letter-spacing: -.04em; text-transform: uppercase; }
.next .go { justify-self: end; width: 64px; height: 64px; border-radius: 999px; background: var(--accent); display: flex; align-items: center; justify-content: center; font-size: 24px; }
@media (max-width: 960px) {
  .cs-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); } .results { padding: 32px 24px; } .results .k { padding-inline-start: 0; border-inline-start: 0; border-top: 1px solid var(--g700); padding-top: 20px; }
  .cs-body { gap: 64px; } .next > * { grid-column: 1 / -1 !important; } .next .go { justify-self: start; }
}

/* About + contact */
.about-h1 { font-size: clamp(38px, 5.6vw, 80px); display: flex; flex-direction: column; }
.about-h1 .serif { align-self: flex-start; font-size: 1.25em; line-height: 1; }
.facts { display: flex; flex-direction: column; gap: 18px; } .facts div { display: flex; flex-direction: column; gap: 6px; } .facts dd { font-size: 17px; font-weight: 500; }
.bio { font-size: clamp(22px, 2.1vw, 30px); line-height: 1.4; letter-spacing: -.01em; color: var(--g900); text-wrap: pretty; }
.exp .row { display: grid; grid-template-columns: 200px minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1.6fr); align-items: baseline; gap: 24px; padding: 30px 0; border-top: 1px solid var(--g100); }
.exp .row:last-child { border-bottom: 1px solid var(--g100); }
.exp .role { font-size: 26px; font-weight: 600; letter-spacing: -.02em; } .exp .co { font-size: 18px; color: var(--g700); } .exp .what { font-size: 16px; line-height: 1.5; color: var(--g500); }
@media (max-width: 960px) { .exp .row { grid-template-columns: 1fr; gap: 6px; padding: 22px 0; } .exp .role { font-size: 22px; } }
.toolbox { display: flex; flex-wrap: wrap; gap: 8px; }
.tool { padding: 10px 16px; border-radius: 999px; background: var(--g100); font-size: 15px; font-weight: 500; }
.tool.add { background: transparent; border: 1px dashed #B3B3B3; color: var(--g600); }
.tool-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; row-gap: 40px; }
.tool-groups > div { display: flex; flex-direction: column; gap: 14px; }
@media (max-width: 720px) { .tool-groups { grid-template-columns: 1fr; } }
.form { display: flex; flex-direction: column; gap: 28px; padding: 40px; border-radius: 32px; background: var(--g900); border: 1px solid var(--g700); }
.form .two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.field { display: flex; flex-direction: column; gap: 10px; } .field label, .form legend { color: var(--g400); }
.field input, .field textarea { padding: 0 18px; border-radius: 14px; border: 1px solid var(--g700); background: #000; color: #fff; font-size: 16px; }
.field input { height: 56px; } .field textarea { padding: 16px 18px; line-height: 1.5; resize: none; }
.field input::placeholder, .field textarea::placeholder { color: #808080; }
.field input:focus, .field textarea:focus { outline: 2px solid var(--accent); outline-offset: 2px; }
.form fieldset { margin: 0; padding: 0; border: 0; } .form legend { padding: 0; margin-bottom: 12px; }
.topics { display: flex; flex-wrap: wrap; gap: 8px; }
.topics button { display: flex; align-items: center; gap: 8px; padding: 12px 18px; border-radius: 999px; border: 1px solid var(--g600); background: transparent; color: #fff; font-size: 15px; font-weight: 500; }
.topics button .ic { display: none; width: 14px; height: 14px; stroke-width: 2.4; }
.topics button[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: #000; }
.topics button[aria-pressed="true"] .ic { display: block; }
.form .send { height: 60px; border: 0; background: var(--accent); color: #000; border-radius: 999px; font-size: 16px; font-weight: 600; display: flex; align-items: center; justify-content: center; gap: 10px; }
.sent { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; padding: 56px 40px; border-radius: 32px; background: var(--g900); border: 1px solid var(--g700); }
.sent .tick { width: 64px; height: 64px; border-radius: 999px; background: var(--accent); color: #000; display: flex; align-items: center; justify-content: center; font-size: 28px; stroke-width: 2.2; }
.sent h3 { font-size: clamp(32px, 3vw, 44px); line-height: 1.05; font-weight: 600; letter-spacing: -.025em; } .sent p { font-size: 18px; line-height: 1.5; color: var(--g200); }
.sent button { padding: 14px 24px; border-radius: 999px; border: 1px solid #fff; background: transparent; color: #fff; font-size: 15px; font-weight: 600; }
.contact-h { font-size: clamp(72px, 8.9vw, 128px); line-height: .88; letter-spacing: -.045em; display: flex; flex-direction: column; }
.contact-h .serif { color: var(--accent); font-size: 1.17em; }
@media (max-width: 720px) { .form { padding: 24px 20px; border-radius: 24px; } .form .two { grid-template-columns: 1fr; } }

/* Hebrew (RTL). Pages in /he set <html lang="he" dir="rtl">; logical properties above do the mirroring. */
:root:lang(he) {
  --sans: 'Heebo', 'Arial Hebrew', Arial, sans-serif;
  --serif: 'Frank Ruhl Libre', 'Times New Roman', serif;
  /* No Hebrew monospace pairs well; Plex Mono's wide spaces break up Hebrew words, so labels use Plex Sans Hebrew. */
  --mono: 'IBM Plex Sans Hebrew', 'Arial Hebrew', Arial, sans-serif;
}
/* Hebrew has no case or italics, and tight Latin tracking makes its letters touch. */
:lang(he) .serif { font-style: normal; font-weight: 500; letter-spacing: 0; }
:lang(he) .display .serif { font-size: 1.1em; }
:lang(he) .mono { letter-spacing: .02em; font-size: 13px; font-variant-numeric: tabular-nums; }
@media (max-width: 720px) { :lang(he) .mono { font-size: 12px; } }
:lang(he) .display, :lang(he) .h-cta, :lang(he) .idx-top h1, :lang(he) .contact-h, :lang(he) .slim-cta h2, :lang(he) .next .nt, :lang(he) .menu nav a { letter-spacing: -.02em; }
:lang(he) .display { line-height: 1.02; }
/* Hebrew words run shorter than English caps, so the hero is set larger to fill the same measure. */
:lang(he) .h-hero { --h: clamp(46px, 8.6vw, 124px); line-height: 1.02; }
:lang(he) .h-cta, :lang(he) .contact-h { line-height: .98; }
:lang(he) .idx-top h1 { line-height: .92; }
:lang(he) .quote { line-height: 1.2; }
:lang(he) .field input[type="email"] { direction: ltr; text-align: right; }
/* Figures keep left-to-right order ("+40%", not "40%+") inside right-to-left text. */
:lang(he) .metric b, :lang(he) .stat b, :lang(he) .results .big, :lang(he) .feature .result .box b, :lang(he) .idx-list .row .res { direction: ltr; unicode-bidi: isolate; text-align: right; }

