:root {
  --ink: #07090d;
  --ink-2: #0d1119;
  --paper: #f4f1e9;
  --paper-2: #e8e4da;
  --white: #ffffff;
  --muted: #9da6b3;
  --line: rgba(255,255,255,.14);
  --blue: #246bfe;
  --blue-2: #79a6ff;
  --orange: #ff7a1a;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --radius: 1.2rem;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 1rem; line-height: 1.55; text-rendering: optimizeLegibility; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; display: block; }
.shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.skip-link { position: fixed; top: -100px; left: 1rem; z-index: 1000; background: var(--white); color: var(--ink); padding: .8rem 1rem; border-radius: .5rem; }
.skip-link:focus { top: 1rem; }

.site-header { position: absolute; inset: 0 0 auto; z-index: 10; height: 84px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 max(24px, calc((100vw - 1180px)/2)); color: var(--white); border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: .75rem; text-decoration: none; font-weight: 600; width: max-content; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; font-family: var(--serif); font-style: italic; }
.brand-name { font-size: .92rem; letter-spacing: .01em; }
.desktop-nav { display: flex; gap: 1.8rem; }
.desktop-nav a { color: #cbd2dc; text-decoration: none; font-size: .86rem; transition: color .2s; }
.desktop-nav a:hover, .desktop-nav a:focus-visible { color: var(--white); }
.header-cta { justify-self: end; color: var(--white); font-size: .86rem; text-decoration: none; border-bottom: 1px solid var(--orange); padding-bottom: .15rem; }

.hero { position: relative; min-height: 920px; color: var(--white); background: var(--ink); overflow: hidden; }
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; opacity: .82; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,7,10,.98) 0%, rgba(5,7,10,.87) 40%, rgba(5,7,10,.15) 76%, rgba(5,7,10,.28) 100%), linear-gradient(0deg, rgba(5,7,10,.82) 0%, transparent 35%); }
.hero-content { position: relative; z-index: 1; padding-top: 158px; padding-bottom: 200px; }
.eyebrow { display: flex; flex-wrap: wrap; gap: 1.2rem 2.4rem; margin: 0 0 2.4rem; color: #b7c1ce; font-size: .78rem; letter-spacing: .11em; text-transform: uppercase; }
.eyebrow span:first-child::before { content: ""; display: inline-block; width: 28px; height: 2px; margin-right: .7rem; vertical-align: middle; background: var(--orange); }
.hero h1 { max-width: 850px; margin: 0; font-family: var(--serif); font-weight: 400; font-size: clamp(3.5rem, 7vw, 6.8rem); line-height: .91; letter-spacing: -.055em; text-wrap: balance; }
.hero h1 em { color: var(--orange); font-weight: 400; }
.hero h1 strong { color: var(--blue-2); font-weight: 400; }
.hero-lead { max-width: 650px; margin: 2.2rem 0 0; color: #c5ccd5; font-size: 1.13rem; line-height: 1.7; }
.hero-actions, .contact-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 1.1rem; padding: .85rem 1.35rem; border: 1px solid transparent; border-radius: 999px; text-decoration: none; font-weight: 600; font-size: .92rem; transition: transform .2s, background .2s, border-color .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--orange); color: var(--ink); }
.button-primary:hover { background: #ff913f; }
.button-ghost { color: var(--white); border-color: rgba(255,255,255,.32); background: rgba(7,9,13,.2); backdrop-filter: blur(12px); }
.button-ghost:hover { border-color: rgba(255,255,255,.8); }
.hero-stats { position: absolute; z-index: 2; inset: auto 0 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); }
.hero-stats > div { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; min-height: 132px; padding: 1.5rem 1.6rem; border-right: 1px solid var(--line); }
.hero-stats > div:first-child { padding-left: 0; }
.hero-stats > div:last-child { border-right: 0; }
.hero-stats strong { font-family: var(--serif); font-size: 2.8rem; font-weight: 400; line-height: 1; color: var(--white); }
.hero-stats span { color: #9da8b8; font-size: .78rem; line-height: 1.5; }

.section { padding: 120px 0; }
.section-index { color: #6c7480; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; white-space: nowrap; }
.statement-grid { display: grid; grid-template-columns: 1.4fr .8fr; gap: 8vw; margin-top: 3rem; }
.statement h2, .section-head h2, .portfolio h2, .speaking h2, .contact h2 { margin: 0; font-family: var(--serif); font-weight: 400; letter-spacing: -.04em; line-height: 1.04; text-wrap: balance; }
.statement h2 { font-size: clamp(2.6rem, 5.2vw, 5.1rem); }
.statement h2 em, .contact h2 em { color: var(--blue); font-weight: 400; }
.statement-copy { padding-top: .6rem; font-size: 1.06rem; }
.statement-copy p { margin: 0 0 1.4rem; }
.quote-strip { display: grid; grid-template-columns: auto 1fr auto; gap: 2rem; align-items: center; margin-top: 5rem; padding: 2rem 0; border-top: 1px solid #b9b8b4; border-bottom: 1px solid #b9b8b4; }
.quote-mark { font-family: var(--serif); color: var(--orange); font-size: 4rem; line-height: .8; }
.quote-strip blockquote { margin: 0; font-family: var(--serif); font-size: clamp(1.45rem, 2.2vw, 2.1rem); font-style: italic; }
.quote-sign { color: #626872; font-size: .8rem; text-transform: uppercase; letter-spacing: .14em; }

.expertise { background: var(--ink); color: var(--white); }
.section-head { display: grid; grid-template-columns: .35fr 1.65fr; gap: 2rem; align-items: start; }
.section-head h2 { max-width: 850px; font-size: clamp(2.6rem, 5vw, 4.8rem); }
.kicker { margin: 0 0 .8rem; color: var(--orange); font-size: .77rem; letter-spacing: .14em; text-transform: uppercase; }
.expertise-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 4.5rem; background: #2a303b; border: 1px solid #2a303b; }
.expertise-card { min-height: 390px; padding: 2rem; background: var(--ink-2); }
.expertise-card .card-no { color: #707a89; font-family: var(--serif); font-size: 1rem; }
.expertise-card h3 { margin: 5.5rem 0 1rem; font-family: var(--serif); font-size: 1.8rem; font-weight: 400; line-height: 1.1; }
.expertise-card p { color: #aeb8c5; }
.expertise-card ul { margin: 1.7rem 0 0; padding: 0; list-style: none; color: #d8dde5; font-size: .84rem; }
.expertise-card li { padding: .45rem 0; border-top: 1px solid rgba(255,255,255,.1); }
.accent-card { background: var(--blue); }
.accent-card p, .accent-card .card-no { color: #d9e5ff; }
.dark-card { background: #111823; box-shadow: inset 0 -4px 0 var(--orange); }

.case-head { margin-bottom: 3rem; }
.case-filters { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 2rem; }
.filter { border: 1px solid #b8b9b5; background: transparent; padding: .65rem 1rem; border-radius: 999px; font: inherit; font-size: .83rem; cursor: pointer; }
.filter.active { color: var(--white); background: var(--ink); border-color: var(--ink); }
.case-row { display: grid; grid-template-columns: 210px 1fr auto; gap: 3rem; align-items: start; padding: 2.3rem 0; border-top: 1px solid #b8b9b5; transition: opacity .2s, transform .2s; }
.case-row[hidden] { display: none; }
.case-result strong { display: block; color: var(--blue); font-family: var(--serif); font-size: 3.4rem; font-weight: 400; line-height: 1; }
.case-result span { display: block; margin-top: .6rem; color: #626a74; font-size: .78rem; line-height: 1.4; text-transform: uppercase; letter-spacing: .07em; }
.case-body { max-width: 680px; }
.case-meta { margin: 0 0 .5rem; color: #6f7680; font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; }
.case-body h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.5rem, 2.5vw, 2.15rem); font-weight: 400; line-height: 1.15; }
.case-body > p:last-child { margin: .8rem 0 0; color: #4d5560; }
.case-tag { padding: .35rem .7rem; border: 1px solid #b8b9b5; border-radius: 999px; color: #58606a; font-size: .72rem; }
.cases-note { margin: 1.2rem 0 0; color: #6b727b; font-size: .78rem; }

.work { background: var(--blue); color: var(--white); }
.light-head .section-index { color: #c1d2ff; }
.light-head .kicker { color: #ffe1cb; }
.work-flow { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 4rem; border-top: 1px solid rgba(255,255,255,.4); border-bottom: 1px solid rgba(255,255,255,.4); }
.work-flow article { min-height: 300px; padding: 1.5rem 1.5rem 1.5rem 0; border-right: 1px solid rgba(255,255,255,.4); }
.work-flow article + article { padding-left: 1.5rem; }
.work-flow article:last-child { border-right: 0; }
.work-flow span { color: #c8d8ff; font-family: var(--serif); }
.work-flow h3 { margin: 7rem 0 .6rem; font-family: var(--serif); font-size: 1.75rem; font-weight: 400; }
.work-flow p { margin: 0; color: #d9e3ff; font-size: .9rem; }
.work-outcomes { display: grid; grid-template-columns: .8fr 1.2fr; gap: 3rem; align-items: center; margin-top: 2.5rem; }
.work-outcomes p { max-width: 480px; font-size: 1.05rem; }
.outcome-tags { display: flex; flex-wrap: wrap; gap: .6rem; }
.outcome-tags span { padding: .5rem .85rem; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; font-size: .78rem; }

.story-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 7vw; margin-top: 4rem; }
.timeline article { display: grid; grid-template-columns: 120px 1fr; gap: 1.5rem; padding: 1.7rem 0; border-top: 1px solid #b8b9b5; }
.timeline time { color: #666e78; font-size: .78rem; letter-spacing: .05em; }
.timeline h3 { margin: 0; font-family: var(--serif); font-size: 1.6rem; font-weight: 400; }
.timeline p { margin: .45rem 0 0; color: #59616b; }
.timeline .current { border-top: 2px solid var(--orange); }
.identity-card { align-self: start; position: sticky; top: 2rem; padding: 2.2rem; background: var(--ink); color: var(--white); border-radius: var(--radius); box-shadow: 14px 14px 0 var(--orange); }
.monogram { width: 92px; height: 92px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; font-family: var(--serif); font-size: 2.2rem; font-style: italic; }
.identity-label { margin: 2.5rem 0 .8rem; color: var(--blue-2); font-size: .72rem; text-transform: uppercase; letter-spacing: .13em; }
.identity-card h3 { margin: 0; font-family: var(--serif); font-size: 2rem; font-weight: 400; line-height: 1.15; }
.identity-card > p:last-child { color: #aeb7c4; }

.portfolio { color: var(--white); background: #11151d; }
.portfolio-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 7vw; }
.portfolio h2 { margin-top: 2rem; font-size: clamp(2.3rem, 4vw, 3.8rem); }
.deliverables { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.deliverables article { min-height: 230px; padding: 1.6rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.deliverables span { color: var(--orange); font-family: var(--serif); }
.deliverables h3 { margin: 3.5rem 0 .5rem; font-family: var(--serif); font-size: 1.45rem; font-weight: 400; }
.deliverables p { margin: 0; color: #9fa9b7; font-size: .85rem; }

.speaking-card { display: grid; grid-template-columns: 1.25fr .75fr; gap: 6vw; padding: 4rem; border: 1px solid #b8b9b5; background: linear-gradient(135deg, #f4f1e9 70%, #e3e8f5 70%); }
.speaking h2 { font-size: clamp(2.2rem, 4vw, 3.9rem); }
.speaking-copy { align-self: end; }
.speaking-copy ul { padding-left: 1.1rem; }

.fit { border-top: 1px solid #b8b9b5; }
.fit-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 3rem; background: #b8b9b5; border: 1px solid #b8b9b5; }
.fit-grid > div { min-height: 250px; padding: 1.7rem; background: var(--paper); }
.fit-grid h2 { margin: 0 0 5rem; font-family: var(--serif); font-size: 1.75rem; font-weight: 400; }
.fit-grid p { margin: 0; color: #565e68; font-size: .88rem; }

.contact { color: var(--white); background: var(--ink); }
.contact-inner { position: relative; padding-left: min(10vw, 110px); }
.contact-inner::before { content: ""; position: absolute; left: 0; top: .5rem; width: 52px; height: 52px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 80px rgba(255,122,26,.55); }
.contact-overline { color: var(--blue-2); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.contact h2 { max-width: 950px; font-size: clamp(3.1rem, 6vw, 6.2rem); }
.contact p:not(.contact-overline) { max-width: 680px; color: #aeb7c4; font-size: 1.05rem; }

.site-footer { min-height: 110px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: center; font-size: .75rem; color: #626a74; }
.site-footer p { margin: 0; }
.site-footer p:nth-child(2) { text-align: center; }
.site-footer a { justify-self: end; }

@media (max-width: 980px) {
  .site-header { grid-template-columns: 1fr auto; }
  .desktop-nav { display: none; }
  .hero { min-height: 980px; }
  .hero-image { object-position: 62% 50%; }
  .hero-shade { background: linear-gradient(90deg, rgba(5,7,10,.97) 0%, rgba(5,7,10,.81) 62%, rgba(5,7,10,.3) 100%), linear-gradient(0deg, rgba(5,7,10,.94) 0%, transparent 45%); }
  .hero-stats { grid-template-columns: repeat(2, 1fr); }
  .hero-stats > div { min-height: 100px; }
  .hero-stats > div:nth-child(2) { border-right: 0; }
  .hero-stats > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .statement-grid, .story-grid, .portfolio-grid, .speaking-card { grid-template-columns: 1fr; }
  .expertise-grid { grid-template-columns: repeat(2, 1fr); }
  .work-flow, .fit-grid { grid-template-columns: repeat(2, 1fr); }
  .work-flow article:nth-child(2) { border-right: 0; }
  .work-flow article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.4); }
  .identity-card { position: static; }
  .work-outcomes { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .shell { width: min(100% - 32px, 1180px); }
  .site-header { height: 72px; padding-inline: 16px; }
  .brand-name { display: none; }
  .header-cta { font-size: .78rem; }
  .hero { min-height: 1040px; }
  .hero-content { padding-top: 130px; padding-bottom: 320px; }
  .eyebrow { gap: .6rem; }
  .hero h1 { font-size: clamp(3rem, 15vw, 4.7rem); }
  .hero-lead { font-size: 1rem; }
  .hero-stats { grid-template-columns: 1fr 1fr; }
  .hero-stats > div { display: block; min-height: 140px; padding: 1.25rem .9rem; }
  .hero-stats > div:first-child { padding-left: .9rem; }
  .hero-stats strong { font-size: 2.25rem; }
  .hero-stats span { margin-top: .5rem; display: block; }
  .section { padding: 80px 0; }
  .section-head { grid-template-columns: 1fr; gap: 1.6rem; }
  .statement-grid { gap: 2rem; margin-top: 1.5rem; }
  .quote-strip { grid-template-columns: auto 1fr; gap: 1rem; }
  .quote-sign { grid-column: 2; }
  .expertise-grid { grid-template-columns: 1fr; }
  .expertise-card { min-height: 330px; }
  .expertise-card h3 { margin-top: 3.5rem; }
  .case-row { grid-template-columns: 1fr; gap: 1rem; }
  .case-tag { width: max-content; }
  .work-flow, .fit-grid, .deliverables { grid-template-columns: 1fr; }
  .work-flow article, .work-flow article + article { min-height: 245px; padding: 1.4rem 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.4); }
  .work-flow h3 { margin-top: 4rem; }
  .timeline article { grid-template-columns: 1fr; gap: .5rem; }
  .identity-card { box-shadow: 8px 8px 0 var(--orange); }
  .speaking-card { padding: 2rem; background: var(--paper); }
  .fit-grid > div { min-height: 210px; }
  .fit-grid h2 { margin-bottom: 3rem; }
  .contact-inner { padding-left: 16px; }
  .contact-inner::before { display: none; }
  .site-footer { grid-template-columns: 1fr; padding-block: 2rem; }
  .site-footer p:nth-child(2) { text-align: left; }
  .site-footer a { justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Photo-led editorial redesign */
:root {
  --ink: #251b17;
  --ink-2: #34231b;
  --paper: #f4eadc;
  --paper-2: #dfc4a7;
  --muted: #7e6d62;
  --line: rgba(37,27,23,.18);
  --blue: #4da93b;
  --blue-2: #b4ed79;
  --orange: #ff8a3d;
  --green: #67c94c;
  --pink: #f25f88;
  --camel: #ae774f;
  --cream: #fff8ef;
}

body { background: var(--paper); color: var(--ink); }
.site-header { position: absolute; color: var(--ink); border-bottom-color: rgba(37,27,23,.16); }
.brand-mark { border-color: var(--ink); background: var(--green); transform: rotate(-5deg); }
.desktop-nav a { color: #5b463a; }
.desktop-nav a:hover, .desktop-nav a:focus-visible { color: var(--ink); }
.header-cta { color: var(--ink); border-bottom: 3px solid var(--pink); font-weight: 700; }

.hero { min-height: 980px; color: var(--ink); background: var(--paper); overflow: hidden; }
.hero::before { content: ""; position: absolute; width: 430px; height: 430px; left: -180px; top: 190px; border: 46px solid rgba(242,95,136,.12); border-radius: 50%; }
.hero::after { content: ""; position: absolute; width: 160px; height: 22px; left: 46%; top: 128px; background: var(--orange); transform: rotate(-6deg); opacity: .9; }
.hero-content { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(380px,.75fr); gap: 5vw; align-items: center; padding-top: 128px; padding-bottom: 185px; }
.hero-copy { position: relative; z-index: 2; }
.eyebrow { color: #6d594c; margin-bottom: 1.7rem; }
.eyebrow span:first-child::before { background: var(--green); height: 8px; border-radius: 10px; }
.hero h1 { max-width: 760px; font-family: var(--sans); font-size: clamp(3.35rem,6.2vw,6.4rem); font-weight: 900; line-height: .88; letter-spacing: -.07em; text-transform: uppercase; }
.hero h1 em { display: inline-block; color: var(--pink); font-family: var(--sans); font-weight: 900; font-style: normal; transform: rotate(-1.5deg); }
.hero h1 strong { color: var(--ink); font-weight: 900; }
.hero-lead { color: #5c4b40; max-width: 610px; font-size: 1.06rem; }
.button-primary { background: var(--green); color: var(--ink); border: 2px solid var(--ink); box-shadow: 5px 5px 0 var(--ink); }
.button-primary:hover { background: #7edd62; transform: translate(-2px,-2px); box-shadow: 7px 7px 0 var(--ink); }
.button-ghost { color: var(--ink); border: 2px solid var(--ink); background: transparent; backdrop-filter: none; }
.button-ghost:hover { border-color: var(--ink); background: var(--cream); }
.hero-visual { position: relative; align-self: stretch; min-height: 680px; }
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%; border-radius: 210px 210px 28px 28px; box-shadow: 14px 14px 0 var(--ink); }
.hero-sticker { position: absolute; z-index: 3; right: -30px; top: 95px; width: 150px; height: 150px; display: grid; place-items: center; padding: 1.3rem; border: 3px solid var(--ink); border-radius: 50%; color: var(--ink); font-weight: 900; line-height: 1.05; text-align: center; transform: rotate(8deg); box-shadow: 6px 6px 0 var(--ink); }
.sticker-green { background: var(--green); }
.hero-note { position: absolute; z-index: 4; left: -45px; bottom: 55px; padding: .9rem 1.2rem; background: var(--orange); border: 2px solid var(--ink); color: var(--ink); font-weight: 800; line-height: 1.2; transform: rotate(-4deg); box-shadow: 5px 5px 0 var(--ink); }
.hero-stats { color: var(--cream); background: var(--ink); border: 2px solid var(--ink); box-shadow: 10px 10px 0 var(--green); bottom: 34px; }
.hero-stats > div { border-right-color: rgba(255,255,255,.18); }
.hero-stats strong { color: var(--green); font-family: var(--sans); font-weight: 900; }
.hero-stats span { color: #dbcabe; }

.section-index { color: #7a6659; font-weight: 800; }
.statement { background: var(--paper); }
.statement h2, .section-head h2, .portfolio h2, .speaking h2, .contact h2 { font-family: var(--sans); font-weight: 850; letter-spacing: -.055em; }
.statement h2 em, .contact h2 em { color: var(--pink); font-style: normal; text-decoration: underline; text-decoration-color: var(--orange); text-decoration-thickness: .12em; text-underline-offset: .12em; }
.quote-strip { border-color: rgba(37,27,23,.3); }
.quote-mark { color: var(--green); font-family: var(--sans); font-weight: 900; }
.quote-strip blockquote { font-family: var(--sans); font-weight: 750; font-style: normal; }

.visual-manifesto { display: grid; grid-template-columns: .82fr 1.18fr; gap: 7vw; align-items: center; padding: 40px 0 130px; }
.visual-card { position: relative; }
.visual-card-main { transform: rotate(-2deg); }
.visual-card-main::before { content: ""; position: absolute; z-index: -1; inset: 25px -22px -22px 25px; background: var(--pink); border: 3px solid var(--ink); }
.visual-card img { width: 100%; max-height: 700px; object-fit: cover; object-position: 50% 35%; border: 3px solid var(--ink); }
.photo-label { position: absolute; left: -25px; right: 25px; bottom: 24px; padding: 1rem 1.2rem; background: var(--cream); border: 2px solid var(--ink); font-weight: 800; line-height: 1.25; box-shadow: 5px 5px 0 var(--ink); transform: rotate(1.5deg); }
.manifesto-copy { position: relative; }
.hand-arrow { position: absolute; right: 0; top: -100px; color: var(--pink); font-size: 7rem; font-weight: 900; transform: rotate(-20deg); }
.marker-note { display: inline-block; margin: 0 0 1rem; padding: .25rem .65rem; color: var(--ink); background: var(--green); border: 2px solid var(--ink); font-weight: 900; transform: rotate(-3deg); }
.manifesto-copy h2 { margin: 0; font-size: clamp(2.7rem,5vw,5rem); line-height: .98; letter-spacing: -.06em; text-transform: uppercase; }
.manifesto-copy h2 em { color: var(--pink); font-style: normal; }
.manifesto-copy > p:last-child { max-width: 600px; margin-top: 2rem; font-size: 1.08rem; }

.expertise { background: #2a1c16; color: var(--cream); }
.kicker { color: var(--pink); font-weight: 900; }
.expertise-grid { background: #5a4032; border-color: #5a4032; }
.expertise-card { background: #39271f; }
.expertise-card:nth-child(2), .expertise-card:nth-child(5) { background: #563628; }
.expertise-card .card-no { color: var(--orange); font-family: var(--sans); font-weight: 900; }
.expertise-card h3 { font-family: var(--sans); font-weight: 850; letter-spacing: -.04em; }
.expertise-card p { color: #d9c5b5; }
.accent-card { color: var(--ink); background: var(--green); }
.accent-card p, .accent-card .card-no { color: var(--ink); }
.accent-card li { border-top-color: rgba(37,27,23,.25); }
.dark-card { color: var(--ink); background: var(--pink); box-shadow: inset 0 -7px 0 var(--orange); }
.dark-card p, .dark-card ul, .dark-card .card-no { color: var(--ink); }
.dark-card li { border-top-color: rgba(37,27,23,.25); }

.filter { border: 2px solid var(--ink); font-weight: 750; }
.filter.active { color: var(--ink); background: var(--green); border-color: var(--ink); box-shadow: 3px 3px 0 var(--ink); }
.case-row { border-top: 2px solid rgba(37,27,23,.25); }
.case-result strong { color: var(--pink); font-family: var(--sans); font-weight: 900; letter-spacing: -.06em; }
.case-body h3 { font-family: var(--sans); font-weight: 850; letter-spacing: -.04em; }
.case-tag { border: 2px solid var(--ink); color: var(--ink); background: var(--orange); font-weight: 800; transform: rotate(2deg); }

.work { color: var(--ink); background: var(--green); }
.light-head .section-index { color: #2f5d24; }
.light-head .kicker { color: var(--ink); background: var(--orange); display: inline-block; padding: .2rem .5rem; transform: rotate(-1deg); }
.work-flow { border-color: rgba(37,27,23,.45); }
.work-flow article { border-right-color: rgba(37,27,23,.45); }
.work-flow span { color: var(--ink); font-family: var(--sans); font-weight: 900; }
.work-flow h3 { font-family: var(--sans); font-weight: 900; }
.work-flow p { color: #315028; }
.outcome-tags span { border: 2px solid var(--ink); background: var(--cream); font-weight: 800; }

.timeline article { border-color: rgba(37,27,23,.3); }
.timeline h3 { font-family: var(--sans); font-weight: 850; }
.timeline .current { border-top: 5px solid var(--pink); }
.identity-card { color: var(--cream); background: var(--camel); border: 3px solid var(--ink); box-shadow: 14px 14px 0 var(--green); }
.monogram { color: var(--ink); background: var(--pink); border: 2px solid var(--ink); font-family: var(--sans); font-weight: 900; }
.identity-label { color: var(--cream); font-weight: 900; }
.identity-card h3 { font-family: var(--sans); font-weight: 850; }
.identity-card > p:last-child { color: #f4e2d3; }

.portfolio { color: var(--cream); background: var(--ink); }
.deliverables { border-color: #675145; }
.deliverables article { border-color: #675145; }
.deliverables span { color: var(--green); font-family: var(--sans); font-weight: 900; }
.deliverables h3 { font-family: var(--sans); font-weight: 850; }

.speaking-card { display: grid; grid-template-columns: .78fr 1.22fr; gap: 0; padding: 0; overflow: hidden; border: 3px solid var(--ink); background: var(--orange); box-shadow: 12px 12px 0 var(--pink); }
.speaking-photo { position: relative; min-height: 620px; }
.speaking-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.photo-sticker { position: absolute; left: 18px; bottom: 24px; padding: .65rem .8rem; background: var(--green); border: 2px solid var(--ink); color: var(--ink); font-weight: 900; transform: rotate(-3deg); box-shadow: 4px 4px 0 var(--ink); }
.speaking-content { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem,5vw,5rem); }
.speaking-content .kicker { color: var(--ink); }
.speaking h2 { color: var(--ink); }
.speaking-copy { color: var(--ink); }
.speaking-copy li { margin: .5rem 0; font-weight: 700; }

.fit { border-color: rgba(37,27,23,.3); }
.fit-grid { background: var(--ink); border: 2px solid var(--ink); }
.fit-grid > div { background: var(--cream); }
.fit-grid > div:nth-child(2) { background: var(--green); }
.fit-grid > div:nth-child(3) { background: #f5afc3; }
.fit-grid > div:nth-child(4) { background: #ffc08c; }
.fit-grid h2 { font-family: var(--sans); font-weight: 900; }

.contact { color: var(--cream); background: var(--camel); }
.contact-inner { display: grid; grid-template-columns: .86fr 1.14fr; gap: 7vw; padding-left: 0; }
.contact-inner::before { display: none; }
.contact-overline { display: inline-block; color: var(--ink); background: var(--green); border: 2px solid var(--ink); padding: .35rem .65rem; font-weight: 900; transform: rotate(-1.5deg); }
.contact h2 { color: var(--cream); font-size: clamp(3rem,5.3vw,5.5rem); }
.contact h2 em { color: var(--ink); text-decoration-color: var(--pink); }
.contact p:not(.contact-overline) { color: #fae9da; }
.direct-contacts { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 2rem; }
.direct-contacts a { padding: .65rem .85rem; border: 2px solid var(--ink); background: var(--cream); color: var(--ink); text-decoration: none; font-weight: 850; box-shadow: 3px 3px 0 var(--ink); }
.contact-routes { display: grid; align-content: center; }
.contact-routes a { position: relative; display: grid; grid-template-columns: 42px 1fr auto; grid-template-areas: "number title arrow" "number copy arrow"; gap: .1rem 1rem; padding: 1.15rem; color: var(--ink); background: var(--cream); border: 2px solid var(--ink); border-bottom: 0; text-decoration: none; transition: transform .15s, background .15s; }
.contact-routes a:last-child { border-bottom: 2px solid var(--ink); }
.contact-routes a:nth-child(2) { background: #dff1d6; }
.contact-routes a:nth-child(3) { background: #f6bfd0; }
.contact-routes a:nth-child(4) { background: #ffd0aa; }
.contact-routes a:nth-child(5) { background: #d9edff; }
.contact-routes a:hover { z-index: 2; background: var(--green); transform: translate(-7px,-2px) rotate(-.4deg); box-shadow: 7px 7px 0 var(--ink); }
.contact-routes span { grid-area: number; align-self: center; font-weight: 900; }
.contact-routes strong { grid-area: title; font-size: 1.05rem; }
.contact-routes small { grid-area: copy; color: #6b584c; font-size: .82rem; }
.contact-routes b { grid-area: arrow; align-self: center; font-size: 1.4rem; }

.site-footer { color: #5f4d42; }

@media (max-width: 980px) {
  .hero { min-height: 1180px; }
  .hero-content { grid-template-columns: 1fr .8fr; gap: 2rem; }
  .hero-visual { min-height: 650px; }
  .visual-manifesto { grid-template-columns: .9fr 1.1fr; gap: 3rem; }
  .contact-inner { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .site-header { color: var(--ink); }
  .hero { min-height: auto; padding-bottom: 0; }
  .hero::after { left: auto; right: -50px; top: 105px; }
  .hero-content { display: flex; flex-direction: column; padding-top: 110px; padding-bottom: 2.5rem; }
  .hero h1 { font-size: clamp(2.85rem,14vw,4.5rem); }
  .hero-visual { width: 100%; min-height: 620px; order: 2; margin-top: 1.5rem; }
  .hero-image { border-radius: 150px 150px 20px 20px; box-shadow: 8px 8px 0 var(--ink); }
  .hero-sticker { right: -8px; top: 30px; width: 118px; height: 118px; font-size: .75rem; }
  .hero-note { left: -7px; bottom: 35px; }
  .hero-stats { position: relative; inset: auto; margin-bottom: 2.5rem; width: calc(100% - 32px); box-shadow: 7px 7px 0 var(--green); }
  .hero-stats > div:nth-child(-n+2) { border-bottom-color: rgba(255,255,255,.18); }
  .visual-manifesto { grid-template-columns: 1fr; padding: 10px 0 90px; }
  .visual-card-main { width: calc(100% - 14px); }
  .visual-card img { max-height: 620px; }
  .hand-arrow { display: none; }
  .manifesto-copy h2 { font-size: clamp(2.5rem,12vw,4rem); }
  .work-flow article, .work-flow article + article { border-bottom-color: rgba(37,27,23,.45); }
  .speaking-card { grid-template-columns: 1fr; box-shadow: 8px 8px 0 var(--pink); }
  .speaking-photo { min-height: 560px; }
  .speaking-content { padding: 2rem; }
  .contact h2 { font-size: clamp(2.7rem,13vw,4.5rem); }
  .contact-routes a { grid-template-columns: 32px 1fr auto; padding: 1rem .85rem; }
}
