:root {
  --green: #006941;
  --green-dark: #004a30;
  --ink: #171b19;
  --muted: #606864;
  --line: #d9dfda;
  --paper: #fff;
  --warm: #f5f5f1;
  --font: "DM Sans", Arial, sans-serif;
  --serif: "Instrument Serif", Georgia, serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 16px/1.6 var(--font); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
::selection { background: #b9dec9; color: var(--ink); }
.container { width: min(100% - 64px, 1340px); margin-inline: auto; }
.hidden, [hidden] { display: none !important; }
.skip-link { position: absolute; z-index: 100; top: -100px; left: 16px; padding: 10px 14px; background: var(--ink); color: white; }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }

.site-header { position: relative; z-index: 20; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); }
.site-header__inner { display: flex; min-height: 108px; align-items: center; gap: 34px; }
.site-logo { display: inline-flex; width: 118px; flex: none; align-items: center; }
.site-logo img { display: block; width: 100%; height: auto; }
.site-logo--edition { position: relative; width: 145px; height: 78px; overflow: hidden; }
.site-logo--edition img { position: absolute; top: 50%; left: 0; width: 100%; max-width: none; transform: translateY(-50%); }
.home-splash-active { overflow: hidden; }
.home-splash { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; min-height: 100vh; min-height: 100dvh; background: #fefefe; opacity: 1; transform: scale(1); transition: opacity .9s ease, transform .9s ease; }
.home-splash.is-leaving { opacity: 0; transform: scale(1.06); pointer-events: none; }
.home-splash__art { width: min(78vw, 520px); }
.home-splash__art img { display: block; width: 100%; height: auto; }
.site-nav { display: flex; flex: 1; align-items: center; justify-content: flex-end; gap: clamp(18px, 2.2vw, 38px); }
.site-nav a { color: #343c37; font-size: 13px; font-weight: 600; letter-spacing: .01em; white-space: nowrap; transition: color .2s; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--green); }
.site-nav .site-instagram { display: inline-flex; align-items: center; justify-content: center; }
.site-instagram img { display: block; width: 20px; height: 20px; }
.site-nav .site-instagram span { display: none; }
.header-contact { margin-left: 18px; border-bottom: 1px solid var(--green); padding-bottom: 4px; color: var(--green) !important; }
.menu-toggle { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; border: 0; padding: 0; background: transparent; color: var(--ink); font-size: 29px; line-height: 1; }

.eyebrow { color: var(--green); font-size: 11px; font-weight: 700; letter-spacing: .13em; line-height: 1.4; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-weight: 500; letter-spacing: -.055em; line-height: 1.07; }
h1 { font-size: clamp(3.7rem, 7.4vw, 7.5rem); }
h2 { font-size: clamp(2.6rem, 5.2vw, 5.4rem); }
h3 { font-size: clamp(1.6rem, 2.2vw, 2.35rem); }
.serif { font-family: var(--serif); font-weight: 400; font-style: italic; letter-spacing: -.035em; }
.lead { color: #363e38; font-size: clamp(1.1rem, 1.6vw, 1.42rem); line-height: 1.52; }
.body-copy { max-width: 69ch; color: var(--muted); font-size: 16px; line-height: 1.75; }
.section { padding: clamp(76px, 9vw, 140px) 0; }
.section--warm { background: var(--warm); }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 44px; }
.section-head h2 { max-width: 860px; margin: 14px 0 0; }
.section-head p { max-width: 310px; margin: 0; color: var(--muted); }
.text-link { display: inline-flex; align-items: center; gap: 20px; border-bottom: 1px solid var(--green); padding-bottom: 7px; color: var(--green); font-size: 14px; font-weight: 700; transition: gap .2s; }
.text-link:hover { gap: 27px; }
.text-link span { font-size: 21px; font-weight: 400; line-height: 1; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 26px; border: 1px solid var(--green); padding: 13px 21px; background: var(--green); color: white; font-size: 13px; font-weight: 700; transition: background .2s, color .2s; }
.button:hover { background: var(--green-dark); color: white; }
.button--outline { background: transparent; color: var(--green); }
.button--outline:hover { color: white; }
.button span { font-size: 20px; font-weight: 400; line-height: 1; }

.home-hero { overflow: hidden; padding: clamp(70px, 8vw, 122px) 0 clamp(85px, 9vw, 138px); }
.home-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .88fr); align-items: center; gap: clamp(44px, 6vw, 110px); }
.home-hero__copy { position: relative; z-index: 1; }
.home-hero h1 { max-width: 800px; margin: 24px 0 28px; }
.home-hero .lead { max-width: 550px; margin-bottom: 35px; }
.home-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 26px; }
.hero-showcase { min-width: 0; }
.hero-visual { display: grid; height: min(54vw, 640px); min-height: 440px; margin: 0; grid-template-columns: 1.05fr .83fr; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 12px; }
.hero-visual img { width: 100%; height: 100%; object-fit: cover; object-position: clamp(0%, var(--hero-x) + var(--focus-x, 0%), 100%) clamp(0%, var(--hero-y) + var(--focus-y, 0%), 100%); }
.hero-visual__lead { position: relative; display: block; grid-row: 1 / 3; min-width: 0; height: 100%; overflow: hidden; }
.hero-visual__lead img { display: block; --hero-x: 49%; --hero-y: 25%; object-position: clamp(0%, var(--hero-x) + var(--focus-x, 0%), 100%) var(--hero-y); }
.hero-visual__tile { position: relative; display: block; min-width: 0; min-height: 0; overflow: hidden; }
.hero-visual img.hero-visual__incoming { position: absolute; inset: 0; }
.hero-visual__tile img { display: block; transform: scale(1.11); transform-origin: center bottom; }
.hero-visual__tile:nth-child(2) img { --hero-x: 30%; --hero-y: 45%; transform-origin: center 55%; }
.hero-visual__tile:nth-child(3) img { --hero-x: 45%; --hero-y: 42%; transform-origin: 5% 28%; }
/* Per-talent focal nudges; vertical ones apply to the small tiles only. */
.hero-visual img[data-talent="alima-gagigo"] { --focus-y: 3%; }
.hero-visual img[data-talent="amanda-cronin"] { --focus-y: 13%; }
.hero-visual img[data-talent="dolli-okoriko"] { --focus-x: 23%; }
.hero-visual__tile img[data-talent="dolli-okoriko"] { --focus-x: 53%; }
.hero-visual img[data-talent="harnaam-kaur"] { --focus-y: -21%; }
.hero-visual img[data-talent="lauren-mahon"] { --focus-y: 23%; }
.hero-visual img[data-talent="nicola-wills"] { --focus-x: 20%; --focus-y: -15%; }
.hero-visual img[data-talent="nicole-scherzinger"] { --focus-y: -15%; }
.hero-visual img[data-talent="thom-evans"] { --focus-x: -5%; }
.hero-visual img[data-talent="tiara-skye"] { --focus-x: 10%; --focus-y: -100%; }
.hero-visual__tile:nth-child(2) img[data-talent="tiara-skye"] { transform-origin: center top; }
.hero-visual__tile:nth-child(3) img[data-talent="tiara-skye"] { transform-origin: 5% top; }
.hero-visual img[data-talent="yong-chin-breslin"] { --focus-y: -5%; }
.hero-visual figcaption { display: none; }
.hero-showcase__controls { display: flex; align-items: center; justify-content: flex-end; gap: 15px; padding-top: 16px; }
.hero-showcase__controls button { border: 0; border-bottom: 1px solid var(--green); padding: 0 0 4px; background: transparent; color: var(--green); font-size: 12px; font-weight: 700; }
.hero-showcase__controls .hero-motion-toggle { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--line); border-radius: 50%; padding: 0; color: var(--muted); font-size: 12px; line-height: 1; }
.hero-showcase__controls .hero-motion-toggle:hover, .hero-showcase__controls .hero-motion-toggle:focus-visible { border-color: var(--green); color: var(--green); }
.intro-grid__links { display: flex; flex-wrap: wrap; gap: 15px 25px; margin-top: 25px; }
.rule-top { border-top: 1px solid var(--line); }
.intro-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 12vw; }
.intro-grid h2 { max-width: 480px; margin: 18px 0 0; }
.intro-grid .lead { margin-bottom: 26px; }

.talent-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 44px 16px; }
.talent-card { display: block; min-width: 0; }
.talent-card__image { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #e8eae6; }
.talent-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 27%; filter: saturate(.9); transition: transform .5s ease, filter .4s; }
.talent-grid--directory .talent-card[data-talent="alima-gagigo"] .talent-card__image img { object-position: 50% 17%; }
.talent-grid--directory .talent-card[data-talent="yong-chin-breslin"] .talent-card__image img { object-position: 50% 10%; }
.talent-card:hover .talent-card__image img, .talent-card:focus-visible .talent-card__image img { transform: scale(1.035); filter: saturate(1); }
.talent-grid--directory .talent-card[data-talent="tiara-skye"] .talent-card__image img { transform: scale(1.08696); transform-origin: center top; }
.talent-grid--directory .talent-card[data-talent="tiara-skye"]:hover .talent-card__image img,
.talent-grid--directory .talent-card[data-talent="tiara-skye"]:focus-visible .talent-card__image img { transform: scale(1.125); }
.talent-card__meta { position: relative; display: flex; min-height: 55px; flex-direction: column; align-items: start; gap: 5px; padding: 14px 30px 0 0; }
.talent-card__meta strong { display: block; font-size: clamp(17px, 1.6vw, 23px); font-weight: 500; letter-spacing: -.04em; line-height: 1.17; }
.talent-card__arrow { position: absolute; top: 19px; right: 2px; color: var(--green); font-size: 23px; line-height: 1; }
.talent-bottom { margin-top: 48px; }
.talent-grid--directory { row-gap: 55px; }

.frequency-page .page-hero { background: var(--warm); }
.frequency-page .page-hero .lead { max-width: 900px; }
.frequency-intro { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(40px, 8vw, 130px); }
.frequency-intro h2 { margin: 16px 0 0; }
.frequency-intro p { max-width: 64ch; color: var(--muted); font-size: 18px; }
.frequency-intro p:last-child { margin-bottom: 0; }
.frequency-page .talent-grid { margin-top: 45px; }
.frequency-offerings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.frequency-offerings article { min-height: 205px; padding: clamp(25px, 3vw, 42px); background: #edf2ed; }
.frequency-offerings article:nth-child(even) { background: #f2f1ed; }
.frequency-offerings h3 { margin: 0 0 15px; font-size: clamp(1.5rem, 2vw, 2rem); }
.frequency-offerings p { max-width: 52ch; margin: 0; color: var(--muted); }
.frequency-reasons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 42px 50px; margin-top: 45px; }
.frequency-reasons article { border-top: 1px solid var(--green); padding-top: 20px; }
.frequency-reasons h3 { margin: 0 0 12px; font-size: clamp(1.5rem, 2vw, 2rem); }
.frequency-reasons p { max-width: 55ch; margin: 0; color: var(--muted); }
.frequency-page .cta-section .lead { max-width: 760px; margin-bottom: 30px; color: #d3e6da; }


.page-hero { padding: clamp(74px, 8vw, 120px) 0 clamp(50px, 6vw, 90px); }
.page-hero h1 { max-width: 1080px; margin: 20px 0 24px; }
.page-hero p.lead { max-width: 760px; margin: 0; }
.offering-note { max-width: 760px; margin: 24px 0 0; color: var(--muted); font-size: 14px; }
.offering-note a { border-bottom: 1px solid var(--green); color: var(--green); font-weight: 700; }
.page-hero--compact h1 { font-size: clamp(3.5rem, 6.4vw, 6.7rem); }
.talent-directory { padding-top: clamp(48px, 5vw, 76px); }
.directory-controls { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin-bottom: 35px; }
.filter-list { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-button { min-height: 36px; border: 1px solid var(--line); padding: 7px 14px; background: white; color: var(--muted); font-size: 12px; font-weight: 600; }
.filter-button:hover, .filter-button[aria-pressed="true"] { border-color: var(--green); background: var(--green); color: white; }
.directory-search { display: grid; gap: 5px; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.directory-search input { min-width: 210px; border: 0; border-bottom: 1px solid var(--ink); border-radius: 0; padding: 7px 2px; background: transparent; color: var(--ink); font-size: 15px; font-weight: 400; letter-spacing: 0; text-transform: none; outline: 0; }
.directory-search input:focus { border-color: var(--green); }
.directory-empty { padding: 70px 0; border-top: 1px solid var(--line); color: var(--muted); }

.profile-missing { padding-block: 130px; }
.profile-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(50px, 8vw, 150px); align-items: start; }
.profile-carousel { min-width: 0; }
.profile-portrait { display: block; aspect-ratio: 4 / 5; width: 100%; object-fit: cover; object-position: 50% 24%; background: var(--warm); }
[data-profile][data-talent="dj-fat-tony"] .profile-portrait { object-position: 40% 24%; }
[data-profile][data-talent="dj-fat-tony"] .profile-portrait[data-slide="2"] { object-position: 50% 25%; }
[data-profile][data-talent="dj-fat-tony"] .profile-portrait[data-slide="3"] { object-position: 50% 80%; }
[data-profile][data-talent="sarah-jane-hoadley"] .profile-portrait[data-slide="2"] { object-position: 50% 20%; }
[data-profile][data-talent="sarah-jane-hoadley"] .profile-portrait[data-slide="3"] { object-position: 50% 60%; }
[data-profile][data-talent="freddie-harrel"] .profile-portrait[data-slide="3"] { object-position: 90% 24%; }
[data-profile][data-talent="tiara-skye"] .profile-portrait { transform: scale(1.05263); transform-origin: center top; clip-path: inset(0 2.5% 5% 2.5%); }
[data-profile][data-talent="tiara-skye"] .profile-portrait[data-slide="1"] { object-position: 55% 24%; transform: scale(1.08696); transform-origin: 81.25% top; clip-path: inset(0 1.5% 8% 6.5%); }
[data-profile][data-talent="alima-gagigo"] .profile-portrait[data-slide="2"] { object-position: 30% 44%; }
[data-profile][data-talent="harnaam-kaur"] .profile-portrait[data-slide="3"] { object-position: 52% 24%; }
[data-profile][data-talent="nicola-wills"] .profile-portrait[data-slide="2"] { object-position: 0% 24%; }
[data-profile][data-talent="mia-saoud-easton"] .profile-portrait[data-slide="2"] { object-position: 69% 24%; }
.profile-carousel__controls { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); padding: 14px 0; }
.profile-carousel__controls button { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: white; color: var(--green); font-size: 20px; }
.profile-carousel__controls button:hover { border-color: var(--green); }
.profile-carousel__controls span { color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.profile-copy { padding-top: 18px; }
.profile-copy h1 { margin: 18px 0 20px; font-size: clamp(3.5rem, 6.4vw, 7rem); }
.profile-copy .lead { max-width: 580px; margin-bottom: 34px; }
.profile-copy .body-copy { margin-bottom: 36px; }
.profile-detail { border-top: 1px solid var(--line); padding: 24px 0; }
.profile-detail h2 { margin-bottom: 16px; color: var(--green); font-family: var(--font); font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.profile-detail ul { margin: 0; padding-left: 18px; color: #343c37; }
.profile-detail li + li { margin-top: 8px; }
.tag-list { display: flex; flex-wrap: wrap; gap: 7px; }
.tag-list span { border: 1px solid var(--line); padding: 5px 10px; color: #3f4841; font-size: 12px; }
.profile-detail--work ul { padding: 0; list-style: none; counter-reset: profile-work; }
.profile-detail--work li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; border-bottom: 1px solid var(--line); padding: 10px 0; color: var(--ink); font-size: 15px; }
.profile-detail--work li:first-child { padding-top: 0; }
.profile-detail--work li:last-child { border-bottom: 0; padding-bottom: 0; }
.profile-detail--work li + li { margin-top: 0; }
.profile-detail--work li::before { counter-increment: profile-work; content: counter(profile-work, decimal-leading-zero); color: var(--green); font-size: 11px; font-weight: 700; letter-spacing: .08em; line-height: 2.3; }
.profile-links { display: flex; flex-wrap: wrap; gap: 12px 25px; }
.profile-links a { border-bottom: 1px solid var(--green); padding-bottom: 3px; color: var(--green); font-size: 14px; font-weight: 700; }
.profile-links a:hover { color: var(--green-dark); }

.about-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(60px, 9vw, 160px); }
.about-grid .lead { margin-bottom: 23px; }
.founder-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; gap: clamp(55px, 10vw, 170px); }
.founder-grid img { display: block; width: 100%; max-height: 700px; object-fit: cover; object-position: 25% 25%; }
.founder-grid h2 { margin: 16px 0 25px; }
.about-manifesto__layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(55px, 9vw, 150px); align-items: start; }
.about-manifesto__heading h2 { max-width: 500px; margin: 18px 0 0; }
.about-manifesto__list article { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 18px; border-top: 1px solid var(--green); padding: 26px 0 30px; }
.about-manifesto__list article:last-child { border-bottom: 1px solid var(--line); }
.about-manifesto__number { padding-top: 7px; color: var(--green); font-size: 12px; font-weight: 700; }
.about-manifesto__list h3 { margin: 0 0 10px; font-size: clamp(1.6rem, 2.2vw, 2.3rem); }
.about-manifesto__list p { max-width: 54ch; margin: 0; color: var(--muted); }
.principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 70px; }
.principles--four { grid-template-columns: repeat(4, 1fr); }
.philosophy-intro, .partnership-intro { max-width: 76ch; margin-top: 24px; }
.principle { border-top: 1px solid var(--green); padding-top: 22px; }
.principle .number { color: var(--green); font-size: 12px; }
.principle h3 { margin: 22px 0 12px; font-size: 24px; }
.principle p { max-width: 36ch; color: var(--muted); }

.service-list { border-top: 1px solid var(--line); }
.service-row { display: grid; grid-template-columns: 80px 1fr 1.1fr; gap: 40px; border-bottom: 1px solid var(--line); padding: 32px 0; }
.service-row .eyebrow { padding-top: 6px; }
.service-row h3 { margin: 0; font-size: clamp(1.7rem, 2.5vw, 2.9rem); }
.service-row p { max-width: 54ch; margin: 2px 0 0; color: var(--muted); }
.service-feature__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: stretch; gap: clamp(42px, 6vw, 94px); }
.service-feature--reverse .service-feature__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
.service-feature__image { position: relative; min-height: 560px; overflow: hidden; background: #e8eae6; }
.service-feature__image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 78% 3%; }
.service-feature--reverse .service-feature__image img { object-position: 50% 0%; }
.service-feature__copy { align-self: center; padding: 14px 0; }
.service-feature__copy h2 { margin: 16px 0 30px; font-size: clamp(2.6rem, 4.1vw, 4.6rem); }
.service-feature .service-row { grid-template-columns: 34px minmax(0, 1fr); gap: 3px 16px; padding: 20px 0; }
.service-feature .service-row h3 { font-size: clamp(1.3rem, 1.7vw, 1.8rem); }
.service-feature .service-row p { grid-column: 2; font-size: 14px; line-height: 1.6; }
.service-feature__steps { border-top: 1px solid var(--line); }
.service-feature__steps article { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 16px; border-bottom: 1px solid var(--line); padding: 22px 0; }
.service-feature__steps h3 { margin: 0 0 7px; font-size: clamp(1.3rem, 1.7vw, 1.8rem); }
.service-feature__steps p { max-width: 48ch; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.editorial-break { padding: clamp(44px, 5vw, 76px) 0 0; }
.editorial-break__images { display: grid; height: clamp(350px, 38vw, 540px); grid-template-columns: 1.12fr .88fr; grid-template-rows: minmax(0, 1fr); gap: 16px; }
.editorial-break--advisory .editorial-break__images { grid-template-columns: .8fr 1.2fr; }
.editorial-break__image { min-height: 0; overflow: hidden; }
.editorial-break__images img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: 50% 32%; }
.editorial-break__images img:first-child { object-position: 50% 0; }
.editorial-break--advisory .editorial-break__image { position: relative; top: -5%; height: 110%; }
.editorial-break--advisory .editorial-break__image:first-child img { object-position: 50% 0%; transform: scale(1.1); transform-origin: center top; }
.editorial-break--advisory .editorial-break__image:last-child img { width: 111.111%; max-width: none; object-position: 65% 0%; }
.advisory-intro { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px, 8vw, 130px); }
.advisory-intro h2 { margin: 0; }
.advisory-intro p { color: var(--muted); font-size: 18px; }
.advisory-panels { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 65px; }
.advisory-panel { min-height: 470px; padding: clamp(30px, 4vw, 60px); background: #edf2ed; }
.advisory-panel:last-child { background: #f2f1ed; }
.advisory-panel h3 { max-width: 590px; min-height: 2.14em; margin: 30px 0 20px; font-size: clamp(2.3rem, 3.4vw, 4rem); }
.advisory-panel p { max-width: 55ch; color: var(--muted); }
.advisory-panel ul { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 28px; margin: 30px 0 0; padding-left: 18px; color: #303932; }
.advisory-panel__note { margin: 28px 0 0; border-top: 1px solid var(--line); padding-top: 20px; font-size: 14px; }
.engagement-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 52px; }
.engagement-grid article { border-top: 1px solid var(--green); padding-top: 20px; }
.engagement-grid strong { display: block; margin: 22px 0 8px; font-size: 20px; font-weight: 500; letter-spacing: -.03em; }
.engagement-grid p { color: var(--muted); font-size: 14px; }

.contact-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(50px, 8vw, 130px); padding-bottom: clamp(90px, 11vw, 170px); }
.contact-intro h2 { max-width: 550px; margin: 17px 0 25px; font-size: clamp(2.6rem, 4.6vw, 5rem); }
.contact-intro p { max-width: 48ch; color: var(--muted); }
.contact-email { display: inline-block; max-width: 100%; border-bottom: 2px solid var(--green); padding-bottom: 8px; color: var(--green); font-size: 1rem; font-weight: 500; }
.contact-email span { display: inline-block; }
.contact-form { position: relative; display: grid; gap: 21px; align-content: start; border-top: 1px solid var(--green); padding-top: 26px; }
.contact-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.contact-field { display: grid; gap: 8px; min-width: 0; }
.contact-field label { color: var(--ink); font-size: 13px; font-weight: 700; }
.contact-field label > span[aria-hidden] { color: var(--green); }
.contact-field__optional { margin-left: 6px; color: var(--muted); font-size: 11px; font-weight: 400; }
.contact-field input, .contact-field select, .contact-field textarea { width: 100%; border: 1px solid var(--line); border-radius: 0; padding: 13px 15px; background: white; color: var(--ink); font-size: 15px; }
.contact-field textarea { min-height: 160px; resize: vertical; }
.contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus { border-color: var(--green); outline: 2px solid var(--green); outline-offset: 2px; }
.contact-field input::placeholder { color: #8a928c; }
.contact-form > .button { justify-self: start; }
.contact-form > .button:disabled { cursor: wait; opacity: .6; }
.contact-form__status { margin: 0; border-left: 2px solid var(--green); padding: 9px 14px; background: var(--warm); color: var(--ink); font-size: 14px; }
.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-socials { margin-top: 46px; }
.contact-socials__links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 15px; }
.contact-socials__links a { border-bottom: 1px solid var(--green); color: var(--green); font-size: 14px; font-weight: 700; }

.contact-privacy { max-width: 54ch; margin: -4px 0 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.contact-privacy a, .legal-content a { border-bottom: 1px solid var(--green); color: var(--green); font-weight: 600; }
.legal-page .page-hero { border-bottom: 1px solid var(--line); background: var(--warm); }
.legal-page .page-hero h1 { margin-bottom: 16px; }
.legal-updated { margin: 22px 0 0; color: var(--muted); font-size: 13px; }
.legal-layout { display: grid; grid-template-columns: minmax(180px, .32fr) minmax(0, 1fr); gap: clamp(50px, 8vw, 130px); padding-block: clamp(60px, 8vw, 110px); }
.legal-aside { align-self: start; position: sticky; top: 28px; }
.legal-aside nav { display: grid; gap: 13px; margin-top: 24px; }
.legal-aside a { width: fit-content; border-bottom: 1px solid transparent; color: var(--muted); font-size: 14px; }
.legal-aside a:hover, .legal-aside a:focus-visible { border-color: var(--green); color: var(--green); }
.legal-content { max-width: 800px; }
.legal-content section { border-bottom: 1px solid var(--line); padding-block: 37px 42px; scroll-margin-top: 30px; }
.legal-content section:first-child { padding-top: 0; }
.legal-content section:last-child { border-bottom: 0; }
.legal-content h2 { margin-bottom: 22px; font-size: clamp(2rem, 3.2vw, 3.2rem); }
.legal-content p { max-width: 70ch; margin-bottom: 17px; color: #414a43; line-height: 1.75; }
.legal-content p:last-child { margin-bottom: 0; }
.legal-table-wrap { overflow-x: auto; margin-bottom: 24px; }
.legal-table { width: 100%; border-collapse: collapse; text-align: left; }
.legal-table caption { padding-bottom: 8px; color: var(--muted); font-size: 13px; text-align: left; }
.legal-table th, .legal-table td { border-bottom: 1px solid var(--line); padding: 15px 18px 15px 0; vertical-align: top; }
.legal-table th { color: var(--green); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.legal-table code { color: var(--ink); }
.not-found-page { display: flex; min-height: 68vh; align-items: center; background: var(--warm); }
.not-found-layout { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 42px; padding-block: clamp(90px, 12vw, 180px); }
.not-found-layout h1 { max-width: 720px; margin: 20px 0 22px; }
.not-found-layout .lead { max-width: 540px; }
.not-found-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 34px; }
.not-found-mark { color: #dce5dd; font-size: clamp(8rem, 20vw, 20rem); font-weight: 500; letter-spacing: -.11em; line-height: .8; }

.cta-section { background: var(--green-dark); color: white; }
.cta-section .eyebrow { color: #b8d7c7; }
.cta-section h2 { max-width: 900px; margin: 18px 0 32px; }
.cta-section--statement h2 { max-width: 1150px; margin-bottom: 22px; }
.cta-section--statement p { max-width: 650px; margin: 0 0 32px; color: #d3e6da; font-size: clamp(1.05rem, 1.6vw, 1.35rem); }
.cta-section .button { border-color: white; background: white; color: var(--green-dark); }
.cta-section .button:hover { background: #e5f0e8; }
.site-footer { border-top: 1px solid var(--line); padding: 70px 0 24px; background: #fff; }
.footer-main { display: grid; grid-template-columns: 1.35fr .65fr .65fr; gap: 60px; padding-bottom: 80px; }
.footer-main .site-logo { width: 126px; margin-bottom: 15px; }
.footer-main p { max-width: 300px; color: var(--muted); font-size: 14px; }
.footer-main h2 { margin: 4px 0 18px; color: var(--green); font: 700 11px/1.4 var(--font); letter-spacing: .13em; text-transform: uppercase; }
.footer-links { display: grid; gap: 7px; font-size: 14px; }
.footer-links a:hover { color: var(--green); }
.footer-links .footer-icon-link { display: inline-flex; width: fit-content; align-items: center; gap: 8px; }
.footer-icon-link img { display: block; width: 17px; height: 17px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); padding-top: 21px; color: #777e78; font-size: 11px; }
.footer-bottom a { text-decoration: underline; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 10px 19px; }
.footer-legal a[aria-current="page"] { color: var(--green); font-weight: 700; }

@media (max-width: 1050px) {
  .site-header__inner { min-height: 88px; }
  .site-logo { width: 96px; }
  .site-logo--edition { width: 125px; height: 70px; }
  .site-nav { gap: 14px; }
  .site-nav a { font-size: 12px; }
  .header-contact { margin-left: 0; }
  .hero-visual { min-height: 390px; }
  .talent-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .service-row { grid-template-columns: 55px 1fr 1fr; gap: 20px; }
}

@media (min-width: 901px) and (max-width: 1050px) {
  .talent-grid:not(.talent-grid--directory) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (min-width: 761px) and (max-width: 900px) {
  .talent-grid:not(.talent-grid--directory) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 761px) and (max-width: 1250px) {
  .advisory-panel h3 { min-height: 3.21em; }
}

@media (max-width: 760px) {
  .container { width: min(100% - 36px, 620px); }
  .site-header__inner { min-height: 78px; justify-content: space-between; }
  .site-logo { width: 83px; }
  .site-logo--edition { width: 112px; height: 62px; }
  .menu-toggle { display: inline-flex; }
  .site-nav { position: absolute; top: calc(100% + 1px); right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; border-bottom: 1px solid var(--line); padding: 10px 18px 20px; background: white; box-shadow: 0 20px 30px rgba(0,0,0,.07); }
  .site-nav.is-open { display: flex; }
  .site-nav a { border-bottom: 1px solid #e7ebe7; padding: 14px 5px; font-size: 15px; }
  .site-nav .site-instagram { justify-content: flex-start; gap: 12px; }
  .site-nav .site-instagram span { display: inline; }
  .site-nav .header-contact { margin: 0; border-bottom: 0; }
  .home-hero { padding-top: 65px; }
  .home-hero__grid, .intro-grid, .profile-grid, .about-grid, .founder-grid, .advisory-intro, .contact-layout { grid-template-columns: 1fr; }
  .frequency-intro, .frequency-offerings, .frequency-reasons { grid-template-columns: 1fr; }
  .frequency-offerings article { min-height: 0; }
  .home-hero h1 { font-size: clamp(3.45rem, 12vw, 5rem); }
  .home-hero__grid { gap: 50px; }
  .hero-visual { width: 100%; height: 520px; min-height: 0; }
  .hero-visual__tile img[data-talent="nicola-wills"] { --focus-y: -100%; transform-origin: center top; }
  .section-head { display: block; }
  .section-head p { margin-top: 18px; }
  .talent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 12px; }
  .directory-controls { display: block; }
  .filter-button { min-height: 44px; padding: 10px 14px; font-size: 13px; }
  .directory-search { max-width: 320px; margin-top: 24px; }
  .contact-layout { gap: 48px; }
  .profile-copy { padding-top: 0; }
  .profile-portrait { max-height: 690px; }
  .about-manifesto__layout { grid-template-columns: 1fr; gap: 36px; }
  .about-page .page-hero, .services-page .page-hero { padding: 64px 0 44px; }
  .about-page > .section, .services-page > .section { padding-block: 64px; }
  .about-page .eyebrow, .services-page .eyebrow, .advisory-page .eyebrow { font-size: 12px; letter-spacing: .11em; }
  .about-page .about-grid, .about-page .founder-grid, .services-page .intro-grid { gap: 32px; }
  .about-page .about-manifesto__layout { gap: 28px; }
  .about-page .about-manifesto__list article { padding-block: 22px 24px; }
  .about-page .principles, .services-page .principles { margin-top: 46px; }
  .about-page .principle h3, .services-page .principle h3 { margin-top: 16px; }
  .services-page .section-head { margin-bottom: 34px; }
  .services-page .service-feature__grid, .services-page .service-feature--reverse .service-feature__grid { gap: 30px; }
  .services-page .service-feature .service-row p, .services-page .service-feature__steps p { font-size: 15px; line-height: 1.65; }
  .advisory-page > .section:not(.cta-section) { padding-block: 58px; }
  .advisory-page .section-head { margin-bottom: 34px; }
  .advisory-page .advisory-panels { gap: 18px; margin-top: 40px; }
  .advisory-page .advisory-panel { min-height: 0; padding: 36px 30px; }
  .advisory-page .advisory-panel h3 { min-height: 0; }
  .advisory-page .advisory-panel ul { gap: 12px 24px; line-height: 1.55; }
  .advisory-page .advisory-panel__note { margin-top: 32px; padding-top: 24px; font-size: 15px; line-height: 1.6; }
  .advisory-page .editorial-break { padding-top: 32px; }
  .advisory-page .engagement-grid { margin-top: 34px; }
  .advisory-page .engagement-grid p { font-size: 15px; line-height: 1.65; }
  .principles, .advisory-panels { grid-template-columns: 1fr; }
  .principles--four { grid-template-columns: 1fr 1fr; }
  .engagement-grid { grid-template-columns: 1fr 1fr; }
  .service-row { grid-template-columns: 50px 1fr; }
  .service-row p { grid-column: 2; }
  .service-feature__grid, .service-feature--reverse .service-feature__grid { grid-template-columns: 1fr; gap: 35px; }
  .service-feature__image { min-height: 0; height: clamp(390px, 115vw, 560px); }
  .service-feature--reverse .service-feature__image { order: -1; }
  .service-feature__copy { padding: 0; }
  .editorial-break__images { height: clamp(270px, 63vw, 430px); gap: 8px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 42px 20px; }
  .footer-main > div:first-child { grid-column: 1 / -1; }
  .legal-layout { grid-template-columns: 1fr; gap: 30px; }
  .legal-aside { position: static; }
  .legal-aside nav { display: flex; flex-wrap: wrap; gap: 9px 18px; margin-top: 15px; }
  .not-found-layout { grid-template-columns: 1fr; }
  .not-found-mark { display: none; }
}

@media (max-width: 460px) {
  .contact-form__row { grid-template-columns: 1fr; }
  .hero-visual { height: 370px; gap: 7px; }
  .home-hero__actions { align-items: stretch; flex-direction: column; gap: 12px; }
  .home-hero__actions .button { justify-content: space-between; }
  .home-hero__actions .text-link { min-height: 52px; justify-content: space-between; padding: 13px 22px; }
  .talent-card__image { aspect-ratio: 3 / 4; }
  .talent-card__meta { padding-top: 10px; }
  .talent-card__meta strong { font-size: 17px; }
  .talent-card__arrow { font-size: 18px; }
  .advisory-panel ul, .engagement-grid { grid-template-columns: 1fr; }
  .principles--four { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; }
  .not-found-actions { align-items: flex-start; flex-direction: column; }
}

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