:root {
  --ink: #11110f;
  --black: #080807;
  --paper: #f2eee5;
  --paper-2: #faf8f3;
  --gold: #c89a43;
  --gold-dark: #9e711e;
  --line: rgba(17, 17, 15, .16);
  --muted: #6f6a61;
  --serif: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  --sans: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --width: 1480px;
  --pad: clamp(22px, 4vw, 72px);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
body.menu-open, body.dialog-open { overflow: hidden; }
img { display: block; width: 100%; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
.layout-width { width: min(100%, var(--width)); margin-inline: auto; padding-inline: var(--pad); }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 1000; background: white; padding: 10px 14px; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: relative; z-index: 50; background: var(--black); color: white; }
.utility-bar { min-height: 34px; padding: 0 var(--pad); display: flex; align-items: center; justify-content: space-between; gap: 24px; background: #181817; color: #c9c5bc; font-size: 12px; }
.nav-shell { height: 82px; max-width: var(--width); margin: auto; padding-inline: var(--pad); display: grid; grid-template-columns: 210px minmax(230px, 1fr) auto auto; gap: clamp(18px, 2.5vw, 44px); align-items: center; }
.brand { display: block; width: 128px; }
.brand img { object-fit: contain; }
.search-trigger { min-width: 230px; height: 42px; padding: 0 14px; border: 1px solid rgba(255,255,255,.32); background: transparent; color: #dedbd4; display: flex; align-items: center; gap: 10px; cursor: pointer; text-align: left; }
.search-trigger:hover, .search-trigger:focus-visible { border-color: var(--gold); color: white; }
.search-trigger svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.desktop-nav { display: flex; align-items: center; gap: clamp(18px, 2vw, 35px); white-space: nowrap; font-size: 14px; }
.desktop-nav a { position: relative; padding-block: 10px; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 2px; height: 1px; background: var(--gold); transition: right .25s ease; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { right: 0; }
.button { min-height: 46px; padding: 0 22px; border: 0; display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; text-transform: uppercase; letter-spacing: .17em; font-size: 11px; font-weight: 600; cursor: pointer; transition: background .25s ease, color .25s ease, transform .25s ease; }
.button:hover { transform: translateY(-2px); }
.button--gold { background: var(--gold); color: #16120a; }
.button--gold:hover, .button--gold:focus-visible { background: #e1b55f; }
.button--dark { background: var(--black); color: white; }
.button--dark:hover, .button--dark:focus-visible { background: #292722; }
.button--wide { width: 100%; }
.button--large { min-width: 260px; min-height: 58px; }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 0; background: transparent; border: 0; }
.menu-toggle span { display: block; width: 26px; height: 1px; margin: 7px auto; background: white; transition: transform .25s ease; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }
.mobile-menu { min-height: calc(100vh - 82px); padding: 30px var(--pad) 60px; background: var(--black); }
.mobile-menu a, .mobile-search { width: 100%; padding: 20px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.16); background: none; color: white; display: flex; justify-content: space-between; font-family: var(--serif); font-size: clamp(27px, 7vw, 42px); text-align: left; }
.mobile-menu a span, .mobile-search span { color: var(--gold); font-family: var(--sans); font-size: 12px; }

.hero { position: relative; min-height: 650px; overflow: hidden; background: var(--black); color: white; }
.hero-portraits { position: absolute; inset: 0; display: grid; grid-template-columns: 1fr 1fr 1fr; }
.hero-portraits figure { margin: 0; overflow: hidden; }
.hero-portraits img { height: 100%; object-fit: cover; filter: saturate(.72); }
.hero-portraits figure:first-child img { object-position: 50% 28%; }
.hero-portraits figure:nth-child(2) img { object-position: 52% 28%; }
.hero-portraits figure:nth-child(3) img { object-position: 50% 30%; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,5,4,.93) 0%, rgba(5,5,4,.76) 35%, rgba(5,5,4,.3) 66%, rgba(5,5,4,.76) 100%), linear-gradient(0deg, rgba(5,5,4,.62), transparent 45%); }
.hero-content { position: relative; min-height: 650px; display: grid; grid-template-columns: minmax(0, 1fr) 410px; gap: clamp(50px, 8vw, 130px); align-items: center; }
.hero-copy { max-width: 760px; padding: 70px 0; }
.eyebrow { margin: 0 0 22px; color: var(--gold-dark); text-transform: uppercase; letter-spacing: .25em; font-size: 11px; font-weight: 600; }
.eyebrow--gold { color: var(--gold); }
.hero h1 { margin: 0; max-width: 800px; font-family: var(--serif); font-size: clamp(58px, 6.2vw, 102px); font-weight: 400; line-height: .93; letter-spacing: -.045em; }
.hero-lead { margin: 28px 0 0; color: #f1eee6; font-size: clamp(19px, 2vw, 27px); line-height: 1.4; }
.hero-body { max-width: 570px; margin: 34px 0 0; color: #cfcbc3; font-size: 16px; line-height: 1.7; }
.text-links { display: flex; gap: 34px; margin-top: 26px; }
.text-links a, .arrow-link { color: var(--gold-dark); font-size: 14px; }
.text-links a span, .arrow-link span { display: inline-block; margin-left: 6px; transition: transform .2s ease; }
.text-links a:hover span, .arrow-link:hover span { transform: translateX(5px); }
.consultation-card { padding: 43px 38px 38px; background: var(--paper-2); color: var(--ink); box-shadow: 0 26px 80px rgba(0,0,0,.16); }
.consultation-card h2 { margin: 0; font-family: var(--serif); font-size: 41px; line-height: 1.03; font-weight: 400; letter-spacing: -.025em; }
.consultation-card > p:not(.eyebrow) { margin: 22px 0 24px; color: #5f5b54; font-size: 15px; line-height: 1.65; }
.consultation-card ul { margin: 0 0 28px; padding: 19px 0 0; border-top: 1px solid var(--line); list-style: none; }
.consultation-card li { position: relative; padding: 6px 0 6px 18px; color: #6c675f; font-size: 14px; }
.consultation-card li::before { content: ""; position: absolute; left: 0; top: 13px; width: 5px; height: 5px; background: var(--gold); border-radius: 50%; }

.promise-bar { background: #111110; color: white; }
.promise-grid { min-height: 130px; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(30px, 6vw, 90px); align-items: center; }
.promise-grid article { padding: 30px 0; }
.promise-grid article + article { border-left: 1px solid rgba(255,255,255,.15); padding-left: clamp(30px, 5vw, 80px); }
.promise-grid span { color: var(--gold); text-transform: uppercase; letter-spacing: .23em; font-size: 10px; }
.promise-grid p { margin: 15px 0 0; font-size: 15px; }

.section { padding-block: clamp(90px, 11vw, 170px); }
.section-head { display: grid; grid-template-columns: 1.25fr .75fr; gap: 80px; align-items: end; margin-bottom: 68px; }
.section-head h2, .agency-copy h2, .faq-title h2 { margin: 0; font-family: var(--serif); font-size: clamp(48px, 5.1vw, 80px); font-weight: 400; line-height: 1; letter-spacing: -.04em; }
.section-intro { max-width: 475px; justify-self: end; }
.section-intro p { margin: 0 0 28px; color: var(--muted); line-height: 1.7; }
.arrow-link { display: inline-flex; align-items: center; gap: 6px; padding-bottom: 7px; border-bottom: 1px solid currentColor; }
.speaker-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 48px 28px; }
.speaker-card--large { grid-row: span 2; }
.speaker-card--wide { grid-column: 2 / 4; display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 20px; }
.speaker-image { position: relative; display: block; overflow: hidden; background: #d9d3c8; }
.speaker-card:not(.speaker-card--wide) .speaker-image { aspect-ratio: 4 / 5; }
.speaker-card--large .speaker-image { aspect-ratio: 4 / 5.55; }
.speaker-card--wide .speaker-image { aspect-ratio: 1.78 / 1; }
.speaker-image img { height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .5s ease; }
.speaker-card:hover .speaker-image img { transform: scale(1.025); filter: saturate(.85); }
.speaker-number { position: absolute; top: 13px; left: 13px; min-width: 32px; height: 32px; display: grid; place-items: center; background: rgba(10,10,9,.84); color: white; font-size: 10px; letter-spacing: .12em; }
.speaker-meta { padding-top: 17px; display: flex; justify-content: space-between; gap: 20px; align-items: start; }
.speaker-meta h3 { margin: 0; font-family: var(--serif); font-size: 27px; font-weight: 400; }
.speaker-meta p { margin: 7px 0 0; color: var(--muted); font-size: 13px; }
.speaker-meta > span { color: var(--gold-dark); font-size: 22px; }

.topics-section { background: #111110; color: white; }
.section-kicker { padding-bottom: 24px; border-bottom: 1px solid rgba(255,255,255,.18); display: flex; justify-content: space-between; }
.section-kicker .eyebrow { margin: 0; }
.section-kicker > span { color: #8c8880; font-size: 11px; }
.topic-row { min-height: 150px; border-bottom: 1px solid rgba(255,255,255,.17); display: grid; grid-template-columns: 55px minmax(230px, .9fr) 1.2fr 30px; gap: 34px; align-items: center; transition: color .25s ease, padding .25s ease; }
.topic-row:hover { color: var(--gold); padding-inline: 14px; }
.topic-index { color: var(--gold); font-size: 11px; }
.topic-row h2 { margin: 0; font-family: var(--serif); font-size: clamp(40px, 4.5vw, 72px); font-weight: 400; }
.topic-row p { max-width: 460px; margin: 0; color: #aba79f; line-height: 1.55; }
.topic-arrow { color: var(--gold); font-size: 23px; }

.agency-section { background: var(--paper-2); }
.agency-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(60px, 9vw, 150px); align-items: center; }
.agency-copy .large-copy { margin: 36px 0 22px; font-family: var(--serif); font-size: clamp(24px, 2.1vw, 34px); line-height: 1.28; }
.agency-copy > p:not(.eyebrow):not(.large-copy) { max-width: 620px; color: var(--muted); line-height: 1.75; }
.agency-copy .arrow-link { margin-top: 20px; }
.agency-image { margin: 0; }
.agency-image img { aspect-ratio: 1.05 / 1; object-fit: cover; object-position: 50% 22%; filter: saturate(.75); }
.agency-image figcaption { margin-top: 15px; display: flex; justify-content: space-between; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }

.process-section { background: #171715; color: white; }
.process-intro { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: end; margin-bottom: 70px; }
.process-intro h2 { margin: 0; font-family: var(--serif); font-size: clamp(52px, 5.2vw, 82px); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.process-intro > p { max-width: 470px; margin: 0 0 5px; color: #aaa69e; line-height: 1.7; }
.process-list { margin: 0 0 40px; padding: 0; border-top: 1px solid rgba(255,255,255,.18); list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); }
.process-list li { min-height: 200px; padding: 24px 24px 35px 0; border-bottom: 1px solid rgba(255,255,255,.18); display: flex; flex-direction: column; justify-content: space-between; }
.process-list li:not(:nth-child(4n+1)) { padding-left: 24px; border-left: 1px solid rgba(255,255,255,.18); }
.process-list li > span { color: var(--gold); font-size: 11px; }
.process-list h3 { margin: 0; font-family: var(--serif); font-size: 25px; font-weight: 400; }
.process-list p { margin: 8px 0 0; color: #9f9b94; font-size: 13px; line-height: 1.5; }
.arrow-link--light { color: var(--gold); }

.values-section { padding-block: 50px; background: var(--gold); }
.values-grid { display: grid; grid-template-columns: 1.1fr repeat(4, 1fr); align-items: center; gap: 25px; }
.values-grid .eyebrow { margin: 0; color: #5c3e09; }
.values-grid > p:not(.eyebrow) { margin: 0; font-family: var(--serif); font-size: clamp(24px, 2.6vw, 42px); }

.faq-section { background: var(--paper); }
.faq-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(70px, 10vw, 150px); }
.faq-title { position: sticky; top: 40px; align-self: start; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { padding: 28px 0; display: flex; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; font-family: var(--serif); font-size: 24px; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--gold-dark); font-family: var(--sans); transition: transform .25s ease; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 700px; margin: -5px 0 28px; color: var(--muted); line-height: 1.7; }

.contact-section { padding-block: clamp(100px, 13vw, 190px); background: var(--black); color: white; text-align: center; }
.contact-inner h2 { margin: 0; font-family: var(--serif); font-size: clamp(65px, 7.7vw, 118px); font-weight: 400; line-height: .9; letter-spacing: -.05em; }
.contact-inner > p:not(.eyebrow) { max-width: 620px; margin: 34px auto 38px; color: #b9b5ad; line-height: 1.7; }

.site-footer { padding: 75px 0 28px; background: #111110; color: white; }
.footer-grid { display: grid; grid-template-columns: 1.4fr .7fr .7fr 1.2fr; gap: 50px; }
.brand--footer { width: 150px; align-self: start; }
.footer-grid > div:not(.footer-note) { display: flex; flex-direction: column; gap: 10px; }
.footer-grid > div > p { margin: 0 0 10px; color: var(--gold); text-transform: uppercase; letter-spacing: .18em; font-size: 10px; }
.footer-grid a:not(.brand) { color: #b6b2aa; font-size: 13px; }
.footer-grid a:hover { color: white; }
.footer-note p { margin: 0; font-family: var(--serif); font-size: 27px; line-height: 1.3; }
.footer-bottom { margin-top: 60px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.13); display: flex; justify-content: space-between; color: #77746f; font-size: 11px; }

.search-dialog { width: min(820px, calc(100% - 32px)); padding: 42px; border: 0; border-top: 4px solid var(--gold); background: var(--paper-2); color: var(--ink); box-shadow: 0 30px 100px rgba(0,0,0,.45); }
.search-dialog::backdrop { background: rgba(0,0,0,.78); backdrop-filter: blur(5px); }
.dialog-top { display: flex; justify-content: space-between; align-items: start; margin-bottom: 45px; }
.dialog-top p { margin: 0; font-family: var(--serif); font-size: 34px; }
.dialog-close, .feedback-close { border: 0; background: transparent; cursor: pointer; font-size: 30px; line-height: 1; }
.search-dialog label { display: block; margin-bottom: 10px; color: var(--muted); font-size: 12px; }
.search-field { border-bottom: 1px solid var(--ink); display: flex; align-items: center; }
.search-field input { width: 100%; padding: 14px 0; border: 0; outline: 0; background: transparent; font-family: var(--serif); font-size: clamp(24px, 4vw, 40px); }
.search-field span { color: var(--gold-dark); font-size: 28px; }
.search-field input::-webkit-search-cancel-button { display: none; }
.search-results { min-height: 155px; padding-top: 24px; display: grid; gap: 10px; }
.search-result { width: 100%; min-width: 0; padding: 12px; border: 1px solid var(--line); display: grid; grid-template-columns: 72px minmax(0,1fr) 46px; gap: 18px; align-items: center; background: #f8f5ee; color: var(--ink); transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease; }
.search-result:hover,
.search-result:focus-visible { border-color: var(--ink); background: var(--ink); color: white; transform: translateY(-2px); outline: 0; }
.search-result-image { width: 72px; height: 82px; overflow: hidden; background: #ded9cf; }
.search-result-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
.search-result-mark { width: 72px; height: 82px; display: grid; place-items: center; background: var(--gold); color: #2b210f; font-family: var(--serif); font-size: 38px; }
.search-result-copy { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.search-result-copy small { margin-bottom: 5px; color: var(--gold-dark); text-transform: uppercase; letter-spacing: .16em; font-size: 9px; font-weight: 700; }
.search-result-copy strong { overflow: hidden; max-width: 100%; font-family: var(--serif); font-size: clamp(24px, 3vw, 32px); font-weight: 400; line-height: 1.05; text-overflow: ellipsis; white-space: nowrap; }
.search-result-copy em { margin-top: 7px; overflow: hidden; max-width: 100%; color: var(--muted); font-size: 11px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.search-result:hover .search-result-copy em,
.search-result:focus-visible .search-result-copy em { color: #bcb6ad; }
.search-result-action { width: 42px; height: 42px; border: 1px solid var(--gold); display: grid; place-items: center; color: var(--gold-dark); font-size: 22px; transition: background .2s ease, color .2s ease, transform .2s ease; }
.search-result:hover .search-result-action,
.search-result:focus-visible .search-result-action { background: var(--gold); color: #1b150b; transform: translateX(3px); }
.search-status { min-height: 118px; margin: 0; padding: 24px; border-left: 2px solid var(--gold); display: flex; flex-direction: column; justify-content: center; background: #f4f0e7; color: var(--muted); font-size: 14px; line-height: 1.55; }
.search-status span { margin-bottom: 8px; color: var(--gold-dark); text-transform: uppercase; letter-spacing: .15em; font-size: 9px; font-weight: 700; }
.search-status--empty { border-left-color: var(--ink); }
.search-hint { margin: 20px 0 0; color: var(--muted); font-size: 13px; }
.search-hint a { color: var(--gold-dark); }

.feedback-trigger { position: fixed; z-index: 45; right: 0; top: 55%; padding: 11px 9px; border: 0; background: var(--gold); color: #18130a; text-transform: uppercase; letter-spacing: .15em; font-size: 9px; writing-mode: vertical-rl; cursor: pointer; }
.feedback-panel { position: fixed; z-index: 100; inset: 0 0 0 auto; width: min(430px, 100%); padding: 34px; overflow-y: auto; background: var(--paper-2); box-shadow: -20px 0 80px rgba(0,0,0,.3); }
.feedback-head { display: flex; justify-content: space-between; gap: 20px; }
.feedback-head h2 { margin: 0; font-family: var(--serif); font-size: 34px; font-weight: 400; }
.feedback-panel > p { color: var(--muted); line-height: 1.6; }
.feedback-panel ol { margin: 30px 0 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.feedback-panel li { border-bottom: 1px solid var(--line); }
.feedback-panel li button { width: 100%; padding: 16px 0; border: 0; background: none; text-align: left; cursor: pointer; }
.feedback-panel li button:hover { color: var(--gold-dark); }
.copy-status { min-height: 20px; color: var(--gold-dark) !important; font-size: 12px; }
.toast { position: fixed; z-index: 110; left: 50%; bottom: 24px; max-width: calc(100% - 32px); padding: 14px 18px; background: var(--ink); color: white; transform: translateX(-50%); box-shadow: 0 10px 40px rgba(0,0,0,.28); font-size: 13px; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .75s ease, transform .75s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }

@media (max-width: 1180px) {
  .nav-shell { grid-template-columns: 150px 1fr auto; }
  .desktop-nav { display: none; }
  .menu-toggle { display: block; }
  .header-cta { display: none; }
  .hero-content { grid-template-columns: minmax(0, 1fr) 370px; gap: 45px; }
  .speaker-grid { gap: 38px 22px; }
}

@media (max-width: 860px) {
  .utility-bar { display: none; }
  .nav-shell { height: 74px; grid-template-columns: 1fr auto auto; }
  .nav-shell > .search-trigger { width: 44px; min-width: 44px; padding: 0; justify-content: center; border: 0; }
  .nav-shell > .search-trigger span { display: none; }
  .hero { min-height: auto; }
  .hero-portraits { height: 620px; grid-template-columns: 1fr 1fr; }
  .hero-portraits figure:first-child { display: none; }
  .hero-shade { height: 620px; background: linear-gradient(0deg, rgba(5,5,4,.95), rgba(5,5,4,.2) 75%), linear-gradient(90deg, rgba(5,5,4,.25), rgba(5,5,4,.45)); }
  .hero-content { min-height: auto; grid-template-columns: 1fr; gap: 0; padding-top: 310px; }
  .hero-copy { padding: 70px 0 55px; }
  .hero h1 { font-size: clamp(56px, 12vw, 82px); }
  .consultation-card { margin-bottom: 38px; }
  .promise-grid { grid-template-columns: 1fr; gap: 0; padding-block: 16px; }
  .promise-grid article { padding: 20px 0; }
  .promise-grid article + article { padding-left: 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.15); }
  .section-head, .agency-grid, .process-intro, .faq-grid { grid-template-columns: 1fr; gap: 42px; }
  .section-intro { max-width: 620px; justify-self: start; }
  .speaker-grid { grid-template-columns: 1fr 1fr; }
  .speaker-card--large { grid-row: auto; }
  .speaker-card--large .speaker-image { aspect-ratio: 4 / 5; }
  .speaker-card--wide { grid-column: 1 / 3; }
  .topic-row { grid-template-columns: 42px 1fr 24px; gap: 15px; padding-block: 22px; }
  .topic-row p { grid-column: 2; grid-row: 2; }
  .topic-arrow { grid-column: 3; grid-row: 1; }
  .process-list { grid-template-columns: 1fr 1fr; }
  .process-list li:nth-child(odd) { padding-left: 0; border-left: 0; }
  .process-list li:nth-child(even) { padding-left: 24px; border-left: 1px solid rgba(255,255,255,.18); }
  .values-grid { grid-template-columns: 1fr 1fr; }
  .values-grid .eyebrow { grid-column: 1 / 3; }
  .faq-title { position: static; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 580px) {
  :root { --pad: 20px; }
  .brand { width: 108px; }
  .hero-portraits { height: 485px; }
  .hero-shade { height: 485px; }
  .hero-content { padding-top: 245px; }
  .hero-copy { padding-bottom: 42px; }
  .hero h1 { font-size: clamp(48px, 15.5vw, 72px); }
  .hero-lead { font-size: 18px; }
  .hero-body { margin-top: 25px; }
  .text-links { gap: 22px; }
  .consultation-card { margin-inline: -5px; padding: 34px 25px 25px; }
  .consultation-card h2 { font-size: 37px; }
  .section { padding-block: 86px; }
  .section-head { margin-bottom: 42px; }
  .section-head h2, .agency-copy h2, .faq-title h2 { font-size: 46px; }
  .speaker-grid { display: flex; gap: 16px; overflow-x: auto; margin-inline: calc(var(--pad) * -1); padding-inline: var(--pad); scroll-snap-type: x mandatory; scrollbar-width: none; }
  .speaker-grid::-webkit-scrollbar { display: none; }
  .speaker-card, .speaker-card--wide { min-width: 82vw; display: block; scroll-snap-align: start; }
  .speaker-card .speaker-image, .speaker-card--wide .speaker-image { aspect-ratio: 4 / 5; }
  .topic-row { min-height: 130px; }
  .topic-row h2 { font-size: 42px; }
  .agency-image figcaption { flex-direction: column; gap: 5px; }
  .process-intro h2 { font-size: 48px; }
  .process-list { grid-template-columns: 1fr; }
  .process-list li, .process-list li:nth-child(even) { min-height: 150px; padding: 22px 0; border-left: 0; flex-direction: row; justify-content: start; gap: 28px; }
  .values-grid { grid-template-columns: 1fr; }
  .values-grid .eyebrow { grid-column: auto; }
  .faq-list summary { font-size: 21px; }
  .contact-inner h2 { font-size: 59px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-note { margin-top: 20px; }
  .search-dialog { padding: 25px 20px; }
  .dialog-top { margin-bottom: 32px; }
  .search-result { grid-template-columns: 58px minmax(0,1fr) 34px; gap: 12px; padding: 9px; }
  .search-result-image,
  .search-result-mark { width: 58px; height: 68px; }
  .search-result-copy strong { font-size: 23px; }
  .search-result-copy em { font-size: 10px; }
  .search-result-action { width: 32px; height: 32px; font-size: 18px; }
  .feedback-trigger { top: auto; bottom: 18px; right: 14px; writing-mode: initial; padding: 10px 13px; }
}

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

/* Revision 02 — approved CI with the strongest elements from the client concept */
.utility-bar {
  min-height: 38px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 20px;
  padding-inline: var(--pad);
  font-size: 11px;
}
.utility-bar > span { color: #a9a59d; text-align: center; }
.utility-bar a { display: flex; align-items: center; gap: 11px; color: #d8d4cc; }
.utility-bar a:last-child { justify-self: end; color: var(--gold); }
.utility-bar a span { color: var(--gold); }
.utility-bar strong { font-weight: 500; }
.nav-shell { grid-template-columns: 175px minmax(190px, .8fr) auto auto; }
.search-trigger { min-width: 190px; max-width: 290px; }
.desktop-nav { overflow: visible; }
.nav-dropdown { position: relative; }
.nav-dropdown > button {
  padding: 10px 0;
  border: 0;
  background: transparent;
  color: white;
  cursor: pointer;
  font-size: 14px;
}
.nav-dropdown > button span { margin-left: 4px; color: var(--gold); }
.nav-dropdown-panel {
  position: absolute;
  top: calc(100% + 22px);
  left: -28px;
  width: 330px;
  padding: 26px 28px 22px;
  background: var(--paper-2);
  color: var(--ink);
  box-shadow: 0 26px 65px rgba(0,0,0,.28);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.nav-dropdown:hover .nav-dropdown-panel,
.nav-dropdown:focus-within .nav-dropdown-panel,
.nav-dropdown.is-open .nav-dropdown-panel { opacity: 1; visibility: visible; transform: none; }
.nav-dropdown-panel::before { content: ""; position: absolute; top: -23px; left: 0; right: 0; height: 24px; }
.nav-dropdown-panel p { margin: 0 0 15px; color: var(--gold-dark); text-transform: uppercase; letter-spacing: .2em; font-size: 9px; }
.desktop-nav .nav-dropdown-panel a { padding: 11px 0; border-top: 1px solid var(--line); display: flex; justify-content: space-between; font-family: var(--serif); font-size: 20px; }
.desktop-nav .nav-dropdown-panel a::after { display: none; }
.desktop-nav .nav-dropdown-panel .nav-dropdown-cta { margin-top: 12px; padding: 14px 0 0; color: var(--gold-dark); font-family: var(--sans); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }

.hero {
  min-height: 710px;
  background:
    radial-gradient(circle at 72% 42%, rgba(200,154,67,.12), transparent 22%),
    linear-gradient(125deg, #070706 0%, #15130f 56%, #090908 100%);
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .22;
  background-image: repeating-linear-gradient(90deg, transparent 0 45px, rgba(255,255,255,.045) 45px 46px);
  mask-image: linear-gradient(90deg, transparent 0%, #000 38%, #000 100%);
}
.hero-content { min-height: 710px; grid-template-columns: minmax(0, 1fr) minmax(430px, 590px); gap: clamp(55px, 7vw, 120px); }
.hero-copy { max-width: 740px; }
.hero h1 { font-size: clamp(64px, 6.4vw, 104px); }
.hero-body { max-width: 610px; }
.hero-actions { display: flex; gap: 12px; margin-top: 30px; }
.button--outline { border: 1px solid rgba(255,255,255,.48); background: rgba(0,0,0,.12); color: white; }
.button--outline:hover, .button--outline:focus-visible { border-color: var(--gold); background: rgba(200,154,67,.08); }
.hero-team { width: fit-content; margin-top: 35px; display: flex; align-items: center; color: white; }
.team-avatar { width: 43px; height: 43px; flex: 0 0 43px; border: 2px solid var(--paper); border-radius: 50%; background-image: url('assets/team-reference.png'); background-repeat: no-repeat; background-size: 878% auto; box-shadow: 0 5px 16px rgba(0,0,0,.25); }
.team-avatar + .team-avatar { margin-left: -10px; }
.team-avatar--urs { background-position: 60.7% 49.9%; }
.team-avatar--andrea { background-position: 75.1% 49.9%; }
.team-avatar--lara { background-position: 89.5% 49.9%; }
.hero-team > span:last-child { margin-left: 15px; display: flex; flex-direction: column; }
.hero-team strong { font-family: var(--serif); font-size: 17px; font-weight: 400; }
.hero-team small { margin-top: 3px; color: #a9a59d; font-size: 11px; }
.lineup-board {
  position: relative;
  height: 490px;
  border: 1px solid rgba(200,154,67,.45);
  background: rgba(30,27,22,.72);
  box-shadow: 0 25px 80px rgba(0,0,0,.38);
  overflow: hidden;
}
.lineup-board::before,
.lineup-board::after { content: ""; position: absolute; inset: 34px; border: 1px solid rgba(200,154,67,.26); }
.lineup-board::after { inset: 34px 35%; border-top: 0; border-bottom: 0; }
.pitch-lines { position: absolute; inset: 34px; }
.pitch-lines::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; border-top: 1px solid rgba(200,154,67,.26); }
.pitch-lines span:first-child { position: absolute; width: 82px; height: 160px; left: 0; top: calc(50% - 80px); border: 1px solid rgba(200,154,67,.26); border-left: 0; }
.pitch-lines span:nth-child(2) { position: absolute; width: 82px; height: 160px; right: 0; top: calc(50% - 80px); border: 1px solid rgba(200,154,67,.26); border-right: 0; }
.pitch-lines span:last-child { position: absolute; width: 96px; height: 96px; left: 50%; top: 50%; border: 1px solid rgba(200,154,67,.26); border-radius: 50%; transform: translate(-50%,-50%); }
.lineup-person { position: absolute; z-index: 2; width: 68px; height: 68px; border: 3px solid var(--paper); border-radius: 50%; overflow: hidden; box-shadow: 0 8px 26px rgba(0,0,0,.42); }
.lineup-person img { height: 100%; object-fit: cover; }
.lineup-person--one { left: 19%; top: 12%; }
.lineup-person--two { left: 10%; top: 48%; }
.lineup-person--three { left: 42%; top: 37%; width: 88px; height: 88px; }
.lineup-person--four { right: 12%; top: 14%; }
.lineup-person--five { right: 16%; top: 50%; }
.lineup-person--six { left: 27%; bottom: 12%; }
.lineup-caption { position: absolute; z-index: 3; left: 22px; bottom: 20px; display: flex; flex-direction: column; }
.lineup-caption strong { font-family: var(--serif); font-size: 29px; font-weight: 400; }
.lineup-caption span { margin-top: 3px; color: #aaa69e; font-size: 12px; }

.finder-section { background: var(--paper-2); }
.finder-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(60px, 8vw, 130px); align-items: start; }
.finder-intro { position: sticky; top: 35px; }
.finder-intro h2 { margin: 0; font-family: var(--serif); font-size: clamp(55px, 5.3vw, 84px); font-weight: 400; line-height: .95; letter-spacing: -.04em; }
.finder-intro > p:not(.eyebrow):not(.finder-assurance) { max-width: 430px; margin: 29px 0; color: var(--muted); line-height: 1.7; }
.finder-assurance { color: var(--muted); font-size: 12px; line-height: 2; }
.finder-assurance span { margin-right: 9px; color: var(--gold-dark); }
.finder-card { min-height: 500px; padding: clamp(34px, 5vw, 65px); border: 1px solid var(--line); background: var(--paper); }
.finder-progress { margin-bottom: 55px; display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.finder-progress span { height: 4px; background: #d8d1c5; }
.finder-progress span.is-complete { background: var(--gold); }
.finder-step { margin: 0; padding: 0; border: 0; }
.finder-step legend { margin: 0 0 35px; padding: 0; font-family: var(--serif); font-size: clamp(36px, 4vw, 56px); line-height: 1.05; }
.finder-step legend small { margin-bottom: 13px; display: block; color: var(--gold-dark); font-family: var(--sans); font-size: 10px; text-transform: uppercase; letter-spacing: .2em; }
.finder-options { display: flex; flex-wrap: wrap; gap: 11px; }
.finder-options button { min-height: 50px; padding: 0 20px; border: 1px solid #a9a196; background: transparent; cursor: pointer; }
.finder-options button:hover, .finder-options button:focus-visible { border-color: var(--gold-dark); background: rgba(200,154,67,.1); }
.finder-result h3 { max-width: 660px; margin: 0; font-family: var(--serif); font-size: clamp(40px, 4vw, 58px); font-weight: 400; line-height: 1.05; }
.finder-summary { margin: 25px 0 35px; color: var(--muted); line-height: 1.7; }
.finder-restart { margin-left: 20px; padding: 12px 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--muted); cursor: pointer; }

.speakers-section { background: var(--paper); }
.speaker-grid { grid-template-columns: repeat(3,1fr); gap: 28px; }
.speaker-card { position: relative; }
.speaker-card .speaker-image,
.speaker-card--large .speaker-image,
.speaker-card--wide .speaker-image { aspect-ratio: 4 / 5; }
.speaker-image::after { content: ""; position: absolute; inset: 38% 0 0; background: linear-gradient(transparent, rgba(5,5,4,.9)); pointer-events: none; }
.speaker-image .speaker-meta { position: absolute; z-index: 2; left: 24px; right: 24px; bottom: 23px; padding: 0; display: flex; flex-direction: column; color: white; }
.speaker-image .speaker-meta strong { font-family: var(--serif); font-size: clamp(26px, 2.5vw, 38px); font-weight: 400; line-height: 1; }
.speaker-image .speaker-meta small { margin-top: 7px; color: #ddd8cf; font-size: 12px; }
.speaker-number { left: 14px; top: 14px; }

.team-section { background: var(--paper-2); }
.team-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(65px, 9vw, 150px); align-items: center; }
.team-story h2 { margin: 0; font-family: var(--serif); font-size: clamp(58px, 6vw, 94px); font-weight: 400; line-height: .9; letter-spacing: -.045em; }
.team-quote { margin: 32px 0 25px; font-family: var(--serif); font-size: clamp(24px, 2.4vw, 36px); font-style: italic; line-height: 1.3; }
.team-story > p:not(.eyebrow):not(.team-quote) { max-width: 650px; color: var(--muted); line-height: 1.72; }
.team-story .arrow-link { margin-top: 18px; }
.team-portraits { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: end; }
.team-portraits article:first-child { grid-row: span 2; align-self: center; }
.team-crop { width: 100%; aspect-ratio: 1 / 1.08; display: block; border: 1px solid rgba(17,17,15,.2); background-image: url('assets/team-reference.png'); background-repeat: no-repeat; background-size: 878% auto; filter: saturate(.86); }
.team-crop--urs { background-position: 60.7% 49.9%; }
.team-crop--andrea { background-position: 75.1% 49.9%; }
.team-crop--lara { background-position: 89.5% 49.9%; }
.team-portraits h3 { margin: 12px 0 0; font-family: var(--serif); font-size: 27px; font-weight: 400; }
.team-portraits p { margin: 4px 0 0; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }

.site-footer { padding-top: 90px; }
.footer-lead { padding-bottom: 70px; border-bottom: 1px solid rgba(255,255,255,.16); display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: end; }
.footer-lead h2 { margin: 0; font-family: var(--serif); font-size: clamp(48px, 5vw, 78px); font-weight: 400; line-height: .96; }
.footer-phone { min-width: 330px; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.24); border-bottom: 1px solid rgba(255,255,255,.24); display: grid; grid-template-columns: 1fr auto; gap: 6px 30px; }
.footer-phone small { color: #8d8982; text-transform: uppercase; letter-spacing: .18em; font-size: 9px; }
.footer-phone strong { grid-row: 2; font-family: var(--serif); font-size: 28px; font-weight: 400; }
.footer-phone span { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--gold); font-size: 24px; }
.footer-grid { grid-template-columns: 1.35fr repeat(3,.7fr) 1fr; padding-top: 55px; }
.footer-brand-block > p { margin: 24px 0 0 !important; color: #a9a59d !important; font-family: var(--serif); font-size: 20px !important; line-height: 1.4; text-transform: none !important; letter-spacing: 0 !important; }
.footer-team > div { display: flex; }
.footer-team > p { margin: 15px 0 0 !important; color: #a9a59d !important; font-size: 12px !important; line-height: 1.6; text-transform: none !important; letter-spacing: 0 !important; }
.footer-team strong { color: white; font-weight: 500; }

@media (max-width: 1180px) {
  .nav-shell { grid-template-columns: 150px 1fr auto; }
  .lineup-board { height: 430px; }
  .footer-grid { grid-template-columns: 1.2fr repeat(3,.7fr); }
  .footer-team { grid-column: 2 / 5; }
}

@media (max-width: 860px) {
  .utility-bar { display: none; }
  .hero-content { grid-template-columns: 1fr; padding-top: 0; }
  .hero-copy { padding: 80px 0 45px; }
  .lineup-board { height: min(72vw, 500px); margin-bottom: 50px; }
  .finder-layout, .team-layout { grid-template-columns: 1fr; }
  .finder-intro { position: static; }
  .speaker-grid { grid-template-columns: 1fr 1fr; }
  .team-portraits { max-width: 680px; }
  .footer-lead { grid-template-columns: 1fr; align-items: start; }
  .footer-phone { width: 100%; max-width: 520px; min-width: 0; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-team { grid-column: auto; }
}

@media (max-width: 580px) {
  .hero { min-height: auto; }
  .hero-content { display: block; }
  .hero h1 { font-size: clamp(51px, 15.5vw, 72px); }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .hero-team { margin-top: 28px; }
  .hero-team strong { font-size: 15px; }
  .lineup-board { height: 390px; margin-top: 8px; }
  .lineup-person { width: 54px; height: 54px; }
  .lineup-person--three { width: 70px; height: 70px; }
  .finder-card { min-height: 470px; margin-inline: -5px; padding: 28px 20px; }
  .finder-progress { margin-bottom: 38px; }
  .finder-options { display: grid; grid-template-columns: 1fr 1fr; }
  .finder-options button { padding: 0 10px; }
  .finder-result .button { width: 100%; }
  .finder-restart { margin: 18px 0 0; }
  .speaker-grid { display: flex; }
  .speaker-card { min-width: 82vw; }
  .team-portraits { grid-template-columns: 1fr 1fr; gap: 18px; }
  .team-portraits article:first-child { grid-row: auto; grid-column: 1 / 3; }
  .team-portraits article:first-child .team-crop { aspect-ratio: 1.35 / 1; }
  .footer-lead { padding-bottom: 50px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 42px 20px; }
  .footer-brand-block { grid-column: 1 / 3; }
  .footer-team { grid-column: 1 / 3; }
  .footer-bottom span:nth-child(2) { display: none; }
}

/* Revision 03 — independent brand direction */
:root {
  --serif: "Bodoni 72", Didot, "Times New Roman", serif;
  --display: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.utility-bar > span:first-child { justify-self: start; }
.utility-bar > span:last-child { justify-self: end; }
.utility-bar > a { grid-column: 2; grid-row: 1; justify-self: center; }
.header-cta span { margin-left: 12px; font-size: 22px; line-height: 0; transform: translateY(-1px); }
.header-cta:hover span { transform: translate(5px,-1px); }

.hero-content { grid-template-columns: minmax(0, .95fr) minmax(430px, .75fr); }
.hero h1 {
  font-family: var(--display);
  font-size: clamp(58px, 5.8vw, 94px);
  font-weight: 500;
  line-height: .96;
  letter-spacing: -.055em;
}
.hero-lead { white-space: nowrap; font-size: clamp(18px, 1.55vw, 24px); }
.hero-body { max-width: 680px; font-size: 16px; }
.hero-actions .button { min-width: 205px; }
.hero-editorial { position: relative; height: 540px; }
.hero-editorial figure { margin: 0; overflow: hidden; }
.hero-editorial-main { position: absolute; inset: 0 0 44px 70px; }
.hero-editorial-main::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(5,5,4,.35)); }
.hero-editorial-main img { height: 100%; object-fit: cover; object-position: 53% 30%; filter: saturate(.78); }
.hero-editorial-inset { position: absolute; left: 0; bottom: 0; width: 40%; aspect-ratio: 4 / 5; border: 8px solid #11100e; }
.hero-editorial-inset img { height: 100%; object-fit: cover; object-position: 50% 24%; filter: saturate(.72); }
.hero-editorial-note { position: absolute; right: -1px; bottom: 0; width: 58%; padding: 24px 24px 22px; background: var(--paper-2); color: var(--ink); }
.hero-editorial-note span { display: block; margin-bottom: 7px; color: var(--gold-dark); text-transform: uppercase; letter-spacing: .18em; font-size: 9px; }
.hero-editorial-note strong { font-family: var(--serif); font-size: 25px; font-weight: 400; }

.finder-section { padding-block: clamp(90px, 10vw, 150px); }
.finder-layout { display: block; }
.finder-head { max-width: 1100px; margin: 0 auto 55px; text-align: center; }
.finder-head h2 { margin: 0; font-family: var(--display); font-size: clamp(47px, 5.4vw, 84px); font-weight: 500; line-height: .98; letter-spacing: -.05em; }
.finder-card { width: 100%; min-height: 420px; padding: clamp(38px, 5vw, 76px); background: transparent; border: 1px solid rgba(17,17,15,.24); }
.finder-progress { margin-bottom: 58px; }
.finder-step legend { max-width: 900px; font-family: var(--display); font-size: clamp(34px, 3.8vw, 60px); font-weight: 500; letter-spacing: -.035em; }
.finder-options button { min-height: 58px; padding-inline: 26px; background: var(--paper-2); }

.section-head h2 { font-family: var(--display); font-weight: 500; letter-spacing: -.055em; }
.speaker-number { display: none; }
.speaker-grid { gap: 22px; }
.speaker-image .speaker-meta strong { font-family: var(--display); font-size: clamp(25px, 2.25vw, 35px); font-weight: 500; letter-spacing: -.03em; }

.topics-section { background: #151513; }
.topics-head { max-width: 980px; margin-bottom: 58px; }
.topics-head h2 { max-width: 850px; margin: 0; font-family: var(--display); font-size: clamp(48px, 5.2vw, 82px); font-weight: 500; line-height: .98; letter-spacing: -.05em; }
.topics-head > p:last-child { max-width: 620px; margin: 26px 0 0; color: #aaa69e; line-height: 1.7; }
.topic-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255,255,255,.18); border-left: 1px solid rgba(255,255,255,.18); }
.topic-card { min-height: 330px; padding: clamp(30px, 4vw, 55px); border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); display: flex; flex-direction: column; align-items: flex-start; transition: background .25s ease, color .25s ease; }
.topic-card:hover { background: var(--paper-2); color: var(--ink); }
.topic-card > span { color: var(--gold); text-transform: uppercase; letter-spacing: .19em; font-size: 9px; }
.topic-card h3 { margin: auto 0 14px; font-family: var(--display); font-size: clamp(42px, 4.5vw, 68px); font-weight: 500; letter-spacing: -.05em; }
.topic-card p { max-width: 480px; margin: 0 0 26px; color: #aaa69e; line-height: 1.6; }
.topic-card:hover p { color: var(--muted); }
.topic-card strong { color: var(--gold); text-transform: uppercase; letter-spacing: .12em; font-size: 9px; }

.speaker-voices { background: var(--paper); }
.voices-head { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: end; margin-bottom: 60px; }
.voices-head .eyebrow { grid-column: 1 / 3; margin-bottom: -20px; }
.voices-head h2 { margin: 0; font-family: var(--display); font-size: clamp(48px, 5vw, 78px); font-weight: 500; line-height: .98; letter-spacing: -.05em; }
.voices-head > p:last-child { max-width: 520px; justify-self: end; color: var(--muted); line-height: 1.7; }
.voice-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.voice-grid article { min-height: 190px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; justify-content: space-between; }
.voice-grid span { font-family: var(--display); font-size: 20px; font-weight: 500; }
.voice-grid p { margin: 0; color: var(--muted); font-family: var(--serif); font-size: 18px; font-style: italic; line-height: 1.35; }

.team-portraits { grid-template-columns: repeat(3,1fr); align-items: start; gap: 18px; }
.team-portraits article:first-child { grid-row: auto; align-self: auto; }
.team-crop { aspect-ratio: 4 / 5; }
.team-portraits article:nth-child(2),
.team-portraits article:nth-child(3) { margin-top: 0; }

.client-proof { background: #ebe6dc; }
.client-proof-head { display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: end; }
.client-proof-head h2 { max-width: 900px; margin: 0; font-family: var(--display); font-size: clamp(48px, 5vw, 78px); font-weight: 500; line-height: .98; letter-spacing: -.05em; }
.client-proof-head > p { max-width: 520px; justify-self: end; color: var(--muted); line-height: 1.7; }
.fictional-logos { margin: 70px 0 45px; padding: 27px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: grid; grid-template-columns: repeat(5,1fr); gap: 30px; align-items: center; color: #69645b; }
.fictional-logos span { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 13px; font-weight: 600; letter-spacing: .13em; }
.fictional-logos i { color: var(--gold-dark); font-size: 20px; font-style: normal; }
.testimonial-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.testimonial-card { background: var(--paper-2); }
.client-portrait { width: 100%; aspect-ratio: 1.6 / 1; display: block; background-image: url('assets/fictive-client-portraits.png'); background-repeat: no-repeat; background-size: 300% 100%; }
.client-portrait--one { background-position: 0 50%; }
.client-portrait--two { background-position: 50% 50%; }
.client-portrait--three { background-position: 100% 50%; }
.testimonial-card > div { padding: 30px; }
.demo-label { color: var(--gold-dark); text-transform: uppercase; letter-spacing: .18em; font-size: 9px; }
.testimonial-card blockquote { min-height: 135px; margin: 20px 0 28px; font-family: var(--serif); font-size: clamp(22px, 2vw, 28px); line-height: 1.25; }
.testimonial-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.testimonial-card p strong { color: var(--ink); font-size: 14px; }

.newsletter-section { padding-block: clamp(70px, 8vw, 115px); background: var(--gold); }
.newsletter-inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(60px, 9vw, 150px); align-items: end; }
.newsletter-inner .eyebrow { color: #5f4008; }
.newsletter-inner h2 { margin: 0; font-family: var(--display); font-size: clamp(45px, 4.8vw, 72px); font-weight: 500; line-height: .96; letter-spacing: -.05em; }
.newsletter-inner > div > p:last-child { max-width: 560px; margin: 25px 0 0; color: #4d3b18; line-height: 1.6; }
.newsletter-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.newsletter-form label span, .quick-contact-form label span { display: block; margin-bottom: 8px; text-transform: uppercase; letter-spacing: .14em; font-size: 9px; }
.newsletter-form input { width: 100%; height: 54px; padding: 0 15px; border: 1px solid rgba(17,17,15,.35); background: rgba(255,255,255,.46); outline: 0; }
.newsletter-form input:focus { background: white; border-color: var(--ink); }
.newsletter-form .button { grid-column: 1 / 3; background: var(--ink); color: white; }
.newsletter-form small { grid-column: 1 / 3; color: #624a1c; font-size: 9px; }

.footer-brand-block address { margin-top: 27px; color: #8f8b84; font-size: 12px; font-style: normal; line-height: 1.7; }
.footer-bottom { align-items: center; }

.contact-trigger { position: fixed; z-index: 45; right: 0; top: 55%; padding: 14px 10px; border: 0; background: var(--gold); color: #18130a; text-transform: uppercase; letter-spacing: .15em; font-size: 9px; writing-mode: vertical-rl; cursor: pointer; }
.contact-panel { position: fixed; z-index: 100; inset: 0 0 0 auto; width: min(470px,100%); padding: 38px; overflow-y: auto; background: var(--paper-2); box-shadow: -20px 0 80px rgba(0,0,0,.34); opacity: 0; transform: translateX(104%); pointer-events: none; transition: transform .34s cubic-bezier(.22,.8,.24,1), opacity .22s ease; }
.contact-panel.is-open { opacity: 1; transform: translateX(0); pointer-events: auto; }
.contact-panel-head { display: flex; justify-content: space-between; gap: 20px; }
.contact-panel-head h2 { margin: 0; font-family: var(--display); font-size: 38px; font-weight: 500; line-height: 1.05; letter-spacing: -.04em; }
.contact-panel-close { border: 0; background: transparent; font-size: 30px; cursor: pointer; }
.contact-panel > p { color: var(--muted); line-height: 1.6; }
.quick-contact-form { margin-top: 28px; display: grid; gap: 18px; }
.quick-contact-form input, .quick-contact-form textarea { width: 100%; padding: 12px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; outline: 0; resize: vertical; }
.quick-contact-form input:focus, .quick-contact-form textarea:focus { border-color: var(--gold-dark); }
.quick-contact-form small { color: var(--muted); font-size: 9px; line-height: 1.5; }

@media (max-width: 1020px) {
  .hero-content { grid-template-columns: minmax(0,1fr) minmax(350px,.7fr); gap: 45px; }
  .hero-lead { white-space: normal; }
  .voice-grid { grid-template-columns: 1fr 1fr; }
  .testimonial-grid { grid-template-columns: 1fr; }
  .testimonial-card { display: grid; grid-template-columns: .65fr 1fr; }
  .client-portrait { height: 100%; aspect-ratio: auto; }
  .testimonial-card blockquote { min-height: 0; }
  .newsletter-inner { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 860px) {
  .hero-content { grid-template-columns: 1fr; }
  .hero-editorial { height: min(105vw,620px); margin-bottom: 45px; }
  .finder-head { text-align: left; }
  .topic-grid { grid-template-columns: 1fr; }
  .voices-head, .client-proof-head { grid-template-columns: 1fr; gap: 25px; }
  .voices-head .eyebrow { grid-column: auto; margin-bottom: 0; }
  .voices-head > p:last-child, .client-proof-head > p { justify-self: start; }
  .fictional-logos { grid-template-columns: repeat(3,1fr); }
  .team-portraits article:nth-child(2), .team-portraits article:nth-child(3) { margin-top: 0; }
}

@media (max-width: 580px) {
  .hero h1 { font-size: clamp(48px,14vw,66px); }
  .hero-editorial { height: 118vw; }
  .hero-editorial-main { left: 38px; bottom: 38px; }
  .hero-editorial-inset { width: 43%; }
  .hero-editorial-note { width: 67%; padding: 18px; }
  .hero-editorial-note strong { font-size: 19px; }
  .finder-card { margin-inline: 0; }
  .finder-options { grid-template-columns: 1fr; }
  .topic-card { min-height: 285px; }
  .voice-grid { grid-template-columns: 1fr; }
  .voice-grid article { min-height: 150px; }
  .team-portraits { grid-template-columns: repeat(3,1fr); }
  .team-portraits article:first-child { grid-column: auto; }
  .team-portraits h3 { font-size: 20px; }
  .team-portraits p { font-size: 8px; }
  .fictional-logos { grid-template-columns: 1fr 1fr; gap: 22px; }
  .testimonial-card { display: block; }
  .client-portrait { aspect-ratio: 1.35 / 1; }
  .newsletter-form { grid-template-columns: 1fr; }
  .newsletter-form .button, .newsletter-form small { grid-column: auto; }
  .contact-trigger { top: auto; right: 14px; bottom: 18px; writing-mode: initial; }
  .contact-panel { padding: 28px 22px; }
}

/* Revision 04 — browser feedback: tighter service copy, visual process and editorial polish */
.utility-bar {
  grid-template-columns: auto auto auto;
  justify-content: center;
  gap: clamp(38px, 7vw, 118px);
}
.utility-bar > span:first-child,
.utility-bar > span:last-child,
.utility-bar > a { justify-self: auto; }

.hero-actions,
.hero-actions .button { width: min(100%, 372px); }
.hero-actions .button { min-width: 0; }
.speaker-overview-link { font-size: 17px; font-weight: 500; }

.load-more-speakers {
  margin: 46px auto 0;
  padding: 13px 2px 9px;
  border: 0;
  border-bottom: 1px solid currentColor;
  display: flex;
  align-items: center;
  gap: 12px;
  background: transparent;
  color: var(--gold-dark);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
}
.load-more-speakers span { font-size: 17px; transition: transform .25s ease; }
.load-more-speakers:hover span { transform: translateY(4px); }

.topic-card {
  min-height: 0;
  padding: 0;
  display: block;
  overflow: hidden;
  background: #151513;
}
.topic-card > img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: 50% 24%;
  filter: saturate(.66) contrast(1.04);
  transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .45s ease;
}
.topic-card:nth-child(2) > img { object-position: 50% 22%; }
.topic-card:nth-child(3) > img { object-position: 50% 22%; }
.topic-card:nth-child(4) > img { object-position: 50% 23%; }
.topic-card:hover > img { transform: scale(1.025); filter: saturate(.88); }
.topic-card-copy { min-height: 255px; padding: clamp(27px, 3vw, 45px); display: flex; flex-direction: column; align-items: flex-start; }
.topic-card-copy > span { color: var(--gold); text-transform: uppercase; letter-spacing: .19em; font-size: 9px; }
.topic-card-copy h3 { margin: auto 0 14px; }
.topic-card-copy p { margin-bottom: 0; white-space: nowrap; }

.voices-head .eyebrow { align-self: start; }
.voices-head h2 { font-size: clamp(44px, 4.7vw, 72px); }

.process-intro { margin-bottom: 85px; }
.process-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 82px clamp(34px, 5vw, 82px); align-items: start; }
.process-card { border-top: 1px solid rgba(200,154,67,.5); }
.process-card:nth-child(even) { margin-top: 105px; }
.process-image {
  width: 100%;
  aspect-ratio: 2 / 1;
  display: block;
  background-image: url('assets/process-storyboard.png');
  background-repeat: no-repeat;
  background-size: 400% auto;
  filter: saturate(.8) contrast(1.03);
}
.process-image--one { background-position: 0 0; }
.process-image--two { background-position: 33.333% 0; }
.process-image--three { background-position: 66.667% 0; }
.process-image--four { background-position: 100% 0; }
.process-image--five { background-position: 0 100%; }
.process-image--six { background-position: 33.333% 100%; }
.process-image--seven { background-position: 66.667% 100%; }
.process-card > div { padding: 24px 2px 0; }
.process-number {
  width: 34px;
  height: 34px;
  margin-bottom: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--gold);
  color: #18130a;
  font-size: 9px;
  font-weight: 700;
}
.process-card h3 { margin: 0; font-family: var(--display); font-size: clamp(25px, 2.25vw, 35px); font-weight: 500; letter-spacing: -.035em; }
.process-card p { max-width: 620px; margin: 13px 0 0; color: #aaa69e; line-height: 1.65; }

.values-section { padding-block: 68px; background: #eee9df; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.values-grid { grid-template-columns: 1.1fr repeat(4, 1fr); gap: 0; align-items: stretch; }
.values-grid .eyebrow { padding-top: 0; display: flex; align-items: center; color: var(--gold-dark); }
.values-grid > p:not(.eyebrow) {
  position: relative;
  min-height: 100px;
  padding: 12px 20px 5px;
  border-left: 1px solid var(--line);
  display: flex;
  align-items: flex-end;
  font-family: var(--serif);
  font-size: clamp(31px, 3.2vw, 52px);
  line-height: .9;
  letter-spacing: -.045em;
}

.team-story h2 { font-family: var(--display); font-weight: 500; letter-spacing: -.065em; }
.team-story .arrow-link { margin-top: 24px; font-size: 17px; font-weight: 500; }
.team-link { margin-top: 12px; padding-bottom: 3px; border-bottom: 1px solid currentColor; display: inline-flex; color: var(--gold-dark); text-transform: uppercase; letter-spacing: .13em; font-size: 9px; font-weight: 600; }
.team-portraits article { display: flex; flex-direction: column; align-items: flex-start; }

.client-proof-head { align-items: end; }
.demo-disclaimer { max-width: 760px; margin: 28px 0 0 auto; color: #777168; font-size: 10px; line-height: 1.6; text-align: right; }

.contact-trigger { display: flex; align-items: center; gap: 8px; }
.contact-trigger span { color: #5b3b06; font-size: 14px; }
.contact-scrim { position: fixed; z-index: 90; inset: 0; border: 0; background: rgba(5,5,4,.7); opacity: 0; backdrop-filter: blur(4px); cursor: pointer; transition: opacity .26s ease; }
.contact-scrim.is-open { opacity: 1; }
.contact-panel { border-left: 4px solid var(--gold); }
.contact-direct { margin: 26px 0 4px; padding: 17px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.contact-direct span { color: var(--muted); text-transform: uppercase; letter-spacing: .13em; font-size: 9px; }
.contact-direct strong { font-family: var(--serif); font-size: 20px; font-weight: 400; }
.contact-direct:hover strong,
.contact-direct:focus-visible strong { color: var(--gold-dark); }
.contact-page-link { margin-top: 24px; padding: 15px 0 5px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--gold-dark); text-transform: uppercase; letter-spacing: .13em; font-size: 9px; font-weight: 700; }
.contact-page-link span { font-size: 17px; font-weight: 400; transition: transform .2s ease; }
.contact-page-link:hover span,
.contact-page-link:focus-visible span { transform: translateX(5px); }

@media (prefers-reduced-motion: reduce) {
  .contact-panel,
  .contact-scrim { transition-duration: 0s; }
}

@media (max-width: 860px) {
  .process-gallery { gap: 58px 26px; }
  .process-card:nth-child(even) { margin-top: 72px; }
  .values-grid { grid-template-columns: 1fr 1fr; }
  .values-grid .eyebrow { grid-column: 1 / 3; margin-bottom: 34px; }
  .values-grid > p:not(.eyebrow) { border-top: 1px solid var(--line); }
  .values-grid > p:nth-child(2), .values-grid > p:nth-child(4) { border-left: 0; }
}

@media (max-width: 580px) {
  .hero-actions { width: 100%; }
  .speaker-grid { overflow-x: visible; flex-wrap: wrap; margin-inline: 0; padding-inline: 0; }
  .speaker-card { min-width: 100%; }
  .topic-card-copy { min-height: 220px; }
  .topic-card-copy p { white-space: normal; }
  .voices-head h2 { font-size: 52px; }
  .process-gallery { grid-template-columns: 1fr; gap: 62px; }
  .process-card:nth-child(even) { margin-top: 0; }
  .process-image { aspect-ratio: 1.55 / 1; }
  .values-section { padding-block: 52px; }
  .values-grid > p:not(.eyebrow) { min-height: 112px; padding-inline: 14px; font-size: 35px; }
  .team-story h2 { font-size: clamp(50px, 14vw, 68px); }
  .team-link { font-size: 8px; }
  .demo-disclaimer { text-align: left; }
  .contact-trigger { writing-mode: initial; }
}

.overview-header { padding-block: 25px; background: var(--black); color: white; }
.overview-nav { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.speaker-overview-page { min-height: 80vh; }
.overview-hero { max-width: 1000px; margin-bottom: 75px; }
.overview-hero h1 { margin: 0; font-family: var(--display); font-size: clamp(68px, 9vw, 140px); font-weight: 500; line-height: .88; letter-spacing: -.065em; }
.overview-hero > p:last-child { max-width: 720px; margin: 35px 0 0; color: var(--muted); font-size: 17px; line-height: 1.75; }
.overview-cta { margin-top: clamp(90px, 10vw, 150px); padding: clamp(40px, 6vw, 80px); background: var(--black); color: white; }
.overview-cta h2 { max-width: 900px; margin: 0 0 38px; font-family: var(--display); font-size: clamp(42px, 5vw, 72px); font-weight: 500; line-height: .98; letter-spacing: -.05em; }
.overview-footer { padding-block: 27px; background: #181817; color: #aaa69e; font-size: 11px; }
.overview-footer > div { display: flex; justify-content: space-between; gap: 30px; }
.overview-footer a { color: var(--gold); }

@media (max-width: 580px) {
  .overview-nav .arrow-link { font-size: 11px; }
  .overview-hero { margin-bottom: 50px; }
  .overview-hero h1 { font-size: 64px; }
  .overview-cta { margin-inline: -20px; }
  .overview-footer > div { flex-direction: column; }
}

/* Revision 05 — animated request journey and personal enquiry module */
.process-intro h2 { max-width: 880px; }
.request-journey { padding-top: 22px; border-top: 1px solid rgba(255,255,255,.16); }
.journey-map { width: 100%; height: auto; display: block; overflow: visible; }
.journey-field { fill: none; stroke: rgba(200,154,67,.22); stroke-width: 2; }
.journey-field .journey-tactic { stroke: rgba(200,154,67,.44); stroke-dasharray: 6 10; }
.journey-route {
  fill: none;
  stroke: #f4efe5;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 1500;
  stroke-dashoffset: 1500;
}
.request-journey.is-visible .journey-route { animation: journey-draw 2.8s .15s cubic-bezier(.2,.75,.25,1) forwards; }
.journey-point { fill: #171715; stroke: #f4efe5; stroke-width: 3; }
.journey-ball > circle:first-child { fill: var(--gold); stroke: #f4efe5; stroke-width: 2; }
.journey-ball > circle:nth-child(2) { fill: #171715; }
@keyframes journey-draw { to { stroke-dashoffset: 0; } }

.journey-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: clamp(32px, 6vw, 95px); }
.journey-steps article { position: relative; min-height: 205px; padding: 24px 60px 10px 0; border-top: 1px solid rgba(255,255,255,.15); }
.journey-kicker { padding-bottom: 3px; border-bottom: 1px solid var(--gold); color: #eee9df; font-family: var(--serif); font-size: 18px; font-style: italic; }
.journey-index { position: absolute; top: 6px; right: 0; color: rgba(255,255,255,.1); font-family: var(--serif); font-size: 72px; line-height: 1; }
.journey-steps h3 { max-width: 360px; margin: 24px 0 10px; font-family: var(--display); font-size: clamp(23px, 2.2vw, 33px); font-weight: 500; line-height: 1.08; letter-spacing: -.035em; }
.journey-steps p { max-width: 420px; margin: 0; color: #aaa69e; line-height: 1.65; }

.request-section { padding-block: clamp(85px, 10vw, 150px); background: #0b0b0a; text-align: left; }
.request-shell { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(390px,.92fr); padding-inline: var(--pad); }
.request-form-pane,
.request-team-pane { min-width: 0; border: 1px solid rgba(200,154,67,.32); }
.request-form-pane { padding: clamp(34px, 5vw, 72px); background: #171512; color: white; }
.request-form-pane > h2 { margin: 0; font-family: var(--serif); font-size: clamp(52px, 5.6vw, 82px); font-weight: 400; line-height: .95; letter-spacing: -.04em; }
.request-lead { max-width: 720px; margin: 18px 0 38px; color: #b9b2a5; font-size: 16px; line-height: 1.65; }

.request-progress { margin: 0 0 38px; padding: 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; list-style: none; }
.request-progress li { padding: 0 0 14px; border-bottom: 2px solid rgba(255,255,255,.13); display: flex; align-items: center; gap: 12px; color: #918a80; }
.request-progress li span { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.09); color: white; font-size: 12px; }
.request-progress li strong { font-size: 13px; letter-spacing: .03em; }
.request-progress li.is-active { border-color: var(--gold); color: white; }
.request-progress li.is-active span { background: var(--gold); color: #17120b; }
.request-progress li.is-complete { border-color: rgba(200,154,67,.55); color: #d5cdbf; }

.request-step { margin: 0; padding: 0; border: 0; }
.request-step legend { width: 100%; margin: 0 0 26px; padding: 0; font-family: var(--display); font-size: clamp(25px, 2.5vw, 35px); font-weight: 500; letter-spacing: -.035em; }
.request-step label { margin-bottom: 22px; display: block; }
.request-step label > span { margin-bottom: 9px; display: block; color: #dcd5ca; font-size: 12px; font-weight: 600; }
.request-step input,
.request-step select,
.request-step textarea {
  width: 100%;
  padding: 15px 16px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 0;
  background: #11100e;
  color: white;
  outline: 0;
}
.request-step select { min-height: 55px; }
.request-step textarea { min-height: 138px; resize: vertical; }
.request-step input:focus,
.request-step select:focus,
.request-step textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 1px var(--gold); }
.request-step input::placeholder,
.request-step textarea::placeholder { color: #716c65; }
.request-step option { background: #171512; color: white; }
.request-step > .request-next { min-width: 230px; margin-top: 8px; }
.request-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.request-actions { margin-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.request-back { padding: 12px 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: #a9a39a; cursor: pointer; }
.request-step > small { margin-top: 18px; display: block; color: #7f7a72; font-size: 9px; }
.request-complete { padding: 38px 0 20px; }
.request-complete h3 { margin: 0; font-family: var(--serif); font-size: clamp(42px, 4vw, 60px); font-weight: 400; }
.request-complete > p:not(.eyebrow) { max-width: 600px; color: #b9b2a5; line-height: 1.7; }
.request-restart { border-top: 0; border-left: 0; border-right: 0; background: transparent; cursor: pointer; }

.request-team-pane { position: relative; padding: clamp(26px, 3vw, 46px); display: flex; flex-direction: column; justify-content: space-between; background: #11110f; color: white; }
.request-team-portraits { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.request-team-portraits figure { margin: 0; }
.request-team-portraits .team-crop { aspect-ratio: 4 / 5; border-color: rgba(255,255,255,.18); }
.request-team-portraits figcaption { margin-top: 9px; color: #aaa69e; font-family: var(--serif); font-size: 15px; }
.request-team-copy { padding-top: clamp(48px, 7vw, 110px); }
.request-team-copy h3 { max-width: 620px; margin: 0; font-family: var(--serif); font-size: clamp(48px, 5vw, 76px); font-weight: 400; line-height: .94; letter-spacing: -.045em; }
.request-team-copy > p:not(.eyebrow) { max-width: 620px; margin: 22px 0 34px; color: #b9b5ad; font-size: 16px; line-height: 1.65; }
.request-team-copy > a { padding: 17px 0; border-top: 1px solid rgba(255,255,255,.22); border-bottom: 1px solid rgba(255,255,255,.22); display: grid; grid-template-columns: 1fr auto; gap: 6px 18px; }
.request-team-copy > a { color: #aaa69e; text-transform: uppercase; letter-spacing: .13em; font-size: 9px; }
.request-team-copy > a strong { grid-row: 2; color: white; font-family: var(--serif); font-size: 22px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.request-team-copy > a span { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--gold); font-size: 22px; }

@media (max-width: 1020px) {
  .request-shell { grid-template-columns: 1fr; }
  .request-team-pane { min-height: 570px; }
  .request-team-copy { padding-top: 60px; }
}

@media (max-width: 760px) {
  .journey-map { margin-block: 20px 34px; }
  .journey-steps { grid-template-columns: 1fr; gap: 0; padding-left: 24px; border-left: 1px solid rgba(200,154,67,.45); }
  .journey-steps article { min-height: 0; padding: 28px 65px 34px 0; }
  .request-field-grid { grid-template-columns: 1fr; gap: 0; }
}

@media (max-width: 580px) {
  .journey-map { display: none; }
  .request-journey { padding-top: 26px; }
  .request-shell { padding-inline: var(--pad); }
  .request-form-pane,
  .request-team-pane { padding: 28px 20px; }
  .request-progress { gap: 8px; }
  .request-progress li { gap: 7px; }
  .request-progress li span { width: 28px; height: 28px; }
  .request-progress li strong { font-size: 10px; }
  .request-step > .request-next,
  .request-actions .button { width: 100%; }
  .request-actions { align-items: stretch; flex-direction: column-reverse; }
  .request-back { align-self: flex-start; }
  .request-team-pane { min-height: 0; }
  .request-team-portraits { gap: 7px; }
  .request-team-portraits figcaption { font-size: 12px; }
  .request-team-copy { padding-top: 55px; }
  .request-team-copy h3 { font-size: 48px; }
}

@media (prefers-reduced-motion: reduce) {
  .journey-ball { display: none; }
  .journey-route { stroke-dashoffset: 0; animation: none !important; }
}

/* Revision 06 — verified partner voices */
.partner-grid { margin-top: 70px; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.partner-card { min-width: 0; min-height: 535px; padding: clamp(28px, 3vw, 42px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; background: var(--paper-2); }
.partner-logo { height: 112px; padding: 12px 15px 27px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: center; overflow: hidden; background: white; }
.partner-logo img { width: auto; max-width: 100%; object-fit: contain; }
.partner-logo--bank img { width: min(100%, 270px); }
.partner-logo--ntt img { width: min(100%, 260px); height: 72px; object-fit: cover; object-position: center; }
.partner-logo--content img { width: 210px; height: 78px; object-fit: cover; object-position: center; }
.partner-card blockquote { margin: 34px 0 42px; font-family: var(--serif); font-size: clamp(22px, 1.8vw, 28px); line-height: 1.35; }
.partner-card > p { margin: auto 0 0; padding-top: 22px; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 4px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.partner-card > p strong { margin-bottom: 3px; color: var(--ink); font-family: var(--display); font-size: 15px; font-weight: 600; }

@media (max-width: 1020px) {
  .partner-grid { grid-template-columns: 1fr; }
  .partner-card { min-height: 0; }
  .partner-card blockquote { max-width: 820px; }
}

@media (max-width: 580px) {
  .partner-grid { margin-top: 48px; }
  .partner-card { padding: 24px 20px; }
  .partner-card blockquote { margin-block: 28px 35px; font-size: 23px; }
}

/* Revision 07 — portrait-led speaker enquiry */
.request-shell { grid-template-columns: minmax(0,1.16fr) minmax(430px,.84fr); align-items: stretch; }
.request-portrait-pane { position: relative; min-width: 0; min-height: 820px; border: 1px solid rgba(200,154,67,.32); border-left: 0; overflow: hidden; background: #22252a; color: white; }
.request-portrait-pane > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 12%; filter: saturate(.82) contrast(1.02); }
.request-portrait-pane::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,8,7,.04) 25%, rgba(8,8,7,.2) 52%, rgba(8,8,7,.95) 100%); }
.request-portrait-tag { position: absolute; z-index: 2; top: 28px; right: 0; padding: 11px 18px; background: var(--gold); color: #1a1409; text-transform: uppercase; letter-spacing: .16em; font-size: 9px; font-weight: 700; }
.request-portrait-copy { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; padding: clamp(34px, 4vw, 58px); }
.request-portrait-copy .eyebrow--gold { width: max-content; margin-bottom: 16px; padding: 8px 10px 7px; background: rgba(8,8,7,.72); color: #efc465; font-size: 10px; box-shadow: 0 0 0 1px rgba(239,196,101,.3); }
.request-portrait-copy h3 { max-width: 600px; margin: 0; font-family: var(--serif); font-size: clamp(48px, 4.7vw, 72px); font-weight: 400; line-height: .94; letter-spacing: -.045em; }
.request-portrait-copy > p:not(.eyebrow) { max-width: 630px; margin: 20px 0 31px; color: #d0cbc2; font-size: 15px; line-height: 1.65; }
.request-portrait-copy > a { padding: 16px 0; border-top: 1px solid rgba(255,255,255,.3); border-bottom: 1px solid rgba(255,255,255,.3); display: grid; grid-template-columns: 1fr auto; gap: 6px 18px; color: #bab5ad; text-transform: uppercase; letter-spacing: .13em; font-size: 9px; }
.request-portrait-copy > a strong { grid-row: 2; color: white; font-family: var(--serif); font-size: 22px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.request-portrait-copy > a span { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--gold); font-size: 22px; }

@media (max-width: 1020px) {
  .request-shell { grid-template-columns: 1fr; }
  .request-portrait-pane { min-height: min(1050px, 125vw); border-left: 1px solid rgba(200,154,67,.32); border-top: 0; }
  .request-portrait-pane > img { object-position: 50% 16%; }
}

@media (max-width: 580px) {
  .request-portrait-pane { min-height: 690px; }
  .request-portrait-pane > img { object-position: 50% 10%; }
  .request-portrait-tag { top: 18px; padding: 9px 12px; font-size: 8px; }
  .request-portrait-copy { padding: 30px 20px; }
  .request-portrait-copy h3 { font-size: 45px; }
  .request-portrait-copy > p:not(.eyebrow) { font-size: 14px; }
}

/* Revision 08 — dynamic hero speaker curation */
.hero-editorial figure .hero-slide-layer { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; transform: scale(1.035); transition: opacity .9s ease, transform 5.6s cubic-bezier(.2,.65,.25,1); will-change: opacity, transform; }
.hero-editorial figure .hero-slide-layer.is-active { z-index: 1; opacity: 1; transform: scale(1); }
.hero-editorial-main::after { z-index: 2; }
.hero-slide-toggle { position: absolute; z-index: 4; top: 14px; right: 14px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.58); background: rgba(10,10,9,.6); color: white; text-transform: uppercase; letter-spacing: .14em; font-size: 8px; cursor: pointer; backdrop-filter: blur(5px); }
.hero-slide-toggle:hover,
.hero-slide-toggle:focus-visible { border-color: var(--gold); color: var(--gold); }
@media (prefers-reduced-motion: reduce) {
  .hero-editorial figure .hero-slide-layer { transition: none; }
  .hero-slide-toggle { display: none; }
}

/* Revision 09 — structured footer with a dedicated address column */
.footer-grid {
  grid-template-columns: minmax(245px,1.28fr) .68fr .74fr minmax(185px,.92fr) minmax(220px,1fr);
  gap: clamp(28px,3.2vw,58px);
  align-items: start;
  padding-top: 50px;
}
.footer-brand-block {
  min-height: 180px;
  padding-right: clamp(22px,2.8vw,46px);
  border-right: 1px solid rgba(255,255,255,.13);
  gap: 0 !important;
}
.footer-brand-block > p {
  max-width: 250px;
  margin-top: 28px !important;
  font-size: 20px !important;
  line-height: 1.32;
}
.footer-address { gap: 0 !important; }
.footer-address address { margin: 3px 0 0; color: #85817a; font-size: 12px; font-style: normal; line-height: 1.72; }
.footer-address address strong { margin-bottom: 10px; display: block; color: #d7d3cb; font-size: 13px; font-weight: 500; line-height: 1.35; }
.footer-address address span { display: block; }
.footer-team {
  min-height: 180px;
  padding-left: clamp(22px,2.8vw,46px);
  border-left: 1px solid rgba(255,255,255,.13);
  gap: 0 !important;
}
.footer-bottom { display: grid; grid-template-columns: 1fr auto auto; gap: clamp(28px,4vw,68px); align-items: center; }
.footer-legal { display: flex; gap: 25px; }
.footer-bottom a { color: #85817a; transition: color .2s ease; }
.footer-bottom a:hover,
.footer-bottom a:focus-visible { color: white; }

@media (max-width: 1180px) {
  .footer-grid { grid-template-columns: 1.25fr repeat(3,1fr); }
  .footer-team { grid-column: 1 / -1; min-height: 0; padding: 30px 0 0; border-top: 1px solid rgba(255,255,255,.13); border-left: 0; display: grid !important; grid-template-columns: auto 1fr; column-gap: 20px; align-items: center; }
  .footer-team > p { margin: 0 !important; }
}

@media (max-width: 860px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand-block { grid-column: 1 / -1; min-height: 0; padding: 0 0 38px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.13); }
  .footer-address { padding-top: 8px; }
  .footer-team { grid-column: auto; padding-top: 8px; border-top: 0; display: flex !important; align-items: flex-start; }
  .footer-bottom { grid-template-columns: 1fr auto; }
  .footer-legal { grid-row: 2; }
  .footer-bottom > a:last-child { grid-column: 2; grid-row: 1 / 3; }
}

@media (max-width: 580px) {
  .footer-grid { grid-template-columns: 1fr; gap: 38px; }
  .footer-brand-block,
  .footer-team { grid-column: auto; }
  .footer-team { padding-top: 30px; border-top: 1px solid rgba(255,255,255,.13); }
  .footer-bottom { grid-template-columns: 1fr auto; gap: 16px 24px; }
  .footer-legal { gap: 18px; }
}

/* Revision 10 — supplied family portraits */
.team-avatar,
.team-crop {
  background-repeat: no-repeat;
  background-size: cover;
}
.team-avatar--urs,
.team-crop--urs { background-image: url('assets/team-urs.png'); background-position: 50% 35%; }
.team-avatar--andrea,
.team-crop--andrea { background-image: url('assets/team-andrea.png'); background-position: 50% 43%; }
.team-avatar--lara,
.team-crop--lara { background-image: url('assets/team-lara.png'); background-position: 50% 30%; }
.team-crop { filter: saturate(.9) contrast(1.015); }

/* Revision 11 — finishing pass from the public review */
.button > span {
  font-size: 22px;
  line-height: 0;
  transform: translateY(-1px);
  transition: transform .2s ease;
}
.button:hover > span,
.button:focus-visible > span { transform: translate(5px,-1px); }

.speaker-image .speaker-meta small { font-size: 13px; line-height: 1.35; }

.topic-card:nth-child(1) > img { object-position: 50% 7%; }
.topic-card:nth-child(2) > img { object-position: 50% 8%; }
.topic-card:nth-child(3) > img { object-position: 50% 20%; }
.topic-card:nth-child(4) > img { object-position: 50% 18%; }

.values-grid .eyebrow {
  padding: 12px 20px 12px 0;
  align-items: flex-end;
}

.partner-card blockquote { flex: 1 1 auto; }
.partner-card > p {
  min-height: 105px;
  margin: 0;
}

.request-portrait-copy > p:not(.eyebrow) {
  max-width: 590px;
  font-size: 16px;
  line-height: 1.72;
}

@media (max-width: 1020px) {
  .partner-card > p { min-height: 0; }
}

@media (max-width: 860px) {
  .values-grid .eyebrow {
    padding: 0;
    align-items: flex-start;
  }
}

@media (max-width: 580px) {
  .request-portrait-copy > p:not(.eyebrow) { font-size: 14px; }
}

/* Revision 12 — dedicated speaker directory */
.desktop-nav > a.is-current::after { right: 0; }
.directory-page { background: var(--paper-2); }
.directory-hero { min-height: 690px; display: flex; align-items: stretch; overflow: hidden; background: var(--black); color: white; }
.directory-hero-grid { display: grid; grid-template-columns: minmax(0,.92fr) minmax(520px,1.08fr); gap: clamp(55px,8vw,130px); align-items: center; }
.directory-hero-copy { padding-block: clamp(75px,9vw,135px); }
.directory-hero-copy h1 { margin: 0; max-width: 780px; font-family: var(--display); font-size: clamp(64px,6.8vw,108px); font-weight: 500; line-height: .9; letter-spacing: -.065em; }
.directory-hero-copy > p:not(.eyebrow) { max-width: 620px; margin: 32px 0 28px; color: #c8c4bc; font-size: 18px; line-height: 1.7; }
.directory-hero-mosaic { height: 540px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; transform: rotate(1.5deg); }
.directory-hero-mosaic figure { margin: 0; overflow: hidden; background: #2c2c2a; }
.directory-hero-mosaic figure:nth-child(2) { margin-block: 38px -38px; }
.directory-hero-mosaic figure:nth-child(3) { margin-block: -30px 30px; }
.directory-hero-mosaic img { height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.03); }
.directory-hero-mosaic figure:nth-child(1) img { object-position: 50% 20%; }
.directory-hero-mosaic figure:nth-child(2) img { object-position: 50% 22%; }
.directory-hero-mosaic figure:nth-child(3) img { object-position: 50% 22%; }

.directory-section { padding-block: clamp(90px,10vw,155px); background: var(--paper-2); }
.directory-intro { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(55px,8vw,130px); align-items: end; }
.directory-intro h2 { max-width: 760px; margin: 0; font-family: var(--display); font-size: clamp(44px,4.4vw,68px); font-weight: 500; line-height: .98; letter-spacing: -.05em; }
.directory-intro > p { max-width: 540px; margin: 0 0 6px; justify-self: end; color: var(--muted); font-size: 16px; line-height: 1.75; }
.directory-tools { margin-top: 74px; padding: 27px 0 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: grid; grid-template-columns: minmax(280px,.72fr) 1.28fr; gap: clamp(40px,6vw,90px); align-items: end; }
.directory-search > span:first-child { display: block; margin-bottom: 11px; color: var(--gold-dark); text-transform: uppercase; letter-spacing: .17em; font-size: 9px; font-weight: 700; }
.directory-search-field { display: flex; align-items: center; border-bottom: 1px solid var(--ink); }
.directory-search-field input { width: 100%; height: 47px; padding: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font-family: var(--display); font-size: 22px; }
.directory-search-field input::placeholder { color: #8a857d; }
.directory-search-field b { color: var(--gold-dark); font-size: 24px; font-weight: 400; }
.directory-filter-group > span { display: block; margin-bottom: 11px; color: var(--gold-dark); text-align: right; text-transform: uppercase; letter-spacing: .17em; font-size: 9px; font-weight: 700; }
.directory-filters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.directory-filters button { min-height: 40px; padding: 0 16px; border: 1px solid var(--line); background: transparent; color: #5f5b54; cursor: pointer; font-size: 11px; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.directory-filters button:hover,
.directory-filters button:focus-visible { border-color: var(--gold-dark); color: var(--ink); }
.directory-filters button.is-active { border-color: var(--ink); background: var(--ink); color: white; }
.directory-result-line { padding: 28px 0 17px; display: flex; gap: 30px; color: var(--muted); font-size: 11px; }
.directory-result-line span { color: var(--ink); font-weight: 600; }
.directory-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 60px 18px; }
.directory-speaker { min-width: 0; scroll-margin-top: 130px; }
.directory-speaker:target .directory-speaker-image { outline: 2px solid var(--gold); outline-offset: 4px; }
.directory-speaker[hidden] { display: none; }
.directory-speaker-image { position: relative; aspect-ratio: 4 / 5.15; overflow: hidden; background: #d8d2c7; }
.directory-speaker-image::after { content: ""; position: absolute; inset: 58% 0 0; background: linear-gradient(transparent,rgba(5,5,4,.4)); pointer-events: none; }
.directory-speaker-image > a { display: block; height: 100%; }
.directory-speaker-image img { height: 100%; object-fit: cover; filter: saturate(.82); transition: transform .65s cubic-bezier(.2,.7,.2,1), filter .4s ease; }
.directory-speaker:hover .directory-speaker-image img { transform: scale(1.025); filter: saturate(1); }
.directory-speaker-image--rolf img { object-position: 50% 18%; }
.directory-speaker-image--jean img { object-position: 50% 19%; }
.directory-speaker-image--deniz img { object-position: 50% 14%; }
.directory-speaker-image--cathy img { object-position: 50% 20%; }
.directory-speaker-image--marcel img { object-position: 50% 20%; }
.directory-speaker-image--martin img { object-position: 50% 18%; }
.directory-speaker-copy { padding-top: 18px; }
.directory-speaker-copy h3 { margin: 0; font-family: var(--display); font-size: clamp(24px,2vw,32px); font-weight: 500; line-height: 1; letter-spacing: -.04em; }
.directory-speaker-copy small { min-height: 39px; margin-top: 9px; display: block; color: #4e4a43; font-size: 13px; font-weight: 500; line-height: 1.45; }
.directory-speaker-copy a { margin-top: 15px; padding-bottom: 4px; border-bottom: 1px solid currentColor; display: inline-flex; gap: 13px; color: var(--gold-dark); text-transform: uppercase; letter-spacing: .14em; font-size: 9px; font-weight: 700; }
.directory-speaker-copy a span { font-size: 16px; line-height: .7; transition: transform .2s ease; }
.directory-speaker-copy a:hover span { transform: translateX(4px); }
.directory-empty { margin-top: 25px; padding: 55px; border: 1px solid var(--line); text-align: center; }
.directory-empty p { margin: 0 0 10px; font-family: var(--display); font-size: 28px; }
.directory-empty span { color: var(--muted); }

.directory-advice { padding-block: clamp(85px,9vw,140px); background: #151513; color: white; }
.directory-advice-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(60px,9vw,150px); align-items: end; }
.directory-advice h2 { max-width: 820px; margin: 0; font-family: var(--display); font-size: clamp(48px,5.4vw,84px); font-weight: 500; line-height: .95; letter-spacing: -.055em; }
.directory-advice-grid > div:last-child > p { max-width: 560px; margin: 0 0 31px; color: #b6b2aa; font-size: 16px; line-height: 1.72; }

@media (max-width: 1180px) {
  .directory-hero-grid { grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr); gap: 48px; }
}

@media (max-width: 860px) {
  .directory-hero { min-height: 0; }
  .directory-hero-grid { grid-template-columns: 1fr; padding-bottom: 75px; }
  .directory-hero-copy { padding-bottom: 10px; }
  .directory-hero-mosaic { height: min(76vw,560px); }
  .directory-intro,
  .directory-advice-grid { grid-template-columns: 1fr; gap: 30px; }
  .directory-intro > p { justify-self: start; }
  .directory-tools { grid-template-columns: 1fr; gap: 28px; }
  .directory-filter-group > span { text-align: left; }
  .directory-filters { justify-content: flex-start; }
  .directory-grid { grid-template-columns: repeat(2,1fr); gap: 52px 18px; }
}

@media (max-width: 580px) {
  .directory-hero-copy h1 { font-size: clamp(54px,15vw,76px); }
  .directory-hero-copy > p:not(.eyebrow) { font-size: 16px; }
  .directory-hero-mosaic { height: 118vw; gap: 5px; }
  .directory-hero-mosaic figure:nth-child(2) { margin-block: 22px -22px; }
  .directory-hero-mosaic figure:nth-child(3) { margin-block: -18px 18px; }
  .directory-intro h2 { font-size: 44px; }
  .directory-tools { margin-top: 52px; }
  .directory-filters { gap: 7px; }
  .directory-filters button { min-height: 38px; padding-inline: 12px; }
  .directory-result-line { align-items: flex-start; flex-direction: column; gap: 7px; }
  .directory-grid { grid-template-columns: 1fr; gap: 55px; }
  .directory-speaker-image { aspect-ratio: 4 / 4.9; }
}

/* Revision 13 — editorial portrait composition with a fixed message */
.hero-editorial {
  isolation: isolate;
  height: 540px;
}

.hero-editorial::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  left: 38.5%;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(200,154,67,.7) 18%, rgba(200,154,67,.7) 82%, transparent);
}

.hero-editorial-main {
  position: absolute;
  inset: 0 0 0 42%;
  background: #171613;
}

.hero-editorial-main img {
  object-position: 50% 24%;
  filter: saturate(.78) contrast(1.02);
}

.hero-editorial-main::after {
  background: linear-gradient(180deg, transparent 63%, rgba(5,5,4,.32));
}

.hero-editorial-inset {
  position: absolute;
  z-index: 3;
  top: 36px;
  left: 0;
  bottom: auto;
  width: 35%;
  height: 58%;
  aspect-ratio: auto;
  border: 1px solid rgba(200,154,67,.48);
  background: #171613;
}

.hero-editorial-inset img {
  object-position: 50% 20%;
  filter: saturate(.72) contrast(1.03);
}

.hero-editorial-note {
  position: absolute;
  z-index: 6;
  left: 0;
  right: auto;
  bottom: 36px;
  width: 35%;
  min-height: 0;
  padding: 20px 0 0;
  display: block;
  overflow: visible;
  background: transparent;
  color: white;
  border: 0;
  border-top: 1px solid var(--gold);
  box-shadow: none;
  pointer-events: none;
  opacity: 1;
  transform: none;
  animation: none;
}

.hero-editorial-note::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -15px;
  width: 38px;
  height: 1px;
  background: rgba(200,154,67,.55);
}

.hero-editorial-note span {
  display: block;
  margin: 0;
  padding: 0;
  background: transparent;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: 8px;
  line-height: 1.3;
}

.hero-editorial-note strong {
  display: block;
  margin-top: 12px;
  padding: 0;
  background: transparent;
  color: #f4f0e8;
  font-family: var(--serif);
  font-size: clamp(20px, 1.65vw, 25px);
  font-weight: 400;
  line-height: 1.08;
}

.hero-slide-toggle {
  top: 12px;
  right: 12px;
  border-color: rgba(200,154,67,.58);
  background: rgba(8,8,7,.76);
  color: #d9d4ca;
  backdrop-filter: none;
}

@media (max-width: 860px) {
  .hero-editorial::before { left: 38.5%; }
  .hero-editorial-inset { width: 35%; }
  .hero-editorial-note { width: 35%; }
}

@media (max-width: 580px) {
  .hero-editorial {
    height: 118vw;
    min-height: 430px;
  }

  .hero-editorial::before {
    left: 34%;
  }

  .hero-editorial-main {
    inset: 0 0 0 38%;
  }

  .hero-editorial-inset {
    top: 24px;
    width: 31%;
    height: 54%;
  }

  .hero-editorial-note {
    bottom: 24px;
    width: 34%;
    padding-top: 15px;
  }

  .hero-editorial-note span {
    font-size: 7px;
  }

  .hero-editorial-note strong {
    margin-top: 9px;
    font-size: 18px;
  }
}

/* Revision 14 — standalone enquiry page */
.contact-bridge {
  padding-block: clamp(85px, 9vw, 135px);
  background: #0b0b0a;
  color: white;
}

.contact-bridge-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  gap: clamp(55px, 9vw, 150px);
  align-items: end;
}

.contact-bridge h2 {
  max-width: 900px;
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(54px, 6.2vw, 96px);
  font-weight: 400;
  line-height: .94;
  letter-spacing: -.05em;
}

.contact-bridge-inner > div:last-child > p {
  max-width: 590px;
  margin: 0 0 30px;
  color: #b9b5ad;
  font-size: 16px;
  line-height: 1.7;
}

.contact-page {
  background: var(--paper-2);
}

.contact-page-intro {
  padding-block: clamp(85px, 10vw, 155px);
  background: var(--paper-2);
}

.contact-page-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr);
  gap: clamp(55px, 9vw, 145px);
  align-items: end;
}

.contact-page-intro h1 {
  max-width: 980px;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(64px, 7.2vw, 112px);
  font-weight: 500;
  line-height: .91;
  letter-spacing: -.065em;
}

.contact-page-intro-copy > p {
  max-width: 560px;
  margin: 0 0 35px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.72;
}

.contact-page-intro-copy > a {
  padding: 18px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 7px 20px;
}

.contact-page-intro-copy > a span {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 9px;
}

.contact-page-intro-copy > a strong {
  grid-row: 2;
  font-family: var(--serif);
  font-size: 26px;
  font-weight: 400;
}

.contact-page-intro-copy > a b {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  color: var(--gold-dark);
  font-size: 24px;
  font-weight: 400;
  transition: transform .2s ease;
}

.contact-page-intro-copy > a:hover b,
.contact-page-intro-copy > a:focus-visible b {
  transform: translateX(5px);
}

.request-section--standalone {
  padding-block: clamp(70px, 8vw, 120px);
}

.contact-page .request-form-pane > h2 {
  max-width: 820px;
  font-size: clamp(44px, 4.6vw, 68px);
}

.contact-next {
  padding-block: clamp(90px, 10vw, 150px);
  background: var(--paper);
}

.contact-next-head {
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 60px;
}

.contact-next-head h2 {
  max-width: 850px;
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(50px, 5vw, 78px);
  font-weight: 400;
  line-height: .96;
  letter-spacing: -.045em;
}

.contact-next-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.contact-next-grid article {
  min-height: 260px;
  padding: 30px clamp(24px, 3vw, 48px) 36px 0;
}

.contact-next-grid article + article {
  padding-left: clamp(24px, 3vw, 48px);
  border-left: 1px solid var(--line);
}

.contact-next-grid span {
  color: var(--gold-dark);
  font-size: 10px;
  letter-spacing: .14em;
}

.contact-next-grid h3 {
  margin: 44px 0 12px;
  font-family: var(--serif);
  font-size: 32px;
  font-weight: 400;
}

.contact-next-grid p {
  max-width: 390px;
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

@media (max-width: 860px) {
  .contact-bridge-inner,
  .contact-page-intro-grid,
  .contact-next-head {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .contact-next-grid {
    grid-template-columns: 1fr;
  }

  .contact-next-grid article {
    min-height: 0;
    padding: 28px 0 32px;
  }

  .contact-next-grid article + article {
    padding-left: 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .contact-next-grid h3 {
    margin-top: 34px;
  }
}

@media (max-width: 580px) {
  .contact-page-intro h1 {
    font-size: clamp(54px, 15vw, 72px);
  }

  .contact-page-intro-copy > a strong {
    font-size: 22px;
  }

  .contact-bridge-inner > div:last-child > .button {
    width: 100%;
  }
}

/* Revision 15 — CI-aligned topic mega menu */
.nav-dropdown > button span {
  display: inline-block;
  transition: transform .2s ease;
}

.nav-dropdown.is-open > button span {
  transform: rotate(180deg);
}

.nav-dropdown-panel {
  position: fixed;
  z-index: 70;
  top: 116px;
  left: 0;
  width: 100vw;
  padding: 0;
  background: #121210;
  color: white;
  border-top: 1px solid rgba(200,154,67,.6);
  border-bottom: 1px solid rgba(200,154,67,.38);
  box-shadow: 0 34px 80px rgba(0,0,0,.42);
  white-space: normal;
  transform: translateY(-10px);
}

.nav-dropdown-panel::before {
  display: none;
}

.nav-mega-inner {
  width: min(100%, var(--width));
  margin-inline: auto;
  padding: 44px var(--pad) 46px;
  display: grid;
  grid-template-columns: minmax(300px, .62fr) minmax(0, 1.38fr);
  gap: clamp(55px, 8vw, 130px);
}

.nav-mega-intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.nav-dropdown-panel .nav-mega-intro > p {
  margin: 0 0 20px;
  color: var(--gold);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .22em;
}

.nav-mega-intro > strong {
  max-width: 460px;
  color: #f3efe7;
  font-family: var(--serif);
  font-size: clamp(34px, 3vw, 48px);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -.035em;
}

.desktop-nav .nav-dropdown-panel .nav-mega-all {
  min-width: 245px;
  margin-top: auto;
  padding: 15px 17px;
  border: 1px solid var(--gold);
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: white;
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.desktop-nav .nav-dropdown-panel .nav-mega-all:hover,
.desktop-nav .nav-dropdown-panel .nav-mega-all:focus-visible {
  background: var(--gold);
  color: #16120a;
}

.nav-mega-topics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(6, auto);
  grid-auto-flow: column;
  column-gap: clamp(45px, 7vw, 110px);
}

.desktop-nav .nav-dropdown-panel .nav-mega-topic {
  padding: 14px 4px;
  border-top: 0;
  border-bottom: 1px solid rgba(200,154,67,.35);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: #e5e1d9;
  font-family: var(--sans);
  font-size: clamp(15px, 1.15vw, 19px);
  line-height: 1.2;
}

.nav-mega-topic b {
  color: var(--gold);
  font-size: 20px;
  font-weight: 400;
  transition: transform .2s ease;
}

.desktop-nav .nav-dropdown-panel .nav-mega-topic:hover,
.desktop-nav .nav-dropdown-panel .nav-mega-topic:focus-visible {
  color: var(--gold);
}

.nav-mega-topic:hover b,
.nav-mega-topic:focus-visible b {
  transform: translateX(5px);
}

.mobile-menu {
  max-height: calc(100vh - 116px);
  overflow-y: auto;
}

.mobile-topic-list {
  border-bottom: 1px solid rgba(255,255,255,.16);
}

.mobile-topic-list summary {
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
  color: white;
  cursor: pointer;
  font-family: var(--serif);
  font-size: clamp(27px, 7vw, 42px);
  list-style: none;
}

.mobile-topic-list summary::-webkit-details-marker {
  display: none;
}

.mobile-topic-list summary span {
  color: var(--gold);
  font-family: var(--sans);
  font-size: 12px;
}

.mobile-topic-links {
  padding: 2px 0 20px 18px;
  border-left: 1px solid rgba(200,154,67,.55);
}

.mobile-menu .mobile-topic-links a {
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.35;
}

.mobile-menu .mobile-topic-links a span {
  font-size: 16px;
}

@media (max-width: 860px) {
  .mobile-menu {
    max-height: calc(100vh - 74px);
  }
}

/* Revision 16 — single-page enquiry form */
.contact-page .request-shell {
  grid-template-columns: minmax(0, 1.3fr) minmax(340px, .7fr);
}

.contact-page .request-form-pane {
  padding: clamp(42px, 5vw, 78px);
  background: #0e0d0c;
}

.contact-page .request-form-pane > h2 {
  max-width: none;
  font-family: var(--display);
  font-size: clamp(54px, 5vw, 76px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.045em;
  text-transform: uppercase;
}

.contact-page .request-lead {
  max-width: 850px;
  margin: 20px 0 clamp(46px, 6vw, 82px);
  padding-bottom: 32px;
  border-bottom: 1px solid rgba(255,255,255,.19);
  color: #918d87;
  font-size: clamp(17px, 1.45vw, 22px);
  line-height: 1.5;
}

.request-form--single {
  color-scheme: dark;
}

.request-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(34px, 5vw, 70px);
  row-gap: clamp(38px, 4vw, 58px);
}

.request-field {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.request-field--wide {
  grid-column: 1 / -1;
}

.request-field > span {
  margin-bottom: 13px;
  color: #f3f0ea;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  line-height: 1.35;
  text-transform: uppercase;
}

.request-field > span b,
.request-consent b {
  color: #efbd6c;
  font-weight: 700;
}

.request-form--single input:not([type="checkbox"]),
.request-form--single select,
.request-form--single textarea {
  width: 100%;
  min-height: 58px;
  padding: 13px 0;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.22);
  border-radius: 0;
  background: transparent;
  color: #f7f4ee;
  font-family: var(--sans);
  font-size: clamp(17px, 1.4vw, 21px);
  font-weight: 400;
  outline: 0;
  transition: border-color .2s ease, background-color .2s ease;
}

.request-form--single select {
  cursor: pointer;
}

.request-form--single textarea {
  min-height: 190px;
  resize: vertical;
}

.request-form--single input:not([type="checkbox"]):focus,
.request-form--single select:focus,
.request-form--single textarea:focus {
  border-color: var(--gold);
  background: linear-gradient(180deg, transparent 75%, rgba(200,154,67,.06));
  box-shadow: none;
}

.request-form--single option {
  background: #171512;
  color: white;
}

.request-submit-row {
  margin-top: clamp(50px, 6vw, 86px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, .72fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: end;
}

.request-consent {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 18px;
  align-items: start;
  color: #a6a19a;
  font-size: 15px;
  line-height: 1.6;
}

.request-consent input {
  width: 28px;
  height: 28px;
  margin: 2px 0 0;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 0;
  appearance: none;
  background: transparent;
  cursor: pointer;
}

.request-consent input:checked {
  border-color: var(--gold);
  background: var(--gold);
  box-shadow: inset 0 0 0 6px #0e0d0c;
}

.request-consent input:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

.request-consent a {
  color: #e9bd73;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.request-submit {
  width: 100%;
  min-height: 72px;
  justify-content: space-between;
}

.request-submit span {
  font-size: 20px;
}

.request-privacy-note {
  margin-top: 20px;
  display: block;
  color: #706c66;
  font-size: 10px;
  letter-spacing: .04em;
}

.contact-page .request-portrait-pane {
  min-height: 100%;
}

.contact-next-grid h3 {
  margin-top: 42px;
}

@media (max-width: 1100px) {
  .contact-page .request-shell {
    grid-template-columns: 1fr;
  }

  .contact-page .request-portrait-pane {
    min-height: min(900px, 100vw);
    border-top: 0;
    border-left: 1px solid rgba(200,154,67,.32);
  }
}

@media (max-width: 700px) {
  .contact-page .request-form-pane {
    padding: 34px 22px 42px;
  }

  .request-form-grid,
  .request-submit-row {
    grid-template-columns: 1fr;
  }

  .request-form-grid {
    row-gap: 34px;
  }

  .request-field--wide {
    grid-column: auto;
  }

  .request-submit-row {
    gap: 34px;
  }

  .request-consent {
    font-size: 14px;
  }

  .contact-page .request-portrait-pane {
    min-height: 690px;
  }
}

/* Revision 18 — Rolf Schmiel speaker profile */
.profile-page { background: var(--paper-2); }
.profile-hero { overflow: hidden; background: var(--black); color: white; }
.profile-hero-grid { min-height: clamp(700px, calc(100vh - 116px), 880px); padding-top: clamp(26px, 2.4vw, 40px); display: grid; grid-template-columns: minmax(430px, .83fr) minmax(520px, 1.17fr); gap: clamp(40px, 6vw, 100px); align-items: stretch; }
.profile-hero-copy { position: relative; z-index: 2; padding: clamp(62px, 8vh, 108px) 0 76px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.profile-back { position: absolute; top: 34px; left: 0; color: #9d9991; font-size: 12px; letter-spacing: .06em; }
.profile-back span { margin-right: 8px; color: var(--gold); transition: transform .2s ease; }
.profile-back:hover span { display: inline-block; transform: translateX(-4px); }
.profile-hero-copy .eyebrow { max-width: 530px; margin-bottom: 26px; line-height: 1.5; }
.profile-hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(88px, 9vw, 144px); font-weight: 400; line-height: .76; letter-spacing: -.07em; }
.profile-hero-line { margin: 42px 0 0; font-size: clamp(22px, 2vw, 31px); line-height: 1.25; }
.profile-hero blockquote { max-width: 540px; margin: 32px 0 0; padding-left: 22px; border-left: 1px solid var(--gold); color: #aaa59c; font-family: var(--serif); font-size: clamp(18px, 1.55vw, 23px); line-height: 1.42; }
.profile-hero blockquote cite { margin-left: 7px; color: #efece5; font-family: var(--sans); font-size: 10px; font-style: normal; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.profile-hero-actions { margin-top: 42px; display: flex; align-items: center; gap: 32px; flex-wrap: wrap; }
.profile-hero-image { position: relative; min-width: 0; margin: 0 calc(var(--pad) * -1) 0 0; overflow: hidden; background: #39352f; }
.profile-hero-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,8,7,.38), transparent 25%), linear-gradient(0deg, rgba(8,8,7,.65), transparent 34%); pointer-events: none; }
.profile-hero-image img { height: 100%; object-fit: cover; object-position: 48% center; }
.profile-hero-image figcaption { position: absolute; z-index: 2; right: var(--pad); bottom: 34px; left: 36px; display: flex; gap: 9px; flex-wrap: wrap; }
.profile-hero-image figcaption span { padding: 9px 12px; border: 1px solid rgba(255,255,255,.42); background: rgba(8,8,7,.55); backdrop-filter: blur(7px); color: white; font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }

.profile-proof { background: #131311; color: white; }
.profile-proof-grid { min-height: 158px; display: grid; grid-template-columns: repeat(4, 1fr); }
.profile-proof-grid > div { padding: 34px clamp(18px, 3vw, 48px); border-left: 1px solid rgba(255,255,255,.12); display: flex; flex-direction: column; justify-content: center; }
.profile-proof-grid > div:last-child { border-right: 1px solid rgba(255,255,255,.12); }
.profile-proof strong { color: var(--gold); font-family: var(--serif); font-size: clamp(32px, 3vw, 47px); font-weight: 400; line-height: 1; }
.profile-proof span { margin-top: 10px; color: #c8c3ba; font-size: 11px; letter-spacing: .1em; line-height: 1.4; text-transform: uppercase; }

.profile-intro { padding: clamp(100px, 12vw, 180px) 0; background: var(--paper-2); }
.profile-intro-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(380px, .65fr); gap: clamp(70px, 11vw, 180px); }
.profile-intro h2, .profile-stage h2, .profile-formats h2, .profile-author h2, .profile-references h2, .profile-cta h2 { margin: 0; font-family: var(--serif); font-size: clamp(54px, 5.5vw, 88px); font-weight: 400; line-height: .96; letter-spacing: -.045em; }
.profile-intro-copy { padding-top: 44px; }
.profile-lead { margin: 0 0 30px; color: var(--ink); font-family: var(--serif); font-size: clamp(25px, 2.25vw, 35px); line-height: 1.3; }
.profile-intro-copy > p:not(.profile-lead), .profile-keynote-copy > p:not(.profile-lead), .profile-stage-copy > p:not(.eyebrow), .profile-references-grid > div > p:not(.eyebrow) { color: var(--muted); font-size: 16px; line-height: 1.75; }

.profile-stage { padding: clamp(72px, 8vw, 125px) 0; overflow: hidden; background: var(--black); color: white; }
.profile-stage-grid { display: grid; grid-template-columns: minmax(430px, .82fr) minmax(400px, .62fr); gap: clamp(70px, 11vw, 175px); align-items: center; }
.profile-stage-media { position: relative; min-height: 760px; margin: 0; overflow: hidden; }
.profile-stage-media::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(0deg, rgba(0,0,0,.82), transparent); pointer-events: none; }
.profile-stage-media > img { position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: 50% 25%; }
.profile-play { position: absolute; z-index: 2; right: 28px; bottom: 28px; left: 28px; min-height: 94px; padding: 20px 24px; border: 1px solid rgba(255,255,255,.34); background: rgba(8,8,7,.66); backdrop-filter: blur(10px); display: grid; grid-template-columns: 45px 1fr; grid-template-rows: 1fr 1fr; column-gap: 17px; align-items: center; }
.profile-play > span { grid-row: 1 / 3; width: 43px; height: 43px; border-radius: 50%; background: var(--gold); color: var(--black); display: grid; place-items: center; font-size: 13px; }
.profile-play strong { align-self: end; font-size: 13px; font-weight: 600; letter-spacing: .04em; }
.profile-play small { align-self: start; color: #a9a49b; font-size: 11px; }
.profile-stage-copy { max-width: 570px; }
.profile-stage-copy h2 { max-width: 500px; }
.profile-stage-copy > p:not(.eyebrow) { margin: 32px 0 0; color: #aaa69e; }
.profile-pullquote { margin: 48px 0 38px; padding: 30px 0; border-block: 1px solid rgba(255,255,255,.16); font-family: var(--serif); font-size: clamp(30px, 3vw, 48px); line-height: 1.12; }

.profile-keynote { padding: clamp(100px, 12vw, 180px) 0; background: var(--paper); }
.profile-keynote-heading { margin-bottom: 58px; padding-bottom: 18px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; }
.profile-keynote-heading .eyebrow { margin: 0; }
.profile-keynote-heading > span { color: var(--gold-dark); font-size: 11px; letter-spacing: .12em; }
.profile-keynote-grid { display: grid; grid-template-columns: minmax(430px, 1fr) minmax(420px, .72fr); gap: clamp(70px, 10vw, 165px); }
.profile-keynote h2 { margin: 0; font-family: var(--sans); font-size: clamp(72px, 8vw, 128px); font-weight: 500; line-height: .82; letter-spacing: -.07em; text-transform: uppercase; }
.profile-keynote-subtitle { max-width: none; margin: 35px 0 0; color: var(--gold-dark); font-family: var(--serif); font-size: clamp(26px, 2vw, 34px); line-height: 1.12; letter-spacing: -.02em; white-space: nowrap; }
.profile-keynote-copy { padding-top: 9px; }
.profile-facts { margin: 40px 0 44px; display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); }
.profile-facts div { min-height: 94px; padding: 19px 14px 17px 0; border-bottom: 1px solid var(--line); }
.profile-facts div:nth-child(odd) { border-right: 1px solid var(--line); }
.profile-facts div:nth-child(even) { padding-left: 22px; }
.profile-facts dt { color: var(--gold-dark); font-size: 9px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.profile-facts dd { margin: 10px 0 0; font-family: var(--serif); font-size: 20px; }
.profile-topic-band { margin-top: 88px; padding: 22px 0 0; border-top: 1px solid var(--line); display: flex; gap: 10px; flex-wrap: wrap; }
.profile-topic-band span { padding: 10px 13px; border: 1px solid rgba(17,17,15,.25); color: #5f5a52; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }

.profile-formats { padding: clamp(95px, 10vw, 155px) 0; background: #121210; color: white; }
.profile-formats-grid { display: grid; grid-template-columns: minmax(430px, .85fr) minmax(420px, .65fr); gap: clamp(70px, 10vw, 160px); }
.profile-formats h2 { max-width: 650px; }
.profile-formats ul { margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.19); list-style: none; }
.profile-formats li { min-height: 72px; padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.19); display: flex; align-items: center; font-family: var(--serif); font-size: clamp(24px, 2vw, 31px); }

.profile-author { padding: clamp(105px, 12vw, 185px) 0; background: var(--paper-2); }
.profile-author-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .5fr); gap: clamp(70px, 11vw, 180px); align-items: end; }
.profile-author-heading > p { margin: 0 0 8px; color: var(--muted); font-size: 16px; line-height: 1.7; }
.profile-book-grid { margin-top: 74px; display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(24px, 4vw, 60px); }
.profile-book { aspect-ratio: 1.35; padding: clamp(28px, 4vw, 58px); border: 1px solid var(--line); background: #ded8cc; display: flex; flex-direction: column; justify-content: space-between; }
.profile-book > span, .profile-book > small { color: #6f685c; font-size: 9px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.profile-book > div p { margin: 0 0 17px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.profile-book h3 { margin: 0; font-family: var(--serif); font-size: clamp(35px, 4vw, 61px); font-weight: 400; line-height: .97; letter-spacing: -.04em; }
.profile-book--gold { background: var(--gold); }
.profile-book--gold > span, .profile-book--gold > small { color: #44300c; }

.profile-references { padding: clamp(100px, 11vw, 170px) 0; background: #181714; color: white; }
.profile-references-grid { display: grid; grid-template-columns: minmax(430px, .8fr) minmax(420px, .65fr); gap: clamp(80px, 12vw, 190px); align-items: center; }
.profile-references-grid > div > p:not(.eyebrow) { max-width: 610px; margin-top: 30px; color: #aaa69f; }
.profile-client-list { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.19); border-left: 1px solid rgba(255,255,255,.19); }
.profile-client-list span { min-height: 86px; padding: 16px; border-right: 1px solid rgba(255,255,255,.19); border-bottom: 1px solid rgba(255,255,255,.19); display: grid; place-items: center; color: #d7d3ca; font-family: var(--serif); font-size: clamp(17px, 1.6vw, 23px); text-align: center; }

.profile-cta { padding: clamp(95px, 10vw, 150px) 0; background: var(--gold); }
.profile-cta-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(330px, .45fr); gap: clamp(55px, 8vw, 120px); align-items: center; }
.profile-cta .eyebrow { color: #4d360d; }
.profile-cta-grid > div:last-child > p { margin: 0 0 30px; color: #49360f; font-size: 17px; line-height: 1.65; }
.profile-cta-phone { display: block; margin-top: 20px; color: #4b350c; font-size: 12px; text-decoration: underline; text-underline-offset: 5px; }

@media (min-width: 1051px) {
  .profile-cta h2 { font-size: clamp(44px, 3.3vw, 54px); white-space: nowrap; }
}

@media (max-width: 1050px) {
  .profile-hero-grid { grid-template-columns: .9fr 1.1fr; }
  .profile-hero h1 { font-size: clamp(78px, 10.5vw, 112px); }
  .profile-proof-grid { grid-template-columns: repeat(2, 1fr); }
  .profile-proof-grid > div { border-bottom: 1px solid rgba(255,255,255,.12); }
  .profile-intro-grid, .profile-stage-grid, .profile-keynote-grid, .profile-formats-grid, .profile-author-heading, .profile-references-grid, .profile-cta-grid { gap: 60px; }
  .profile-stage-media { min-height: 660px; }
}

@media (max-width: 820px) {
  .profile-hero-grid { min-height: auto; grid-template-columns: 1fr; padding-inline: 0; }
  .profile-hero-copy { min-height: 620px; padding: 95px var(--pad) 70px; }
  .profile-back { left: var(--pad); }
  .profile-hero-image { height: 78vw; min-height: 500px; margin: 0; }
  .profile-hero-image img { object-position: 55% center; }
  .profile-hero-image figcaption { right: var(--pad); left: var(--pad); }
  .profile-intro-grid, .profile-stage-grid, .profile-keynote-grid, .profile-formats-grid, .profile-author-heading, .profile-references-grid, .profile-cta-grid { grid-template-columns: 1fr; }
  .profile-intro-copy { padding-top: 0; }
  .profile-stage-copy { padding: 0 0 20px; }
  .profile-keynote h2 { font-size: clamp(62px, 15vw, 105px); }
  .profile-keynote-subtitle { white-space: normal; }
  .profile-author-heading > p { max-width: 600px; }
  .profile-book-grid { margin-top: 52px; }
}

@media (max-width: 600px) {
  .profile-hero-copy { min-height: 560px; }
  .profile-hero h1 { font-size: clamp(74px, 24vw, 104px); }
  .profile-hero-line { margin-top: 32px; }
  .profile-hero-actions { align-items: flex-start; flex-direction: column; }
  .profile-hero-actions .button { min-width: 100%; }
  .profile-hero-image { height: 112vw; min-height: 460px; }
  .profile-proof-grid { grid-template-columns: 1fr 1fr; }
  .profile-proof-grid > div { min-height: 122px; padding: 24px 17px; }
  .profile-proof span { font-size: 9px; }
  .profile-intro h2, .profile-stage h2, .profile-formats h2, .profile-author h2, .profile-references h2, .profile-cta h2 { font-size: clamp(48px, 15vw, 70px); }
  .profile-stage-media { min-height: 590px; }
  .profile-play { right: 14px; bottom: 14px; left: 14px; }
  .profile-facts { grid-template-columns: 1fr; }
  .profile-facts div:nth-child(odd) { border-right: 0; }
  .profile-facts div:nth-child(even) { padding-left: 0; }
  .profile-topic-band { margin-top: 58px; }
  .profile-book-grid { grid-template-columns: 1fr; }
  .profile-book { aspect-ratio: 1 / .92; }
  .profile-client-list { grid-template-columns: repeat(2, 1fr); }
  .profile-cta .button { width: 100%; }
}
