@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap");

:root {
  color-scheme: light;
  --night: #0D3B2E;
  --night-soft: #082B22;
  --paper: #F4F0E7;
  --white: #fff;
  --ink: #202720;
  --muted: #58645B;
  --line: rgba(32, 39, 32, .14);
  --sand: #C5A15A;
  --sand-dark: #82652F;
  --leaf: #315E4A;
  --sage: #A8B39F;
  --stone: #E6DFD1;
  --sans: "Manrope", "Segoe UI", sans-serif;
  --display: "DM Sans", "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 17px/1.65 var(--sans); -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
a:focus-visible, summary:focus-visible { outline: 2px solid var(--sand); outline-offset: 4px; }
.wrap { width: min(1440px, calc(100% - 96px)); margin-inline: auto; }
.eyebrow { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .16em; line-height: 1.5; text-transform: uppercase; }
.arrow { display: inline-block; font-size: 1.2em; transition: transform 180ms ease; }
a:hover .arrow { transform: translateX(4px); }

.site-header { position: fixed; z-index: 20; inset: 0 0 auto; color: var(--white); background: rgba(13,59,46,.94); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.header-row { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 34px; border-bottom: 1px solid rgba(255,255,255,.2); }
.brand { flex: 0 0 auto; }
.brand img { width: 176px; height: auto; }
.main-nav { display: flex; align-items: center; gap: clamp(18px, 2.4vw, 36px); margin-left: auto; }
.main-nav a, .languages a { color: rgba(255,255,255,.82); font-size: 12px; font-weight: 700; transition: color 160ms ease; }
.main-nav a:hover, .languages a:hover, .languages a[aria-current="page"] { color: var(--sand); }
.header-tools { display: flex; align-items: center; gap: 22px; }
.languages { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.languages span { color: rgba(255,255,255,.5); font-size: 11px; }
.header-cta { min-height: 46px; display: inline-flex; align-items: center; gap: 12px; padding: 0 18px; border: 1px solid rgba(255,255,255,.72); border-radius: 2px; color: var(--white); font-size: 12px; font-weight: 800; transition: color 160ms ease, background 160ms ease; }
.header-cta:hover { color: var(--night); background: var(--white); }
.mobile-menu { display: none; }

.hero { position: relative; min-height: min(880px, 100svh); display: flex; align-items: flex-end; overflow: hidden; background: var(--night); color: var(--white); }
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 54%; animation: hero-image-settle 2.4s cubic-bezier(.2,.7,.2,1) both, hero-image-breathe 24s 2.4s ease-in-out infinite alternate; }
.hero::before { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(8,43,34,.82) 0%, rgba(8,43,34,.58) 45%, rgba(8,43,34,.12) 100%), linear-gradient(0deg, rgba(8,43,34,.8), transparent 62%); content: ""; }
.hero::after { position: absolute; z-index: 1; top: 0; right: 0; width: 43%; height: 100%; background: linear-gradient(135deg, transparent 0 53%, rgba(197,161,90,.12) 53.1%, transparent 53.35%); pointer-events: none; content: ""; }
.hero-inner { position: relative; z-index: 2; width: min(1440px, calc(100% - 96px)); margin: 0 auto; padding: 178px 0 54px; }
.hero-copy { max-width: 1010px; }
.hero-copy > * { animation: hero-copy-enter .9s cubic-bezier(.2,.7,.2,1) both; }
.hero-copy > :nth-child(2) { animation-delay: .12s; }
.hero-copy > :nth-child(3) { animation-delay: .22s; }
.hero-copy > :nth-child(4) { animation-delay: .32s; }
.hero .eyebrow { color: var(--sand); }
.hero h1 { max-width: 1000px; margin: 24px 0 22px; font-family: var(--display); font-size: clamp(68px, 8.3vw, 122px); font-weight: 500; letter-spacing: -.075em; line-height: .91; text-transform: uppercase; }
.hero h1 span { color: var(--sand); }
.hero-lede { max-width: 670px; margin: 0; color: rgba(255,255,255,.87); font-size: clamp(18px, 1.7vw, 23px); line-height: 1.55; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; margin-top: 31px; }
.button { min-height: 60px; display: inline-flex; align-items: center; justify-content: center; gap: 16px; padding: 0 23px; border: 1px solid var(--sand); background: var(--sand); color: var(--night); font-size: 14px; font-weight: 800; transition: transform 160ms ease, background 160ms ease; }
.button:hover { transform: translateY(-2px); background: #e2c9a7; }
.hero-secondary { color: var(--white); font-size: 13px; font-weight: 800; }
.hero-secondary span { margin-left: 7px; color: var(--sand); font-size: 19px; }
.hero-footer { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 88px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.35); }
.hero-stages { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; }
.hero-stage { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.9); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hero-stage span { color: var(--sand); font-size: 11px; }
.hero-stage-separator { width: 28px; height: 1px; background: rgba(255,255,255,.4); }
.hero-location { color: rgba(255,255,255,.68); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.hero-footer { animation: hero-copy-enter .8s .4s cubic-bezier(.2,.7,.2,1) both; }

.signal-strip { background: var(--white); border-bottom: 1px solid var(--line); }
.signal-row { min-height: 88px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; }
.signal { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 12px; color: var(--night); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.signal + .signal { border-left: 1px solid var(--line); }
.signal-mark { width: 7px; height: 7px; flex: 0 0 auto; background: var(--leaf); transform: rotate(45deg); }

.intro { padding: 130px 0 112px; }
.intro-grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: clamp(55px, 9vw, 150px); align-items: start; }
.intro-label { padding-top: 10px; color: var(--sand-dark); }
.intro-copy h2 { max-width: 970px; margin: 0; font-family: var(--display); font-size: clamp(48px, 6.5vw, 92px); font-weight: 500; letter-spacing: -.075em; line-height: .98; }
.intro-copy h2 em { color: var(--sand-dark); font-style: normal; }
.intro-copy p { max-width: 710px; margin: 27px 0 0; color: var(--muted); font-size: 18px; line-height: 1.75; }
.intro-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 25px; color: var(--night); font-size: 13px; font-weight: 800; }
.intro-link .arrow { color: var(--sand-dark); }

.journey { padding: 96px 0 112px; background: var(--stone); }
.section-top { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 42px; }
.section-top .eyebrow { color: var(--sand-dark); }
.section-top h2 { max-width: 790px; margin: 12px 0 0; font-family: var(--display); font-size: clamp(42px, 5.2vw, 72px); font-weight: 500; letter-spacing: -.07em; line-height: .98; }
.section-top > p { max-width: 330px; margin: 0 0 5px; color: var(--muted); font-size: 15px; }
.journey-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.journey-card { position: relative; min-height: 450px; display: flex; align-items: flex-end; overflow: hidden; padding: clamp(25px, 4vw, 52px); background: var(--night); color: var(--white); }
.journey-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.journey-card:hover img { transform: scale(1.035); }
.journey-card::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,43,34,.9), rgba(8,43,34,.05) 80%); content: ""; }
.journey-card-content { position: relative; z-index: 1; max-width: 550px; }
.journey-card .eyebrow { color: var(--sand); }
.journey-card h3 { margin: 13px 0 0; font-family: var(--display); font-size: clamp(34px, 4vw, 53px); font-weight: 500; letter-spacing: -.06em; line-height: .98; }
.journey-card p { max-width: 450px; margin: 15px 0 0; color: rgba(255,255,255,.8); font-size: 15px; line-height: 1.65; }
.journey-card-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 21px; color: var(--white); font-size: 12px; font-weight: 800; }
.journey-card-link .arrow { color: var(--sand); }
.journey-card-number { position: absolute; z-index: 1; top: 22px; left: 25px; color: rgba(255,255,255,.8); font-size: 12px; font-weight: 800; letter-spacing: .12em; }

.manifesto { position: relative; overflow: hidden; padding: 116px 0; background: var(--night); color: var(--white); }
.manifesto::after { position: absolute; top: -240px; right: -100px; width: 650px; height: 650px; border: 1px solid rgba(197,161,90,.2); border-radius: 50%; box-shadow: 0 0 0 45px rgba(197,161,90,.035), 0 0 0 120px rgba(197,161,90,.025); content: ""; }
.manifesto-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr .8fr; gap: 80px; align-items: end; }
.manifesto .eyebrow { color: var(--sand); }
.manifesto h2 { max-width: 780px; margin: 16px 0 0; font-family: var(--display); font-size: clamp(50px, 6.8vw, 93px); font-weight: 500; letter-spacing: -.075em; line-height: .93; }
.manifesto h2 span { color: var(--sand); }
.manifesto-side { padding: 0 0 4px 26px; border-left: 1px solid rgba(197,161,90,.58); }
.manifesto-side p { margin: 0; color: rgba(255,255,255,.75); font-size: 17px; line-height: 1.75; }
.manifesto-side strong { color: var(--white); font-weight: 700; }

.strategy { padding: 108px 0; background: var(--white); }
.strategy-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(48px, 8vw, 120px); align-items: start; }
.strategy-heading { position: sticky; top: 35px; }
.strategy-heading .eyebrow { color: var(--sand-dark); }
.strategy-heading h2 { margin: 14px 0 0; font-family: var(--display); font-size: clamp(42px, 5.2vw, 68px); font-weight: 500; letter-spacing: -.07em; line-height: .98; }
.strategy-heading p { max-width: 390px; margin: 20px 0 0; color: var(--muted); font-size: 16px; }
.strategy-list { border-top: 1px solid var(--line); }
.strategy-row { display: grid; grid-template-columns: 58px 1fr 35px; gap: 16px; align-items: center; min-height: 112px; border-bottom: 1px solid var(--line); }
.strategy-row > span:first-child { color: var(--sand-dark); font-size: 12px; font-weight: 800; }
.strategy-row h3 { margin: 0; font-family: var(--display); font-size: clamp(23px, 2.7vw, 34px); font-weight: 500; letter-spacing: -.045em; }
.strategy-row > span:last-child { color: var(--sand-dark); font-size: 22px; text-align: right; }
.market-note { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.market-note span { padding: 9px 13px; border: 1px solid var(--sage); color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.people { padding: 104px 0; background: var(--stone); }
.people-top { display: grid; grid-template-columns: 1fr .65fr; gap: 70px; align-items: end; }
.people-top .eyebrow { color: var(--sand-dark); }
.people-top h2 { max-width: 780px; margin: 12px 0 0; font-family: var(--display); font-size: clamp(45px, 5.8vw, 78px); font-weight: 500; letter-spacing: -.07em; line-height: .95; }
.people-top > p { max-width: 420px; margin: 0; color: var(--muted); font-size: 16px; }
.leader-feature { display: grid; grid-template-columns: minmax(260px, .7fr) 1.3fr; gap: clamp(42px, 7vw, 100px); align-items: center; margin: 58px 0 46px; }
.leader-feature > img { width: min(100%, 410px); aspect-ratio: 1; justify-self: center; border-radius: 50%; object-fit: cover; object-position: center 38%; box-shadow: 0 22px 60px rgba(13,59,46,.14); }
.leader-quote { padding: 28px 0 32px; border-top: 1px solid rgba(23,29,35,.22); border-bottom: 1px solid rgba(23,29,35,.22); }
.leader-quote .eyebrow { color: var(--sand-dark); }
.leader-quote blockquote { margin: 22px 0 28px; color: var(--night-soft); font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 3.2vw, 47px); font-style: italic; line-height: 1.27; }
.leader-signature { display: grid; gap: 5px; }
.leader-name, .leader-role { margin: 0; }
.leader-name { color: var(--sand-dark); font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.leader-role { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.people-grid { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 0; border-top: 1px solid var(--line); }
.person-card { min-height: 188px; padding: 23px 22px 22px 0; border-bottom: 1px solid var(--line); }
.person-card + .person-card { padding-left: 22px; border-left: 1px solid var(--line); }
.person-card--profile { display: grid; grid-template-columns: 94px 1fr; gap: 20px; align-items: center; padding-left: 22px; }
.person-card--profile > img { width: 94px; height: 94px; border-radius: 50%; object-fit: cover; object-position: center 35%; }
.person-profile-copy h3 { margin: 8px 0 4px; font-size: 24px; }
.person-profile-copy p { margin: 0; color: var(--muted); font-size: 13px; }
.person-profile-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 11px; padding: 0; border: 0; background: none; color: var(--night); cursor: pointer; font: 800 12px/1.5 var(--sans); text-align: left; }
.person-profile-link .arrow { color: var(--sand-dark); transition: transform 180ms ease; }
.person-profile-link:hover .arrow { transform: translate(3px, -3px); }
.person-profile-link:focus-visible, .profile-dialog-close:focus-visible { outline: 2px solid var(--sand-dark); outline-offset: 4px; }
.profile-dialog { position: fixed; width: min(620px, calc(100% - 36px)); max-width: none; max-height: min(90vh, 620px); overflow: auto; padding: clamp(28px, 5vw, 52px); border: 1px solid rgba(197,161,90,.55); background: var(--paper); color: var(--ink); box-shadow: 0 30px 100px rgba(0,0,0,.32); }
.profile-dialog[open] { animation: profile-dialog-enter 260ms cubic-bezier(.2,.7,.2,1) both; }
.profile-dialog::backdrop { background: rgba(8,43,34,.72); backdrop-filter: blur(5px); animation: profile-backdrop-enter 220ms ease both; }
.profile-dialog-close { position: absolute; top: 14px; right: 17px; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--night); cursor: pointer; font: 400 28px/1 var(--sans); transition: transform 180ms ease, background 180ms ease; }
.profile-dialog-close:hover { transform: rotate(90deg); background: rgba(197,161,90,.2); }
.profile-dialog-image { width: 132px; height: 132px; margin-bottom: 27px; border-radius: 50%; object-fit: cover; object-position: center 35%; }
.profile-dialog-copy .eyebrow { color: var(--sand-dark); }
.profile-dialog-copy h2 { margin: 8px 0 12px; font-family: var(--display); font-size: clamp(36px, 7vw, 54px); font-weight: 500; letter-spacing: -.06em; line-height: 1; }
.profile-dialog-copy > p:last-child { max-width: 470px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.7; }
.profile-highlights { display: grid; gap: 12px; max-width: 470px; margin: 0; padding: 0; color: var(--muted); font-size: 16px; line-height: 1.55; list-style: none; }
.profile-highlights li { position: relative; padding-left: 22px; }
.profile-highlights li::before { position: absolute; top: .65em; left: 1px; width: 7px; height: 7px; background: var(--sand-dark); content: ""; transform: rotate(45deg); }
@keyframes profile-dialog-enter {
  from { opacity: 0; transform: translateY(28px) scale(.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes profile-backdrop-enter {
  from { opacity: 0; }
  to { opacity: 1; }
}
.person-index { color: var(--sand-dark); font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.person-card h3 { margin: 36px 0 8px; font-family: var(--display); font-size: 27px; font-weight: 600; letter-spacing: -.045em; }
.person-card p { max-width: 330px; margin: 0; color: var(--muted); font-size: 14px; }
.people-note { margin: 17px 0 0; color: #70746f; font-size: 12px; }

.insights { padding: 108px 0 120px; background: var(--paper); }
.insights-head { display: flex; align-items: end; justify-content: space-between; gap: 36px; }
.insights-head .eyebrow { color: var(--sand-dark); }
.insights-head h2 { max-width: 760px; margin: 12px 0 0; font-family: var(--display); font-size: clamp(46px, 5.4vw, 72px); font-weight: 500; letter-spacing: -.07em; line-height: .98; }
.all-insights { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 13px; font-weight: 800; }
.all-insights .arrow { color: var(--sand-dark); }
.insight-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 42px; }
.insight-card { min-height: 230px; display: flex; flex-direction: column; padding: 23px; border: 1px solid var(--line); background: rgba(255,255,255,.7); transition: transform 180ms ease, box-shadow 180ms ease; }
.insight-card:hover { transform: translateY(-4px); box-shadow: 0 14px 35px rgba(13,59,46,.08); }
.insight-card .eyebrow { color: var(--sand-dark); font-size: 10px; }
.insight-card h3 { margin: 24px 0 18px; font-family: var(--display); font-size: 25px; font-weight: 600; letter-spacing: -.045em; line-height: 1.12; }
.insight-card a { display: inline-flex; align-items: center; gap: 9px; margin-top: auto; font-size: 12px; font-weight: 800; }
.insight-card .arrow { color: var(--sand-dark); }

.faq { padding: 100px 0; background: var(--white); }
.faq-layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(50px, 9vw, 130px); }
.faq-intro .eyebrow { color: var(--sand-dark); }
.faq-intro h2 { margin: 13px 0 0; font-family: var(--display); font-size: clamp(43px, 5vw, 65px); font-weight: 500; letter-spacing: -.07em; line-height: .96; }
.faq-intro p { margin: 18px 0 0; color: var(--muted); font-size: 15px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary { position: relative; padding: 23px 40px 23px 0; cursor: pointer; list-style: none; font-family: var(--display); font-size: 21px; font-weight: 600; letter-spacing: -.035em; line-height: 1.3; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { position: absolute; top: 20px; right: 3px; color: var(--sand-dark); font: 400 24px/1 var(--sans); content: "+"; transition: transform 220ms ease; }
.faq-item[open] summary::after { content: "−"; }
.faq-item p { max-width: 720px; margin: -4px 25px 22px 0; color: var(--muted); font-size: 15px; line-height: 1.75; }
.faq-more { display: inline-flex; align-items: center; gap: 12px; margin-top: 23px; border-color: var(--night); background: var(--night); color: var(--white); }
.faq-more:hover { background: var(--night-soft); }
.faq-page { min-height: 70vh; padding: 140px 0 105px; }
.faq-page-header { max-width: 900px; margin-bottom: 48px; }
.faq-page-header .eyebrow { color: var(--sand-dark); }
.faq-page-header h1 { margin: 14px 0 18px; font-family: var(--display); font-size: clamp(50px, 7vw, 88px); font-weight: 500; letter-spacing: -.075em; line-height: .96; }
.faq-page-header > p:last-child { max-width: 660px; margin: 0; color: var(--muted); font-size: 18px; }
.faq-page-group { margin-top: 46px; }
.faq-page-group h2 { margin: 0 0 18px; font-family: var(--display); font-size: 28px; font-weight: 600; letter-spacing: -.04em; }
.faq-page-group .faq-list { max-width: 980px; }
.faq-page-cta { margin-top: 56px; padding: 34px; background: var(--stone); }
.faq-page-cta h2 { margin: 0; font-family: var(--display); font-size: clamp(32px, 4vw, 48px); font-weight: 500; letter-spacing: -.06em; line-height: 1; }
.faq-page-cta p { max-width: 600px; margin: 15px 0 0; color: var(--muted); }
.faq-page-cta .button { margin-top: 22px; }
.faq-page-back { display: inline-flex; align-items: center; gap: 9px; margin-top: 28px; color: var(--night); font-size: 13px; font-weight: 800; }
.faq-page-back .arrow { color: var(--sand-dark); transform: rotate(180deg); }

.final-cta { position: relative; overflow: hidden; padding: 91px 0; background: var(--sand); color: var(--night); }
.final-cta::after { position: absolute; top: -310px; right: -160px; width: 650px; height: 650px; border: 1px solid rgba(13,59,46,.18); border-radius: 50%; box-shadow: 0 0 0 42px rgba(13,59,46,.04), 0 0 0 105px rgba(13,59,46,.035); content: ""; }
.final-cta-inner { position: relative; z-index: 1; display: flex; align-items: end; justify-content: space-between; gap: 45px; }
.final-cta .eyebrow { color: rgba(8,43,34,.82); }
.final-cta h2 { max-width: 860px; margin: 12px 0 0; font-family: var(--display); font-size: clamp(48px, 6.2vw, 84px); font-weight: 500; letter-spacing: -.075em; line-height: .93; }
.final-cta .button { flex: 0 0 auto; border-color: var(--night); background: var(--night); color: var(--white); }
.final-cta .button:hover { background: var(--night-soft); }
.footer { padding: 32px 0 25px; background: var(--night); color: rgba(255,255,255,.68); }
.footer-top { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-bottom: 23px; border-bottom: 1px solid rgba(255,255,255,.2); }
.footer .brand img { width: 154px; }
.footer-links { display: flex; flex-wrap: wrap; gap: 19px; }
.footer-links a { color: rgba(255,255,255,.82); font-size: 12px; font-weight: 600; }
.footer-legal { display: flex; align-items: start; justify-content: space-between; gap: 35px; padding-top: 18px; }
.footer-legal p { max-width: 900px; margin: 0; font-size: 11px; line-height: 1.65; }
.footer-legal span { flex: 0 0 auto; color: rgba(255,255,255,.5); font-size: 10px; }

@keyframes hero-copy-enter {
  from { opacity: 0; filter: blur(5px); transform: translateY(36px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes hero-image-settle {
  from { transform: scale(1.12); }
  to { transform: scale(1); }
}

@keyframes hero-image-breathe {
  from { transform: scale(1); }
  to { transform: scale(1.035); }
}

.motion-ready .reveal {
  opacity: 0;
  filter: blur(4px);
  transform: translateY(54px) scale(.985);
  transition: opacity 850ms cubic-bezier(.2,.7,.2,1), filter 850ms cubic-bezier(.2,.7,.2,1), transform 850ms cubic-bezier(.2,.7,.2,1);
  transition-delay: var(--reveal-delay, 0ms);
}

.motion-ready .reveal.is-visible {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
}

.journey-card img { transition: transform 800ms cubic-bezier(.2,.7,.2,1); }
.journey-card:hover img { transform: scale(1.045); }
.journey-card { transition: transform 260ms ease; }
.journey-card:hover { transform: translateY(-5px); }
.insight-card { transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease; }
.insight-card:hover { border-color: rgba(156,120,72,.5); }
.person-card { transition: background-color 240ms ease, padding-left 240ms ease; }
.person-card:hover { padding-left: 12px; background: rgba(255,255,255,.32); }
.faq-item[open] summary::after { transform: rotate(180deg); }

@media (max-width: 1100px) {
  .wrap, .hero-inner { width: calc(100% - 64px); }
  .main-nav { display: none; }
  .mobile-menu { position: relative; display: block; }
  .mobile-menu summary { min-height: 44px; display: inline-flex; align-items: center; gap: 10px; padding: 0 2px; color: var(--white); cursor: pointer; font-size: 12px; font-weight: 800; list-style: none; }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu summary::after { width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.42); color: var(--sand); content: "+"; font-size: 17px; font-weight: 500; line-height: 1; transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease; }
  .mobile-menu summary:hover::after, .mobile-menu[open] summary::after { border-color: var(--sand); background: rgba(197,161,90,.12); }
  .mobile-menu[open] summary::after { transform: rotate(45deg); }
  .mobile-menu nav { position: absolute; z-index: 5; top: 52px; right: 0; width: min(290px, calc(100vw - 40px)); padding: 9px 18px; border: 1px solid rgba(255,255,255,.2); background: var(--night); box-shadow: 0 15px 36px rgba(0,0,0,.2); }
  .mobile-menu nav a { display: block; padding: 13px 10px; border-bottom: 1px solid rgba(255,255,255,.13); color: var(--white); font-size: 13px; transition: color 150ms ease, background-color 150ms ease; }
  .mobile-menu nav a:hover, .mobile-menu nav a:focus-visible { background: rgba(197,161,90,.1); color: var(--sand); }
  .mobile-menu nav a:last-child { border-bottom: 0; }
  .header-tools { gap: 14px; }
  .hero h1 { font-size: clamp(64px, 9vw, 98px); }
}

@media (max-width: 720px) {
  html { scroll-padding-top: 74px; }
  body { font-size: 16px; }
  .wrap, .hero-inner { width: calc(100% - 40px); }
  .header-row { min-height: 72px; gap: 10px; }
  .brand img { width: 139px; }
  .header-tools { gap: 10px; margin-left: auto; }
  .languages { gap: 5px; }
  .languages a { font-size: 10px; }
  .languages span { font-size: 9px; }
  .header-cta { display: none; }
  .faq-page { padding: 110px 0 70px; }
  .faq-page-header { margin-bottom: 34px; }
  .faq-page-header h1 { font-size: clamp(46px, 12vw, 64px); }
  .faq-page-header > p:last-child { font-size: 16px; }
  .faq-page-group { margin-top: 34px; }
  .faq-page-group h2 { font-size: 24px; }
  .faq-page-cta { margin-top: 38px; padding: 25px; }
  .mobile-menu nav { position: fixed; top: 72px; right: 20px; }
  .hero { min-height: min(790px, 100svh); min-height: min(790px, calc(100svh - 0px)); }
  .hero-image { object-position: 57% center; }
  .hero::before { background: linear-gradient(90deg, rgba(8,43,34,.7), rgba(8,43,34,.28)), linear-gradient(0deg, rgba(8,43,34,.85), rgba(8,43,34,.12) 72%); }
  .hero::after { width: 65%; }
  .hero-inner { padding: 130px 0 28px; }
  .hero h1 { max-width: 620px; margin: 18px 0; font-size: clamp(51px, 13.2vw, 78px); line-height: .93; }
  .hero-lede { max-width: 520px; font-size: 17px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; margin-top: 24px; }
  .button { min-height: 56px; padding-inline: 18px; font-size: 13px; }
  .hero-footer { align-items: flex-start; flex-direction: column; gap: 13px; margin-top: 48px; padding-top: 15px; }
  .hero-stages { gap: 8px; }
  .hero-stage { gap: 6px; font-size: 9px; }
  .hero-stage span { font-size: 9px; }
  .hero-stage-separator { width: 12px; }
  .hero-location { font-size: 9px; }
  .signal-row { grid-template-columns: 1fr 1fr; padding-block: 8px; }
  .signal { min-height: 48px; justify-content: flex-start; padding-inline: 10px; font-size: 9px; text-align: left; }
  .signal + .signal { border-left: 0; }
  .signal:nth-child(even) { border-left: 1px solid var(--line); }
  .signal:nth-child(n+3) { border-top: 1px solid var(--line); }
  .intro { padding: 78px 0; }
  .intro-grid { grid-template-columns: 1fr; gap: 22px; }
  .intro-copy h2 { font-size: clamp(46px, 11vw, 66px); }
  .intro-copy p { margin-top: 20px; font-size: 16px; }
  .journey { padding: 75px 0 82px; }
  .section-top { align-items: flex-start; flex-direction: column; gap: 15px; margin-bottom: 29px; }
  .section-top h2 { font-size: clamp(42px, 10.5vw, 62px); }
  .section-top > p { font-size: 14px; }
  .journey-grid { grid-template-columns: 1fr; gap: 13px; }
  .journey-card { min-height: 360px; padding: 25px; }
  .journey-card h3 { font-size: 39px; }
  .journey-card p { font-size: 14px; }
  .manifesto { padding: 78px 0; }
  .manifesto-inner { grid-template-columns: 1fr; gap: 28px; }
  .manifesto h2 { font-size: clamp(48px, 11.5vw, 68px); }
  .manifesto-side { padding-left: 18px; }
  .manifesto-side p { font-size: 15px; }
  .strategy { padding: 78px 0; }
  .strategy-layout { grid-template-columns: 1fr; gap: 33px; }
  .strategy-heading { position: static; }
  .strategy-heading h2 { font-size: clamp(43px, 10vw, 60px); }
  .strategy-heading p { font-size: 15px; }
  .strategy-row { grid-template-columns: 35px 1fr 24px; gap: 10px; min-height: 87px; }
  .strategy-row h3 { font-size: 21px; }
  .strategy-row > span:first-child { font-size: 10px; }
  .people { padding: 76px 0; }
  .people-top { grid-template-columns: 1fr; gap: 17px; }
  .people-top h2 { font-size: clamp(44px, 10.5vw, 63px); }
  .people-top > p { font-size: 15px; }
  .leader-feature { grid-template-columns: 1fr; gap: 30px; margin: 38px 0 34px; }
  .leader-feature > img { width: min(72vw, 290px); }
  .leader-quote { padding: 23px 0 25px; }
  .leader-quote blockquote { margin: 17px 0 23px; font-size: clamp(29px, 8vw, 39px); }
  .leader-role { font-size: 10px; }
  .people-grid { grid-template-columns: 1fr; margin-top: 30px; }
  .person-card, .person-card + .person-card { min-height: 0; padding: 19px 0; border-left: 0; }
  .person-card--profile { grid-template-columns: 76px 1fr; gap: 16px; }
  .person-card--profile > img { width: 76px; height: 76px; }
  .person-profile-copy h3 { margin: 7px 0 3px; font-size: 22px; }
  .person-profile-copy p { font-size: 12px; }
  .profile-dialog { display: grid; justify-items: start; gap: 0; }
  .profile-dialog-image { width: 108px; height: 108px; margin-bottom: 22px; }
  .profile-dialog-copy > p:last-child, .profile-highlights { font-size: 15px; }
  .person-card + .person-card { border-top: 1px solid var(--line); }
  .person-card h3 { margin: 16px 0 5px; font-size: 25px; }
  .people-note { font-size: 11px; }
  .insights { padding: 78px 0; }
  .insights-head { align-items: flex-start; flex-direction: column; gap: 17px; }
  .insights-head h2 { font-size: clamp(43px, 10.5vw, 62px); }
  .insight-grid { grid-template-columns: 1fr; gap: 10px; margin-top: 28px; }
  .insight-card { min-height: 195px; padding: 19px; }
  .insight-card h3 { margin: 17px 0; font-size: 24px; }
  .faq { padding: 76px 0; }
  .faq-layout { grid-template-columns: 1fr; gap: 28px; }
  .faq-intro h2 { font-size: clamp(44px, 10.5vw, 61px); }
  .faq-item summary { padding-block: 20px; font-size: 19px; }
  .faq-item summary::after { top: 19px; }
  .faq-item p { font-size: 14px; }
  .final-cta { padding: 70px 0; }
  .final-cta-inner { align-items: flex-start; flex-direction: column; gap: 25px; }
  .final-cta h2 { font-size: clamp(48px, 11vw, 65px); }
  .footer-top, .footer-legal { align-items: flex-start; flex-direction: column; gap: 20px; }
  .footer-links { gap: 13px 18px; }
  .footer-legal p { font-size: 10px; }
}

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

.landing-intro { padding: 82px 0; }
.landing-intro .intro-copy p { margin-top: 20px; }
.landing-offers { padding: 78px 0 86px; background: var(--stone); }
.landing-offers-head { max-width: 760px; margin-bottom: 32px; }
.landing-offers-head .eyebrow, .landing-process .eyebrow { color: var(--sand-dark); }
.landing-offers-head h2, .landing-process h2 { margin: 12px 0 0; font-family: var(--display); font-size: clamp(42px, 5vw, 66px); font-weight: 500; letter-spacing: -.07em; line-height: .98; }
.landing-offers-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.landing-offer { min-height: 186px; padding: 25px 22px 22px 0; }
.landing-offer + .landing-offer { border-left: 1px solid var(--line); padding-left: 22px; }
.landing-offer span { color: var(--sand-dark); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.landing-offer h3 { margin: 18px 0 7px; font-size: 19px; }
.landing-offer p, .landing-process-note { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.landing-process { padding: 84px 0; }
.landing-process-head { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 34px; }
.landing-process-head > p { max-width: 340px; margin: 0; color: var(--muted); font-size: 15px; }
.landing-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.landing-step { padding: 24px 24px 0 0; }
.landing-step + .landing-step { padding-left: 24px; border-left: 1px solid var(--line); }
.landing-step span { color: var(--sand-dark); font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.landing-step h3 { margin: 14px 0 7px; font-size: 20px; }
.landing-step p { margin: 0; color: var(--muted); font-size: 14px; }
.landing-process-note { margin-top: 24px; }
.landing-contact .final-cta-inner { align-items: center; }
.landing-contact h2 { max-width: 850px; }
.consultant-tool-toggle, .consultant-tool-copy { border: 0; background: transparent; padding: 10px 0 0; color: rgba(255,255,255,.62); font: inherit; font-size: 11px; text-decoration: underline; cursor: pointer; }
.consultant-tool-toggle:hover, .consultant-tool-copy:hover { color: var(--sand); }
.consultant-tool { border-top: 1px solid var(--line); background: var(--stone); padding: 56px 0; }
.consultant-tool-inner { max-width: 760px; display: grid; gap: 12px; }
.consultant-tool-inner h2 { margin: 0; font-family: var(--display); font-size: 36px; font-weight: 500; letter-spacing: -.05em; }
.consultant-tool-inner p { margin: 0; color: var(--muted); }
.consultant-tool-inner label { margin-top: 8px; font-size: 13px; font-weight: 700; }
.consultant-tool-inner input, .consultant-tool-inner select { width: 100%; min-height: 48px; border: 1px solid var(--line); border-radius: 0; background: var(--white); padding: 10px 12px; color: var(--ink); font: inherit; }
.consultant-tool-inner button:focus-visible, .consultant-tool-toggle:focus-visible, .consultant-tool-copy:focus-visible { outline: 2px solid var(--sand); outline-offset: 4px; }
.consultant-tool-inner .button { justify-self: start; cursor: pointer; }

.editorial-nav .wrap { min-height: 92px; }
.editorial-nav .main-nav { margin-left: auto; }
.editorial-nav .header-tools { margin-left: 0; }
.editorial-nav .languages a[aria-current="page"] { color: var(--sand); }
.editorial-nav .mobile-menu nav { min-width: 230px; }

.insights-hero { position: relative; min-height: 500px; display: flex; align-items: flex-end; overflow: hidden; padding: 150px 0 54px; background: var(--night); color: var(--white); }
.insights-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 54%; }
.insights-hero::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,43,34,.82), rgba(8,43,34,.35) 70%), linear-gradient(0deg, rgba(8,43,34,.65), transparent 70%); content: ""; }
.insights-hero .wrap { position: relative; z-index: 1; }
.insights-hero .eyebrow { color: var(--sand); }
.insights-hero h1 { max-width: 850px; margin: 20px 0 16px; font-family: var(--display); font-size: clamp(52px, 7vw, 92px); font-weight: 500; letter-spacing: -.075em; line-height: .96; }
.insights-hero .sub { max-width: 640px; margin: 0; color: rgba(255,255,255,.82); font-size: clamp(17px, 1.5vw, 20px); }
.insights-hero-rule { width: 64px; height: 1px; margin: 25px 0; background: var(--sand); }

.editorial-index { padding: 68px 0 94px; background: var(--stone); }
.editorial-heading { display: flex; align-items: end; justify-content: space-between; gap: 48px; margin-bottom: 30px; }
.editorial-heading .eyebrow { color: var(--sand-dark); }
.editorial-heading h2 { max-width: 720px; margin: 10px 0 0; font-family: var(--display); font-size: clamp(35px, 4.5vw, 58px); font-weight: 500; letter-spacing: -.07em; line-height: .98; }
.editorial-heading > p { max-width: 360px; margin: 0 0 4px; color: var(--muted); font-size: 14px; }
.editorial-index > .wrap > .insights-disclaimer { max-width: 790px; margin: 0 auto 28px; color: var(--muted); font-size: 12px; text-align: center; }
.insights-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 auto 34px; }
.insight-filter { min-height: 42px; padding: 0 16px; border: 1px solid rgba(13,59,46,.2); border-radius: 2px; background: transparent; color: var(--night); cursor: pointer; font: 700 12px/1.3 var(--sans); transition: color 160ms ease, background 160ms ease, border-color 160ms ease; }
.insight-filter:hover, .insight-filter.is-active { border-color: var(--night); background: var(--night); color: var(--white); }
.insight-articles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; }
.insight-article { min-width: 0; overflow: hidden; padding: 0 25px 24px; border: 1px solid rgba(32,39,32,.1); background: var(--white); box-shadow: 0 8px 26px rgba(13,59,46,.035); transition: border-color 180ms ease, box-shadow 180ms ease; scroll-margin-top: 112px; }
.insight-article:hover, .insight-article.is-open { border-color: rgba(130,101,47,.5); box-shadow: 0 15px 40px rgba(13,59,46,.09); }
.insight-article.is-open { grid-column: 1 / -1; }
.insight-visual { position: relative; height: clamp(165px, 20vw, 245px); margin: 0 -25px 21px; overflow: hidden; background: var(--night-soft); }
.insight-visual img { width: 100%; height: 100%; object-fit: cover; transition: transform 650ms cubic-bezier(.2,.7,.2,1); }
.insight-article:hover .insight-visual img { transform: scale(1.035); }
.insight-visual::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,43,34,.48), transparent 65%); content: ""; }
.insight-visual-number { position: absolute; z-index: 1; right: 18px; bottom: 13px; color: var(--white); font-size: 12px; font-weight: 800; letter-spacing: .14em; }
.insight-meta { display: flex; justify-content: space-between; gap: 12px; color: var(--sand-dark); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.insight-article h2 { margin: 16px 0 10px; font-family: var(--display); font-size: clamp(23px, 2.6vw, 34px); font-weight: 600; letter-spacing: -.05em; line-height: 1.12; }
.insight-article .article-intro { margin: 0; color: #48525a; font-size: 15px; line-height: 1.7; }
.insight-reading { margin-top: 18px; border-top: 1px solid var(--line); }
.insight-reading summary { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 15px 0 0; color: var(--night); cursor: pointer; font-size: 12px; font-weight: 800; list-style: none; }
.insight-reading summary::-webkit-details-marker { display: none; }
.insight-reading summary::after { color: var(--sand-dark); content: "+"; font-size: 20px; font-weight: 500; }
.insight-reading[open] summary::after { content: "−"; }
.read-close { display: none; }
.insight-reading[open] .read-open { display: none; }
.insight-reading[open] .read-close { display: inline; }
.insight-content { max-width: 780px; margin: 22px auto 0; }
.insight-content p { margin: 0 0 18px; color: #37414a; font-size: 16px; line-height: 1.85; }
.insight-content p:last-child { margin-bottom: 0; }
.insights-contact { position: relative; overflow: hidden; padding: 80px 0; background: var(--night); color: var(--white); }
.insights-contact::after { position: absolute; top: -230px; right: -110px; width: 520px; height: 520px; border: 1px solid rgba(197,161,90,.25); border-radius: 50%; box-shadow: 0 0 0 38px rgba(197,161,90,.035), 0 0 0 95px rgba(197,161,90,.025); content: ""; }
.insights-contact-inner { position: relative; z-index: 1; display: flex; align-items: end; justify-content: space-between; gap: 36px; }
.insights-contact .eyebrow { color: var(--sand); }
.insights-contact h2 { max-width: 800px; margin: 13px 0 0; font-family: var(--display); font-size: clamp(39px, 5vw, 66px); font-weight: 500; letter-spacing: -.07em; line-height: .98; }
.insights-contact p:not(.eyebrow) { max-width: 610px; margin: 15px 0 0; color: rgba(255,255,255,.72); font-size: 15px; }
.insights-contact .button { flex: 0 0 auto; }
.insights-contact-note { color: rgba(255,255,255,.55); font-size: 11px; }
.editorial-footer .footer-top { min-height: 78px; }

.contact-dialog { position: fixed; width: min(560px, calc(100% - 32px)); max-width: none; max-height: min(90vh, 800px); overflow: auto; padding: 0; border: 1px solid rgba(197,161,90,.55); background: var(--paper); color: var(--ink); box-shadow: 0 30px 100px rgba(0,0,0,.32); }
.contact-dialog[open] { animation: profile-dialog-enter 240ms cubic-bezier(.2,.7,.2,1) both; }
.contact-dialog::backdrop { background: rgba(8,43,34,.74); backdrop-filter: blur(5px); }
.contact-form { position: relative; display: grid; gap: 15px; padding: clamp(25px, 6vw, 42px); }
.contact-form .eyebrow { padding-right: 35px; color: var(--sand-dark); font-size: 10px; }
.contact-form h2 { margin: -4px 35px 0 0; font-family: var(--display); font-size: clamp(32px, 8vw, 43px); font-weight: 500; letter-spacing: -.06em; line-height: 1; }
.contact-form-intro { margin: -5px 0 2px; color: var(--muted); font-size: 14px; }
.contact-dialog-close { position: absolute; z-index: 1; top: 14px; right: 14px; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--night); cursor: pointer; font: 400 26px/1 var(--sans); }
.contact-form label { display: grid; gap: 6px; color: var(--night); font-size: 12px; font-weight: 800; }
.contact-form-name-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.contact-form input:not([type="checkbox"]), .contact-form select, .contact-form textarea { width: 100%; min-height: 48px; padding: 11px 12px; border: 1px solid rgba(23,29,35,.22); border-radius: 0; background: var(--white); color: var(--ink); font: 500 14px/1.5 var(--sans); }
.contact-form textarea { min-height: 94px; resize: vertical; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { outline: 2px solid var(--sand-dark); outline-offset: 1px; }
.contact-form-hint { color: var(--muted); font-size: 11px; font-weight: 500; }
.contact-form-consent { display: grid; grid-template-columns: 18px 1fr; align-items: start; gap: 9px; font-size: 11px !important; font-weight: 500 !important; line-height: 1.5; }
.contact-form-consent input { width: 16px; height: 16px; margin: 1px 0 0; accent-color: var(--night); }
.contact-form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-form-submit { justify-self: start; min-height: 52px; cursor: pointer; }
.contact-form-submit:disabled { cursor: wait; opacity: .65; }
.contact-form-status { min-height: 0; margin: 0; color: var(--night); font-size: 13px; }
.contact-form-status:empty { display: none; }
.contact-form-status a { color: var(--sand-dark); font-weight: 800; text-decoration: underline; }
.contact-form-status .contact-email-fallback { display: inline-flex; margin-top: 12px; color: var(--white); font-size: 11px; text-decoration: none; }
.contact-form-privacy { margin: -4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.contact-dialog-close:focus-visible, .contact-form-submit:focus-visible { outline: 2px solid var(--sand-dark); outline-offset: 4px; }

@media (max-width: 520px) {
  .contact-form-name-grid { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
  .insight-articles { gap: 14px; }
  .insight-article { padding-inline: 19px; }
  .insight-visual { margin-inline: -19px; }
}

@media (max-width: 760px) {
  .editorial-nav .header-row { min-height: 76px; }
  .editorial-nav .main-nav, .editorial-nav .header-tools { display: none; }
  .editorial-nav .mobile-menu { display: block; position: relative; margin-left: auto; }
  .editorial-nav .mobile-menu summary { min-height: 42px; display: flex; align-items: center; padding: 0 12px; border: 1px solid rgba(255,255,255,.55); color: var(--white); cursor: pointer; font-size: 12px; font-weight: 800; list-style: none; }
  .editorial-nav .mobile-menu summary::-webkit-details-marker { display: none; }
  .editorial-nav .mobile-menu nav { position: absolute; top: calc(100% + 10px); right: 0; z-index: 2; display: grid; min-width: 240px; padding: 12px; border: 1px solid rgba(255,255,255,.18); background: var(--night); box-shadow: 0 16px 40px rgba(0,0,0,.24); }
  .editorial-nav .mobile-menu nav a { padding: 11px; color: rgba(255,255,255,.9); font-size: 13px; font-weight: 700; }
  .insights-hero { min-height: 420px; padding: 125px 0 38px; }
  .insights-hero h1 { font-size: clamp(46px, 12vw, 68px); }
  .editorial-index { padding: 48px 0 64px; }
  .editorial-heading { align-items: flex-start; flex-direction: column; gap: 12px; margin-bottom: 24px; }
  .editorial-heading h2 { font-size: clamp(36px, 9.5vw, 52px); }
  .editorial-heading > p { font-size: 13px; }
  .insight-articles { grid-template-columns: 1fr; gap: 13px; }
  .insight-article.is-open { grid-column: auto; }
  .insight-visual { height: 205px; }
  .insight-content p { font-size: 15px; }
  .insights-contact { padding: 60px 0; }
  .insights-contact-inner { align-items: flex-start; flex-direction: column; gap: 22px; }
  .insights-contact h2 { font-size: clamp(42px, 11vw, 59px); }
}

@media (max-width: 760px) {
  .landing-intro, .landing-process { padding: 65px 0; }
  .landing-offers { padding: 62px 0; }
  .landing-offers-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .landing-offer { min-height: 160px; padding: 20px 14px 20px 0; }
  .landing-offer + .landing-offer { padding-left: 14px; }
  .landing-offer:nth-child(3) { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); }
  .landing-offer:nth-child(4) { border-top: 1px solid var(--line); }
  .landing-process-head { align-items: flex-start; flex-direction: column; gap: 16px; }
  .landing-steps { grid-template-columns: 1fr; }
  .landing-step, .landing-step + .landing-step { padding: 20px 0; border-left: 0; }
  .landing-step + .landing-step { border-top: 1px solid var(--line); }
}

.consultant-tool-toggle, .consultant-tool-copy { border: 0; background: transparent; padding: 10px 0 0; color: rgba(255,255,255,.62); font: inherit; font-size: 11px; text-decoration: underline; cursor: pointer; }
.consultant-tool-toggle:hover, .consultant-tool-copy:hover { color: var(--sand); }
.consultant-tool { border-top: 1px solid var(--line); background: var(--stone); padding: 56px 0; }
.consultant-tool-inner { max-width: 760px; display: grid; gap: 12px; }
.consultant-tool-inner h2 { margin: 0; font-family: var(--display); font-size: 36px; font-weight: 500; letter-spacing: -.05em; }
.consultant-tool-inner p { margin: 0; color: var(--muted); }
.consultant-tool-inner label { margin-top: 8px; font-size: 13px; font-weight: 700; }
.consultant-tool-inner input, .consultant-tool-inner select { width: 100%; min-height: 48px; border: 1px solid var(--line); border-radius: 0; background: var(--white); padding: 10px 12px; color: var(--ink); font: inherit; }
.consultant-tool-inner button:focus-visible, .consultant-tool-toggle:focus-visible, .consultant-tool-copy:focus-visible { outline: 2px solid var(--sand); outline-offset: 4px; }
.consultant-tool-inner .button { justify-self: start; cursor: pointer; }
