/* CRAB MEDIA — a proof-led, long-term partnership experience. */
:root {
  --ink: #252b27;
  --ink-soft: #4f5850;
  --cream: #f3efe7;
  --paper: #fcfaf5;
  --sand: #e8e2d7;
  --rule: #cecfc4;
  --red: #9e3f2c;
  --red-deep: #863721;
  --peach: #e3ad91;
  --font: 'Be Vietnam Pro', system-ui, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; color: var(--ink); background: var(--cream); font: 16px/1.75 var(--font); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, summary { cursor: pointer; }
button { color: inherit; }
img { display: block; max-width: 100%; }
p, h1, h2, h3, figure, blockquote { margin: 0; }
button, input, select, textarea { border-radius: 0; }
textarea { resize: vertical; }
[hidden] { display: none !important; }
::selection { background: var(--red); color: white; }
:focus-visible { outline: 3px solid #af472f; outline-offset: 5px; }
.container { width: min(100% - 96px, 1376px); margin-inline: auto; }
.section-pad { padding-block: 96px; }
.section-label, .eyebrow { display: block; color: var(--red); font-size: 12px; font-weight: 800; line-height: 1.8; letter-spacing: .13em; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 56px; margin-bottom: 42px; }
.section-heading h2, .about-copy h2, .faq-layout h2, .diagnosis-intro h2, .fit-inner h2 { font-size: clamp(32px, 3.3vw, 49px); font-weight: 800; line-height: 1.28; letter-spacing: -.065em; margin-top: 22px; }
h2 em, h3 em { color: var(--red); font-style: normal; }
.section-heading > p { max-width: 365px; color: var(--ink-soft); font-size: 15px; line-height: 1.9; }
.btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 55px; padding: 16px 21px; border: 1px solid transparent; font-size: 15px; line-height: 1.5; font-weight: 700; text-align: left; transition: background .2s, color .2s, transform .2s; }
.btn > span { font-size: 20px; line-height: 1; }
.btn:hover { transform: translateY(-2px); }
.btn-dark { background: var(--ink); color: white; }
.btn-dark:hover { background: var(--red); }
.btn-red { background: var(--red); color: white; }
.btn-red:hover { background: var(--red-deep); }
.btn-outline { border-color: #9eaa9c; }
.btn-outline:hover { color: white; border-color: var(--ink); background: var(--ink); }
.btn-light { background: var(--cream); color: var(--ink); }
.btn-light:hover { background: var(--peach); }
.text-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; width: fit-content; padding-bottom: 7px; border-bottom: 1px solid currentColor; font-size: 15px; font-weight: 700; line-height: 1.7; }
.text-link:hover { color: var(--red); }
.red-dot { flex: 0 0 7px; width: 7px; height: 7px; display: inline-block; background: var(--red); border-radius: 50%; }
.skip-link { position: absolute; left: 16px; top: -90px; z-index: 100; padding: 14px; background: white; }
.skip-link:focus { top: 16px; }

/* A deliberately quiet identity, with the supplied official mark. */
.topline { display: flex; justify-content: space-between; align-items: center; min-height: 31px; padding-inline: 48px; color: #ebede5; background: var(--ink); font-size: 11px; font-weight: 600; letter-spacing: .16em; }
.site-header { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid #d7d6cb; background: rgba(243,239,231,.97); backdrop-filter: blur(14px); }
.nav-inner { height: 83px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.wordmark { display: inline-flex; align-items: center; gap: 11px; }
.brand-type { display: flex; align-items: baseline; gap: 8px; white-space: nowrap; }
.brand-type strong { font-size: 29px; line-height: 1; font-weight: 800; letter-spacing: -.08em; }
.brand-type strong > span { color: var(--red); }
.brand-type small { font-size: 11px; letter-spacing: .18em; font-weight: 800; }
.official-logo-crop { width: 45px; height: 45px; display: block; position: relative; overflow: hidden; background: #080808; }
.official-logo-crop img { position: absolute; max-width: none; width: 198px; height: auto; top: calc(50% + 12px); left: 50%; transform: translate(-50%,-50%); }
.nav-links { display: flex; align-items: center; gap: 27px; font-size: 13px; font-weight: 700; }
.nav-links a:hover { color: var(--red); }
.nav-contact { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 13px 17px; border: 1px solid var(--ink); }
.nav-contact span { font-size: 18px; }
.nav-toggle { display: none; width: 46px; height: 44px; border: 1px solid var(--rule); padding: 8px; background: transparent; }
.nav-toggle span { display: block; height: 2px; background: var(--ink); margin: 6px 0; }

/* Opening statement and authentic field image. */
.hero { display: grid; grid-template-columns: 1.02fr 1fr; gap: 55px; padding-top: 28px; padding-bottom: 44px; }
.hero-copy { padding-block: 29px 14px; }
.eyebrow { display: flex; align-items: center; gap: 10px; font-size: 11px; letter-spacing: .09em; }
.hero h1 { margin-block: 30px 23px; font-size: clamp(46px, 4.75vw, 72px); font-weight: 800; line-height: 1.08; letter-spacing: -.075em; }
.hero h1 em { color: var(--red); font-style: normal; }
.hero-sub { max-width: 550px; color: var(--ink-soft); font-size: 16px; line-height: 1.9; }
.hero-sub strong { font-weight: 600; color: var(--ink); }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 25px; margin-top: 29px; }
.hero-note { margin-top: 20px; color: #636b60; font-size: 13px; line-height: 1.8; }
.hero-visual { min-height: 640px; position: relative; overflow: hidden; background: #43573d; }
.hero-visual > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 48% center; filter: saturate(.75) brightness(.89); }
.hero-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(19,30,23,.85),rgba(19,30,23,.05) 62%),linear-gradient(180deg,rgba(20,28,21,.22),transparent 25%); }
.image-index, .image-coordinate { position: absolute; z-index: 1; color: white; font-size: 11px; font-weight: 600; letter-spacing: .1em; }
.image-index { left: 30px; top: 28px; }
.image-coordinate { right: 25px; top: 70px; writing-mode: vertical-rl; }
.hero-image-copy { position: absolute; z-index: 1; color: white; inset: auto 32px 33px; }
.hero-image-copy > span { color: #edc5ac; font-size: 11px; font-weight: 700; letter-spacing: .11em; }
.hero-image-copy h2 { font-size: clamp(30px, 3.05vw, 45px); line-height: 1.2; letter-spacing: -.055em; font-weight: 600; margin-block: 19px 26px; }
.hero-image-copy a { padding-top: 18px; border-top: 1px solid #a4ad9d; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 12px; font-weight: 700; letter-spacing: .09em; }
.hero-image-copy a span { font-size: 20px; }
.evidence-rail { display: grid; grid-template-columns: .9fr 1fr 1fr 1fr; border-top: 1px solid var(--rule); padding-block: 24px 34px; }
.evidence-rail > p { font-size: 11px; letter-spacing: .1em; color: #596251; line-height: 1.8; }
.evidence-rail > p strong { font-weight: 700; }
.evidence-rail > a { padding-inline: 22px; border-left: 1px solid var(--rule); display: flex; flex-direction: column; justify-content: center; gap: 5px; }
.evidence-rail > a strong { font-size: 17px; letter-spacing: -.04em; font-weight: 800; }
.evidence-rail > a span { font-size: 12px; color: #596251; }
.evidence-rail > a:hover strong { color: var(--red); }

/* Reason to stay, distinct from the catalog of deliverables. */
.value-section { background: var(--sand); padding-block: 82px; }
.value-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 35px; margin-top: 49px; }
.value-grid article { padding-right: 26px; border-top: 1px solid #abb2a5; }
.value-number { display: block; margin-top: 22px; color: var(--red); font-weight: 800; font-size: 15px; }
.value-grid h3 { margin-block: 25px 15px; font-size: clamp(20px,1.8vw,27px); letter-spacing: -.05em; line-height: 1.4; }
.value-grid p { color: var(--ink-soft); font-size: 15px; line-height: 1.95; max-width: 365px; }
.value-output { display: block; margin-top: 28px; color: var(--red); font-size: 11px; font-weight: 700; letter-spacing: .04em; }

/* Proof comes before the offer. No stock testimonial or simulated case data. */
.work-section { background: var(--paper); }
.featured-work { display: grid; grid-template-columns: 1.23fr 1fr; background: var(--sand); }
.work-image { position: relative; min-height: 510px; overflow: hidden; background: #415442; }
.work-image > img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; filter: brightness(.85) saturate(.8); transition: transform .5s; }
.work-image:hover > img { transform: scale(1.025); }
.work-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(13,30,21,.65),transparent 52%); }
.work-image-tag { position: absolute; left: 29px; top: 25px; z-index: 1; padding: 8px 12px; color: #fff; border: 1px solid rgba(255,255,255,.65); font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.video-play { position: absolute; left: 29px; right: 29px; bottom: 28px; z-index: 1; display: flex; align-items: center; gap: 15px; color: white; font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.video-play > span { width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; padding-left: 3px; }
.video-play b { margin-left: auto; font-size: 23px; font-weight: 500; }
.work-copy { padding: 42px 45px; }
.work-copy h3 { margin-top: 24px; font-size: clamp(33px,3.5vw,51px); line-height: 1.19; letter-spacing: -.065em; }
.work-copy > p { margin-top: 22px; font-size: 15px; line-height: 1.9; color: var(--ink-soft); }
.case-facts { margin-block: 26px; border-top: 1px solid #b4bbac; }
.case-facts > div { border-bottom: 1px solid #b4bbac; padding-block: 11px; }
.case-facts dt { font-size: 12px; font-weight: 600; color: #596451; }
.case-facts dd { margin: 4px 0 0; font-size: 15px; font-weight: 600; }
.work-secondary { display: grid; grid-template-columns: 1.23fr 1fr; gap: 24px; margin-top: 24px; }
.result-case { border: 1px solid var(--rule); padding: 30px; }
.result-case h3 { margin-top: 21px; font-size: 24px; letter-spacing: -.045em; line-height: 1.35; }
.result-stat { font-size: clamp(36px,4vw,56px); font-weight: 800; letter-spacing: -.065em; color: var(--red); margin-top: 19px; line-height: 1.2; }
.result-stat span { font-size: 15px; font-weight: 600; letter-spacing: -.02em; white-space: nowrap; }
.result-case > p { font-size: 15px; line-height: 1.9; color: var(--ink-soft); margin-top: 18px; }
.result-case .evidence-note { padding: 12px 14px; border-left: 2px solid #ba6a50; background: #f0ece3; font-size: 13px; margin-top: 15px; }
.result-case .text-link { margin-top: 20px; }
.project-notes { background: #dcded2; padding: 4px 30px; }
.project-notes article { padding-block: 28px; }
.project-notes article + article { border-top: 1px solid #afb6a6; }
.project-tag { font-size: 11px; font-weight: 800; color: #596351; letter-spacing: .11em; }
.project-notes h3 { font-size: 26px; letter-spacing: -.055em; margin-block: 12px 9px; }
.project-notes p { font-size: 15px; line-height: 1.9; color: var(--ink-soft); }
.project-notes a { display: block; margin-top: 18px; color: var(--red); font-size: 13px; font-weight: 700; }
.source-line { margin-top: 23px; font-size: 13px; color: #576250; }
.source-line a { text-decoration: underline; text-underline-offset: 3px; }

/* 90 days is a proposal framework, not a fabricated performance promise. */
.partnership-section { background: var(--ink); color: var(--cream); }
.partnership-section .section-label { color: var(--peach); }
.partnership-section h2 em { color: var(--peach); }
.partnership-section .section-heading > p { color: #c0cabb; }
.partnership-timeline { list-style: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 0; margin: 53px 0 0; border-top: 1px solid #76816f; }
.partnership-timeline li { padding: 28px 28px 5px 0; }
.partnership-timeline li + li { padding-left: 28px; border-left: 1px solid #56634f; }
.timeline-range { font-size: 12px; letter-spacing: .12em; font-weight: 700; color: #bfc9b9; }
.timeline-title { display: flex; align-items: center; gap: 16px; margin-top: 25px; }
.timeline-title b { font-size: 35px; font-weight: 500; color: var(--peach); letter-spacing: -.065em; }
.timeline-title h3 { font-size: clamp(20px,1.8vw,26px); letter-spacing: -.055em; line-height: 1.3; }
.partnership-timeline li > p { font-size: 15px; color: #c0cabb; line-height: 1.95; margin-block: 19px 27px; min-height: 70px; }
.timeline-output { padding-top: 19px; border-top: 1px solid #56634f; }
.timeline-output span { display: block; font-size: 11px; color: var(--peach); letter-spacing: .12em; font-weight: 700; }
.timeline-output strong { display: block; font-size: 15px; font-weight: 500; line-height: 2.1; margin-top: 10px; }
.partnership-bottom { display: flex; justify-content: space-between; align-items: center; gap: 40px; margin-top: 46px; padding-top: 30px; border-top: 1px solid #56634f; }
.partnership-bottom > p { max-width: 735px; font-size: 15px; line-height: 1.9; color: #bdc8b8; }
.partnership-bottom .btn { flex-shrink: 0; }

/* Interactive operating rhythm. */
.monthly-section { background: var(--cream); }
.monthly-board { background: var(--paper); border: 1px solid #bbc4b5; }
.board-top { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 21px 28px; border-bottom: 1px solid var(--rule); font-size: 11px; letter-spacing: .06em; color: #5a6652; font-weight: 600; }
.board-top > span:first-child { display: flex; gap: 10px; align-items: center; color: var(--ink); font-weight: 800; }
.month-tabs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-bottom: 1px solid var(--rule); }
.month-tabs button { display: flex; align-items: center; gap: 13px; min-height: 76px; padding: 18px 25px; border: 0; border-bottom: 3px solid transparent; background: transparent; text-align: left; font-size: 15px; font-weight: 700; }
.month-tabs button + button { border-left: 1px solid var(--rule); }
.month-tabs button span { font-size: 12px; font-weight: 500; }
.month-tabs button[aria-selected='true'] { border-bottom-color: var(--red); background: #ebe2d5; color: var(--red); }
.month-tabs button:hover { background: #f0e9dc; }
.month-panel { display: grid; grid-template-columns: 1.05fr 1fr; gap: 70px; padding: 43px 47px; min-height: 320px; }
.month-story > span, .month-output > span { font-size: 11px; color: var(--red); font-weight: 800; letter-spacing: .1em; }
.month-story h3 { font-size: clamp(24px,2.5vw,36px); line-height: 1.33; letter-spacing: -.05em; margin-top: 19px; }
.month-story p { margin-top: 18px; font-size: 15px; line-height: 1.9; color: var(--ink-soft); }
.month-output ul { list-style: none; padding: 0; margin: 15px 0 0; }
.month-output li { padding: 12px 0 12px 23px; border-bottom: 1px solid var(--rule); font-size: 15px; position: relative; }
.month-output li::before { content: '↗'; position: absolute; left: 0; color: var(--red); }
.month-output > p { padding: 16px 18px; background: var(--sand); color: #4c5648; font-size: 13px; line-height: 1.9; margin-top: 20px; }
.board-note { border-top: 1px solid var(--rule); padding: 17px 28px; font-size: 13px; line-height: 1.8; color: #5a6652; }
.role-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 34px; margin-top: 34px; }
.role-grid article { padding-top: 25px; border-top: 1px solid #b8c0b0; }
.role-grid article > span { font-size: 11px; letter-spacing: .1em; color: var(--red); font-weight: 800; }
.role-grid h3 { font-size: 18px; line-height: 1.5; letter-spacing: -.04em; margin-block: 13px 10px; }
.role-grid p { font-size: 15px; line-height: 1.9; color: var(--ink-soft); }

/* The monthly offers are the main commercial choice. */
.offers-section { background: var(--sand); }
.offer-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; padding-top: 23px; }
.offer-card { display: flex; flex-direction: column; position: relative; background: var(--paper); border: 1px solid #c0c6b7; padding: 31px 27px 25px; }
.offer-card.featured { border: 1px solid var(--red); }
.featured-label { position: absolute; left: -1px; right: -1px; top: -28px; min-height: 28px; background: var(--red); color: white; text-align: center; padding: 6px; font-size: 10px; letter-spacing: .1em; font-weight: 600; }
.offer-kicker { font-size: 11px; letter-spacing: .1em; color: var(--red); font-weight: 700; }
.offer-card h3 { font-size: clamp(23px,2.25vw,32px); font-weight: 800; letter-spacing: -.065em; margin-top: 21px; line-height: 1.3; }
.offer-description { font-size: 15px; line-height: 1.9; color: var(--ink-soft); margin-top: 14px; min-height: 68px; }
.offer-price { min-height: 112px; display: flex; flex-wrap: wrap; align-content: center; align-items: baseline; gap: 5px 10px; margin-block: 23px 18px; padding-block: 18px; border-block: 1px solid var(--rule); }
.offer-price strong { font-size: 51px; letter-spacing: -.075em; line-height: 1.15; }
.offer-price strong small { font-size: 15px; letter-spacing: -.02em; }
.offer-price > span { color: #5d6855; font-size: 11px; letter-spacing: .07em; }
.offer-price > span:last-child { display: block; width: 100%; }
.offer-price.custom strong { font-size: 29px; line-height: 1.5; }
.offer-card ul { list-style: none; margin: 0 0 27px; padding: 0; flex: 1; }
.offer-card li { position: relative; padding: 9px 0 9px 19px; font-size: 15px; line-height: 1.65; }
.offer-card li::before { content: '✓'; position: absolute; left: 0; color: var(--red); font-size: 15px; font-weight: 600; }
.offer-card .btn { width: 100%; font-size: 13px; padding-inline: 16px; }
.offer-foot { margin-top: 16px; font-size: 12px; line-height: 1.8; color: #58634f; min-height: 36px; }
.offer-disclaimer { font-size: 15px; line-height: 1.9; color: #505b47; margin-top: 24px; }
.service-catalog { border-top: 1px solid #aab4a1; border-bottom: 1px solid #aab4a1; margin-top: 45px; scroll-margin-top: 110px; }
.service-catalog > summary { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-block: 25px; list-style: none; }
.service-catalog > summary::-webkit-details-marker, .local-insight > summary::-webkit-details-marker, .faq-list summary::-webkit-details-marker { display: none; }
.service-catalog summary small { display: block; font-size: 11px; font-weight: 700; letter-spacing: .1em; color: var(--red); }
.service-catalog summary strong { font-size: clamp(18px,2.1vw,29px); display: block; margin-top: 7px; line-height: 1.4; letter-spacing: -.045em; }
.details-icon { font-size: 30px; font-weight: 400; color: var(--red); }
.service-catalog[open] > summary .details-icon { transform: rotate(45deg); }
.catalog-body { padding-bottom: 28px; }
.catalog-intro, .catalog-note { max-width: 950px; font-size: 15px; line-height: 1.9; color: #505b47; }
.catalog-note { margin-top: 23px; }
.catalog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 22px; gap: 13px; }
.catalog-grid > article { background: var(--paper); border: 1px solid #c3cab9; padding: 24px; display: flex; flex-direction: column; }
.catalog-grid > article > span { font-size: 11px; color: var(--red); font-weight: 800; letter-spacing: .06em; }
.catalog-grid h3 { margin: 17px 0 12px; font-size: 20px; line-height: 1.4; letter-spacing: -.04em; }
.catalog-grid p { font-size: 13px; line-height: 1.9; color: var(--ink-soft); }
.catalog-grid > article > strong { padding-top: 20px; margin-top: auto; font-size: 15px; letter-spacing: -.025em; }
.catalog-grid a { font-size: 13px; color: var(--red); font-weight: 700; margin-top: 15px; }
.nested-service { border-top: 1px solid var(--rule); margin-top: 17px; padding-top: 12px; }
.nested-service summary { font-size: 13px; font-weight: 600; }
.nested-service p { margin-top: 10px; }
.nested-service a { display: block; }

/* Local identity, grounded in real work instead of badges. */
.about-grid { display: grid; grid-template-columns: .8fr 1fr; gap: 65px; }
.about-photo { position: relative; min-height: 620px; background: #4d6447; overflow: hidden; }
.about-photo > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; filter: saturate(.75) brightness(.75); }
.about-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(23,38,26,.8),transparent 50%); }
.about-photo > span { position: absolute; z-index: 1; bottom: 28px; left: 28px; right: 28px; color: white; font-size: 12px; font-weight: 600; line-height: 2; letter-spacing: .12em; }
.about-copy { padding-top: 14px; }
.about-copy > p { font-size: 15px; line-height: 1.95; color: var(--ink-soft); margin-top: 23px; }
.about-copy blockquote { padding-block: 25px; border-block: 1px solid var(--rule); margin-top: 28px; font-size: 18px; letter-spacing: -.035em; line-height: 1.75; font-weight: 600; }
.about-copy cite { display: block; font-size: 11px; color: var(--red); letter-spacing: .07em; font-style: normal; line-height: 1.9; margin-top: 18px; }
.industry-list { margin-top: 27px; }
.industry-list > span { font-size: 11px; color: #56624c; letter-spacing: .08em; font-weight: 700; }
.industry-list ul { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 13px 0 0; list-style: none; }
.industry-list li { border: 1px solid #c5cbb9; padding: 7px 11px; font-size: 12px; }
.industry-list li:first-child { background: #dedace; border-color: #bbb4a4; }
.local-insight { border-top: 1px solid var(--rule); margin-top: 25px; padding-top: 16px; }
.local-insight summary { list-style: none; display: flex; justify-content: space-between; gap: 15px; font-size: 13px; color: var(--red); font-weight: 600; }
.local-insight p { font-size: 15px; margin-top: 15px; color: var(--ink-soft); }
.fit-section { padding-block: 53px; background: #d4d9c9; }
.fit-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.fit-inner .section-label { font-size: 11px; }
.fit-inner h2 { font-size: clamp(29px,3vw,43px); margin-top: 17px; }
.fit-inner p { font-size: 15px; line-height: 1.9; color: #43513b; }
.fit-inner p + p { margin-top: 14px; }
.fit-inner .text-link { margin-top: 23px; }

/* Buyer questions, followed by an optional solution finder. */
.faq-section { background: var(--paper); }
.faq-layout { display: grid; grid-template-columns: .65fr 1fr; gap: 90px; }
.faq-layout > div:first-child > p { max-width: 330px; color: var(--ink-soft); font-size: 15px; margin-top: 24px; }
.faq-list { border-top: 1px solid #adb7a3; }
.faq-list details { border-bottom: 1px solid #c0c9b6; }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 21px; list-style: none; font-size: 15px; line-height: 1.8; font-weight: 600; }
.faq-list summary::after { content: '+'; color: var(--red); font-size: 23px; font-weight: 400; flex-shrink: 0; }
.faq-list details[open] summary::after { content: '−'; }
.faq-list details p { padding: 0 30px 24px 0; font-size: 15px; color: var(--ink-soft); line-height: 1.95; }
.diagnosis-section { background: var(--sand); }
.diagnosis-grid { display: grid; grid-template-columns: .75fr 1fr; gap: 95px; }
.diagnosis-intro > p { font-size: 15px; color: var(--ink-soft); line-height: 1.9; max-width: 410px; margin-top: 24px; }
.diagnosis-intro > .text-link { margin-top: 28px; }
.diagnosis-intro > .privacy-aside { font-size: 13px; border-top: 1px solid #b5beaa; padding-top: 19px; margin-top: 33px; }
.diagnosis-panel { background: var(--paper); border: 1px solid #b5beaa; padding: 28px; }
.diagnosis-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 11px; color: #505d44; font-weight: 700; letter-spacing: .07em; }
.diagnosis-meter { height: 3px; background: #d7dece; margin-block: 20px 29px; }
.diagnosis-meter > span { display: block; height: 100%; background: var(--red); width: 25%; }
.question-step { padding: 0; margin: 0; border: 0; }
.question-step legend { padding: 0; font-size: 23px; line-height: 1.45; font-weight: 700; letter-spacing: -.045em; width: 100%; }
.question-tip { color: #55624a; font-size: 13px; margin-block: 12px 20px; line-height: 1.9; }
.choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.choice { display: flex; align-items: center; gap: 10px; min-height: 61px; padding: 12px; border: 1px solid #c6cebd; cursor: pointer; font-size: 13px; line-height: 1.6; }
.choice input { width: 15px; height: 15px; margin: 0; accent-color: var(--red); flex: 0 0 15px; }
.choice:has(input:checked) { border-color: var(--red); background: #efe1d3; color: #773421; }
.choice:hover { border-color: #a65b42; }
.choice:has(input:focus-visible) { outline: 3px solid var(--red); outline-offset: 2px; }
.wizard-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--rule); padding-top: 20px; margin-top: 23px; }
#wizard-prev { font-size: 13px; padding: 10px 0; border: 0; background: none; }
#wizard-prev:disabled { opacity: .45; cursor: default; }
.wizard-actions .btn { min-height: 45px; padding-block: 12px; font-size: 13px; }
.wizard-validation { color: #9e331d; font-size: 15px; margin-top: 17px; }
.recommendation h3 { font-size: 30px; line-height: 1.3; letter-spacing: -.05em; margin-block: 16px; }
.recommendation > p { color: var(--ink-soft); font-size: 15px; line-height: 1.9; }
.result-detail { padding: 20px; background: #ebe5db; margin-block: 20px; }
.result-detail > span { color: var(--red); font-size: 11px; font-weight: 700; letter-spacing: .1em; }
.result-detail p { font-size: 15px; line-height: 1.9; margin-top: 10px; }
.recommendation > .result-small { font-size: 13px; }
.recommendation .btn { margin-top: 22px; width: 100%; }
.result-links { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 17px; }
.result-links button { padding: 5px 0; border: 0; background: transparent; text-decoration: underline; text-underline-offset: 4px; font-size: 13px; }
.copy-feedback { display: block; margin-top: 13px; font-size: 15px; color: #526444; }
#quiz-copy-fallback { width: 100%; min-height: 160px; font-size: 16px; padding: 12px; margin-top: 15px; }

/* Brief creation is explicit: no phantom send or lead receipt. */
.contact-section { background: var(--ink); color: var(--cream); }
.contact-grid { display: grid; grid-template-columns: .9fr 1fr; gap: 85px; align-items: start; }
.contact-copy > .section-label { color: var(--peach); font-size: 11px; max-width: 380px; }
.contact-copy h2 { font-size: clamp(44px,5.1vw,74px); line-height: 1.13; letter-spacing: -.065em; margin-top: 35px; }
.contact-copy h2 em { color: var(--peach); }
.contact-copy > p { font-size: 15px; line-height: 1.95; color: #c1cbbb; margin-top: 27px; max-width: 440px; }
.next-conversation { padding-top: 25px; margin-top: 31px; border-top: 1px solid #62715a; }
.next-conversation > span { font-size: 11px; color: var(--peach); font-weight: 600; letter-spacing: .1em; }
.next-conversation ol { padding-left: 19px; margin-block: 13px 0; }
.next-conversation li { padding-block: 5px; font-size: 15px; color: #d6dfce; }
.contact-details { margin-top: 40px; display: flex; flex-direction: column; align-items: flex-start; gap: 15px; }
.contact-details a { border-bottom: 1px solid #738168; padding-bottom: 6px; font-size: clamp(16px,1.8vw,25px); font-weight: 500; letter-spacing: -.03em; overflow-wrap: anywhere; }
.contact-details a span { color: var(--peach); margin-left: 15px; }
.contact-details > span { font-size: 13px; color: #c1cbbb; margin-top: 10px; }
.contact-form { background: var(--paper); color: var(--ink); padding: 34px; display: flex; flex-direction: column; }
.form-heading > span { font-size: 11px; color: var(--red); font-weight: 700; letter-spacing: .12em; }
.form-heading h3 { font-size: 26px; letter-spacing: -.055em; line-height: 1.4; margin: 16px 0 12px; }
.form-heading > p { color: #505d44; font-size: 15px; line-height: 1.9; margin-bottom: 21px; }
.form-heading > .selected-product-note { padding: 12px 15px; border-left: 2px solid var(--red); background: #efe2d6; color: #783a24; font-size: 13px; }
.contact-form label { display: block; font-size: 13px; font-weight: 600; margin: 15px 0 8px; }
.contact-form label > span { color: var(--red); }
.contact-form input, .contact-form textarea, .contact-form select { width: 100%; min-height: 47px; border: 1px solid #b9c3ae; background: transparent; color: var(--ink); padding: 12px; font-size: 16px; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #687260; }
.form-two { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.form-two > div { min-width: 0; }
.send-explainer { font-size: 13px; line-height: 1.85; color: #505d44; background: #e9e9df; padding: 13px 15px; margin-block: 21px 15px; }
.contact-form > .btn { width: 100%; }
.messenger-send { display: flex; justify-content: space-between; align-items: center; gap: 15px; border: 1px solid #9dab91; padding: 14px 16px; font-size: 13px; font-weight: 600; line-height: 1.7; margin-top: 10px; }
.messenger-send:hover { background: #e9e9df; }
.copy-brief { align-self: center; border: 0; background: none; font-size: 13px; padding: 14px 0 6px; text-decoration: underline; text-underline-offset: 4px; }
.brief-preview { padding-top: 14px; border-top: 1px solid var(--rule); margin-top: 15px; }
.brief-preview summary { font-size: 13px; }
.brief-preview textarea { margin-top: 12px; font-size: 15px; line-height: 1.7; }
.form-feedback { font-size: 15px; line-height: 1.9; color: #3b602c; margin-top: 16px; }
.form-feedback:empty { display: none; }
.form-note { font-size: 13px; line-height: 1.85; color: #505d44; margin-top: 16px; }
.site-footer { background: #1b211d; color: #e9ece2; }
.footer-top { display: flex; align-items: center; gap: 60px; padding-block: 42px; border-bottom: 1px solid #59654f; }
.footer-top > p { font-size: 15px; line-height: 1.9; color: #bdc9b3; }
.footer-top > .text-link { margin-left: auto; font-size: 12px; }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px; padding-block: 24px 30px; font-size: 11px; letter-spacing: .04em; color: #bcc9b1; }
.footer-bottom a { text-decoration: underline; text-underline-offset: 3px; }
.mobile-cta { display: none; }

@media (min-width:1600px) { .hero-visual { min-height: 720px; } .hero-copy { padding-block: 40px 25px; } .hero h1 { margin-top: 40px; } }
@media (max-width:1150px) {
  .container { width: min(100% - 56px,1376px); }
  .topline { padding-inline: 28px; }
  .nav-links { gap: 17px; }
  .hero { gap: 30px; }
  .hero-visual { min-height: 630px; }
  .hero h1 { font-size: 57px; }
  .hero-copy { padding-top: 23px; }
  .hero-sub { font-size: 15px; }
  .hero-actions { gap: 19px; }
  .hero-image-copy { inset: auto 27px 27px; }
  .section-heading { gap: 35px; }
  .section-heading > p { max-width: 310px; }
  .value-grid { gap: 22px; }
  .value-grid article { padding-right: 5px; }
  .work-copy { padding: 34px; }
  .offer-card { padding-inline: 21px; }
  .offer-description { min-height: 92px; }
  .month-panel { gap: 40px; padding: 35px; }
  .month-tabs button { padding-inline: 20px; }
  .about-grid { gap: 40px; }
  .faq-layout, .diagnosis-grid, .contact-grid { gap: 55px; }
  .contact-form { padding: 27px; }
}
@media (max-width:960px) {
  .nav-toggle { display: block; }
  .nav-inner { height: 74px; }
  .nav-links { display: none; position: absolute; top: 74px; left: 0; right: 0; padding: 13px 28px 25px; background: var(--cream); box-shadow: 0 20px 24px rgba(22,29,23,.13); }
  .nav-links.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .nav-links > a { padding: 15px 5px; border-bottom: 1px solid var(--rule); font-size: 15px; }
  .nav-links .nav-contact { padding: 14px; margin-top: 14px; border: 1px solid var(--ink); }
  .hero h1 { font-size: 50px; }
  .hero-visual { min-height: 610px; }
  .hero-actions .btn { font-size: 13px; }
  .evidence-rail { grid-template-columns: 1fr 1fr 1fr; row-gap: 16px; }
  .evidence-rail > p { grid-column: 1 / -1; }
  .evidence-rail > p br { display: none; }
  .evidence-rail > p strong { margin-left: 7px; }
  .evidence-rail > a:first-of-type { border-left: 0; padding-left: 0; }
  .evidence-rail > a strong { font-size: 16px; }
  .section-heading { flex-direction: column; align-items: flex-start; gap: 22px; }
  .section-heading > p { max-width: 610px; }
  .partnership-bottom { flex-direction: column; align-items: flex-start; gap: 22px; }
  .timeline-title { flex-direction: column; align-items: flex-start; gap: 8px; }
  .partnership-timeline li { padding-right: 22px; }
  .partnership-timeline li + li { padding-left: 22px; }
  .partnership-timeline li > p { min-height: 92px; }
  .offer-grid { grid-template-columns: 1fr; gap: 38px; }
  .offer-card { display: grid; grid-template-columns: 1fr 1fr; gap: 0 34px; padding: 27px; }
  .offer-kicker, .offer-card h3, .offer-description, .offer-price { grid-column: 1; }
  .offer-card h3 { font-size: 30px; }
  .offer-description { min-height: 0; }
  .offer-card ul { grid-column: 2; grid-row: 2 / span 3; margin-top: 13px; }
  .offer-card .btn { grid-column: 2; grid-row: 5; align-self: start; }
  .offer-price { grid-row: 5; margin: 22px 0 0; min-height: 95px; }
  .offer-foot { grid-column: 2; grid-row: 6; min-height: 0; }
  .catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fit-inner { gap: 45px; }
  .faq-layout { grid-template-columns: .7fr 1fr; gap: 38px; }
  .diagnosis-grid { grid-template-columns: .68fr 1fr; gap: 35px; }
  .choice-grid { grid-template-columns: 1fr; }
  .diagnosis-panel { padding: 24px; }
  .contact-grid { grid-template-columns: .8fr 1fr; gap: 35px; }
  .form-two { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width:760px) {
  html { scroll-padding-top: 90px; }
  .container { width: min(100% - 36px,1376px); }
  .topline { padding-inline: 18px; min-height: 29px; font-size: 10px; }
  .topline > span:first-child { display: none; }
  .topline > span:last-child { margin-inline: auto; }
  .section-pad { padding-block: 68px; }
  .nav-inner { height: 68px; }
  .nav-links { top: 68px; }
  .brand-type strong { font-size: 27px; }
  .official-logo-crop { width: 41px; height: 41px; }
  .official-logo-crop img { width: 180px; top: calc(50% + 11px); }
  .hero { grid-template-columns: 1fr; gap: 24px; padding-top: 15px; padding-bottom: 29px; }
  .hero-copy { padding-top: 20px; padding-bottom: 6px; }
  .hero h1 { font-size: clamp(45px,8.2vw,64px); line-height: 1.12; max-width: 600px; }
  .hero h1 > br:first-of-type { display: none; }
  .hero h1 em br { display: none; }
  .hero h1 em::before { content: ''; display: block; }
  .hero-sub { font-size: 16px; }
  .hero-visual { min-height: 480px; }
  .hero-image-copy h2 { font-size: 37px; }
  .image-index { font-size: 10px; }
  .hero-note { font-size: 13px; }
  .evidence-rail { padding-bottom: 28px; }
  .evidence-rail > a { padding-inline: 15px; }
  .evidence-rail > a strong { font-size: 15px; }
  .evidence-rail > a span { font-size: 11px; line-height: 1.65; }
  .value-grid { grid-template-columns: 1fr; gap: 28px; margin-top: 35px; }
  .value-grid article { padding-right: 0; }
  .value-grid h3 { margin-block: 15px 12px; font-size: 26px; }
  .value-grid h3 br { display: none; }
  .value-grid p { max-width: none; font-size: 15px; }
  .value-output { margin-top: 18px; }
  .featured-work { grid-template-columns: 1fr; }
  .work-image { min-height: 360px; }
  .work-copy { padding: 31px; }
  .work-copy h3 { font-size: 39px; }
  .work-copy h3 br:first-child { display: none; }
  .work-copy > p { font-size: 15px; }
  .work-secondary { grid-template-columns: 1fr; gap: 15px; margin-top: 15px; }
  .project-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; padding-inline: 25px; }
  .project-notes article + article { border-top: 0; }
  .result-stat { font-size: 47px; }
  .partnership-timeline { grid-template-columns: 1fr; margin-top: 35px; }
  .partnership-timeline li { padding: 25px 0; }
  .partnership-timeline li + li { padding-left: 0; border-left: 0; border-top: 1px solid #56634f; }
  .partnership-timeline li > p { min-height: 0; font-size: 15px; }
  .timeline-title { flex-direction: row; align-items: center; gap: 20px; margin-top: 13px; }
  .timeline-title h3 { font-size: 25px; }
  .timeline-output strong { display: block; }
  .partnership-bottom { margin-top: 0; }
  .board-top { padding: 19px 20px; flex-wrap: wrap; gap: 8px; font-size: 10px; }
  .month-tabs { grid-template-columns: 1fr 1fr; }
  .month-tabs button { padding: 15px 17px; font-size: 13px; min-height: 61px; }
  .month-tabs button:nth-child(3) { border-left: 0; border-top: 1px solid var(--rule); }
  .month-tabs button:nth-child(4) { border-top: 1px solid var(--rule); }
  .month-panel { grid-template-columns: 1fr; padding: 29px 24px; gap: 25px; min-height: 0; }
  .month-story h3 { font-size: 29px; }
  .month-story p { font-size: 15px; }
  .board-note { padding: 17px 23px; }
  .role-grid { grid-template-columns: 1fr; gap: 21px; }
  .role-grid h3 { font-size: 21px; }
  .role-grid p { font-size: 15px; }
  .about-grid { grid-template-columns: 1fr; gap: 35px; }
  .about-photo { min-height: 350px; }
  .about-copy { padding-top: 0; }
  .fit-inner { grid-template-columns: 1fr; gap: 26px; }
  .faq-layout, .diagnosis-grid, .contact-grid { grid-template-columns: 1fr; gap: 34px; }
  .faq-layout > div:first-child > p { max-width: 570px; }
  .choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .diagnosis-intro > p { max-width: 570px; }
  .contact-copy h2 { font-size: 57px; }
  .contact-copy > p { max-width: none; }
  .contact-copy h2 br:nth-child(2) { display: none; }
  .contact-copy h2 em { display: block; }
  .contact-copy h2 em br { display: none; }
  .contact-details { margin-top: 30px; }
  .contact-details a { font-size: 21px; }
  .contact-form input, .contact-form select, .contact-form textarea { font-size: 16px; }
  .contact-form label { font-size: 15px; }
  .brief-preview textarea { font-size: 16px; }
  .form-two { grid-template-columns: 1fr 1fr; gap: 12px; }
  .footer-top { gap: 30px; flex-wrap: wrap; padding-block: 37px; }
  .footer-top > .text-link { margin-left: 0; }
  .footer-bottom { padding-bottom: calc(89px + env(safe-area-inset-bottom,0px)); font-size: 11px; gap: 16px; }
  .mobile-cta { display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 35; border-top: 1px solid #bfc5b7; background: rgba(243,239,231,.98); padding: 9px 18px calc(9px + env(safe-area-inset-bottom,0px)); gap: 9px; transition: opacity .2s; }
  .mobile-cta a { padding: 12px 15px; font-size: 15px; font-weight: 600; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
  .mobile-cta a:first-child { background: var(--red); color: white; flex: 1; }
  .mobile-cta a:last-child { border: 1px solid #a9b39e; }
  .mobile-cta.is-hidden { visibility: hidden; opacity: 0; pointer-events: none; }
}
@media (max-width:480px) {
  .hero h1 { font-size: 45px; margin-top: 25px; }
  .hero-actions { gap: 18px; }
  .hero-actions .btn { width: 100%; font-size: 15px; }
  .hero h1 > br:first-of-type { display: initial; }
  .hero h1 em br { display: initial; }
  .hero-visual { min-height: 420px; }
  .hero-image-copy { inset: auto 23px 23px; }
  .hero-image-copy h2 { font-size: 32px; }
  .hero-image-copy > span { font-size: 10px; }
  .image-index { left: 23px; right: 45px; }
  .image-coordinate { right: 17px; }
  .evidence-rail { grid-template-columns: 1fr; gap: 15px; }
  .evidence-rail > p { grid-column: auto; }
  .evidence-rail > a { border: 0; border-top: 1px solid var(--rule); padding: 12px 0 0; flex-direction: row; align-items: baseline; justify-content: space-between; gap: 15px; }
  .evidence-rail > a:first-of-type { border-top: 1px solid var(--rule); }
  .evidence-rail > a strong { font-size: 15px; }
  .section-label { font-size: 11px; }
  .section-heading h2, .about-copy h2, .faq-layout h2, .diagnosis-intro h2 { font-size: 34px; }
  .section-heading > p { font-size: 15px; }
  .work-image { min-height: 300px; }
  .work-image-tag, .video-play { left: 22px; }
  .work-copy { padding: 28px 24px; }
  .work-copy h3 { font-size: 37px; }
  .result-case { padding: 25px; }
  .result-stat { font-size: 44px; }
  .result-stat span { font-size: 13px; }
  .project-notes { grid-template-columns: 1fr; gap: 0; }
  .project-notes article + article { border-top: 1px solid #afb6a6; }
  .partnership-bottom .btn { width: 100%; }
  .month-tabs button { gap: 9px; padding-inline: 12px; font-size: 13px; }
  .month-panel { padding: 26px 21px; }
  .month-story h3 { font-size: 27px; }
  .offer-card { display: flex; padding: 27px 25px; }
  .offer-card ul { margin: 0 0 24px; }
  .offer-price { margin-block: 23px 17px; }
  .offer-description { min-height: 0; }
  .offer-foot { min-height: 0; }
  .featured-label { font-size: 10px; }
  .offer-card .btn { font-size: 15px; }
  .catalog-grid { grid-template-columns: 1fr; }
  .catalog-grid h3 { font-size: 22px; }
  .catalog-grid p { font-size: 15px; }
  .catalog-grid > article > strong { margin-top: 0; }
  .choice-grid { grid-template-columns: 1fr; }
  .choice { min-height: 55px; font-size: 15px; }
  .question-step legend { font-size: 22px; }
  .contact-form { padding: 25px 22px; }
  .form-two { grid-template-columns: 1fr; gap: 0; }
  .form-heading h3 { font-size: 25px; }
  .contact-copy h2 { font-size: 49px; }
  .contact-details a { font-size: 20px; }
  .footer-top { align-items: flex-start; flex-direction: column; gap: 24px; }
  .footer-bottom { flex-direction: column; gap: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Public edition: clear buying paths, accountable scope, direct conversation. */
.hero-promise { margin-top: 18px; color: var(--red); font-size: 15px; font-weight: 700; }
.hero-visual { min-height: 680px; }
.hero-sub { font-size: 16px; line-height: 1.85; }
.hero-note { font-size: 13px; }
.nav-links { font-size: 13px; gap: 22px; }
.nav-links a[aria-current="page"] { color: var(--red); text-decoration: underline; text-underline-offset: 6px; }
.section-aside { max-width: 365px; color: var(--ink-soft); font-size: 15px; line-height: 1.85; }
.section-aside .text-link { margin-top: 22px; }
.value-grid { align-items: stretch; }
.value-grid article { display: flex; flex-direction: column; }
.value-grid p { font-size: 15px; }
.value-number { font-size: 12px; letter-spacing: .045em; }
.value-output { font-size: 12px; line-height: 1.8; padding-top: 24px; margin-top: auto; }
.value-output:hover { color: var(--red-deep); text-decoration: underline; text-underline-offset: 5px; }
.board-top { font-size: 11px; }
.source-line, .case-caption { font-size: 13px; line-height: 1.85; }
.scope-comparison { margin-top: 48px; padding-top: 30px; border-top: 1px solid #b6baad; }
.comparison-heading { display: flex; gap: 30px; justify-content: space-between; align-items: end; margin-bottom: 23px; }
.comparison-heading h3 { font-size: clamp(23px,2.1vw,30px); line-height: 1.4; letter-spacing: -.05em; }
.comparison-heading p { max-width: 300px; color: var(--ink-soft); font-size: 14px; }
.table-hint { display: none; color: #535c4b; font-size: 13px; margin-bottom: 12px; }
.table-scroll { width: 100%; overflow-x: auto; border: 1px solid #bac0b1; background: var(--paper); }
.scope-table { width: 100%; min-width: 790px; border-collapse: collapse; table-layout: fixed; font-size: 14px; line-height: 1.8; }
.scope-table caption { caption-side: bottom; text-align: left; padding: 15px 19px; background: #e5e0d4; color: #4d5847; font-size: 13px; }
.scope-table th, .scope-table td { text-align: left; vertical-align: top; padding: 18px; border-bottom: 1px solid #ccd0c1; border-right: 1px solid #ccd0c1; }
.scope-table th:last-child, .scope-table td:last-child { border-right: 0; }
.scope-table th:first-child { width: 18%; }
.scope-table thead { background: var(--ink); color: var(--cream); }
.scope-table thead th { font-size: 15px; font-weight: 600; border-color: #596353; }
.scope-table tbody th { color: var(--red-deep); font-weight: 600; }
.scope-table tbody tr:last-child th, .scope-table tbody tr:last-child td { border-bottom: 0; }
.founder-card { border-block: 1px solid #b8bdaf; margin-top: 30px; padding-block: 26px; }
.founder-card > span { color: var(--red); font-size: 11px; letter-spacing: .1em; font-weight: 700; }
.founder-card h3 { font-size: 29px; line-height: 1.4; letter-spacing: -.05em; margin-top: 11px; }
.founder-card .founder-name { font-size: 13px; color: var(--red); margin-top: 3px; }
.founder-card p:not(.founder-name) { margin-top: 20px; color: var(--ink-soft); font-size: 16px; line-height: 1.9; }
.founder-card .text-link { margin-top: 22px; }
.about-photo { min-height: 700px; }
.industry-list li { font-size: 13px; }
.industry-list li a { text-decoration: underline; text-underline-offset: 4px; }
.agreement-section { background: #e3e5d9; }
.agreement-grid { padding: 0; margin: 0; list-style: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 35px; }
.agreement-grid li { border-top: 1px solid #abb3a1; padding-top: 20px; }
.agreement-grid li > span { font-size: 12px; color: var(--red); font-weight: 700; }
.agreement-grid h3 { font-size: 21px; letter-spacing: -.04em; margin-block: 14px 9px; }
.agreement-grid p { font-size: 15px; color: var(--ink-soft); line-height: 1.85; }
.agreement-bottom { margin-top: 38px; padding-top: 27px; border-top: 1px solid #b1b9a6; display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.agreement-bottom p { max-width: 740px; color: var(--ink-soft); font-size: 14px; line-height: 1.85; }
.agreement-bottom .text-link { flex-shrink: 0; }
.contact-options { min-width: 0; padding-top: 6px; }
.contact-option-label { display: block; color: #cfb6a2; font-size: 11px; font-weight: 600; letter-spacing: .1em; margin-bottom: 18px; }
.contact-channel { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 24px 26px; border: 1px solid #75816d; margin-bottom: 13px; transition: background .2s; }
.contact-channel > span { min-width: 0; }
.contact-channel small { display: block; color: var(--peach); font-size: 11px; font-weight: 600; letter-spacing: .09em; }
.contact-channel strong { display: block; font-size: clamp(21px,1.9vw,27px); font-weight: 600; letter-spacing: -.045em; margin-block: 7px 8px; line-height: 1.4; }
.contact-channel span > span { display: block; color: #c5cfbf; font-size: 13px; line-height: 1.85; }
.contact-channel > b { color: var(--peach); font-size: 28px; font-weight: 400; flex-shrink: 0; }
.contact-channel .email-address { font-size: clamp(17px,1.7vw,24px); overflow-wrap: anywhere; }
.contact-channel:hover { background: #364032; }
.contact-channel.primary-channel { background: var(--cream); color: var(--ink); border-color: var(--cream); }
.primary-channel small, .primary-channel > b { color: var(--red); }
.primary-channel span > span { color: #52604a; }
.primary-channel:hover { background: #e8ddd0; border-color: #e8ddd0; }
.contact-location { font-size: 13px !important; margin-top: 25px !important; }
.contact-options > .selected-product-note { padding: 15px 18px; border-left: 2px solid var(--peach); background: #364033; font-size: 14px; margin-top: 24px; color: #f0dfd1; }
.prepare-brief { border: 1px solid #75816d; margin-top: 29px; }
.prepare-brief > summary { display: flex; align-items: center; gap: 20px; justify-content: space-between; list-style: none; padding: 24px; }
.prepare-brief > summary::-webkit-details-marker { display: none; }
.prepare-brief > summary strong { display: block; font-size: 16px; line-height: 1.7; font-weight: 500; }
.prepare-brief > summary small { display: block; font-size: 13px; line-height: 1.85; margin-top: 6px; color: #c3cebb; }
.prepare-brief > summary b { color: var(--peach); font-size: 26px; font-weight: 400; }
.prepare-brief[open] > summary b { transform: rotate(45deg); }
.prepare-brief .contact-form { border-top: 1px solid var(--rule); padding: 28px; }
.contact-small { font-size: 13px; color: #c3cebb; line-height: 1.85; margin-top: 20px; }
.brief-tools { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; padding-top: 10px; }
.brief-tools .copy-brief { font-size: 13px; min-height: 44px; padding-block: 7px; }
.form-note a { text-decoration: underline; text-underline-offset: 3px; }
.contact-form input, .contact-form select, .contact-form textarea { font-size: 16px; }
.contact-form .brief-preview textarea { font-size: 14px; }
.footer-identity { display: flex; justify-content: space-between; gap: 30px; padding-top: 30px; font-size: 13px; line-height: 1.9; }
.footer-identity > div { display: flex; flex-direction: column; gap: 5px; }
.footer-identity strong { color: #eef0e7; font-weight: 600; }
.footer-identity span, .footer-identity a { color: #bfcab6; }
.footer-identity a:hover { color: #f0c4aa; }
.footer-bottom { font-size: 12px; letter-spacing: 0; }
.footer-top > p { font-size: 14px; }
.site-footer .text-link:hover { color: var(--peach); }

/* Editorial subpages: quiet, photographic, and intentionally readable. */
.inner-hero { padding-block: 43px 65px; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; font-size: 13px; color: #65705b; margin-bottom: 40px; }
.breadcrumb a:hover { color: var(--red); }
.inner-kicker { display: block; color: var(--red); font-size: 12px; letter-spacing: .1em; font-weight: 700; }
.inner-hero h1 { font-size: clamp(40px,4.8vw,72px); letter-spacing: -.065em; font-weight: 800; line-height: 1.2; margin-top: 22px; max-width: 1050px; }
.inner-hero h1 em { color: var(--red); font-style: normal; }
.inner-lead { max-width: 850px; margin-top: 26px; font-size: 18px; line-height: 1.85; color: var(--ink-soft); }
.inner-cover { margin: 0; }
.inner-cover.container { margin-inline: auto; }
.inner-cover img { width: 100%; max-height: 660px; aspect-ratio: 16/8.5; height: auto; object-fit: cover; }
.inner-cover a { display: block; }
.case-caption { padding-top: 14px; color: #5e6855; }
.case-caption a { text-decoration: underline; text-underline-offset: 4px; }
.editorial-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.editorial-card { border-top: 1px solid #aeb6a3; padding-top: 25px; }
.editorial-card h2, .editorial-card h3 { font-size: clamp(24px,2.2vw,31px); line-height: 1.35; letter-spacing: -.05em; margin-block: 15px 18px; }
.editorial-card > p { font-size: 16px; color: var(--ink-soft); line-height: 1.9; }
.editorial-card > .text-link { margin-top: 24px; }
.editorial-card > span { color: var(--red); font-size: 12px; letter-spacing: .07em; font-weight: 600; }
.proof-list { list-style: none; padding: 0; margin: 26px 0; }
.proof-list li { padding-block: 17px; border-top: 1px solid #c3c8b9; font-size: 15px; line-height: 1.85; }
.proof-list li:last-child { border-bottom: 1px solid #c3c8b9; }
.proof-list li > strong { display: block; font-size: 14px; color: var(--red-deep); font-weight: 600; margin-bottom: 7px; }
.proof-list li > span { display: block; color: var(--ink-soft); }
.case-study { background: var(--paper); border-top: 1px solid var(--rule); }
.case-study:nth-of-type(odd) { background: var(--sand); }
.case-study-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; align-items: start; }
.inner-cover + .case-study-grid { margin-top: 60px; }
.case-study-copy h2, .case-study-copy h3 { font-size: clamp(28px,2.65vw,40px); line-height: 1.35; letter-spacing: -.055em; margin-block: 19px 23px; }
.case-study-copy p { font-size: 16px; line-height: 1.9; color: var(--ink-soft); }
.case-study-copy p + p { margin-top: 18px; }
.case-study-copy p.case-caption { font-size: 13px; margin-top: 16px; }
.case-study-copy .btn, .case-study-copy > .text-link { margin-top: 24px; }
.case-study-copy .result-stat { margin-block: 20px 30px; }
.case-gallery { display: grid; gap: 25px; min-width: 0; }
.case-gallery img { width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; }
.case-gallery.case-poster img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.case-study .page-related { margin-top: 38px; }
.wide-cta { display: flex; justify-content: space-between; align-items: center; gap: 60px; padding-block: 58px; margin-block: 50px 25px; border-block: 1px solid #aeb7a2; }
.wide-cta h2 { font-size: clamp(29px,3.25vw,46px); line-height: 1.35; letter-spacing: -.055em; margin-block: 18px; }
.wide-cta p { max-width: 720px; font-size: 16px; line-height: 1.9; color: var(--ink-soft); }
.wide-cta > .btn { flex-shrink: 0; }
.page-related { display: flex; gap: 22px 35px; flex-wrap: wrap; align-items: center; margin-top: 29px; }
.page-related > a { font-size: 14px; padding-block: 9px; }
.inner-page main > .page-related { padding-bottom: 65px; }
.subpage-footer .page-related { margin-block: 23px 0; }
.subpage-footer .page-related > a { color: #d1d9c8; text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.info-layout { display: grid; grid-template-columns: 240px 1fr; gap: 80px; padding-bottom: 80px; align-items: start; }
.info-index { display: flex; flex-direction: column; gap: 10px; position: sticky; top: 120px; }
.info-index a { padding-block: 13px; border-bottom: 1px solid var(--rule); font-size: 14px; }
.info-index a:hover { color: var(--red); }
.info-copy { min-width: 0; }
.info-section { padding-block: 35px 45px; border-top: 1px solid #b5bdab; }
.info-section h2 { font-size: clamp(25px,2.2vw,33px); letter-spacing: -.045em; line-height: 1.4; margin-block: 19px 24px; }
.info-section > p { color: var(--ink-soft); font-size: 16px; line-height: 1.9; margin-top: 18px; }
.info-section > p.case-caption { font-size: 13px; }
.info-facts { margin: 25px 0; }
.info-facts > div { display: grid; grid-template-columns: 180px 1fr; gap: 20px; padding-block: 12px; border-bottom: 1px solid var(--rule); font-size: 15px; }
.info-facts dt { color: var(--red-deep); }
.info-facts dd { margin: 0; overflow-wrap: anywhere; }
.info-facts a { text-decoration: underline; text-underline-offset: 4px; }
.not-found { padding-block: 90px 130px; }

@media (max-width:1100px) {
  .nav-toggle { display: block; flex-shrink: 0; }
  .nav-inner { height: 74px; }
  .nav-links { display: none; position: absolute; top: 74px; left: 0; right: 0; padding: 13px 28px 25px; background: var(--cream); box-shadow: 0 20px 24px rgba(22,29,23,.13); }
  .nav-links.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .nav-links > a { padding: 15px 5px; border-bottom: 1px solid var(--rule); font-size: 15px; }
  .nav-links .nav-contact { padding: 14px; margin-top: 14px; border: 1px solid var(--ink); }
  .hero-visual { min-height: 700px; }
  .hero-actions .btn { font-size: 14px; }
  .hero h1 { font-size: clamp(46px,5.1vw,58px); }
  .contact-grid { gap: 38px; grid-template-columns: .85fr 1fr; }
  .contact-channel { padding: 23px; gap: 18px; }
  .case-study-grid { gap: 40px; }
  .info-layout { grid-template-columns: 200px 1fr; gap: 45px; }
  .agreement-bottom { flex-direction: column; align-items: start; gap: 22px; }
}
@media (max-width:850px) {
  .editorial-grid { grid-template-columns: 1fr; gap: 35px; }
  .editorial-card h3 { font-size: 30px; }
  .editorial-card .proof-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin-bottom: 0; }
  .editorial-card .proof-list li:last-child { border-bottom: 0; }
  .comparison-heading { flex-direction: column; align-items: start; gap: 18px; }
  .comparison-heading p { max-width: none; }
  .table-hint { display: block; }
  .agreement-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wide-cta { flex-direction: column; align-items: start; gap: 26px; }
  .info-layout { grid-template-columns: 1fr; gap: 28px; }
  .info-index { position: static; flex-direction: row; flex-wrap: wrap; gap: 15px 26px; }
}
@media (max-width:760px) {
  .nav-inner { height: 68px; }
  .nav-links { top: 68px; }
  .hero h1 { font-size: clamp(44px,8.3vw,60px); line-height: 1.14; }
  .hero h1 > br:first-of-type, .hero h1 em br { display: none; }
  .hero-sub { font-size: 16px; }
  .hero-visual { min-height: 460px; }
  .hero-note { font-size: 13px; }
  .section-aside { max-width: 100%; }
  .section-heading > p, .work-copy > p, .month-story p, .role-grid p, .value-grid p { font-size: 15px; }
  .evidence-rail > a span { font-size: 12px; }
  .evidence-rail > a strong { font-size: 14px; }
  .contact-grid { grid-template-columns: 1fr; gap: 38px; }
  .contact-copy h2 { font-size: clamp(34px,8vw,46px); line-height: 1.18; margin-top: 22px; }
  .contact-copy .next-conversation { display: none; }
  .contact-copy > p { margin-top: 20px; }
  .contact-copy > .contact-location { margin-top: 23px; }
  .contact-channel strong { font-size: 25px; }
  .contact-channel .email-address { font-size: 22px; }
  .about-photo { min-height: 390px; }
  .footer-identity { flex-direction: column; gap: 18px; }
  .footer-bottom { font-size: 12px; }
  .inner-hero { padding-block: 29px 44px; }
  .breadcrumb { margin-bottom: 28px; }
  .inner-hero h1 { font-size: clamp(38px,7.5vw,57px); }
  .inner-lead { font-size: 16px; }
  .inner-cover img { aspect-ratio: 4/3; max-height: none; }
  .case-study-grid { grid-template-columns: 1fr; gap: 35px; }
  .inner-cover + .case-study-grid { margin-top: 35px; }
  .case-study-copy h2, .case-study-copy h3 { font-size: 31px; }
  .wide-cta { margin-top: 20px; padding-block: 40px; }
  .info-section { padding-block: 28px 35px; }
}
@media (max-width:480px) {
  .hero h1 { font-size: 44px; }
  .hero h1 > br:first-of-type, .hero h1 em br { display: initial; }
  .hero-visual { min-height: 420px; }
  .hero-actions .btn, .offer-card .btn { font-size: 14px; }
  .hero-promise { font-size: 14px; }
  .section-label, .eyebrow { font-size: 11px; }
  .evidence-rail > a strong { font-size: 14px; }
  .evidence-rail > a span { font-size: 11px; }
  .board-top { font-size: 10px; }
  .month-tabs button { font-size: 13px; }
  .offer-foot, .offer-disclaimer, .catalog-note { font-size: 13px; }
  .choice { font-size: 15px; }
  .agreement-grid { grid-template-columns: 1fr; gap: 25px; }
  .agreement-grid h3 { font-size: 23px; }
  .contact-channel { padding: 21px; }
  .contact-channel strong { font-size: 23px; }
  .contact-channel .email-address { font-size: 19px; }
  .prepare-brief > summary { padding: 21px; }
  .prepare-brief .contact-form { padding: 22px 19px; }
  .inner-hero h1 { font-size: clamp(34px,8vw,42px); }
  .inner-hero h1 br { display: none; }
  .inner-hero h1 em { display: block; }
  .editorial-card .proof-list { grid-template-columns: 1fr; gap: 0; }
  .editorial-card .proof-list li:last-child { border-bottom: 1px solid #c3c8b9; }
  .scope-table th, .scope-table td { padding: 15px; }
  .info-facts > div { grid-template-columns: 1fr; gap: 6px; }
  .wide-cta > .btn { width: 100%; }
  .inner-hero .hero-actions > .btn { width: 100%; }
}
