:root {
  font-family: "DM Sans", sans-serif;
  color: #20211e;
  background: #f5f5ef;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  --paper: #f5f5ef;
  --ink: #20211e;
  --muted: #74766e;
  --line: #d8d8ce;
  --coral: #ec654e;
  --black:black;
  --lime: #d8ee71;
  --serif: "Playfair Display", Georgia, serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { min-width: 340px; margin: 0; }
body, button, input, textarea { font-family: "DM Sans", sans-serif; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
::selection { color: var(--ink); background: var(--lime); }
.page-shell { max-width: 1800px; margin: 0 auto; overflow: clip; background: var(--paper); }
.announcement { min-height: 36px; display: flex; justify-content: space-between; align-items: center; padding: 0 6.5%; color: #f5f5ef; background: var(--ink); font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.announcement a { color: var(--lime); }
.announcement a span { margin-left: 4px; }
.site-header { position: sticky; z-index: 20; top: 0; height: 84px; display: flex; justify-content: space-between; align-items: center; padding: 0 6.5%; border-bottom: 1px solid rgb(32 33 30 / 8%); background: rgb(245 245 239 / 95%); backdrop-filter: blur(16px); }
.brand { display: flex; align-items: center; gap: 12px; width: fit-content; }
.brand-mark { font-size: 30px; font-weight: 700; letter-spacing: -.08em; }
.brand-mark span { color: var(--coral); }
.brand-caption { padding-left: 12px; border-left: 1px solid var(--line); font-size: 9px; font-weight: 700; line-height: 1.4; letter-spacing: .08em; }
.site-nav { display: flex; align-items: center; gap: clamp(20px, 3.2vw, 48px); font-size: 12px; font-weight: 600; }
.site-nav > a:not(.nav-contact) { transition: color .18s ease; }
.site-nav > a:not(.nav-contact):hover, .text-link:hover { color: var(--coral); }
.nav-contact { padding: 13px 17px; border: 1px solid var(--ink); transition: color .2s, background .2s; }
.nav-contact:hover { color: var(--paper); background: var(--ink); }
.nav-contact span { margin-left: 11px; }
.menu-toggle { display: none; }

.hero { position: relative; min-height: 640px; display: grid; grid-template-columns: 1fr .83fr; align-items: center; padding: 62px 10.3% 68px 11%; gap: 7%; }
.hero-copy { position: relative; z-index: 2; padding: 10px 0 20px; }
.eyebrow { margin: 0 0 23px; font-size: 9px; font-weight: 700; line-height: 1.5; letter-spacing: .15em; }
.eyebrow-dot { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: var(--coral); vertical-align: 1px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-weight: 500; }
.hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(57px, 6.65vw, 95px); line-height: .99; letter-spacing: -.045em; }
h1 em, h2 em { color: var(--coral); font-weight: 500; }
.hero-intro { max-width: 430px; margin: 27px 0 0; color: #5e605a; font-size: 14px; line-height: 1.85; }
.hero-actions { display: flex; align-items: center; gap: 27px; margin-top: 30px; }
.button { min-height: 49px; display: inline-flex; align-items: center; justify-content: center; gap: 25px; padding: 0 19px; border: 1px solid transparent; font-size: 11px; font-weight: 600; cursor: pointer; transition: transform .2s, background .2s, color .2s; }
.button:hover { transform: translateY(-3px); }
.button-dark { color: white; background: var(--ink); }
.button-dark:hover { background: var(--black); }
.button span { font-size: 15px; }
.text-link { display: inline-flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 600; transition: color .2s; }
.hero-note { display: flex; align-items: center; gap: 12px; margin-top: 47px; color: var(--muted); font-size: 9px; line-height: 1.6; letter-spacing: .08em; text-transform: uppercase; }
.note-line { width: 29px; height: 1px; background: var(--coral); }
.hero-art { position: relative; width: 100%; max-width: 450px; justify-self: center; padding: 0 0 24px 18px; }
.hero-image-wrap { position: relative; width: 100%; aspect-ratio: .82; overflow: hidden; background: #cfcfc5; }
.hero-image-wrap::before { position: absolute; z-index: 1; inset: 50% 0 0; background: linear-gradient(0deg, rgb(24 24 22 / 36%), transparent); content: ""; pointer-events: none; }
.hero-image { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 37%; }
.image-index { position: absolute; z-index: 2; right: 15px; bottom: 15px; left: 15px; display: flex; justify-content: space-between; color: white; font-size: 8px; letter-spacing: .12em; }
.orbit-label { position: absolute; top: 41px; left: -33px; width: 108px; height: 108px; display: flex; flex-direction: column; align-items: center; justify-content: center; transform: rotate(-9deg); border-radius: 50%; color: var(--ink); background: var(--lime); font-size: 10px; font-weight: 700; line-height: 1.35; text-align: center; letter-spacing: .04em; }
.orbit-label span { margin-top: 2px; color: var(--coral); font-size: 20px; }
.image-caption { display: flex; justify-content: space-between; padding-top: 10px; font-size: 8px; font-weight: 600; letter-spacing: .11em; }
.hero-side-note { position: absolute; top: 47%; right: 2.6%; transform: rotate(90deg) translateX(50%); transform-origin: right; color: #96978e; font-size: 8px; letter-spacing: .13em; }

.home-nactip-section { min-height: 560px; display: grid; grid-template-columns: 1.05fr .95fr; }
.home-nactip-copy { display: flex; flex-direction: column; justify-content: space-between; padding: 44px clamp(35px, 5.7vw, 80px) 66px clamp(35px, 5.7vw, 80px); background: #fff; }
.home-domain { margin: 0; font-size: 14px; font-weight: 700; }
.home-nactip-message { max-width: 600px; padding: 36px 0 0; }
.home-nactip-eyebrow { margin: 0 0 29px; color: #555; font-size: 9px; font-weight: 700; letter-spacing: .22em; line-height: 1.7; }
.home-nactip-message h2 { max-width: 580px; margin: 0; color: #080808; font-family: "Barlow Condensed", Impact, sans-serif; font-size: clamp(49px, 5vw, 58px); font-weight: 700; line-height: .98; }
.home-nactip-intro { max-width: 530px; margin: 28px 0 0; color: #202020; font-size: 15px; line-height: 1.75; }
.home-nactip-values { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 33px; }
.home-nactip-values span { display: inline-flex; align-items: center; min-height: 31px; padding: 0 12px; border: 1px solid #1d1d1d; border-radius: 3px; color: #111; font-size: 9px; font-weight: 700; text-transform: uppercase; white-space: nowrap; }
.home-nactip-button { width: min(100%, 322px); min-height: 54px; justify-content: center; margin-top: 43px; color: #fff; background: #101010; font-size: 13px; text-transform: uppercase; }
.home-nactip-button:hover { background: #333; }
.home-nactip-art { min-height: 100%; display: grid; place-items: center; overflow: hidden; padding: 8%; background: #101010; }
.home-nactip-art svg { width: min(100%, 500px); max-height: 600px; display: block; }
.home-larubeya-section { min-height: 540px; display: grid; grid-template-columns: 1fr 1fr; color: white; background: #174d3b; }
.home-larubeya-art { position: relative; min-height: 100%; overflow: hidden; background: #35483c; }
.home-larubeya-art::after { position: absolute; inset: 45% 0 0; background: linear-gradient(0deg, rgb(15 27 22 / 72%), transparent); content: ""; }
.home-larubeya-art img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: center 40%; }
.home-larubeya-art > span { position: absolute; z-index: 1; bottom: 22px; left: 24px; color: white; font-size: 8px; font-weight: 700; letter-spacing: .14em; }
.home-larubeya-copy { align-self: center; max-width: 680px; padding: 72px clamp(38px, 7vw, 96px); }
.home-larubeya-kicker { margin: 0 0 23px; color: #f2c457; font-size: 8px; font-weight: 700; letter-spacing: .16em; line-height: 1.7; }
.home-larubeya-copy h2 { margin: 0; color: white; font-family: var(--serif); font-size: clamp(43px, 5vw, 63px); line-height: 1.04; }
.home-larubeya-copy h2 em { color: #f2c457; }
.home-larubeya-tagline { margin: 15px 0 18px; color: #f2c457; font-family: var(--serif); font-size: 20px; font-style: italic; line-height: 1.5; }
.home-larubeya-copy > p:not(.home-larubeya-kicker):not(.home-larubeya-tagline) { max-width: 480px; margin: 0; color: #e0e9e2; font-size: 11px; line-height: 1.85; }
.home-larubeya-button { margin-top: 25px; color: #17211c; background: #f2c457; }
.home-larubeya-button:hover { background: white; }

.ticker { overflow: hidden; padding: 18px 0 19px; color: var(--ink); background: var(--lime); }
.ticker-track { width: max-content; display: flex; align-items: center; gap: 32px; animation: ticker-scroll 34s linear infinite; font-family: var(--serif); font-size: 19px; font-style: italic; }
.ticker-track i { color: var(--coral); font-family: sans-serif; font-size: 17px; font-style: normal; }
@keyframes ticker-scroll { to { transform: translateX(-50%); } }

.section-pad { padding: 105px 10.5% 110px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 38px; margin-bottom: 43px; }
.section-heading .eyebrow { margin-bottom: 14px; }
h2 { margin-bottom: 0; font-family: var(--serif); font-size: clamp(43px, 5vw, 68px); line-height: 1.05; letter-spacing: -.045em; }
.section-aside { width: 235px; margin: 0 0 5px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.work-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 42px 25px; align-items: start; }
.work-card { display: block; min-width: 0; }
.work-image { position: relative; aspect-ratio: 1.24; overflow: hidden; background: #e1e1d8; }
.work-feature .work-image { aspect-ratio: 1.08; }
.work-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .55s cubic-bezier(.2,.65,.3,1); }
.work-feature .work-image img { object-position: center 22%; }
.work-card:hover .work-image img { transform: scale(1.035); }
.work-image::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgb(18 18 17 / 36%), transparent 40%); content: ""; }
.work-image-label { position: absolute; z-index: 1; right: 13px; bottom: 14px; color: white; font-size: 8px; font-weight: 600; letter-spacing: .12em; background-color: black; }
.work-image-writing { display: flex; align-items: center; justify-content: center; background: #dce5eb; }
.work-image-writing img { width: 62%; height: 100%; object-fit: contain; }
.work-image-writing::after { display: none; }
.work-image-writing .work-image-label { right: 0; bottom: 0; left: 0; padding: 14px; color: white; background: var(--black); text-align: center; }
.work-image-rise { aspect-ratio: .7; background: #f3f1e8; }
.work-image-rise img { object-fit: contain; object-position: center; }
.work-image-rise::after { display: none; }
.work-card:hover .work-image-rise img { transform: none; }
.image-title-stamp { position: absolute; z-index: 1; top: 19px; left: 19px; color: white; font-family: var(--serif); font-size: clamp(30px, 4vw, 48px); line-height: .9; }
.image-title-stamp > span { color: var(--lime); }
.image-title-stamp i { font-size: .54em; font-weight: 500; }
.work-image-nactip { display: grid; place-items: center; background: #f3f1e8; }
.work-image-nactip::after { display: none; }
.work-image-nactip img { width: 88%; height: 88%; object-fit: contain; object-position: center; filter: none; }
.work-card:hover .work-image-nactip img { transform: none; }
.nactip-stamp { position: absolute; z-index: 1; top: 50%; left: 50%; transform: translate(-50%, -50%); padding: 13px 15px 11px; border: 1px solid rgb(255 255 255 / 70%); color: white; font-size: clamp(20px, 3vw, 34px); font-weight: 700; letter-spacing: .12em; }
.nactip-stamp span { color: var(--lime); }
.work-card-meta { display: flex; justify-content: space-between; align-items: end; padding-top: 16px; }
.work-card-meta .eyebrow { margin-bottom: 7px; color: var(--muted); font-size: 8px; }
.work-card-meta h3 { margin: 0; font-family: var(--serif); font-size: 23px; line-height: 1.2; }
.round-arrow { width: 32px; height: 32px; flex: 0 0 32px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; transition: color .2s, background .2s, border-color .2s; }
.work-card:hover .round-arrow { border-color: var(--ink); color: white; background: var(--ink); }
.work-note { min-height: 150px; display: flex; flex-direction: column; justify-content: center; padding: 28px 7%; border-left: 1px solid var(--coral); }
.note-star { color: var(--coral); font-size: 27px; }
.work-note p { max-width: 310px; margin: 12px 0 16px; font-family: var(--serif); font-size: 23px; font-style: italic; line-height: 1.35; }
.note-byline { font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.all-work-link { display: flex; justify-content: space-between; gap: 15px; padding-top: 19px; margin-top: 33px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.all-work-link span { color: var(--ink); font-weight: 600; }

.about-section { display: grid; grid-template-columns: 1fr 1fr; min-height: 595px; background: #e9ebe2; }
.about-visual { position: relative; min-height: 480px; overflow: hidden; }
.about-visual img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: center 45%; filter: saturate(.72); }
.about-visual::after { position: absolute; inset: 50% 0 0; background: linear-gradient(0deg, rgb(22 25 22 / 45%), transparent); content: ""; }
.about-visual-tag { position: absolute; z-index: 1; right: 23px; bottom: 23px; left: 25px; display: flex; justify-content: space-between; color: white; font-size: 9px; font-weight: 600; letter-spacing: .14em; }
.about-visual-tag i { margin-left: 8px; color: var(--lime); font-size: 18px; font-style: normal; }
.about-copy { align-self: center; max-width: 610px; padding: 75px clamp(40px, 8vw, 125px); }
.about-copy .eyebrow { margin-bottom: 20px; }
.about-copy h2 { max-width: 520px; font-size: clamp(43px, 5vw, 64px); }
.about-lead { margin: 13px 0 20px; color: var(--coral); font-family: var(--serif); font-size: 24px; font-style: italic; }
.about-copy > p:not(.eyebrow):not(.about-lead) { max-width: 420px; margin-bottom: 14px; color: #5c5f57; font-size: 12px; line-height: 1.85; }
.text-link-dark { margin-top: 11px; }
.about-values { display: flex; flex-wrap: wrap; gap: 8px 17px; margin-top: 39px; padding-top: 17px; border-top: 1px solid #c7c9bf; font-size: 8px; font-weight: 700; letter-spacing: .1em; }

.site-nav > .is-current { color: var(--coral); }
.profile-hero { min-height: 610px; display: grid; grid-template-columns: 1.05fr .75fr; align-items: center; gap: 9%; padding: 67px 12% 76px; }
.profile-hero-copy { max-width: 650px; }
.profile-hero h1 { max-width: 650px; font-family: var(--serif); font-size: clamp(59px, 7vw, 92px); line-height: .99; letter-spacing: -.045em; }
.profile-hero h1 em { color: var(--coral); font-weight: 500; }
.profile-hero-quote { max-width: 440px; margin: 26px 0 22px; color: var(--muted); font-family: var(--serif); font-size: 17px; font-style: italic; line-height: 1.7; }
.profile-hero-art { position: relative; width: 100%; max-width: 390px; justify-self: center; padding: 10px 15px 30px 0; }
.profile-portrait { position: relative; aspect-ratio: .78; overflow: hidden; background: #d8d8ce; }
.profile-portrait::after { position: absolute; inset: 55% 0 0; background: linear-gradient(0deg, rgb(24 24 22 / 48%), transparent); content: ""; }
.profile-portrait img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 30%; }
.profile-portrait-caption { position: absolute; z-index: 1; right: 15px; bottom: 15px; left: 15px; color: white; font-size: 8px; font-weight: 600; letter-spacing: .12em; }
.profile-orbit { position: absolute; top: 39px; right: -17px; width: 68px; height: 68px; display: grid; place-items: center; border-radius: 50%; color: var(--ink); background: var(--lime); font-size: 32px; }
.biography-section { display: grid; grid-template-columns: .78fr 1fr; align-items: start; gap: 10%; background: #e9ebe2; }
.biography-heading { position: sticky; top: 125px; }
.biography-heading .eyebrow { margin-bottom: 19px; }
.biography-heading h2 { font-size: clamp(44px, 5vw, 67px); }
.biography-deck { max-width: 320px; margin: 22px 0 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.biography-copy { color: #55584f; font-size: 12px; line-height: 1.9; }
.biography-copy p { margin-bottom: 17px; }
.biography-copy p:last-child { margin-bottom: 0; }
.biography-copy .biography-lead { color: var(--ink); font-family: var(--serif); font-size: 21px; line-height: 1.55; }
.philosophy-band { display: grid; grid-template-columns: 100px minmax(0, 760px); justify-content: center; gap: 22px; padding: 84px 8%; color: white; background: var(--black); }
.philosophy-mark { color: var(--lime); font-family: var(--serif); font-size: 106px; line-height: .8; }
.philosophy-band .eyebrow { color: #e1e6fc; }
.philosophy-band h2 { font-size: clamp(39px, 5.2vw, 65px); }
.philosophy-band h2 em { color: var(--lime); }
.philosophy-band > div > p:last-child { max-width: 590px; margin: 21px 0 0; color: #e1e6fc; font-size: 12px; line-height: 1.8; }
.expertise-section { padding-bottom: 108px; }
.expertise-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.expertise-item { min-height: 114px; display: flex; flex-direction: column; justify-content: space-between; gap: 15px; padding: 17px 18px 16px 0; border-bottom: 1px solid var(--line); }
.expertise-item:not(:nth-child(3n)) { border-right: 1px solid var(--line); }
.expertise-item:nth-child(3n + 2), .expertise-item:nth-child(3n) { padding-left: 18px; }
.expertise-item span, .roles-list p > span { color: var(--coral); font-size: 8px; font-weight: 700; letter-spacing: .1em; }
.expertise-item h3 { max-width: 260px; margin: 0; font-family: var(--serif); font-size: 17px; line-height: 1.35; }
.roles-section { display: grid; grid-template-columns: .7fr 1.1fr; gap: 10%; padding: 100px 12%; background: #e9ebe2; }
.roles-intro .eyebrow { margin-bottom: 18px; }
.roles-intro h2 { font-size: clamp(48px, 5.2vw, 70px); }
.roles-intro > p:last-child { max-width: 310px; margin: 20px 0 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.roles-list { border-top: 1px solid #c7c9bf; }
.roles-list p { display: grid; grid-template-columns: 30px 1fr; gap: 4px 12px; padding: 14px 0; margin: 0; border-bottom: 1px solid #c7c9bf; font-family: var(--serif); font-size: 17px; line-height: 1.4; }
.roles-list p > span { grid-row: span 2; padding-top: 5px; font-family: "DM Sans", sans-serif; }
.roles-list p > b { color: var(--muted); font-family: "DM Sans", sans-serif; font-size: 9px; font-weight: 500; line-height: 1.6; }
.impact-band { display: flex; flex-direction: column; align-items: center; padding: 86px 8%; text-align: center; }
.impact-band .eyebrow { color: var(--muted); }
.impact-band h2 { max-width: 860px; margin-bottom: 26px; font-size: clamp(42px, 5.6vw, 71px); }
.impact-band h2 em { color: var(--coral); }

.nactip-page { --na-green: #39bd57; --na-deep: #172119; --na-soft: #e8eee6; }
.nactip-page .announcement { background: var(--na-deep); }
.nactip-page .announcement a { color: #b6e578; }
.nactip-hero { min-height: 620px; display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: 7%; padding: 75px 10.5%; color: #f6f6ef; background: var(--na-deep); }
.nactip-hero-copy { max-width: 580px; }
.nactip-hero .eyebrow { color: #b6e578; }
.nactip-hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(68px, 8vw, 108px); line-height: .9; }
.nactip-hero h1 em { color: var(--na-green); }
.nactip-hero-copy > p:not(.eyebrow) { max-width: 480px; margin: 24px 0 0; color: #c8d0c6; font-size: 13px; line-height: 1.9; }
.nactip-button { color: var(--na-deep); background: #b6e578; }
.nactip-button:hover { background: white; }
.nactip-link { color: #f6f6ef; }
.nactip-hero-note { display: flex; gap: 23px; margin-top: 38px; padding-top: 15px; border-top: 1px solid rgb(255 255 255 / 22%); color: #c8d0c6; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.nactip-hero-visual { min-height: 390px; display: grid; place-items: center; aspect-ratio: 1.12; background: #29382d; }
.nactip-logo-card { width: min(74%, 320px); padding: 12px; background: #fff; }
.nactip-logo-card img { width: 100%; display: block; }
.nactip-stats { display: grid; grid-template-columns: repeat(4, 1fr); padding: 27px 10.5%; color: var(--na-deep); background: #b6e578; }
.nactip-stats div { display: flex; flex-direction: column; gap: 6px; padding-left: 22px; border-left: 1px solid rgb(23 33 25 / 26%); }
.nactip-stats div:first-child { padding-left: 0; border-left: 0; }
.nactip-stats strong { font-family: var(--serif); font-size: 28px; font-weight: 500; }
.nactip-stats span { font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.nactip-section .section-heading { margin-bottom: 39px; }
.nactip-pillar-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0 22px; }
.nactip-pillar { grid-column: span 2; min-height: 220px; padding: 20px 0 23px; border-top: 1px solid var(--line); }
.nactip-pillar:nth-child(4), .nactip-pillar:nth-child(5) { grid-column: span 3; }
.nactip-pillar > span, .nactip-purpose-card > span, .nactip-sector-grid article > span { color: #55715b; font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.nactip-pillar h3 { margin: 29px 0 11px; font-family: var(--serif); font-size: 25px; }
.nactip-pillar p { max-width: 390px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.8; }
.nactip-purpose { display: grid; grid-template-columns: .75fr 1.25fr; align-items: center; gap: 8%; padding: 83px 10.5%; background: var(--na-soft); }
.nactip-purpose-heading .eyebrow { margin-bottom: 17px; }
.nactip-purpose-heading h2 { font-size: clamp(47px, 5.3vw, 70px); }
.nactip-purpose-heading h2 em { color: #39824b; }
.nactip-purpose-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.nactip-purpose-card { min-height: 230px; padding: 22px; background: #f8f8f2; }
.nactip-purpose-card h3 { margin: 24px 0 12px; font-family: var(--serif); font-size: 28px; }
.nactip-purpose-card p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.8; }
.nactip-services { border-top: 1px solid var(--line); }
.nactip-services article { min-height: 98px; display: grid; grid-template-columns: 45px minmax(0, 1fr) 150px; align-items: center; gap: 15px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.nactip-services article > span:first-child { color: #39824b; font-size: 9px; }
.nactip-services h3 { margin: 0 0 5px; font-family: var(--serif); font-size: 21px; }
.nactip-services p { max-width: 590px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.nactip-service-tag { justify-self: end; color: var(--muted); font-size: 8px; font-weight: 700; letter-spacing: .1em; }
.nactip-process { padding: 85px 10.5% 95px; color: #f6f6ef; background: var(--na-deep); }
.nactip-process .section-aside { color: #c8d0c6; }
.nactip-process h2 em { color: #b6e578; }
.nactip-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 0; margin: 43px 0 0; list-style: none; }
.nactip-steps li { min-height: 163px; padding: 16px 15px 0 0; border-top: 1px solid #758073; }
.nactip-steps li + li { padding-left: 15px; border-left: 1px solid rgb(255 255 255 / 19%); }
.nactip-steps li > span { color: #b6e578; font-size: 9px; }
.nactip-steps h3 { margin: 28px 0 8px; font-family: var(--serif); font-size: 19px; }
.nactip-steps p { margin: 0; color: #c8d0c6; font-size: 9px; line-height: 1.7; }
.nactip-sector-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.nactip-sector-grid article { min-height: 210px; padding: 21px; background: var(--na-soft); }
.nactip-sector-grid article:nth-child(2) { color: white; background: #315c3c; }
.nactip-sector-grid article:nth-child(2) > span, .nactip-sector-grid article:nth-child(2) p { color: #e1ebdd; }
.nactip-sector-grid h3 { margin: 37px 0 10px; font-family: var(--serif); font-size: 25px; }
.nactip-sector-grid p { max-width: 280px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.7; }
.nactip-cta { display: flex; flex-direction: column; align-items: center; padding: 78px 8%; color: white; background: #315c3c; text-align: center; }
.nactip-cta .eyebrow { color: #e1ebdd; }
.nactip-cta h2 { margin-bottom: 16px; font-size: clamp(48px, 6vw, 76px); }
.nactip-cta h2 em { color: #b6e578; }
.nactip-cta > p:not(.eyebrow) { max-width: 560px; margin: 0 0 23px; color: #e1ebdd; font-size: 12px; line-height: 1.8; }

.pwa-page { --pwa-green: #183a30; --pwa-gold: #d5b875; --pwa-mist: #eff1e9; }
.pwa-page .announcement { color: #f5f5ef; background: var(--pwa-green); }
.pwa-page .announcement a { color: #f0d99f; }
.pwa-hero { min-height: 640px; display: grid; grid-template-columns: .9fr 1fr; align-items: center; gap: 8%; padding: 72px 10.5%; color: #f7f6f0; background: var(--pwa-green); }
.pwa-hero .eyebrow { color: #f0d99f; }
.pwa-hero h1 { max-width: 590px; margin: 0; font-family: var(--serif); font-size: clamp(58px, 6.6vw, 89px); line-height: 1; }
.pwa-hero h1 em { color: var(--pwa-gold); }
.pwa-hero-copy > p:not(.eyebrow) { max-width: 460px; margin: 23px 0 25px; color: #e0e7df; font-size: 12px; line-height: 1.9; }
.pwa-button { color: var(--pwa-green); background: #f0d99f; }
.pwa-button:hover { background: white; }
.pwa-hero-art { position: relative; min-height: 410px; aspect-ratio: 1.15; background: #53665d; }
.pwa-hero-art::after { position: absolute; inset: 45% 0 0; background: linear-gradient(0deg, rgb(10 27 22 / 65%), transparent); content: ""; }
.pwa-hero-art img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; filter: saturate(.75); }
.pwa-art-label { position: absolute; z-index: 1; bottom: 18px; left: 18px; color: white; font-size: 8px; font-weight: 600; letter-spacing: .14em; }
.pwa-monogram { position: absolute; z-index: 1; top: 18px; right: 18px; padding: 11px 14px; border: 1px solid rgb(255 255 255 / 72%); color: white; font-family: var(--serif); font-size: 27px; letter-spacing: .08em; }
.pwa-thesis { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 13px 20px; padding: 20px 7%; color: var(--pwa-green); background: #f0d99f; font-size: 8px; font-weight: 700; letter-spacing: .11em; text-align: center; }
.pwa-thesis i { color: #b45e45; font-size: 13px; font-style: normal; }
.pwa-pillars { background: var(--pwa-mist); }
.pwa-pillar-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.pwa-pillar { position: relative; min-height: 245px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 20px; background: #fff; }
.pwa-pillar > span { position: relative; z-index: 1; color: #698077; font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.pwa-pillar h3 { max-width: 270px; margin: 0 0 9px; font-family: var(--serif); font-size: 24px; line-height: 1.2; }
.pwa-pillar p { max-width: 285px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.75; }
.pwa-pillar > b { position: absolute; right: 13px; bottom: -28px; color: rgb(24 58 48 / 6%); font-family: var(--serif); font-size: 112px; font-weight: 500; line-height: 1; }
.pwa-pillar-feature { color: white; background: var(--pwa-green); }
.pwa-pillar-feature > span, .pwa-pillar-feature p { color: #dce7df; }
.pwa-pillar-feature > b { color: rgb(255 255 255 / 9%); }
.pwa-pillar-access { border-bottom: 3px solid var(--pwa-gold); }
.pwa-closing { display: flex; flex-direction: column; align-items: center; padding: 85px 7%; text-align: center; }
.pwa-closing .eyebrow { color: #66776c; }
.pwa-closing h2 { margin-bottom: 18px; font-size: clamp(47px, 6vw, 75px); }
.pwa-closing h2 em { color: #537b5d; }
.pwa-closing > p:not(.eyebrow) { max-width: 570px; margin: 0 0 23px; color: var(--muted); font-size: 11px; line-height: 1.8; }

.contact-page-hero { display: grid; grid-template-columns: .9fr 1fr; gap: 10%; padding: 86px 10.5% 90px; }
.contact-page-intro { max-width: 490px; }
.contact-page-intro h1 { margin: 0; font-family: var(--serif); font-size: clamp(54px, 6vw, 78px); line-height: 1.02; }
.contact-page-intro h1 em { color: var(--coral); }
.contact-page-intro > p:not(.eyebrow) { max-width: 390px; margin: 20px 0 27px; color: var(--muted); font-size: 12px; line-height: 1.85; }
.contact-page-portrait { position: relative; width: min(100%, 365px); aspect-ratio: 1.16; overflow: hidden; background: #d7d8ce; }
.contact-page-portrait::after { position: absolute; inset: 50% 0 0; background: linear-gradient(0deg, rgb(22 25 22 / 48%), transparent); content: ""; }
.contact-page-portrait img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: center 27%; }
.contact-page-portrait span { position: absolute; z-index: 1; right: 13px; bottom: 13px; left: 13px; color: white; font-size: 7px; font-weight: 600; letter-spacing: .11em; }
.contact-page-form-wrap { padding: 25px 0 0; }
.contact-page-form-wrap > .eyebrow { margin-bottom: 10px; color: var(--muted); }
.contact-page-form-wrap h2 { margin-bottom: 22px; font-family: var(--serif); font-size: 35px; }
.contact-page-form label span { color: var(--muted); font-weight: 400; }
.contact-page .contact-page-form { display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; }
.contact-page-form .contact-field { min-width: 0; display: flex; flex-direction: column; }
.contact-page-form .contact-field--full, .contact-page-form .form-submit, .contact-page-form .form-note { grid-column: 1 / -1; }
.contact-page-form .contact-field > label { margin: 15px 0 8px; }
.contact-page-form .contact-field:first-child > label { margin-top: 0; }
.contact-page-form input, .contact-page-form textarea { font-size: 11px; }
.contact-page-form .form-submit { justify-self: start; }
.contact-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding: 26px 10.5%; border-top: 1px solid var(--line); background: #e9ebe2; }
.contact-details > div { display: flex; flex-direction: column; gap: 8px; }
.contact-detail-label { color: var(--muted); font-size: 8px; font-weight: 700; letter-spacing: .13em; }
.contact-details a, .contact-details p { margin: 0; font-size: 12px; font-weight: 600; }

.services-section { padding-bottom: 120px; }
.service-filters { display: flex; gap: 8px; margin-bottom: 23px; overflow-x: auto; scrollbar-width: none; }
.service-filters::-webkit-scrollbar { display: none; }
.filter-button { flex-shrink: 0; padding: 11px 14px; border: 1px solid var(--line); background: transparent; font-size: 10px; cursor: pointer; transition: color .2s, background .2s, border-color .2s; }
.filter-button span { padding-left: 9px; color: var(--muted); font-size: 8px; }
.filter-button:hover, .filter-button.is-active { border-color: var(--ink); color: white; background: var(--ink); }
.filter-button.is-active span, .filter-button:hover span { color: #cdd0c6; }
.service-row { min-height: 91px; display: grid; grid-template-columns: 55px minmax(0, 1fr) 130px 38px; align-items: center; gap: 10px; border-top: 1px solid var(--line); animation: row-in .3s ease both; }
.service-row:last-child { border-bottom: 1px solid var(--line); }
.service-row[hidden] { display: none; }
@keyframes row-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.service-number { align-self: start; padding-top: 27px; color: var(--coral); font-size: 9px; }
.service-name h3 { margin: 0 0 4px; font-family: var(--serif); font-size: 22px; }
.service-name p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.service-category { color: var(--muted); font-size: 8px; letter-spacing: .09em; }
.service-arrow { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; transition: color .2s, background .2s; }
.service-arrow:hover { color: white; background: var(--coral); }
.services-footnote { margin: 17px 0 0; color: var(--muted); font-size: 10px; }

.cta-band { position: relative; min-height: 380px; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; padding: 75px 20px; color: white; background: var(--black); text-align: center; }
.cta-band .eyebrow { margin-bottom: 14px; color: #e1e6fc; }
.cta-band h2 { margin-bottom: 24px; font-size: clamp(49px, 6.2vw, 77px); }
.cta-band h2 em { color: var(--lime); }
.button-light { color: var(--ink); background: var(--lime); }
.button-light:hover { background: white; }
.cta-sun { position: absolute; top: 26px; left: 11%; color: var(--lime); font-size: 29px; }
.cta-side-note { position: absolute; right: 7%; bottom: 42px; color: rgb(255 255 255 / 60%); font-size: 8px; line-height: 1.7; letter-spacing: .14em; text-align: left; }

.contact-section { display: grid; grid-template-columns: 1fr .83fr; gap: 10%; padding-top: 105px; padding-bottom: 115px; }
.contact-copy h2 { margin-bottom: 20px; }
.contact-copy > p:not(.eyebrow) { max-width: 340px; margin-bottom: 24px; color: var(--muted); font-size: 12px; line-height: 1.85; }
.contact-email, .contact-phone { display: block; width: fit-content; font-size: 13px; font-weight: 600; }
.contact-email span { padding-left: 12px; color: var(--coral); }
.contact-phone { margin-top: 9px; color: var(--muted); font-size: 11px; font-weight: 400; }
.contact-form { display: flex; flex-direction: column; align-self: center; }
.contact-form label { margin: 19px 0 8px; font-size: 10px; font-weight: 600; }
.contact-form label:first-child { margin-top: 0; }
.contact-form input, .contact-form textarea { width: 100%; padding: 12px 0; border: 0; border-bottom: 1px solid #bfc0b7; border-radius: 0; outline: none; color: var(--ink); background: transparent; font-size: 12px; resize: vertical; transition: border-color .2s; }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--black); }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #9a9b93; }
.form-submit { align-self: start; margin-top: 22px; }
.form-note { min-height: 15px; margin: 10px 0 0; color: var(--muted); font-size: 9px; }

.site-footer { display: grid; grid-template-columns: 1fr 1.5fr auto; align-items: center; gap: 20px; padding: 24px 6.5%; border-top: 1px solid var(--line); }
.footer-brand .brand-mark { font-size: 24px; }
.footer-brand .brand-caption { font-size: 8px; }
.footer-quote { color: var(--muted); font-family: var(--serif); font-size: 15px; font-style: italic; text-align: center; }
.back-to-top { justify-self: end; font-size: 10px; font-weight: 600; }
.copyright { grid-column: 1 / -1; padding-top: 13px; border-top: 1px solid var(--line); color: var(--muted); font-size: 8px; letter-spacing: .1em; }

.reveal { opacity: 0; transform: translateY(20px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.65,.3,1); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.hero-copy.reveal { transition-delay: .08s; }
.hero-art.reveal { transition-delay: .22s; }

@media (min-width: 1500px) {
  .hero { min-height: 760px; }
}

@media (max-width: 900px) {
  .hero { min-height: 580px; grid-template-columns: 1fr .8fr; padding-right: 7%; padding-left: 8%; gap: 4%; }
  .hero h1 { font-size: clamp(56px, 8vw, 75px); }
  .hero-side-note { display: none; }
  .section-pad { padding-right: 8%; padding-left: 8%; }
  .about-copy { padding: 60px 9%; }
  .contact-section { gap: 6%; }
}

@media (max-width: 680px) {
  html { scroll-padding-top: 72px; }
  body { min-width: 320px; }
  .announcement { min-height: 32px; padding: 0 5%; font-size: 8px; }
  .announcement > span { max-width: 47%; }
  .site-header { height: 70px; padding: 0 5%; }
  .brand-mark { font-size: 27px; }
  .brand-caption { font-size: 8px; }
  .menu-toggle { width: 42px; height: 42px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 1px solid var(--line); background: transparent; cursor: pointer; }
  .menu-toggle span { width: 17px; height: 1px; background: var(--ink); transition: transform .2s; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .site-nav { position: absolute; top: 69px; right: 0; left: 0; display: none; align-items: stretch; gap: 0; padding: 8px 5% 18px; border-bottom: 1px solid var(--line); background: var(--paper); }
  .site-nav.is-open { display: flex; flex-direction: column; }
  .site-nav > a { padding: 14px 0; border-bottom: 1px solid var(--line); }
  .site-nav .nav-contact { align-self: start; padding: 11px 14px; margin-top: 13px; border: 1px solid var(--ink); }
  .hero { min-height: 0; grid-template-columns: 1fr; padding: 56px 7% 49px; gap: 42px; }
  .hero-copy { padding: 0; }
  .eyebrow { margin-bottom: 16px; font-size: 8px; }
  .hero h1 { font-size: clamp(58px, 13vw, 77px); }
  .hero-intro { max-width: 380px; margin-top: 20px; font-size: 13px; }
  .hero-actions { gap: 20px; margin-top: 23px; }
  .button { min-height: 46px; gap: 17px; padding: 0 14px; font-size: 10px; }
  .hero-note { margin-top: 26px; }
  .hero-art { width: min(88%, 385px); justify-self: center; margin-left: 10px; }
  .hero-image-wrap { aspect-ratio: .95; }
  .orbit-label { top: 26px; left: -30px; width: 91px; height: 91px; font-size: 9px; }
  .image-caption { font-size: 7px; }
  .ticker { padding: 14px 0; }
  .ticker-track { gap: 24px; font-size: 16px; }
  .section-pad { padding: 72px 7% 77px; }
  .section-heading { display: block; margin-bottom: 30px; }
  h2 { font-size: clamp(42px, 10vw, 55px); }
  .section-aside { width: auto; max-width: 300px; margin-top: 14px; font-size: 11px; }
  .work-grid { grid-template-columns: 1fr; gap: 31px; }
  .work-feature .work-image, .work-image { aspect-ratio: 1.23; }
  .work-image-rise { aspect-ratio: .7; }
  .work-image-writing img { width: 60%; }
  .work-card-meta h3 { font-size: 21px; }
  .work-note { min-height: 0; padding: 10px 0 10px 21px; }
  .all-work-link { margin-top: 28px; font-size: 10px; }
  .about-section { grid-template-columns: 1fr; }
  .about-visual { min-height: 360px; }
  .about-copy { max-width: 590px; padding: 53px 7% 63px; }
  .about-copy h2 { font-size: clamp(44px, 10vw, 58px); }
  .about-values { margin-top: 26px; }
  .services-section { padding-top: 76px; padding-bottom: 80px; }
  .service-filters { margin-right: -7vw; padding-right: 7vw; }
  .filter-button { padding: 10px 12px; font-size: 9px; }
  .service-row { min-height: 91px; grid-template-columns: 30px minmax(0, 1fr) 30px; gap: 8px; }
  .service-number { padding-top: 27px; font-size: 8px; }
  .service-name h3 { font-size: 19px; }
  .service-name p { max-width: 300px; font-size: 9px; }
  .service-category { display: none; }
  .service-arrow { width: 29px; height: 29px; }
  .services-footnote { font-size: 9px; }
  .cta-band { min-height: 330px; padding: 60px 20px; }
  .cta-band .eyebrow { font-size: 8px; }
  .cta-band h2 { font-size: clamp(47px, 11vw, 62px); }
  .cta-sun { top: 20px; left: 7%; }
  .cta-side-note { right: 6%; bottom: 20px; font-size: 7px; }
  .contact-section { grid-template-columns: 1fr; gap: 45px; padding-top: 75px; padding-bottom: 78px; }
  .contact-copy h2 { font-size: clamp(48px, 11vw, 62px); }
  .contact-form { max-width: 500px; }
  .site-footer { grid-template-columns: 1fr auto; padding: 21px 6%; }
  .footer-quote { grid-row: 2; grid-column: 1 / -1; text-align: left; }
  .back-to-top { grid-column: 2; grid-row: 1; }
  .copyright { grid-row: 3; font-size: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

@media (max-width: 900px) {
  .profile-hero { min-height: 560px; padding-right: 8%; padding-left: 8%; gap: 6%; }
  .profile-hero h1 { font-size: clamp(57px, 8vw, 75px); }
  .biography-section { gap: 7%; }
  .roles-section { padding-right: 8%; padding-left: 8%; gap: 7%; }
  .nactip-hero, .pwa-hero { padding-right: 8%; padding-left: 8%; gap: 5%; }
  .nactip-hero h1 { font-size: clamp(64px, 8vw, 82px); }
  .nactip-purpose { padding-right: 8%; padding-left: 8%; gap: 5%; }
  .nactip-pillar-grid { gap: 0 15px; }
  .nactip-process { padding-right: 8%; padding-left: 8%; }
  .contact-page-hero { padding-right: 8%; padding-left: 8%; gap: 7%; }
  .home-nactip-copy { padding-right: 5%; padding-left: 7%; }
  .home-nactip-message h2 { font-size: clamp(50px, 6vw, 64px); }
  .home-nactip-art { padding: 5%; }
}

@media (max-width: 680px) {
  .profile-hero { min-height: 0; grid-template-columns: 1fr; gap: 36px; padding: 55px 7% 48px; }
  .profile-hero h1 { max-width: 560px; font-size: clamp(58px, 12vw, 77px); }
  .profile-hero-quote { margin: 20px 0; font-size: 15px; }
  .profile-hero-art { width: min(82%, 350px); justify-self: center; margin-left: 6px; }
  .profile-portrait { aspect-ratio: .9; }
  .profile-orbit { top: 27px; right: -15px; width: 57px; height: 57px; font-size: 27px; }
  .biography-section { grid-template-columns: 1fr; gap: 34px; }
  .biography-heading { position: static; }
  .biography-heading h2 { font-size: clamp(46px, 10vw, 58px); }
  .biography-copy { font-size: 11px; }
  .biography-copy .biography-lead { font-size: 19px; }
  .philosophy-band { grid-template-columns: 44px 1fr; gap: 13px; padding: 62px 7%; }
  .philosophy-mark { font-size: 65px; }
  .philosophy-band h2 { font-size: clamp(39px, 9vw, 54px); }
  .expertise-section { padding-bottom: 78px; }
  .expertise-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .expertise-item { min-height: 106px; padding-right: 12px; }
  .expertise-item:not(:nth-child(3n)) { border-right: 0; }
  .expertise-item:nth-child(3n + 2), .expertise-item:nth-child(3n) { padding-left: 0; }
  .expertise-item:nth-child(odd) { border-right: 1px solid var(--line); }
  .expertise-item:nth-child(even) { padding-left: 12px; }
  .expertise-item h3 { font-size: 15px; }
  .roles-section { grid-template-columns: 1fr; gap: 33px; padding: 72px 7%; }
  .roles-intro h2 { font-size: clamp(49px, 11vw, 62px); }
  .roles-list p { font-size: 16px; }
  .impact-band { padding: 68px 7%; }
  .impact-band h2 { font-size: clamp(42px, 10vw, 58px); }
  .nactip-hero, .pwa-hero { min-height: 0; grid-template-columns: 1fr; gap: 32px; padding: 61px 7% 48px; }
  .nactip-hero h1 { font-size: clamp(65px, 14vw, 82px); }
  .nactip-hero-copy > p:not(.eyebrow) { font-size: 11px; }
  .nactip-hero-visual, .pwa-hero-art { min-height: 0; aspect-ratio: 1.08; }
  .nactip-logo-card { width: min(76%, 240px); }
  .nactip-stats { grid-template-columns: repeat(2, 1fr); gap: 18px 0; padding: 22px 7%; }
  .nactip-stats div { padding-left: 12px; }
  .nactip-stats div:nth-child(odd) { padding-left: 0; border-left: 0; }
  .nactip-stats strong { font-size: 24px; }
  .nactip-pillar-grid { grid-template-columns: 1fr; }
  .nactip-pillar, .nactip-pillar:nth-child(4), .nactip-pillar:nth-child(5) { grid-column: auto; min-height: 0; padding: 18px 0 22px; }
  .nactip-pillar h3 { margin: 19px 0 8px; font-size: 23px; }
  .nactip-purpose { grid-template-columns: 1fr; gap: 28px; padding: 65px 7%; }
  .nactip-purpose-grid { grid-template-columns: 1fr; }
  .nactip-purpose-card { min-height: 0; padding: 19px; }
  .nactip-purpose-card h3 { margin: 17px 0 9px; }
  .nactip-services article { grid-template-columns: 25px minmax(0, 1fr); gap: 8px; }
  .nactip-service-tag { display: none; }
  .nactip-process { padding: 68px 7% 72px; }
  .nactip-steps { grid-template-columns: 1fr; margin-top: 30px; }
  .nactip-steps li, .nactip-steps li + li { min-height: 0; display: grid; grid-template-columns: 34px 1fr; gap: 0 9px; padding: 14px 0; border-left: 0; }
  .nactip-steps li > span { grid-row: span 2; }
  .nactip-steps h3 { margin: 0 0 4px; }
  .nactip-steps p { grid-column: 2; }
  .nactip-sector-grid { grid-template-columns: 1fr; }
  .nactip-sector-grid article { min-height: 165px; }
  .nactip-sector-grid h3 { margin-top: 26px; }
  .nactip-cta { padding: 66px 7%; }
  .nactip-cta h2 { font-size: clamp(47px, 11vw, 61px); }
  .pwa-hero { padding-top: 57px; }
  .pwa-hero h1 { font-size: clamp(56px, 12vw, 75px); }
  .pwa-thesis { gap: 10px 12px; padding: 17px 6%; font-size: 7px; }
  .pwa-pillar-grid { grid-template-columns: 1fr; }
  .pwa-pillar { min-height: 190px; }
  .pwa-closing { padding: 68px 7%; }
  .pwa-closing h2 { font-size: clamp(45px, 10vw, 61px); }
  .contact-page-hero { grid-template-columns: 1fr; gap: 36px; padding: 62px 7% 68px; }
  .contact-page-intro h1 { max-width: 520px; font-size: clamp(54px, 11vw, 67px); }
  .contact-page-portrait { width: min(85%, 380px); }
  .contact-page-form-wrap { padding-top: 0; }
  .contact-page .contact-page-form { grid-template-columns: 1fr; }
  .contact-page-form { grid-template-columns: 1fr; }
  .contact-page-form .contact-field, .contact-page-form .contact-field--full, .contact-page-form .form-submit, .contact-page-form .form-note { grid-column: 1 / -1; }
  .contact-details { grid-template-columns: 1fr; gap: 19px; padding: 24px 7%; }
  .home-nactip-section { min-height: 0; grid-template-columns: 1fr; }
  .home-nactip-copy { min-height: 540px; padding: 27px 7% 45px; }
  .home-nactip-message { padding-top: 31px; }
  .home-nactip-eyebrow { margin-bottom: 23px; font-size: 8px; }
  .home-nactip-message h2 { max-width: 500px; font-size: clamp(56px, 13vw, 76px); }
  .home-nactip-intro { margin-top: 21px; font-size: 13px; }
  .home-nactip-values { gap: 7px; margin-top: 23px; }
  .home-nactip-values span { min-height: 29px; padding: 0 9px; font-size: 8px; }
  .home-nactip-button { min-height: 50px; margin-top: 28px; }
  .home-nactip-art { min-height: 360px; padding: 24px 12%; }
  .home-nactip-art svg { width: min(100%, 330px); max-height: 330px; }
}

@media (max-width: 900px) {
  .home-larubeya-copy { padding-right: 7%; padding-left: 7%; }
}

@media (max-width: 680px) {
  .home-larubeya-section { grid-template-columns: 1fr; }
  .home-larubeya-art { min-height: 330px; }
  .home-larubeya-copy { padding: 49px 7% 55px; }
  .home-larubeya-copy h2 { font-size: clamp(43px, 10vw, 56px); }
}

.larubeya-page { --laru-ink: #17211c; --laru-green: #174d3b; --laru-rust: #d95436; --laru-gold: #f2c457; --laru-paper: #f3f1e9; color: var(--laru-ink); background: var(--laru-paper); }
.larubeya-page .announcement { color: white; background: var(--laru-green); }
.larubeya-page .announcement a { color: var(--laru-gold); }
.larubeya-brand .brand-mark { color: var(--laru-green); font-size: 21px; letter-spacing: .02em; }
.larubeya-brand .brand-mark span { color: var(--laru-rust); font-size: 11px; vertical-align: top; }
.larubeya-brand .brand-caption { font-size: 8px; }
.larubeya-page .site-nav > .is-current { color: var(--laru-rust); }
.larubeya-hero { position: relative; min-height: 650px; display: flex; align-items: end; overflow: hidden; padding: 76px 10.5%; color: white; background: #203a30; }
.larubeya-hero-image, .larubeya-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.larubeya-hero-image { object-fit: cover; object-position: center 42%; }
.larubeya-hero-shade { background: linear-gradient(90deg, rgb(15 27 22 / 88%) 0%, rgb(15 27 22 / 54%) 42%, rgb(15 27 22 / 7%) 100%), linear-gradient(0deg, rgb(15 27 22 / 54%), transparent 55%); }
.larubeya-hero-copy { position: relative; z-index: 1; max-width: 760px; padding: 42px 48px 45px; margin-left: -48px; background: rgb(0 0 0 / 82%); clip-path: inset(0 100% 0 0); animation: larubeya-panel-reveal 1.15s cubic-bezier(.76, 0, .24, 1) .2s forwards; }
.larubeya-hero-copy > * { opacity: 0; transform: translateX(-16px); animation: larubeya-copy-reveal .55s ease forwards; }
.larubeya-hero-copy > :nth-child(1) { animation-delay: .72s; }
.larubeya-hero-copy > :nth-child(2) { animation-delay: .86s; }
.larubeya-hero-copy > :nth-child(3) { animation-delay: 1s; }
.larubeya-hero-copy > :nth-child(4) { animation-delay: 1.14s; }
@keyframes larubeya-panel-reveal { to { clip-path: inset(0); } }
@keyframes larubeya-copy-reveal { to { opacity: 1; transform: translateX(0); } }
.larubeya-overline, .larubeya-kicker { margin: 0 0 19px; color: var(--laru-rust); font-size: 9px; font-weight: 700; letter-spacing: .17em; line-height: 1.6; }
.larubeya-overline { color: var(--laru-gold); }
.larubeya-hero h1 { margin: 0; font-family: var(--serif); font-size: 82px; font-weight: 600; line-height: .95; }
.larubeya-hero h1 sup { margin-left: 5px; color: var(--laru-gold); font-family: "DM Sans", sans-serif; font-size: 19px; vertical-align: top; }
.larubeya-tagline { margin: 19px 0 0; font-family: var(--serif); font-size: 34px; font-style: italic; line-height: 1.25; }
.larubeya-button { margin-top: 29px; color: var(--laru-ink); background: var(--laru-gold); }
.larubeya-button:hover { background: white; }
.larubeya-image-note { position: absolute; z-index: 1; right: 10.5%; bottom: 27px; color: white; font-size: 8px; font-weight: 600; letter-spacing: .14em; }
.larubeya-ribbon { min-height: 55px; display: flex; align-items: center; justify-content: center; gap: 28px; overflow: hidden; padding: 13px 7%; color: white; background: var(--laru-rust); font-size: 10px; font-weight: 700; letter-spacing: .16em; white-space: nowrap; }
.larubeya-ribbon i { color: var(--laru-gold); font-size: 16px; font-style: normal; }
.larubeya-manifesto { display: grid; grid-template-columns: .9fr 1.1fr; }
.larubeya-manifesto-heading { display: flex; flex-direction: column; justify-content: space-between; min-height: 430px; padding: 64px 10%; color: white; background: var(--laru-green); }
.larubeya-manifesto-heading .larubeya-kicker { color: var(--laru-gold); }
.larubeya-manifesto h2, .larubeya-origin h2, .larubeya-research h2, .larubeya-tone h2, .larubeya-vision h2 { margin: 0; font-family: var(--serif); font-size: 51px; line-height: 1.08; }
.larubeya-manifesto-heading h2 em, .larubeya-origin h2 em, .larubeya-research h2 em, .larubeya-tone h2 em, .larubeya-vision h2 em { color: var(--laru-gold); }
.larubeya-manifesto-copy { align-self: center; max-width: 720px; padding: 76px 12%; }
.larubeya-manifesto-copy p, .larubeya-origin-copy > p:not(.larubeya-kicker), .larubeya-research-copy > p, .larubeya-tone-copy p, .larubeya-vision-copy > p:not(.larubeya-kicker) { color: #555b54; font-size: 12px; line-height: 1.9; }
.larubeya-manifesto-copy .larubeya-lead { color: var(--laru-ink); font-family: var(--serif); font-size: 20px; line-height: 1.6; }
.larubeya-origin { display: grid; grid-template-columns: .75fr 1.25fr; gap: 8%; padding: 91px 10.5%; background: var(--laru-gold); }
.larubeya-section-index { display: flex; flex-direction: column; gap: 9px; color: var(--laru-rust); font-family: var(--serif); font-size: 48px; }
.larubeya-section-index span { color: var(--laru-ink); font-family: "DM Sans", sans-serif; font-size: 8px; font-weight: 700; letter-spacing: .15em; }
.larubeya-origin-copy { max-width: 740px; }
.larubeya-origin-copy .larubeya-kicker { color: #6d4124; }
.larubeya-origin h2 { margin-bottom: 26px; }
.larubeya-origin h2 em { color: var(--laru-rust); }
.larubeya-origin-copy > p:not(.larubeya-kicker) { color: #333b34; }
.larubeya-research { display: grid; grid-template-columns: .9fr 1.1fr; gap: 9%; padding: 93px 10.5%; background: var(--laru-paper); }
.larubeya-research h2 { max-width: 510px; }
.larubeya-research h2 em { color: var(--laru-rust); }
.larubeya-research-copy { max-width: 700px; }
.larubeya-practice-list { display: flex; flex-wrap: wrap; gap: 8px 19px; padding-top: 18px; margin-top: 29px; border-top: 1px solid #d5d1c3; color: var(--laru-green); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.larubeya-philosophy { position: relative; overflow: hidden; padding: 78px 12%; color: white; background: var(--laru-rust); }
.larubeya-philosophy .larubeya-kicker { color: var(--laru-gold); }
.larubeya-philosophy h2 { position: relative; z-index: 1; max-width: 920px; margin: 0; font-family: var(--serif); font-size: 57px; line-height: 1.1; }
.larubeya-philosophy h2 em { color: var(--laru-gold); }
.larubeya-philosophy > p:not(.larubeya-kicker) { position: relative; z-index: 1; max-width: 590px; margin: 23px 0 0; color: #fff0e8; font-size: 12px; line-height: 1.8; }
.larubeya-philosophy-mark { position: absolute; right: 9%; bottom: -115px; color: rgb(255 255 255 / 12%); font-size: 380px; line-height: 1; }
.larubeya-tone { display: grid; grid-template-columns: .8fr 1.2fr; gap: 9%; padding: 94px 10.5%; background: white; }
.larubeya-tone h2 { font-size: 58px; }
.larubeya-tone h2 em { color: var(--laru-rust); }
.larubeya-tone-copy { align-self: center; max-width: 630px; }
.larubeya-tone-copy p { font-family: var(--serif); font-size: 18px; line-height: 1.65; }
.larubeya-vision { display: grid; grid-template-columns: .75fr 1.25fr; gap: 8%; padding: 87px 10.5%; color: white; background: var(--laru-green); }
.larubeya-vision .larubeya-section-index { color: var(--laru-gold); }
.larubeya-vision .larubeya-section-index span { color: #dbe5dc; }
.larubeya-vision-copy { max-width: 730px; }
.larubeya-vision-copy .larubeya-kicker { color: var(--laru-gold); }
.larubeya-vision h2 { margin-bottom: 24px; }
.larubeya-vision h2 em { color: var(--laru-gold); }
.larubeya-vision-copy > p:not(.larubeya-kicker) { color: #e0e9e2; }
.larubeya-vision-copy .larubeya-declaration { margin-top: 26px; color: var(--laru-gold); font-family: var(--serif); font-size: 22px; line-height: 1.5; }
.larubeya-closing { display: flex; flex-direction: column; align-items: center; padding: 84px 8%; color: white; background: var(--laru-ink); text-align: center; }
.larubeya-closing .larubeya-kicker { color: var(--laru-gold); }
.larubeya-closing blockquote { max-width: 880px; margin: 9px 0 26px; font-family: var(--serif); font-size: 35px; line-height: 1.4; }
.larubeya-closing > span { color: var(--laru-gold); font-size: 9px; font-weight: 700; letter-spacing: .18em; }
.larubeya-footer-brand .brand-mark { font-size: 19px; letter-spacing: .02em; }
.larubeya-footer-brand .brand-mark span { font-size: 10px; vertical-align: top; }

@media (max-width: 900px) {
  .larubeya-hero { min-height: 600px; padding-right: 8%; padding-left: 8%; }
  .larubeya-manifesto-heading { padding-right: 8%; padding-left: 8%; }
  .larubeya-manifesto-copy { padding-right: 9%; padding-left: 9%; }
  .larubeya-origin, .larubeya-research, .larubeya-tone, .larubeya-vision { padding-right: 8%; padding-left: 8%; gap: 6%; }
  .larubeya-manifesto h2, .larubeya-origin h2, .larubeya-research h2, .larubeya-vision h2 { font-size: 45px; }
}

@media (max-width: 680px) {
  .larubeya-hero { min-height: 590px; align-items: center; padding: 64px 7% 74px; }
  .larubeya-hero-image { object-position: 60% center; }
  .larubeya-hero-shade { background: linear-gradient(90deg, rgb(15 27 22 / 85%), rgb(15 27 22 / 24%)), linear-gradient(0deg, rgb(15 27 22 / 45%), transparent 65%); }
  .larubeya-hero-copy { width: 100%; padding: 30px 24px 33px; margin-left: 0; }
  .larubeya-hero h1 { font-size: 58px; }
  .larubeya-tagline { font-size: 27px; }
  .larubeya-image-note { right: 7%; bottom: 20px; font-size: 7px; }
  .larubeya-ribbon { justify-content: flex-start; gap: 18px; padding-right: 7%; padding-left: 7%; font-size: 8px; }
  .larubeya-manifesto, .larubeya-origin, .larubeya-research, .larubeya-tone, .larubeya-vision { grid-template-columns: 1fr; gap: 27px; }
  .larubeya-manifesto-heading { min-height: 280px; padding: 35px 7%; }
  .larubeya-manifesto h2, .larubeya-origin h2, .larubeya-research h2, .larubeya-vision h2 { font-size: 42px; }
  .larubeya-manifesto-copy { padding: 39px 7% 47px; }
  .larubeya-manifesto-copy .larubeya-lead { font-size: 18px; }
  .larubeya-origin, .larubeya-research, .larubeya-tone, .larubeya-vision { padding: 61px 7%; }
  .larubeya-section-index { font-size: 37px; }
  .larubeya-research { gap: 18px; }
  .larubeya-philosophy { padding: 62px 7%; }
  .larubeya-philosophy h2 { font-size: 42px; }
  .larubeya-philosophy-mark { right: -20px; bottom: -45px; font-size: 230px; }
  .larubeya-tone h2 { font-size: 50px; }
  .larubeya-tone-copy p { font-size: 16px; }
  .larubeya-closing { padding: 65px 7%; }
  .larubeya-closing blockquote { font-size: 25px; }
}