h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}button,input,select,textarea{font:inherit}img{height:auto}


@font-face { font-family: "Inter Tight"; src: url("../fonts/inter-tight-400.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Inter Tight"; src: url("../fonts/inter-tight-500.ttf") format("truetype"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "Inter Tight"; src: url("../fonts/inter-tight-600.ttf") format("truetype"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "Newsreader"; src: url("../fonts/newsreader-300.ttf") format("truetype"); font-style: normal; font-weight: 300; font-display: swap; }
@font-face { font-family: "Newsreader"; src: url("../fonts/newsreader-400.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Newsreader"; src: url("../fonts/newsreader-500.ttf") format("truetype"); font-style: normal; font-weight: 500; font-display: swap; }

:root {
  --oxblood: #210106;
  --wine: #430710;
  --red: #741524;
  --bronze: #a69064;
  --rose: #c7a7aa;
  --ivory: #f5f2eb;
  --paper: #e9e3d8;
  --white: #fffdf8;
  --ink: #191415;
  --muted: #6e6462;
  --line: rgba(67, 7, 16, .18);
  --line-light: rgba(255, 255, 255, .2);
  --display: "Newsreader", Georgia, serif;
  --utility: "Inter Tight", Arial, sans-serif;
  --shell: 1280px;
  --header-height: 76px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ivory); color: var(--ink); font-family: var(--utility); -webkit-font-smoothing: antialiased; }
body.brand-intro-active { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, summary { font: inherit; }
::selection { background: var(--red); color: white; }
:focus-visible { outline: 2px solid var(--red); outline-offset: 4px; }
.route-root { min-height: 100vh; overflow-x: clip; }
.shell { width: min(var(--shell), calc(100% - 64px)); margin-inline: auto; }
[id] { scroll-margin-top: calc(var(--header-height) + 22px); }
.skip-link { position: fixed; z-index: 100; left: 16px; top: 12px; padding: 12px 16px; background: var(--white); color: var(--wine); transform: translateY(-170%); transition: transform .2s ease; }
.skip-link:focus { transform: translateY(0); }
.eyebrow { margin: 0; color: var(--red); font-size: 10px; font-weight: 600; letter-spacing: .18em; line-height: 1.4; text-transform: uppercase; }
.eyebrow.light { color: var(--rose); }

/* First-visit brand reveal */
html[data-decker-intro="skip"] .brand-intro { display: none; }
.brand-intro {
  position: fixed;
  z-index: 1000;
  inset: 0;
  overflow: hidden;
  background: var(--wine);
  color: white;
  opacity: 1;
  isolation: isolate;
  transition: opacity .25s cubic-bezier(.42, 0, .18, 1);
}
.brand-intro.is-ending { opacity: 0; pointer-events: none; }
.brand-intro-film {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  background: var(--wine);
  pointer-events: none;
}
.brand-intro-skip {
  position: absolute;
  z-index: 2;
  right: clamp(20px, 3vw, 46px);
  bottom: clamp(20px, 3vw, 38px);
  padding: 7px 0;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, .45);
  font-size: 10px;
  letter-spacing: .08em;
  cursor: pointer;
  transition: color .2s ease;
}
.brand-intro-skip:hover { color: white; }
@media (max-width: 620px) { .brand-intro-skip { right: 20px; bottom: 20px; } }

.site-header { position: sticky; z-index: 50; top: 0; height: var(--header-height); background: var(--oxblood); color: white; border-bottom: 1px solid var(--line-light); }
.header-bar { height: 100%; display: grid; grid-template-columns: minmax(190px, 1fr) auto auto; align-items: center; gap: clamp(18px, 2.4vw, 38px); }
.wordmark { width: fit-content; display: flex; align-items: center; gap: 13px; }
.wordmark img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.wordmark span { font-family: var(--display); font-size: 19px; letter-spacing: .12em; white-space: nowrap; }
.desktop-nav { display: flex; align-items: center; gap: clamp(18px, 2.4vw, 34px); }
.desktop-nav a { position: relative; padding: 29px 0 26px; color: #d8cbcd; font-size: 11px; letter-spacing: .055em; white-space: nowrap; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 20px; height: 1px; background: var(--bronze); transition: right .25s ease; }
.desktop-nav a:hover::after, .desktop-nav a[aria-current="page"]::after { right: 0; }
.desktop-nav a[aria-current="page"] { color: white; }
.header-actions { display: flex; align-items: center; gap: 18px; }
.language-switch { display: flex; align-items: center; gap: 3px; }
.language-switch a { min-width: 28px; min-height: 38px; display: grid; place-items: center; color: #9c8589; font-size: 10px; letter-spacing: .06em; }
.language-switch a[aria-current="page"] { color: white; }
.header-email { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 0 17px; background: var(--white); color: var(--wine); font-size: 10px; font-weight: 600; letter-spacing: .095em; text-transform: uppercase; white-space: nowrap; transition: background .2s ease, color .2s ease; }
.header-email:hover { background: var(--bronze); color: var(--oxblood); }
.mobile-menu { display: none; }

.institutional-hero { position: relative; min-height: clamp(680px, calc(100svh - var(--header-height)), 820px); display: grid; align-items: stretch; overflow: hidden; background: var(--oxblood); color: white; }
.hero-background { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 73% 23%; filter: grayscale(.78) sepia(.18) contrast(1.04); }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(25,0,5,.98) 0%, rgba(36,2,8,.94) 38%, rgba(36,2,8,.63) 64%, rgba(24,0,5,.16) 100%), linear-gradient(0deg, rgba(20,0,4,.42), transparent 48%); }
.hero-layout { position: relative; z-index: 1; min-height: 100%; display: grid; grid-template-columns: minmax(0, 1fr) 250px; align-items: center; gap: 60px; padding-block: clamp(72px, 9vh, 108px); }
.hero-copy { max-width: 910px; animation: enter-up .8s cubic-bezier(.2,.7,.2,1) both; }
.hero-copy h1 { max-width: 930px; margin: 32px 0 20px; font-family: var(--display); font-size: clamp(64px, 7.15vw, 106px); font-weight: 400; line-height: .93; letter-spacing: -.045em; text-wrap: balance; }
.hero-signature { margin: 0 0 34px; color: var(--bronze); font-family: var(--display); font-size: clamp(22px, 2vw, 29px); font-style: italic; }
.hero-lead { max-width: 700px; margin: 0; color: #d9cdce; font-family: var(--display); font-size: clamp(19px, 1.7vw, 24px); font-weight: 300; line-height: 1.5; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; margin-top: 38px; }
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: space-between; gap: 34px; padding: 0 20px; font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; transition: transform .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.light-button { background: var(--white); color: var(--wine); }
.light-button:hover { background: var(--bronze); color: var(--oxblood); }
.dark-button { background: var(--wine); color: white; }
.dark-button:hover { background: var(--red); }
.text-link { width: fit-content; display: inline-flex; align-items: center; gap: 16px; padding: 8px 0; color: var(--wine); font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; border-bottom: 1px solid currentColor; }
.text-link span { transition: transform .2s ease; }
.text-link:hover span { transform: translate(3px, -3px); }
.light-link { color: white; }
.hero-caption { align-self: end; display: grid; gap: 6px; padding: 18px 0 0 22px; color: #ccb9bc; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; border-left: 1px solid rgba(255,255,255,.36); }
.hero-caption span:last-child { color: #9b7d82; }

.proof-strip { background: var(--white); border-bottom: 1px solid var(--line); }
.proof-grid { min-height: 78px; display: grid; grid-template-columns: repeat(4, 1fr); }
.proof-grid span { display: flex; align-items: center; padding: 0 24px; color: var(--wine); font-family: var(--display); font-size: 15px; line-height: 1.35; border-right: 1px solid var(--line); }
.proof-grid span:first-child { padding-left: 0; }
.proof-grid span:last-child { border-right: 0; }

.institution-intro { padding: clamp(86px, 9vw, 126px) 0; background: var(--ivory); }
.intro-grid { display: grid; grid-template-columns: .28fr 1fr .72fr; gap: clamp(35px, 6vw, 85px); align-items: start; }
.intro-grid h2 { margin: -10px 0 0; color: var(--wine); font-family: var(--display); font-size: clamp(48px, 5.2vw, 73px); font-weight: 400; line-height: .98; letter-spacing: -.035em; }
.intro-grid > p:last-child { margin: 4px 0 0; color: var(--muted); font-family: var(--display); font-size: 20px; line-height: 1.62; }

.audience-section, .expertise-section, .insights-preview, .expertise-directory { padding: clamp(82px, 9vw, 118px) 0; }
.audience-section { background: var(--paper); }
.expertise-section, .insights-preview, .expertise-directory { background: var(--white); }
.section-heading { margin-bottom: 55px; }
.split-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(45px, 8vw, 120px); align-items: end; }
.section-heading h2 { max-width: 830px; margin: 22px 0 0; color: var(--wine); font-family: var(--display); font-size: clamp(48px, 5.7vw, 78px); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.split-heading > p, .split-heading > div:last-child > p { max-width: 520px; margin: 0 0 22px; color: var(--muted); font-family: var(--display); font-size: 19px; line-height: 1.58; }
.audience-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.audience-card { position: relative; min-height: 330px; display: flex; flex-direction: column; padding: 34px clamp(26px, 3vw, 43px) 32px; border-right: 1px solid var(--line); transition: background .25s ease, color .25s ease; }
.audience-card:last-child { border-right: 0; }
.audience-card > span { color: var(--red); font-family: var(--display); font-size: 13px; }
.audience-card h3 { max-width: 340px; margin: auto 0 20px; color: var(--wine); font-family: var(--display); font-size: clamp(29px, 3vw, 41px); font-weight: 400; line-height: 1.04; }
.audience-card p { max-width: 350px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.audience-card i { position: absolute; right: 28px; top: 28px; font-size: 19px; font-style: normal; }
.audience-card:hover { text-decoration: none; }



.practice-index { border-top: 1px solid var(--line); }
.practice-link { min-height: 126px; display: grid; grid-template-columns: 70px minmax(0, 1fr) 36px; gap: 22px; align-items: center; padding: 24px 8px; border-bottom: 1px solid var(--line); transition: padding .25s ease, background .25s ease; }
.practice-link:hover { padding-inline: 22px; background: var(--ivory); }
.practice-count { color: var(--red); font-family: var(--display); font-size: 13px; }
.practice-link > div { display: grid; grid-template-columns: minmax(220px, .75fr) 1fr; gap: 50px; align-items: center; }
.practice-link h3 { margin: 0; color: var(--wine); font-family: var(--display); font-size: clamp(28px, 3vw, 42px); font-weight: 400; line-height: 1.05; }
.practice-link p { max-width: 580px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.practice-open { font-size: 19px; }

.approach-section { padding: clamp(86px, 9vw, 120px) 0; background: var(--ivory); }
.approach-heading { display: grid; grid-template-columns: .3fr 1.7fr; gap: 55px; padding-bottom: 52px; border-bottom: 1px solid var(--line); }
.approach-heading h2 { max-width: 900px; margin: -9px 0 0; color: var(--wine); font-family: var(--display); font-size: clamp(49px, 5.8vw, 79px); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.approach-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.approach-grid article { padding: 34px clamp(24px, 3.4vw, 48px) 8px 0; border-right: 1px solid var(--line); }
.approach-grid article + article { padding-left: clamp(24px, 3.4vw, 48px); }
.approach-grid article:last-child { border-right: 0; }
.approach-grid article > span { color: var(--red); font-family: var(--display); font-size: 15px; }
.approach-grid h3 { margin: 60px 0 16px; color: var(--wine); font-family: var(--display); font-size: 30px; font-weight: 400; }
.approach-grid p { max-width: 350px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.68; }

.firm-preview { padding: clamp(86px, 9vw, 120px) 0; background: var(--wine); color: white; }
.firm-preview-grid { display: grid; grid-template-columns: .42fr 1.1fr .78fr; gap: clamp(45px, 7vw, 100px); align-items: center; }
.firm-seal img { width: min(260px, 100%); border-radius: 50%; filter: grayscale(1); opacity: .94; }
.firm-preview h2 { max-width: 720px; margin: 25px 0 28px; font-family: var(--display); font-size: clamp(46px, 5.2vw, 72px); font-weight: 400; line-height: .98; letter-spacing: -.035em; }
.firm-preview p:not(.eyebrow) { max-width: 680px; margin: 0 0 30px; color: #d0c0c2; font-family: var(--display); font-size: 19px; line-height: 1.62; }
.firm-preview ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-light); }
.firm-preview li { padding: 17px 0; color: #d1c0c2; font-size: 12px; line-height: 1.45; border-bottom: 1px solid var(--line-light); }

/* Homepage v4 — institutional front */
.v4-hero { background: var(--oxblood); color: white; }
.v4-hero-shell { min-height: clamp(610px, calc(100svh - var(--header-height)), 760px); display: flex; flex-direction: column; }
.v4-hero-main { flex: 1; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: clamp(52px, 8vw, 118px); align-items: center; padding: clamp(72px, 9vh, 104px) 0 clamp(58px, 7vh, 82px); }
.v4-hero-statement h1 { max-width: 880px; margin: 30px 0 27px; font-family: var(--display); font-size: clamp(63px, 6.6vw, 96px); font-weight: 400; line-height: .94; letter-spacing: -.042em; text-wrap: balance; }
.v4-signature { margin: 0; color: var(--bronze); font-family: var(--display); font-size: 22px; font-style: italic; }
.v4-hero-intake { padding-left: clamp(28px, 3.8vw, 52px); border-left: 1px solid var(--line-light); }
.v4-hero-intake > p:not(.eyebrow) { margin: 27px 0 32px; color: #dacfd0; font-family: var(--display); font-size: clamp(18px, 1.65vw, 22px); font-weight: 300; line-height: 1.58; }
.v4-hero-intake > a { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; padding: 16px 0 13px; color: white; font-family: var(--display); font-size: clamp(22px, 2.15vw, 30px); line-height: 1; border-top: 1px solid rgba(255,255,255,.44); border-bottom: 1px solid white; overflow-wrap: anywhere; }
.v4-hero-intake > a i { font-size: .7em; font-style: normal; transition: transform .2s ease; }
.v4-hero-intake > a:hover i { transform: translate(3px, -3px); }
.v4-hero-intake small { display: block; max-width: 430px; margin-top: 19px; color: #a88e92; font-size: 10px; line-height: 1.55; }
.v4-hero-foot { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 30px; color: #aa9397; font-size: 10px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; border-top: 1px solid var(--line-light); }
.v4-hero-foot a { display: inline-flex; align-items: center; gap: 20px; color: white; }
.v4-hero-foot i { font-style: normal; }

.v4-proof { background: var(--white); border-bottom: 1px solid var(--line); }
.v4-proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.v4-proof-grid > div { min-height: 128px; display: flex; flex-direction: column; justify-content: space-between; gap: 22px; padding: 24px clamp(20px, 2.5vw, 34px) 23px; border-right: 1px solid var(--line); }
.v4-proof-grid > div:first-child { padding-left: 0; }
.v4-proof-grid > div:last-child { padding-right: 0; border-right: 0; }
.v4-proof-grid span { color: var(--red); font-family: var(--display); font-size: 12px; }
.v4-proof-grid p { max-width: 260px; margin: 0; color: var(--wine); font-family: var(--display); font-size: 16px; line-height: 1.35; }

.v4-expertise { padding: clamp(84px, 8vw, 110px) 0; background: var(--ivory); }
.v4-section-heading { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(290px, .8fr); gap: clamp(55px, 9vw, 125px); align-items: end; margin-bottom: 48px; }
.v4-section-heading h2 { max-width: 820px; margin: 22px 0 0; color: var(--wine); font-family: var(--display); font-size: clamp(49px, 5.25vw, 72px); font-weight: 400; line-height: .99; letter-spacing: -.037em; }
.v4-section-heading > div:last-child > p { max-width: 520px; margin: 0 0 22px; color: var(--muted); font-family: var(--display); font-size: 18px; line-height: 1.58; }
.v4-audience-line { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 48px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.v4-audience-line a { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px clamp(20px, 2.4vw, 32px); color: var(--wine); font-family: var(--display); font-size: clamp(18px, 1.8vw, 24px); border-right: 1px solid var(--line); transition: background .2s ease, color .2s ease; }
.v4-audience-line a:first-child { padding-left: 0; }
.v4-audience-line a:last-child { padding-right: 0; border-right: 0; }
.v4-audience-line i { font-size: .75em; font-style: normal; }
.v4-audience-line a:hover { background: var(--paper); }
.v4-expertise .practice-link { min-height: 108px; }
.v4-expertise .practice-link h3 { font-size: clamp(27px, 2.7vw, 37px); }

.v4-model { padding: clamp(86px, 8.5vw, 116px) 0 0; background: var(--wine); color: white; }
.v4-model-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr); gap: clamp(58px, 9vw, 125px); }
.v4-model h2 { max-width: 760px; margin: 28px 0 0; font-family: var(--display); font-size: clamp(50px, 5.3vw, 73px); font-weight: 400; line-height: .98; letter-spacing: -.038em; }
.v4-model-copy > p { max-width: 590px; margin: 0 0 22px; color: #d7c9cb; font-family: var(--display); font-size: 19px; line-height: 1.62; }
.v4-model-copy > div { display: flex; flex-wrap: wrap; gap: 24px 34px; margin-top: 34px; }
.v4-model aside { grid-column: 1 / -1; min-height: 98px; display: grid; grid-template-columns: 1fr 1.25fr 1fr; gap: 30px; align-items: center; margin-top: clamp(60px, 7vw, 88px); color: #b99fa3; border-top: 1px solid var(--line-light); }
.v4-model aside > span { font-size: 10px; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; }
.v4-model aside strong { color: white; font-family: var(--display); font-size: 30px; font-weight: 400; }
.v4-model aside small { justify-self: end; font-size: 10px; letter-spacing: .09em; line-height: 1.5; text-align: right; text-transform: uppercase; }

.insights-preview { padding-top: clamp(78px, 7vw, 96px); padding-bottom: clamp(78px, 7vw, 96px); }
.insights-preview .section-heading { margin-bottom: 40px; }
.insights-preview .section-heading h2 { font-size: clamp(46px, 5vw, 68px); }
.insights-preview .featured-insight { min-height: 370px; padding-top: 36px; padding-bottom: 36px; }
.insights-preview .featured-insight h3 { font-size: clamp(40px, 4.25vw, 58px); }
.insights-preview .article-row { min-height: 180px; }
.insights-preview .article-row p { display: none; }
.contact-band { padding-top: clamp(72px, 7vw, 92px); padding-bottom: clamp(72px, 7vw, 92px); }
.contact-grid h2 { font-size: clamp(49px, 5.8vw, 76px); }

.insights-grid { display: grid; grid-template-columns: 1.1fr .9fr; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.featured-insight { min-height: 460px; display: flex; flex-direction: column; justify-content: flex-end; padding: 45px 60px 45px 0; border-right: 1px solid var(--line); }
.article-meta { display: flex; flex-wrap: wrap; gap: 15px; color: var(--red); font-size: 9px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.featured-insight h3 { max-width: 700px; margin: 24px 0 20px; color: var(--wine); font-family: var(--display); font-size: clamp(42px, 4.8vw, 65px); font-weight: 400; line-height: .99; letter-spacing: -.035em; }
.featured-insight > p { max-width: 620px; margin: 0 0 28px; color: var(--muted); font-family: var(--display); font-size: 18px; line-height: 1.55; }
.insight-list { padding-left: 45px; }
.article-row { min-height: 225px; display: grid; grid-template-columns: 1fr 30px; gap: 22px; align-items: center; padding: 28px 0; border-bottom: 1px solid var(--line); }
.article-row:last-child { border-bottom: 0; }
.article-row h3 { margin: 15px 0 10px; color: var(--wine); font-family: var(--display); font-size: clamp(27px, 2.7vw, 36px); font-weight: 400; line-height: 1.08; }
.article-row p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.58; }
.article-row > span { font-size: 19px; transition: transform .2s ease; }
.article-row:hover > span { transform: translate(3px, -3px); }

.contact-band { padding: clamp(82px, 8vw, 110px) 0; background: var(--red); color: white; }
.contact-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 45px 90px; align-items: end; }
.contact-grid h2 { max-width: 780px; margin: 28px 0 0; font-family: var(--display); font-size: clamp(53px, 6.7vw, 88px); font-weight: 400; line-height: .96; letter-spacing: -.04em; }
.contact-copy p { max-width: 520px; margin: 0 0 12px; color: #f0e4e5; font-family: var(--display); font-size: 18px; line-height: 1.52; }
.contact-copy small { display: block; max-width: 520px; margin-top: 24px; color: #d8b9bd; font-size: 11px; line-height: 1.55; }
.contact-email { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 25px; padding: 23px 0 15px; border-top: 1px solid rgba(255,255,255,.42); border-bottom: 2px solid white; font-family: var(--display); font-size: clamp(37px, 6.2vw, 82px); font-weight: 400; line-height: 1; letter-spacing: -.035em; overflow-wrap: anywhere; }
.contact-email i { font-size: .55em; font-style: normal; }

.site-footer { padding: 68px 0 28px; background: var(--oxblood); color: white; }
.footer-grid { display: grid; grid-template-columns: 1.35fr .65fr .8fr; gap: 60px; padding-bottom: 55px; }
.footer-brand > span { font-family: var(--display); font-size: 25px; letter-spacing: .13em; }
.footer-brand p { margin: 18px 0 0; color: var(--rose); font-family: var(--display); font-size: 18px; }
.footer-grid nav { display: grid; align-content: start; gap: 12px; }
.footer-grid nav a, .footer-contact a, .footer-contact p { color: #d5c8ca; font-size: 12px; line-height: 1.6; }
.footer-contact a { display: inline-block; margin-bottom: 12px; color: white; }
.footer-contact p { margin: 0; }
.footer-base { display: flex; justify-content: space-between; gap: 30px; padding-top: 24px; color: #876f73; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; border-top: 1px solid rgba(255,255,255,.14); }

.page-hero { padding: clamp(86px, 10vw, 140px) 0; background: var(--paper); }
.page-hero.dark { background: var(--wine); color: white; }
.page-hero-grid { display: grid; grid-template-columns: .3fr 1.7fr; gap: 55px; align-items: start; }
.page-hero h1 { max-width: 1020px; margin: -12px 0 34px; color: var(--wine); font-family: var(--display); font-size: clamp(62px, 8vw, 112px); font-weight: 400; line-height: .9; letter-spacing: -.05em; }
.page-hero.dark h1 { color: white; }
.page-hero-grid > div > p { max-width: 780px; margin: 0; color: var(--muted); font-family: var(--display); font-size: clamp(20px, 2vw, 27px); line-height: 1.5; }
.page-hero.dark .page-hero-grid > div > p { color: #d2c2c4; }

.founder-section { padding: clamp(85px, 9vw, 125px) 0; background: var(--white); }
.founder-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(55px, 8vw, 120px); align-items: start; }
.founder-grid figure { grid-row: 1 / span 2; margin: 0; }
.founder-grid figure img { width: 100%; aspect-ratio: .78; object-fit: cover; object-position: center 20%; filter: grayscale(.74) sepia(.16); }
.founder-grid figcaption { display: flex; justify-content: space-between; gap: 20px; padding-top: 13px; color: var(--muted); font-size: 9px; letter-spacing: .11em; text-transform: uppercase; }
.founder-copy h2 { max-width: 760px; margin: 28px 0 32px; color: var(--wine); font-family: var(--display); font-size: clamp(48px, 5.5vw, 76px); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.founder-copy > p:not(.eyebrow) { max-width: 720px; margin: 0 0 19px; color: var(--muted); font-family: var(--display); font-size: 19px; line-height: 1.65; }
.founder-grid ul { margin: 30px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.founder-grid li { padding: 17px 0; color: var(--wine); font-size: 12px; border-bottom: 1px solid var(--line); }

.operating-model { padding: clamp(82px, 9vw, 120px) 0; background: var(--paper); }
.operating-grid { display: grid; grid-template-columns: .3fr 1.7fr; gap: 55px; }
.operating-grid h2 { max-width: 900px; margin: -10px 0 28px; color: var(--wine); font-family: var(--display); font-size: clamp(49px, 5.8vw, 79px); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.operating-grid > div > p { max-width: 750px; margin: 0; color: var(--muted); font-family: var(--display); font-size: 20px; line-height: 1.63; }

.audience-directory { padding: clamp(80px, 8vw, 110px) 0; background: var(--ivory); }
.audience-directory-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.audience-directory article { min-height: 410px; display: flex; flex-direction: column; padding: 36px clamp(25px, 3vw, 42px) 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.audience-directory article:last-child { border-right: 0; }
.audience-directory h2 { margin: 0 0 24px; color: var(--wine); font-family: var(--display); font-size: 37px; font-weight: 400; line-height: 1.05; }
.audience-directory p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.audience-directory article > div { display: grid; gap: 0; margin-top: auto; border-top: 1px solid var(--line); }
.audience-directory a { display: flex; justify-content: space-between; gap: 20px; padding: 14px 0; color: var(--wine); font-size: 12px; border-bottom: 1px solid var(--line); }

.practice-hero { padding: 70px 0 110px; background: var(--wine); color: white; }
.back-link { display: inline-block; margin-bottom: 70px; color: var(--rose); font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.practice-hero h1 { max-width: 1050px; margin: 28px 0 35px; font-family: var(--display); font-size: clamp(62px, 8.5vw, 116px); font-weight: 400; line-height: .9; letter-spacing: -.05em; }
.practice-hero > .shell > p:last-child { max-width: 780px; margin: 0 0 0 25%; color: #d2c1c4; font-family: var(--display); font-size: clamp(21px, 2.2vw, 29px); line-height: 1.5; }
.practice-detail { padding: clamp(85px, 9vw, 125px) 0; background: var(--white); }
.practice-detail-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(65px, 10vw, 145px); }
.practice-detail ul { margin: 30px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.practice-detail li { padding: 20px 0; color: var(--wine); font-family: var(--display); font-size: 22px; line-height: 1.35; border-bottom: 1px solid var(--line); }
.practice-detail h2 { margin: 28px 0 28px; color: var(--wine); font-family: var(--display); font-size: clamp(45px, 5vw, 68px); font-weight: 400; line-height: .99; letter-spacing: -.035em; }
.practice-detail-grid > div:last-child > p:not(.eyebrow) { margin: 0 0 32px; color: var(--muted); font-family: var(--display); font-size: 20px; line-height: 1.66; }
.related-insights { padding: 80px 0 100px; background: var(--paper); }
.related-insights .eyebrow { margin-bottom: 30px; }
.related-insights .article-row { border-top: 1px solid var(--line); }

.news-index { padding: 70px 0 120px; background: var(--white); }
.news-lead { min-height: 390px; display: grid; grid-template-columns: 1.2fr .65fr 36px; gap: 55px; align-items: center; padding: 45px 10px 45px 0; border-top: 2px solid var(--wine); border-bottom: 2px solid var(--wine); }
.news-lead h2 { max-width: 760px; margin: 24px 0 0; color: var(--wine); font-family: var(--display); font-size: clamp(45px, 5.2vw, 70px); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.news-lead > p { margin: 0; color: var(--muted); font-family: var(--display); font-size: 18px; line-height: 1.58; }
.news-lead > span { font-size: 25px; }
.news-archive { padding-top: 65px; }
.news-archive > .eyebrow { margin-bottom: 22px; }
.news-archive .article-row { min-height: 190px; border-top: 1px solid var(--line); }

.article-hero { padding: 75px 0 100px; background: var(--paper); }
.article-hero .back-link { margin-bottom: 65px; color: var(--red); }
.article-hero h1 { max-width: 1080px; margin: 30px 0 30px; color: var(--wine); font-family: var(--display); font-size: clamp(58px, 7.4vw, 102px); font-weight: 400; line-height: .91; letter-spacing: -.05em; }
.article-hero > .shell > p { max-width: 800px; margin: 0 0 35px; color: var(--muted); font-family: var(--display); font-size: clamp(21px, 2.1vw, 28px); line-height: 1.5; }
.article-hero > .shell > span { color: var(--red); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.article-layout { display: grid; grid-template-columns: .25fr 1.75fr; gap: 70px; padding-top: 90px; padding-bottom: 120px; }
.article-layout aside { position: sticky; top: calc(var(--header-height) + 30px); height: fit-content; display: grid; gap: 11px; color: var(--muted); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.article-prose { max-width: 790px; }
.article-prose section { margin-bottom: 62px; }
.article-prose h2 { margin: 0 0 20px; color: var(--wine); font-family: var(--display); font-size: clamp(35px, 3.7vw, 50px); font-weight: 400; line-height: 1.05; }
.article-prose section > p { margin: 0; color: #403838; font-family: var(--display); font-size: 20px; line-height: 1.78; }
.legal-note { margin-top: 70px; padding: 28px 30px; background: var(--paper); border-left: 2px solid var(--red); }
.legal-note p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.article-action { margin-top: 75px; padding-top: 35px; border-top: 1px solid var(--line); }
.article-action h2 { margin-bottom: 28px; }

.work-flow { padding: clamp(85px, 9vw, 125px) 0; background: var(--white); }
.work-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(65px, 10vw, 140px); align-items: start; }
.work-grid h2 { max-width: 700px; margin: 30px 0 35px; color: var(--wine); font-family: var(--display); font-size: clamp(50px, 5.8vw, 78px); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.work-email { display: inline-flex; gap: 20px; padding-bottom: 8px; color: var(--wine); font-family: var(--display); font-size: clamp(27px, 3vw, 40px); border-bottom: 1px solid var(--wine); }
.work-grid ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.work-grid li { display: grid; grid-template-columns: 45px 1fr; gap: 25px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.work-grid li span { color: var(--red); font-family: var(--display); font-size: 14px; }
.work-grid li p { margin: 0; color: var(--wine); font-family: var(--display); font-size: 22px; line-height: 1.4; }
.confidentiality-note { margin-top: 65px; padding-top: 28px; border-top: 1px solid var(--line); }
.confidentiality-note p { max-width: 720px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }

.not-found { min-height: 100svh; display: flex; flex-direction: column; justify-content: center; padding: 8vw; background: var(--wine); color: white; }
.not-found p { margin: 0 0 30px; color: var(--rose); font-size: 10px; letter-spacing: .16em; }
.not-found h1 { max-width: 900px; margin: 0 0 42px; font-family: var(--display); font-size: clamp(58px, 8vw, 110px); font-weight: 400; line-height: .9; }
.not-found a { width: fit-content; padding-bottom: 7px; border-bottom: 1px solid white; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }

@keyframes enter-up { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

@media (min-width: 900px) and (max-width: 1120px) {
  .shell { width: calc(100% - 48px); }
  .header-bar { grid-template-columns: minmax(160px, 1fr) auto auto; gap: 17px; }
  .wordmark img { width: 38px; height: 38px; }
  .wordmark span { font-size: 15px; }
  .desktop-nav { gap: 17px; }
  .desktop-nav a { font-size: 10px; }
  .header-actions { gap: 10px; }
  .language-switch a { min-width: 24px; }
  .header-email { padding-inline: 13px; font-size: 9px; }
  .hero-layout { grid-template-columns: minmax(0, 1fr) 190px; gap: 35px; }
  .hero-copy h1 { font-size: clamp(65px, 7vw, 78px); max-width: 760px; }
  .audience-card { min-height: 350px; }
  .practice-link > div { grid-template-columns: .9fr 1.1fr; gap: 30px; }
  .featured-insight { min-height: 430px; padding-right: 42px; }
  .insight-list { padding-left: 38px; }
  .v4-hero-main { grid-template-columns: minmax(0, 1fr) 310px; gap: 42px; }
  .v4-hero-statement h1 { font-size: clamp(63px, 7.2vw, 78px); }
  .v4-hero-intake { padding-left: 28px; }
  .v4-section-heading { gap: 60px; }
  .v4-model-grid { gap: 65px; }
}

@media (max-width: 899px) {
  :root { --header-height: 70px; }
  .shell { width: calc(100% - 36px); }
  .header-bar { grid-template-columns: minmax(150px, 1fr) auto; gap: 14px; }
  .desktop-nav, .header-actions > .language-switch { display: none; }
  .header-actions { gap: 10px; }
  .header-email { min-height: 40px; padding: 0 13px; gap: 12px; font-size: 9px; }
  .mobile-menu { display: block; }
  .mobile-menu summary { min-width: 56px; min-height: 40px; display: flex; align-items: center; justify-content: center; gap: 9px; color: white; font-size: 10px; letter-spacing: .09em; text-transform: uppercase; border: 1px solid rgba(255,255,255,.38); cursor: pointer; list-style: none; }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu summary i, .mobile-menu summary i::before { width: 12px; height: 1px; display: block; background: currentColor; transition: transform .2s ease; }
  .mobile-menu summary i { position: relative; }
  .mobile-menu summary i::before { content: ""; position: absolute; top: -4px; }
  .mobile-menu[open] summary i { transform: rotate(45deg); }
  .mobile-menu[open] summary i::before { top: 0; transform: rotate(90deg); }
  .mobile-panel { position: fixed; z-index: 49; inset: var(--header-height) 0 auto; padding: 18px; background: var(--oxblood); border-top: 1px solid var(--line-light); box-shadow: 0 24px 45px rgba(20,0,4,.22); }
  .mobile-panel nav { display: grid; }
  .mobile-panel nav a { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0; color: #e0d4d5; font-family: var(--display); font-size: 26px; border-bottom: 1px solid var(--line-light); }
  .mobile-panel nav a[aria-current="page"] { color: var(--bronze); }
  .mobile-languages { display: flex; gap: 9px; margin-top: 18px; }
  .mobile-languages a { min-width: 44px; min-height: 44px; border: 1px solid var(--line-light); }

  .institutional-hero { min-height: 700px; }
  .hero-background { object-position: 67% 20%; }
  .hero-overlay { background: linear-gradient(90deg, rgba(27,0,6,.98), rgba(35,2,8,.86) 67%, rgba(28,0,6,.42)), linear-gradient(0deg, rgba(20,0,4,.58), transparent 60%); }
  .hero-layout { grid-template-columns: 1fr; align-items: center; padding-block: 74px; }
  .hero-copy { max-width: 720px; }
  .hero-copy h1 { max-width: 720px; font-size: clamp(56px, 9.5vw, 78px); }
  .hero-lead { max-width: 620px; }
  .hero-caption { position: absolute; right: 0; bottom: 26px; max-width: 220px; }
  .proof-grid { grid-template-columns: repeat(2, 1fr); }
  .proof-grid span { min-height: 65px; padding: 12px 18px; border-bottom: 1px solid var(--line); }
  .proof-grid span:nth-child(2) { border-right: 0; }
  .proof-grid span:nth-child(3), .proof-grid span:nth-child(4) { border-bottom: 0; }
  .intro-grid, .split-heading, .approach-heading, .page-hero-grid, .operating-grid { grid-template-columns: 1fr; gap: 32px; }
  .intro-grid h2, .approach-heading h2, .page-hero h1, .operating-grid h2 { margin-top: 0; }
  .audience-grid, .audience-directory-grid { grid-template-columns: 1fr; }
  .audience-card { min-height: 285px; border-right: 0; border-bottom: 1px solid var(--line); }
  .audience-card:last-child { border-bottom: 0; }
  .practice-link > div { grid-template-columns: 1fr; gap: 10px; }
  .approach-grid { grid-template-columns: 1fr; }
  .approach-grid article, .approach-grid article + article { padding: 30px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .approach-grid h3 { margin-top: 32px; }
  .firm-preview-grid { grid-template-columns: 160px 1fr; }
  .firm-preview-grid > ul { grid-column: 1 / -1; }
  .insights-grid { grid-template-columns: 1fr; }
  .featured-insight { min-height: 390px; padding: 42px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .insight-list { padding-left: 0; }
  .contact-grid, .footer-grid, .founder-grid, .practice-detail-grid, .work-grid { grid-template-columns: 1fr; }
  .contact-email { font-size: clamp(31px, 8vw, 56px); }
  .footer-grid { gap: 38px; }
  .founder-grid figure { grid-row: auto; max-width: 560px; }
  .audience-directory article { min-height: 340px; border-right: 0; }
  .practice-hero > .shell > p:last-child { margin-left: 0; }
  .news-lead { grid-template-columns: 1fr 40px; gap: 28px; }
  .news-lead > p { grid-column: 1; }
  .news-lead > span { grid-column: 2; grid-row: 1 / span 2; }
  .article-layout { grid-template-columns: 1fr; gap: 36px; }
  .article-layout aside { position: static; display: flex; flex-wrap: wrap; gap: 15px; }

  .v4-hero-shell { min-height: auto; }
  .v4-hero-main { grid-template-columns: 1fr; gap: 48px; padding: 68px 0 56px; }
  .v4-hero-statement h1 { max-width: 760px; font-size: clamp(57px, 9.5vw, 78px); }
  .v4-hero-intake { max-width: 650px; padding: 34px 0 0; border-top: 1px solid var(--line-light); border-left: 0; }
  .v4-hero-intake > p:not(.eyebrow) { max-width: 620px; }
  .v4-proof-grid { grid-template-columns: repeat(2, 1fr); }
  .v4-proof-grid > div, .v4-proof-grid > div:first-child, .v4-proof-grid > div:last-child { padding-inline: 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .v4-proof-grid > div:nth-child(odd) { padding-left: 0; }
  .v4-proof-grid > div:nth-child(even) { padding-right: 0; border-right: 0; }
  .v4-proof-grid > div:nth-child(3), .v4-proof-grid > div:nth-child(4) { border-bottom: 0; }
  .v4-section-heading { grid-template-columns: 1fr; gap: 30px; }
  .v4-section-heading h2 { max-width: 760px; }
  .v4-audience-line { grid-template-columns: 1fr; }
  .v4-audience-line a, .v4-audience-line a:first-child, .v4-audience-line a:last-child { min-height: 66px; padding-inline: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .v4-audience-line a:last-child { border-bottom: 0; }
  .v4-model-grid { grid-template-columns: 1fr; gap: 36px; }
  .v4-model-copy > p { max-width: 720px; }
  .v4-model aside { grid-template-columns: 1fr 1fr; }
  .v4-model aside small { grid-column: 1 / -1; justify-self: start; padding-bottom: 24px; text-align: left; }
}

@media (max-width: 560px) {
  :root { --header-height: 68px; }
  .shell { width: calc(100% - 28px); }
  .wordmark img { width: 40px; height: 40px; }
  .wordmark span { font-size: 14px; }
  .header-email { padding-inline: 10px; }
  .institutional-hero { min-height: 690px; }
  .hero-background { object-position: 63% 20%; }
  .hero-overlay { background: linear-gradient(90deg, rgba(27,0,6,.98), rgba(35,2,8,.82) 88%), linear-gradient(0deg, rgba(20,0,4,.65), transparent 60%); }
  .hero-layout { padding-block: 64px 90px; }
  .hero-copy h1 { margin-top: 26px; font-size: clamp(48px, 14.5vw, 66px); line-height: .94; }
  .hero-signature { font-size: 21px; }
  .hero-lead { font-size: 18px; line-height: 1.46; }
  .hero-actions { align-items: stretch; flex-direction: column; gap: 16px; }
  .button { width: 100%; }
  .hero-caption { display: none; }
  .proof-grid { grid-template-columns: 1fr; }
  .proof-grid span, .proof-grid span:nth-child(2), .proof-grid span:nth-child(3) { min-height: 58px; padding-inline: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .proof-grid span:last-child { border-bottom: 0; }
  .intro-grid h2, .section-heading h2, .approach-heading h2, .firm-preview h2, .page-hero h1, .operating-grid h2 { font-size: 47px; }
  .audience-card { padding-inline: 24px; }
  .practice-link { grid-template-columns: 40px minmax(0, 1fr) 25px; gap: 11px; }
  .practice-link h3 { font-size: 29px; }
  .practice-link p { font-size: 12px; }
  .firm-preview-grid { grid-template-columns: 1fr; }
  .firm-seal img { width: 140px; }
  .firm-preview-grid > ul { grid-column: auto; }
  .featured-insight h3 { font-size: 43px; }
  .article-row { min-height: 205px; grid-template-columns: 1fr 24px; }
  .article-row h3 { font-size: 28px; }
  .contact-grid h2 { font-size: 52px; }
  .contact-email { font-size: clamp(27px, 8.5vw, 39px); }
  .footer-base { flex-direction: column; }
  .page-hero { padding: 75px 0; }
  .founder-grid figure img { max-height: 560px; }
  .practice-hero h1 { font-size: 55px; }
  .practice-detail h2 { font-size: 43px; }
  .news-lead { min-height: 0; padding-block: 38px; }
  .news-lead h2 { font-size: 43px; }
  .article-hero h1 { font-size: 48px; }
  .article-prose section > p { font-size: 18px; }
  .work-grid h2 { font-size: 48px; }
  .work-email { font-size: 26px; overflow-wrap: anywhere; }

  .v4-hero-main { gap: 38px; padding: 58px 0 46px; }
  .v4-hero-statement h1 { margin-top: 24px; font-size: clamp(49px, 14.2vw, 61px); line-height: .96; }
  .v4-signature { font-size: 19px; }
  .v4-hero-intake { padding-top: 28px; }
  .v4-hero-intake > p:not(.eyebrow) { margin-block: 22px 27px; font-size: 18px; }
  .v4-hero-intake > a { font-size: clamp(22px, 7.3vw, 30px); }
  .v4-hero-foot { min-height: 64px; }
  .v4-hero-foot > span { display: none; }
  .v4-hero-foot a { width: 100%; justify-content: space-between; }
  .v4-proof-grid { grid-template-columns: 1fr; }
  .v4-proof-grid > div, .v4-proof-grid > div:first-child, .v4-proof-grid > div:last-child, .v4-proof-grid > div:nth-child(odd), .v4-proof-grid > div:nth-child(even) { min-height: 94px; padding: 18px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .v4-proof-grid > div:nth-child(3) { border-bottom: 1px solid var(--line); }
  .v4-proof-grid > div:last-child { border-bottom: 0; }
  .v4-proof-grid p { max-width: none; }
  .v4-expertise { padding-block: 72px; }
  .v4-section-heading h2, .v4-model h2 { font-size: 47px; }
  .v4-expertise .practice-link { min-height: 112px; }
  .v4-model { padding-top: 72px; }
  .v4-model-copy > p { font-size: 18px; }
  .v4-model aside { min-height: 0; grid-template-columns: 1fr; gap: 10px; padding-block: 24px; }
  .v4-model aside strong { font-size: 27px; }
  .v4-model aside small { grid-column: auto; padding-bottom: 0; }
  .insights-preview .featured-insight { min-height: 330px; }
  .contact-grid h2 { font-size: 50px; }
}

@media (max-width: 390px) {
  .wordmark span { display: none; }
  .header-bar { grid-template-columns: 48px 1fr; }
  .header-actions { justify-self: end; }
  .mobile-menu summary span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .mobile-menu summary { min-width: 42px; }
}

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

/* Established practice — adult editorial system */
:root {
  --header-height: 92px;
  --shell: 1340px;
}

.eyebrow {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .055em;
  line-height: 1.45;
  text-transform: none;
}

.site-header { height: var(--header-height); }
.header-bar {
  grid-template-columns: minmax(225px, 1fr) auto auto;
  gap: clamp(24px, 2.7vw, 44px);
}
.wordmark { gap: 16px; }
.wordmark img { width: 54px; height: 54px; }
.wordmark span { font-size: 22px; letter-spacing: .115em; }
.desktop-nav { gap: clamp(24px, 2.4vw, 38px); }
.desktop-nav a {
  padding: 37px 0 34px;
  font-family: var(--display);
  font-size: 16px;
  letter-spacing: 0;
}
.desktop-nav a::after { bottom: 27px; }
.header-actions { align-self: stretch; gap: 20px; }
.language-switch { height: 100%; gap: 0; }
.language-switch a {
  position: relative;
  min-width: auto;
  min-height: 48px;
  padding: 0 10px;
  color: #a58d91;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .025em;
}
.language-switch a + a::before {
  content: "/";
  position: absolute;
  left: -2px;
  color: #6f555a;
}
.language-switch a[aria-current="page"] { color: white; font-weight: 500; }
.language-long, .header-contact-short { display: none; }
.header-contact {
  align-self: stretch;
  display: flex;
  align-items: center;
  padding-left: 27px;
  color: white;
  font-family: var(--display);
  font-size: 17px;
  line-height: 1;
  white-space: nowrap;
  border-left: 1px solid var(--line-light);
}
.header-contact span { padding-bottom: 4px; border-bottom: 1px solid rgba(255,255,255,.7); }

.editorial-action {
  width: fit-content;
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  padding: 10px 0 7px;
  color: var(--wine);
  font-family: var(--display);
  font-size: clamp(18px, 1.45vw, 21px);
  line-height: 1.15;
  border-bottom: 1px solid currentColor;
}
.editorial-action.light { color: white; }
.editorial-action.primary {
  min-height: 66px;
  min-width: min(100%, 340px);
  font-size: clamp(23px, 2vw, 30px);
  border-top: 1px solid currentColor;
}

.established-hero { background: var(--oxblood); color: white; }
.established-hero-shell {
  min-height: clamp(700px, calc(100svh - var(--header-height)), 840px);
  display: flex;
  flex-direction: column;
}
.established-hero-main {
  flex: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(300px, .58fr);
  gap: clamp(55px, 8vw, 124px);
  align-items: center;
  padding: clamp(78px, 9vh, 112px) 0 clamp(62px, 8vh, 94px);
}
.hero-descriptor {
  margin: 0;
  color: #cbb9bc;
  font-family: var(--display);
  font-size: 17px;
  line-height: 1.4;
}
.established-hero h1 {
  max-width: 930px;
  margin: 37px 0 28px;
  font-family: var(--display);
  font-size: clamp(74px, 7.7vw, 112px);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.052em;
  text-wrap: balance;
}
.hero-signature-large {
  margin: 0;
  color: var(--bronze);
  font-family: var(--display);
  font-size: clamp(25px, 2.2vw, 31px);
  font-style: italic;
}
.established-hero aside {
  padding-left: clamp(30px, 4vw, 58px);
  border-left: 1px solid var(--line-light);
}
.established-hero aside img {
  width: 120px;
  height: 120px;
  margin-bottom: 38px;
  object-fit: cover;
  border-radius: 50%;
  filter: grayscale(.15) contrast(1.04);
}
.established-hero aside p {
  max-width: 430px;
  margin: 0 0 34px;
  color: #ddd0d2;
  font-family: var(--display);
  font-size: clamp(20px, 1.75vw, 24px);
  font-weight: 300;
  line-height: 1.55;
}
.established-hero aside a {
  display: inline-block;
  padding-bottom: 8px;
  font-family: var(--display);
  font-size: clamp(27px, 2.5vw, 35px);
  line-height: 1;
  border-bottom: 1px solid white;
  overflow-wrap: anywhere;
}
.established-proof {
  max-width: 1140px;
  margin: 0;
  padding: 27px 0 29px;
  color: #bba5a9;
  font-family: var(--display);
  font-size: 16px;
  line-height: 1.55;
  border-top: 1px solid var(--line-light);
}

.audience-portals-section {
  padding: clamp(92px, 9vw, 132px) 0 clamp(82px, 8vw, 116px);
  background: var(--paper);
}
.audience-portals-intro {
  display: grid;
  grid-template-columns: .27fr 1.05fr .68fr;
  gap: clamp(35px, 5vw, 74px);
  align-items: start;
  margin-bottom: 70px;
}
.audience-portals-intro h2 {
  max-width: 720px;
  margin: -10px 0 0;
  color: var(--wine);
  font-family: var(--display);
  font-size: clamp(55px, 5.6vw, 78px);
  font-weight: 400;
  line-height: .96;
  letter-spacing: -.04em;
}
.audience-portals-intro > p:last-child {
  max-width: 480px;
  margin: 0;
  color: var(--muted);
  font-family: var(--display);
  font-size: 20px;
  line-height: 1.6;
}
.audience-portals {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.audience-portals a {
  min-height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 38px;
  padding: 44px clamp(28px, 3.1vw, 48px) 40px;
  border-right: 1px solid var(--line);
}
.audience-portals a:first-child { padding-left: 0; }
.audience-portals a:last-child { padding-right: 0; border-right: 0; }
.audience-portals h3 {
  max-width: 360px;
  margin: 0;
  color: var(--wine);
  font-family: var(--display);
  font-size: clamp(32px, 3vw, 43px);
  font-weight: 400;
  line-height: 1.03;
}
.audience-portals p {
  max-width: 370px;
  margin: 0;
  color: var(--muted);
  font-family: var(--display);
  font-size: 17px;
  line-height: 1.58;
}

.established-expertise {
  padding: clamp(100px, 10vw, 145px) 0;
  background: var(--white);
}
.established-expertise-grid {
  display: grid;
  grid-template-columns: minmax(250px, .52fr) minmax(0, 1.48fr);
  gap: clamp(65px, 9vw, 132px);
  align-items: start;
}
.established-expertise-grid > header { position: sticky; top: calc(var(--header-height) + 46px); }
.established-expertise h2 {
  margin: 22px 0 30px;
  color: var(--wine);
  font-family: var(--display);
  font-size: clamp(62px, 6vw, 84px);
  font-weight: 400;
  line-height: .94;
  letter-spacing: -.045em;
}
.established-expertise header > p:not(.eyebrow) {
  max-width: 430px;
  margin: 0 0 28px;
  color: var(--muted);
  font-family: var(--display);
  font-size: 20px;
  line-height: 1.58;
}
.practice-index { border-top: 1px solid var(--line); }
.practice-link {
  min-height: 164px;
  display: grid;
  grid-template-columns: minmax(250px, .82fr) minmax(300px, 1.18fr);
  gap: clamp(34px, 5vw, 70px);
  align-items: center;
  padding: 35px 0;
  border-bottom: 1px solid var(--line);
  transition: color .2s ease;
}
.practice-link:hover { padding-inline: 0; background: transparent; }
.practice-link h3 {
  margin: 0;
  color: var(--wine);
  font-family: var(--display);
  font-size: clamp(35px, 3.4vw, 48px);
  font-weight: 400;
  line-height: 1.02;
  transition: color .2s ease;
}
.practice-link p {
  max-width: 560px;
  margin: 0;
  color: var(--muted);
  font-family: var(--display);
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.5;
}
.practice-link:hover h3 { color: var(--red); }

.established-founder {
  padding: clamp(100px, 10vw, 145px) 0;
  background: var(--wine);
  color: white;
}
.established-founder-grid {
  display: grid;
  grid-template-columns: minmax(340px, .78fr) minmax(0, 1.22fr);
  gap: clamp(65px, 9vw, 138px);
  align-items: center;
}
.established-founder figure { margin: 0; }
.established-founder figure img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: 50% 18%;
  filter: grayscale(.18) contrast(1.02);
}
.established-founder figcaption {
  margin-top: 15px;
  color: #af979b;
  font-family: var(--display);
  font-size: 15px;
  line-height: 1.45;
}
.established-founder-copy h2 {
  max-width: 760px;
  margin: 29px 0 34px;
  font-family: var(--display);
  font-size: clamp(58px, 6vw, 84px);
  font-weight: 400;
  line-height: .95;
  letter-spacing: -.043em;
}
.established-founder-copy > p:not(.eyebrow) {
  max-width: 700px;
  margin: 0 0 20px;
  color: #cfbec1;
  font-family: var(--display);
  font-size: 19px;
  line-height: 1.65;
}
.established-founder-copy > p.founder-lead {
  color: white;
  font-size: clamp(21px, 2vw, 27px);
  line-height: 1.5;
}
.established-founder-copy .editorial-action { margin-top: 13px; }
.established-founder-copy ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 34px;
  margin: 56px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line-light);
}
.established-founder-copy li {
  min-height: 76px;
  display: flex;
  align-items: center;
  color: #cbb9bc;
  font-family: var(--display);
  font-size: 16px;
  line-height: 1.4;
  border-bottom: 1px solid var(--line-light);
}

.approach-section { padding: clamp(100px, 9vw, 132px) 0; }
.approach-heading { grid-template-columns: .27fr 1.73fr; padding-bottom: 66px; }
.approach-heading h2 { font-size: clamp(58px, 6vw, 84px); }
.approach-grid article { padding-top: 48px; padding-bottom: 12px; }
.approach-grid h3 {
  margin: 0 0 22px;
  font-size: clamp(30px, 2.7vw, 38px);
  line-height: 1.05;
}
.approach-grid p {
  max-width: 390px;
  font-family: var(--display);
  font-size: 17px;
  line-height: 1.65;
}

.insights-preview { padding: clamp(100px, 9vw, 132px) 0; }
.insights-preview .section-heading { margin-bottom: 58px; }
.insights-preview .section-heading h2 {
  font-size: clamp(58px, 6vw, 84px);
  letter-spacing: -.025em;
}
.split-heading > p,
.split-heading > div:last-child > p {
  font-size: 20px;
  line-height: 1.62;
}
.article-meta {
  gap: 17px;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .015em;
  text-transform: none;
}
.insights-grid { grid-template-columns: 1.12fr .88fr; }
.insights-preview .featured-insight {
  min-height: 480px;
  padding: 48px 64px 48px 0;
}
.insights-preview .featured-insight h3 {
  margin-top: 28px;
  font-size: clamp(48px, 4.8vw, 68px);
}
.featured-insight > p { margin-bottom: 0; font-size: 19px; }
.insights-preview .article-row {
  min-height: 240px;
  display: block;
  padding: 43px 0;
}
.article-row { grid-template-columns: 1fr; }
.article-row h3 { margin-top: 19px; font-size: clamp(31px, 3vw, 41px); }
.article-row p { font-family: var(--display); font-size: 16px; line-height: 1.55; }

.contact-band {
  padding: clamp(100px, 9vw, 132px) 0;
  background: var(--wine);
}
.contact-heading {
  display: grid;
  grid-template-columns: .27fr 1.73fr;
  gap: 55px;
  align-items: start;
}
.contact-heading h2 {
  max-width: 980px;
  margin: -10px 0 62px;
  font-family: var(--display);
  font-size: clamp(62px, 7vw, 96px);
  font-weight: 400;
  line-height: .93;
  letter-spacing: -.045em;
}
.contact-email {
  display: block;
  padding: 30px 0 24px;
  font-family: var(--display);
  font-size: clamp(56px, 7.4vw, 102px);
  line-height: .92;
  letter-spacing: -.045em;
  border-top: 1px solid rgba(255,255,255,.42);
  border-bottom: 2px solid white;
  overflow-wrap: anywhere;
}
.contact-notes {
  display: grid;
  grid-template-columns: 1fr .75fr;
  gap: clamp(50px, 8vw, 110px);
  margin-top: 34px;
}
.contact-notes p {
  max-width: 680px;
  margin: 0;
  color: #ddcfd1;
  font-family: var(--display);
  font-size: 18px;
  line-height: 1.6;
}
.contact-notes .contact-confidentiality {
  justify-self: end;
  color: #a98f94;
  font-size: 15px;
}

.audience-directory article div a {
  min-height: 50px;
  font-family: var(--display);
  font-size: 17px;
  letter-spacing: 0;
  text-transform: none;
}
.back-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  font-family: var(--display);
  font-size: 17px;
  letter-spacing: 0;
  text-transform: none;
}
.news-lead { grid-template-columns: 1.2fr .8fr; }
.site-footer { padding-top: 82px; }
.footer-grid nav a,
.footer-contact a,
.footer-contact p { font-size: 15px; }
.footer-base { font-size: 12px; text-transform: none; }

@media (max-width: 1049px) {
  :root { --header-height: 72px; }
  .shell { width: calc(100% - 44px); }
  .header-bar { grid-template-columns: minmax(165px, 1fr) auto; gap: 18px; }
  .wordmark { gap: 11px; }
  .wordmark img { width: 44px; height: 44px; }
  .wordmark span { font-size: 18px; }
  .desktop-nav,
  .header-actions > .language-switch { display: none; }
  .header-actions { gap: 22px; }
  .header-contact {
    align-self: center;
    min-height: 48px;
    padding: 0;
    font-size: 16px;
    border-left: 0;
  }
  .header-contact-full { display: none; }
  .header-contact-short { display: inline; }
  .mobile-menu { display: block; }
  .mobile-menu summary {
    min-width: auto;
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0;
    color: white;
    font-family: var(--display);
    font-size: 16px;
    letter-spacing: 0;
    text-transform: none;
    border: 0;
    cursor: pointer;
    list-style: none;
  }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu summary i,
  .mobile-menu summary i::before { width: 15px; height: 1px; display: block; background: currentColor; transition: transform .2s ease; }
  .mobile-menu summary i { position: relative; }
  .mobile-menu summary i::before { content: ""; position: absolute; top: -5px; }
  .mobile-menu[open] summary i { transform: rotate(45deg); }
  .mobile-menu[open] summary i::before { top: 0; transform: rotate(90deg); }
  .mobile-panel {
    position: fixed;
    z-index: 49;
    inset: var(--header-height) 0 0;
    padding: 34px 22px 45px;
    overflow-y: auto;
    background: var(--oxblood);
    border-top: 1px solid var(--line-light);
    box-shadow: none;
  }
  .mobile-panel > nav { display: grid; }
  .mobile-panel > nav > a {
    min-height: 74px;
    display: flex;
    align-items: center;
    padding: 10px 0;
    color: #e0d4d5;
    font-family: var(--display);
    font-size: clamp(31px, 6vw, 42px);
    border-bottom: 1px solid var(--line-light);
  }
  .mobile-panel > nav > a[aria-current="page"] { color: var(--bronze); }
  .language-switch.mobile-languages {
    height: auto;
    display: grid;
    margin-top: 34px;
    border-top: 1px solid var(--line-light);
  }
  .language-switch.mobile-languages a {
    min-height: 62px;
    display: flex;
    justify-content: space-between;
    padding: 0;
    color: #d9cbcd;
    font-family: var(--display);
    font-size: 25px;
    letter-spacing: 0;
    border: 0;
    border-bottom: 1px solid var(--line-light);
  }
  .language-switch.mobile-languages a + a::before { content: none; }
  .mobile-languages .language-long { display: inline; }
  .mobile-languages .language-short { order: 2; color: #8f757a; font-family: var(--utility); font-size: 12px; }
  .established-expertise-grid { grid-template-columns: 1fr; gap: 58px; }
  .established-expertise-grid > header { position: static; display: grid; grid-template-columns: 1fr .8fr; gap: 0 55px; }
  .established-expertise-grid > header .eyebrow { grid-column: 1 / -1; }
  .established-expertise-grid > header h2 { grid-row: 2 / span 2; }
  .established-expertise-grid > header > p:not(.eyebrow) { margin-top: 24px; }
  .established-expertise-grid > header .editorial-action { grid-column: 2; }
}

@media (max-width: 839px) {
  .established-hero-shell { min-height: 0; }
  .established-hero-main { grid-template-columns: 1fr; gap: 52px; padding: 75px 0 62px; }
  .established-hero h1 { max-width: 760px; font-size: clamp(60px, 11.7vw, 88px); }
  .established-hero aside { display: grid; grid-template-columns: 105px 1fr; gap: 0 34px; padding: 38px 0 0; border-top: 1px solid var(--line-light); border-left: 0; }
  .established-hero aside img { grid-row: 1 / span 2; width: 105px; height: 105px; margin: 0; }
  .established-hero aside p { margin-bottom: 27px; }
  .established-hero aside a { grid-column: 2; }
  .audience-portals-intro { grid-template-columns: 1fr; gap: 28px; margin-bottom: 50px; }
  .audience-portals-intro h2 { margin-top: 0; }
  .audience-portals { grid-template-columns: 1fr; }
  .audience-portals a,
  .audience-portals a:first-child,
  .audience-portals a:last-child {
    min-height: 180px;
    padding: 34px 0 30px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .audience-portals a:last-child { border-bottom: 0; }
  .established-founder-grid { grid-template-columns: 1fr; gap: 62px; }
  .established-founder figure { max-width: 580px; }
  .approach-heading,
  .contact-heading { grid-template-columns: 1fr; gap: 30px; }
  .approach-heading h2,
  .contact-heading h2 { margin-top: 0; }
  .approach-grid { grid-template-columns: 1fr; }
  .approach-grid article,
  .approach-grid article + article {
    min-height: 210px;
    padding: 38px 0;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .insights-grid { grid-template-columns: 1fr; }
  .insights-preview .featured-insight { min-height: 410px; padding-right: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .insight-list { padding-left: 0; }
  .contact-notes { grid-template-columns: 1fr; gap: 24px; }
  .contact-notes .contact-confidentiality { justify-self: start; }
  .news-lead { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .shell { width: calc(100% - 32px); }
  .wordmark { gap: 9px; }
  .wordmark img { width: 38px; height: 38px; }
  .wordmark span { display: inline; font-size: 14px; letter-spacing: .09em; }
  .header-actions { gap: 16px; }
  .header-contact,
  .mobile-menu summary { font-size: 15px; }
  .mobile-menu summary i,
  .mobile-menu summary i::before { width: 13px; }
  .established-hero-main { padding-top: 60px; }
  .hero-descriptor { font-size: 15px; }
  .established-hero h1 { margin-top: 29px; font-size: clamp(53px, 15.5vw, 68px); line-height: .92; }
  .hero-signature-large { font-size: 23px; }
  .established-hero aside { grid-template-columns: 82px minmax(0, 1fr); gap: 0 23px; }
  .established-hero aside img { width: 82px; height: 82px; }
  .established-hero aside p { font-size: 19px; }
  .established-hero aside a { font-size: clamp(25px, 7.8vw, 33px); }
  .established-proof { padding-block: 24px; font-size: 15px; }
  .audience-portals-section,
  .established-expertise,
  .established-founder,
  .approach-section,
  .insights-preview,
  .contact-band { padding-block: 78px; }
  .audience-portals-intro h2,
  .established-expertise h2,
  .established-founder-copy h2,
  .approach-heading h2,
  .insights-preview .section-heading h2,
  .contact-heading h2 { font-size: 50px; }
  .established-expertise-grid > header { display: block; }
  .established-expertise-grid > header > p:not(.eyebrow) { margin-top: 0; }
  .practice-link {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 31px 0;
  }
  .practice-link h3 { font-size: 34px; }
  .practice-link p { font-size: 17px; }
  .established-founder-copy ul { grid-template-columns: 1fr; }
  .established-founder-copy li { min-height: 68px; }
  .split-heading { grid-template-columns: 1fr; gap: 30px; }
  .insights-preview .featured-insight { min-height: 350px; padding-block: 40px; }
  .insights-preview .featured-insight h3 { font-size: 45px; }
  .insights-preview .article-row { min-height: 0; padding: 36px 0; }
  .contact-heading h2 { margin-bottom: 38px; }
  .contact-email { padding: 22px 0 18px; font-size: clamp(38px, 11.5vw, 54px); }
  .contact-notes p { font-size: 16px; }
  .footer-grid { gap: 44px; }
}

@media (max-width: 360px) {
  .shell { width: calc(100% - 26px); }
  .wordmark span { font-size: 13px; }
  .header-actions { gap: 12px; }
  .header-contact,
  .mobile-menu summary { font-size: 14px; }
  .mobile-menu summary { gap: 8px; }
}

/* Joomla component integration; loaded after the existing DECKER visual system. */
[hidden] { display: none !important; }
.decker-site { overflow-wrap: break-word; }
.decker-site h1,.decker-site h2,.decker-site h3 { font-weight: 400; overflow-wrap:anywhere; }
.audience-portals-intro > * { min-width:0; }
.decker-site :is(button,input,textarea,select) { font: inherit; }
.decker-site :is(button,input,textarea,select):focus-visible { outline: 2px solid var(--bronze); outline-offset: 3px; }
.decker-site .site-header { height: auto; min-height: var(--header-height); }
.decker-header { min-height: var(--header-height); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.decker-navigation { display:flex; align-items:center; gap:28px; }
.decker-main-menu .mod-menu,.decker-languages ul { display:flex; align-items:center; gap:25px; list-style:none; padding:0; margin:0; }
.decker-main-menu .mod-menu > li { position:relative; }
.decker-main-menu a,.decker-main-menu .nav-header { display:inline-block; padding:26px 0; color:#e0d4d5; font-family:var(--display); font-size:18px; }
.decker-main-menu a:hover,.decker-main-menu .current > a,.decker-main-menu a[aria-current=page] { color:var(--bronze); }
.decker-main-menu .mod-menu__sub { display:none; position:absolute; inset-inline-start:0; top:100%; min-width:230px; padding:16px; margin:0; background:var(--oxblood); border:1px solid var(--line-light); list-style:none; }
.decker-main-menu .mod-menu__sub a { padding:10px 4px; }
.decker-main-menu li:hover > .mod-menu__sub,.decker-main-menu li:focus-within > .mod-menu__sub,.decker-main-menu .mod-menu__toggle-sub[aria-expanded=true] + .mod-menu__sub { display:block; }
.decker-main-menu .mod-menu__sub .mod-menu__sub { position:static; border:0; padding:0 0 0 12px; }
.decker-main-menu .mod-menu__toggle-sub { border:0; color:inherit; background:transparent; padding:10px; }
.decker-header-email { padding:14px 0 14px 25px; border-inline-start:1px solid var(--line-light); font-family:var(--display); font-size:18px; }
.decker-languages ul { gap:12px; }
.decker-languages a { color:#d8cbcd; font-size:13px; }
.decker-languages .lang-active a { color:var(--bronze); text-decoration:underline; text-underline-offset:5px; }
.decker-menu-toggle { background:transparent; border:1px solid var(--line-light); color:white; padding:12px; cursor:pointer; }
.decker-content { padding-block:75px 100px; min-height:40vh; }
.decker-content.has-sidebar { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:70px; }
.decker-component { min-width:0; }
.decker-review-heading { padding-top:85px; }
.decker-review-heading h2 { margin:20px 0; font-family:var(--display); font-size:clamp(42px,5vw,70px); color:var(--wine); line-height:1; }
.decker-review-heading > p:last-child { max-width:650px; font-family:var(--display); font-size:21px; line-height:1.6; color:var(--muted); }
.decker-content h1 { max-width:1100px; margin:0 0 35px; font-family:var(--display); font-size:clamp(45px,6.5vw,86px); color:var(--wine); letter-spacing:-.04em; line-height:1.03; }
.decker-content h2 { margin:35px 0 18px; font-family:var(--display); font-size:clamp(30px,3.2vw,45px); color:var(--wine); line-height:1.12; }
.decker-content h3 { font-family:var(--display); font-size:28px; color:var(--wine); line-height:1.2; }
.decker-content p,.com-content-article__body li { font-family:var(--display); font-size:21px; line-height:1.65; }
.com-content-article__body { max-width:820px; margin-inline:auto; }
.com-content-article__body :is(a,footnote) { text-decoration:underline; text-underline-offset:3px; }
.com-content-article__body img { height:auto; }
.com-content-article__body blockquote { margin:35px 0; border-inline-start:3px solid var(--bronze); padding:5px 25px; }
.com-content-article__body table { display:block; overflow-x:auto; border-collapse:collapse; max-width:100%; }
.com-content-article__body :is(th,td) { border-bottom:1px solid var(--line); padding:12px; text-align:start; }
.com-content-article__body :is(ul,ol) { padding-inline-start:1.5em; }
.decker-content .article-info { display:flex; flex-wrap:wrap; gap:10px 22px; margin:20px 0 35px; color:var(--muted); font-size:14px; }
.article-info dd { margin:0; }
.article-info-term { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.decker-content .blog-items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 55px; }
.decker-content .items-leading { grid-template-columns:1fr; }
.decker-content .blog-item { min-width:0; padding:35px 0; border-top:1px solid var(--line); }
.decker-content .blog-item h2 { margin-top:0; }
.decker-content .blog-item .article-info { margin:15px 0; }
.decker-content .blog-item p { font-size:19px; color:var(--muted); }
.decker-content .readmore a { display:inline-flex; padding:8px 0; color:var(--wine); border-bottom:1px solid currentColor; }
.decker-content .readmore .icon-chevron-right { display:none; }
.decker-content :is(.item-image,.com-content-article__images) img { height:auto; max-height:600px; object-fit:cover; }
.decker-content .breadcrumb { display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:0 0 40px; list-style:none; font-size:14px; }
.breadcrumb-item + .breadcrumb-item::before { content:'/'; margin-inline-end:10px; color:var(--muted); }
.decker-content .pagination { display:flex; flex-wrap:wrap; align-items:center; gap:8px; list-style:none; padding:0; margin:35px 0; }
.pagination .page-link { display:block; border:1px solid var(--line); padding:10px 15px; }
.pagination .active .page-link { background:var(--wine); color:white; }
.pagination .disabled { opacity:.5; }
.decker-sidebar { padding-inline-start:25px; border-inline-start:1px solid var(--line); }
.decker-sidebar ul { list-style:none; padding:0; }
.decker-sidebar a { display:inline-block; padding:8px 0; }
.decker-site :is(.form-control,.form-select,input[type=text],input[type=email],input[type=password],input[type=search],textarea,select) { max-width:100%; border:1px solid #9e8d86; border-radius:0; padding:12px; background:var(--white); color:var(--ink); }
.decker-site :is(.control-group,.mb-3) { margin-bottom:20px; }
.decker-site .control-label { margin-bottom:8px; }
.decker-site :is(.btn,button[type=submit]) { display:inline-block; padding:12px 20px; border:1px solid var(--wine); background:var(--wine); color:white; cursor:pointer; }
.decker-site .btn-secondary { background:transparent; color:var(--wine); }
.decker-site fieldset { border:1px solid var(--line); padding:20px; }
.decker-site .alert { padding:20px; margin:20px 0; border-inline-start:4px solid var(--bronze); background:var(--paper); }
.decker-site .alert-danger { border-color:var(--red); }
.decker-site .visually-hidden,.decker-site .sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.decker-site .visually-hidden-focusable:not(:focus):not(:focus-within) { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.decker-site .site-footer ul { padding:0; margin:0; list-style:none; }
.decker-site .site-footer .mod-menu a { display:inline-block; padding-block:6px; }
.decker-site .footer-base .mod-menu { display:flex; flex-wrap:wrap; gap:20px; }
.decker-site .footer-contact p { margin-top:0; }
.decker-site :is(.site-header,.contact-band,.site-footer) :focus-visible { outline-color:var(--bronze); }
.decker-site .decker-content :is(pre,code) { overflow-wrap:anywhere; white-space:pre-wrap; }
.decker-site .decker-content .collapse:not(.show) { display:none; }
@media(max-width:1100px) {
  .decker-header { flex-wrap:wrap; padding-block:12px; }
  .decker-navigation { flex-basis:100%; align-items:stretch; flex-direction:column; gap:20px; padding:10px 0 24px; max-height:calc(100dvh - 90px); overflow-y:auto; }
  .decker-main-menu .mod-menu { align-items:stretch; flex-direction:column; gap:0; }
  .decker-main-menu a { padding:14px 0; font-size:27px; }
  .decker-main-menu .mod-menu__sub { position:static; padding-block:0; margin-bottom:12px; }
  .decker-main-menu .mod-menu__sub a { font-size:21px; }
  .decker-header-email { border:0; padding:10px 0; }
  .decker-languages a { display:inline-block; padding:10px; }
  .decker-content.has-sidebar { grid-template-columns:1fr; }
  .decker-sidebar { padding-inline-start:0; border:0; border-top:1px solid var(--line); }
}
@media(max-width:620px) {
  .decker-site .audience-portals-intro h2 { font-size:clamp(34px,11.4vw,50px); }
  .decker-content { padding-block:50px 65px; }
  .decker-content .blog-items { grid-template-columns:1fr; }
  .decker-content h1 { font-size:clamp(38px,11vw,58px); }
  .decker-content p,.com-content-article__body li { font-size:19px; }
}
@media print {
  .decker-site :is(.site-header,.site-footer,.contact-band,.decker-sidebar,.skip-link,.pagination) { display:none!important; }
  .decker-content { padding:0; width:100%; }
  .decker-site { background:white; color:black; }
  .decker-site :is(h1,h2,h3) { break-after:avoid; }
}

/* Keep Joomla language-module defaults aligned with the dark header. */
.decker-languages div.mod-languages ul li.lang-active { background:transparent; }
.decker-languages div.mod-languages a { padding:0; }
.decker-languages div.mod-languages li { margin:0; }

/* Palazzo — the selected design direction. Keep Joomla content and routes native. */
:root{--shell:1280px;--header-height:92px;--muted:#615f56;--line:rgba(67,7,16,.2)}
.decker-site .site-header{background:var(--ivory);color:var(--wine);border-bottom:1px solid var(--line)}
.decker-site .wordmark{color:var(--wine)}
.decker-site .wordmark img{filter:none;width:48px;height:48px}
.decker-site .decker-main-menu a,.decker-site .decker-main-menu .nav-header{font-family:var(--utility);font-size:14px;color:var(--wine)}
.decker-site .decker-main-menu a:hover,.decker-site .decker-main-menu .current>a{color:var(--wine);text-decoration:underline;text-underline-offset:7px}
.decker-site .decker-languages a,.decker-site .decker-languages .lang-active a{color:var(--wine)}
.decker-site .decker-header-email{font-family:var(--utility);font-size:13px;border-color:var(--line)}
.decker-site .decker-menu-toggle{color:var(--wine);border-color:var(--line);min-height:44px}
.decker-site .decker-main-menu .mod-menu__sub{background:var(--ivory);border-color:var(--line)}
.decker-site .site-header :focus-visible{outline-color:var(--wine)}
.palazzo-hero{background:var(--ivory);color:var(--wine)}
.palazzo-hero .established-hero-shell{min-height:0}
.palazzo-hero .established-hero-main{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(36px,5vw,76px);padding:80px 0 88px}
.palazzo-hero .hero-descriptor{font-family:var(--utility);font-size:11px;line-height:1.6;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.palazzo-hero h1{font-size:clamp(68px,7.4vw,108px);font-weight:400;line-height:1.01;letter-spacing:-.04em;margin:32px 0 28px;text-wrap:initial}
.palazzo-lead{max-width:480px;font-family:var(--utility);font-size:17px;line-height:1.7;color:var(--muted);margin:0}
.palazzo-action{display:inline-flex;min-height:48px;align-items:center;justify-content:space-between;gap:40px;padding:12px 0;margin-top:25px;border-bottom:1px solid;font-size:14px}
.palazzo-action span{transition:transform .25s}.palazzo-action:hover span{transform:translateY(3px)}
.palazzo-hero-art{position:relative;isolation:isolate;margin-right:14px}
.palazzo-hero-art::before{content:"";position:absolute;inset:-18px -14px 18px 18px;border:1px solid #b3a68d;z-index:-1}
.palazzo-hero-art figure{margin:0}
.palazzo-hero-art img{display:block;width:100%;height:auto;aspect-ratio:1/1.12;object-fit:cover;object-position:48% 50%}
.palazzo-hero .established-proof{color:var(--muted);border-color:var(--line)}
.audience-portals-section{background:#ded6c7;padding:65px 0 72px;border-block:1px solid #c2b5a0}
.audience-portals-intro{grid-template-columns:.5fr 1.5fr;gap:36px;margin-bottom:35px}
.audience-portals-intro h2{font-size:clamp(38px,4.5vw,62px);line-height:1.07}
.audience-portals-intro>p:last-child{grid-column:2;font-family:var(--utility);font-size:16px;max-width:580px}
.audience-portals{grid-template-columns:repeat(2,minmax(0,1fr))}
.audience-portals a{min-height:0;padding:32px 40px 30px}
.audience-portals a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.audience-portals h3{font-size:clamp(30px,3.2vw,43px);margin-bottom:24px}
.audience-portals p{font-family:var(--utility);font-size:16px;line-height:1.65}
.established-expertise{padding:90px 0;background:#fcfaf5;border-top:6px solid var(--wine)}
.established-expertise h2{font-size:clamp(45px,5vw,65px);line-height:1.05}
.established-expertise header>p:not(.eyebrow){font-family:var(--utility);font-size:16px}
.practice-link{min-height:128px;padding:28px 0;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:30px}
.practice-link h3{font-size:clamp(27px,2.8vw,37px);line-height:1.12}
.practice-link p{font-family:var(--utility);font-size:15px;line-height:1.65}
.established-founder{background:var(--wine);color:#f5f1e8;padding:88px 0;border-top:1px solid #b39a76}
.established-founder-grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}
.established-founder figure img{aspect-ratio:auto;height:auto;filter:none;object-fit:contain}
.established-founder-copy h2{font-size:clamp(40px,4.8vw,64px);line-height:1.07}
.established-founder-copy>p:not(.eyebrow),.established-founder-copy>p.founder-lead,.established-founder-copy li,.established-founder figcaption{color:#ded1d0}
.established-founder-copy>p:not(.eyebrow){font-family:var(--utility);font-size:16px;line-height:1.7}
.established-founder-copy .eyebrow,.established-founder-copy .editorial-action{color:#f5f1e8}
.established-founder-copy ul,.established-founder-copy li{border-color:rgba(245,241,232,.3)}
.established-founder-copy li{font-size:16px}
.decker-review-heading h2{font-size:clamp(42px,5vw,66px)}
.decker-content .blog-item p{font-family:var(--utility);font-size:16px;line-height:1.65}
.decker-content .blog-item h2{font-size:clamp(30px,3.1vw,42px);line-height:1.15}
.decker-content .blog-item .item-image img{width:100%;aspect-ratio:3/2;object-fit:cover;margin-bottom:26px}
.decker-content h1{font-size:clamp(43px,6vw,80px);line-height:1.09;max-width:1040px}
.decker-content .com-content-article__body{max-width:760px}
.decker-content .com-content-article__body p{font-size:21px;line-height:1.75}
.decker-content .com-content-article__body figure{margin:40px 0}
.decker-content .com-content-article__body figcaption{font-family:var(--utility);font-size:13px;line-height:1.5;color:var(--muted);margin-top:12px}
.decker-content .com-content-article__body img{max-width:100%;height:auto}
.contact-band{background:var(--wine);padding:70px 0}
.contact-heading h2{font-size:clamp(40px,5vw,70px)}
.contact-email{font-size:clamp(29px,5.3vw,67px)}
.site-footer{padding-top:48px}.footer-base{color:#c7b8ba}
/* Optional image modules: add/edit these using Joomla's Custom modules. */
.decker-image-divider{margin:0;background:var(--ivory)}
.decker-image-divider picture{display:block;overflow:hidden}
.decker-image-divider img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center}
.decker-image-divider figcaption{display:flex;justify-content:space-between;gap:24px;padding:18px 0;font-family:var(--utility);font-size:12px;line-height:1.5;color:var(--muted)}
.decker-expertise-image{margin:34px 0 0;max-width:420px}
.decker-expertise-image img{width:100%;height:auto;filter:none}
.decker-expertise-image figcaption{margin-top:12px;font-family:var(--utility);font-size:11px;line-height:1.5;color:var(--muted)}
.decker-site .decker-colonnade img{aspect-ratio:2.5/1;object-fit:cover;object-position:50% 53%}
.established-founder figcaption{font-family:var(--utility);font-size:11px}
@media(max-width:760px){.decker-site .decker-colonnade img{aspect-ratio:3/2;object-fit:contain}.decker-expertise-image{max-width:100%;margin-top:28px}}
.decker-image-pair{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center;padding:55px 0 80px}
.decker-image-pair figure{margin:0}.decker-image-pair img{width:100%;height:auto}.decker-image-pair figure:last-child{padding-top:80px}.decker-image-pair figcaption{font-size:12px;line-height:1.5;color:var(--muted);margin-top:14px}
@media(prefers-reduced-motion:no-preference){.palazzo-hero .established-hero-main>header{animation:palazzo-enter .7s ease-out both}.palazzo-hero-art{animation:palazzo-enter .85s .1s ease-out both}@keyframes palazzo-enter{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}}
@media(max-width:1100px){.decker-site .decker-main-menu a{font-size:23px}.decker-site .decker-languages a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.palazzo-hero .established-hero-main{gap:45px}.established-expertise-grid{gap:45px;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr)}.practice-link{grid-template-columns:1fr;gap:16px}.decker-site .decker-header-email{font-size:17px}}
@media(max-width:760px){.palazzo-hero .established-hero-main{grid-template-columns:1fr;padding:46px 0 60px;gap:45px}.palazzo-hero h1{font-size:clamp(58px,14vw,83px);line-height:1.01;margin:25px 0}.palazzo-hero-art{width:auto;margin:0 14px 0 0}.palazzo-hero-art img{aspect-ratio:3/2;object-fit:contain}.palazzo-lead{font-size:16px}.audience-portals-intro{grid-template-columns:1fr;gap:22px}.audience-portals-intro>p:last-child{grid-column:auto}.audience-portals{grid-template-columns:1fr}.audience-portals a,.audience-portals a:first-child,.audience-portals a:last-child{padding:27px 0;border-right:0;border-bottom:1px solid var(--line)}.audience-portals a:last-child{border-bottom:0}.established-expertise-grid,.established-founder-grid{grid-template-columns:1fr;gap:40px}.established-expertise-grid>header{position:static}.established-expertise,.established-founder{padding:60px 0}.established-founder figure{max-width:350px;width:80%;margin-inline:auto}.established-founder-copy h2{font-size:43px}.decker-image-divider img{aspect-ratio:4/3;object-position:center}.decker-image-divider figcaption{display:block;padding:14px 0}.decker-image-divider figcaption span{display:block;margin-top:6px}.decker-image-pair{grid-template-columns:1fr;gap:30px;padding-block:40px}.decker-image-pair figure:last-child{padding-top:0;width:80%;margin-left:auto}.decker-content .com-content-article__body p{font-size:19px}.decker-site .site-header{position:sticky}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* A distinct, image-led threshold into the journal. */
.decker-site .decker-library{border-block:10px solid #ded6c7}
.decker-site .decker-library img{aspect-ratio:3.7/1;object-position:50% 43%}
.established-founder :focus-visible{outline:2px solid #f5f1e8;outline-offset:6px}
@media(max-width:760px){.decker-site .decker-library img{aspect-ratio:3/2}.palazzo-hero-art{animation:none}.established-founder-grid{gap:35px}}

/* Screen-filling opening and image-led audience navigation. */
.decker-site.has-hero-image .site-header{position:absolute;inset:0 0 auto;z-index:30;background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.decker-site.has-hero-image .site-header .wordmark,.decker-site.has-hero-image .site-header .decker-main-menu a,.decker-site.has-hero-image .site-header .decker-languages a,.decker-site.has-hero-image .site-header .decker-header-email,.decker-site.has-hero-image .site-header .decker-menu-toggle{color:#fff}
.decker-site.has-hero-image .site-header .wordmark img{filter:none;mix-blend-mode:normal;border-radius:50%;background:var(--ivory)}
.decker-site.has-hero-image .site-header .decker-header-email,.decker-site.has-hero-image .site-header .decker-menu-toggle{border-color:rgba(255,255,255,.5)}
.decker-site.has-hero-image .site-header :focus-visible{outline-color:white}
.palazzo-hero{position:relative;isolation:isolate;overflow:hidden;background:#172019;color:white;min-height:100svh}
.palazzo-hero-art{position:absolute;inset:0;z-index:-2;margin:0;animation:none!important}
.palazzo-hero-art::before{display:none}
.palazzo-hero-art,.palazzo-hero-art .mod-custom,.palazzo-hero-art figure{height:100%;width:100%}
.palazzo-hero-art img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 50%}
.palazzo-hero-art .hero-traffic{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;pointer-events:none}
.has-hero-traffic .palazzo-hero-art img{animation:none!important}
.palazzo-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,14,12,.68),rgba(6,14,12,.58) 22%,rgba(6,14,12,.57) 42%,rgba(6,14,12,.65))}
.palazzo-hero .established-hero-main header{text-shadow:0 2px 18px rgba(0,0,0,.28)}
.palazzo-hero :focus-visible{outline-color:#fff}
.palazzo-hero .palazzo-action:is(:hover,:focus-visible){color:#fff;opacity:1;text-decoration:underline;text-underline-offset:5px}
.palazzo-hero .established-hero-shell{min-height:100svh;justify-content:center}
.palazzo-hero .established-hero-main{display:block;flex:0;padding:180px 0 110px;text-align:center}
.palazzo-hero .hero-descriptor{color:#fff;letter-spacing:.3em;font-size:13px}
.palazzo-hero h1{max-width:none;color:#fff;font-size:clamp(76px,10.5vw,152px);line-height:1.03;margin:32px 0 30px;letter-spacing:-.045em}
.palazzo-hero .palazzo-lead{color:#fff;max-width:610px;margin-inline:auto;font-size:17px}
.palazzo-action{color:white;font-family:var(--utility);font-size:15px;gap:55px;margin-top:38px}
.audience-portals-section{padding:100px 0;background:#e7dfd0;border:0}
.audience-portals-intro{display:block;margin-bottom:48px}
.audience-portals-intro h2{margin:20px 0;font-size:clamp(42px,5vw,70px);max-width:none}
.audience-portals-intro>p:last-child{max-width:760px;font-size:18px}
.audience-portals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;border:0;align-items:stretch}
.audience-portals .audience-card,.audience-portals .audience-card:first-child,.audience-portals .audience-card:last-child{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:0;border:0;background:#172019;min-width:0;min-height:460px;color:#fff}
.audience-card-image{position:absolute;inset:0;z-index:-2;overflow:hidden}
.audience-card-image img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;transition:transform .65s ease}
.audience-card::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,14,12,.08) 15%,rgba(6,14,12,.62) 50%,rgba(6,14,12,.88))}
.audience-card-copy{padding:34px 28px;display:flex;flex-direction:column;align-items:center;text-align:center}
.audience-portals h3{font-size:clamp(29px,2.7vw,39px);line-height:1.1;margin-bottom:22px;color:#fff;text-wrap:balance}
.audience-portals p{font-size:15px;line-height:1.7}
.audience-card-link{display:flex;justify-content:center;gap:30px;font-family:var(--utility);font-size:13px;margin-top:0;padding-top:6px;color:#fff}
.audience-card:hover img,.audience-card:focus-visible img{transform:scale(1.045)}
.audience-card:hover .audience-card-link,.audience-card:focus-visible .audience-card-link{text-decoration:underline;text-underline-offset:5px}
.established-expertise{padding:100px 0;border-top:1px solid #b5a78f}
.established-expertise-grid{display:block}
.established-expertise-grid>header{position:static;max-width:850px;margin-bottom:45px}
.established-expertise-grid>header h2{margin:20px 0 24px}
.established-expertise-grid>header>p:not(.eyebrow){max-width:710px}
.practice-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 60px;border:0}
.practice-link{position:relative;display:block;padding:30px 45px 30px 0;border-top:1px solid var(--line);border-bottom:0;min-height:180px}
.practice-link h3{margin-bottom:18px;font-size:clamp(29px,3vw,40px)}
.practice-link p{max-width:490px}
.practice-link>span{position:absolute;right:8px;top:34px;font-size:24px;transition:transform .25s}
.practice-link:hover>span{transform:translate(3px,-3px)}
#decker-services{scroll-margin-top:20px}
@media(prefers-reduced-motion:no-preference){.palazzo-hero-art img{animation:garden-settle 4.5s ease-out both}@keyframes garden-settle{from{transform:scale(1.045)}to{transform:scale(1)}}}
@media(max-width:1100px){.decker-site.is-home .decker-navigation{background:var(--wine);border:1px solid rgba(255,255,255,.3)}.audience-card-copy{padding:22px}.audience-portals{gap:18px}}
@media(max-width:760px){.palazzo-hero .established-hero-main{padding:155px 0 95px}.palazzo-hero h1{font-size:clamp(68px,18vw,112px);max-width:600px;margin-inline:auto}.palazzo-hero .palazzo-lead{font-size:16px;max-width:320px}.palazzo-hero-art img{aspect-ratio:auto;object-fit:cover}.audience-portals-section,.established-expertise{padding:65px 0}.audience-portals{grid-template-columns:1fr;gap:30px}.audience-card-image img{aspect-ratio:3/2}.audience-card-copy{padding:27px}.audience-portals h3{font-size:36px}.audience-portals-intro>p:last-child{font-size:16px}.practice-index{grid-template-columns:1fr}.practice-link{min-height:0}.palazzo-hero .hero-descriptor{font-size:11px}}
@media(prefers-reduced-motion:reduce){.palazzo-hero-art img,.audience-card-image img{animation:none!important;transition:none!important;transform:none!important}}
/* Contact and privacy pages use the same readable, native Joomla content system. */
.decker-contact-heading{margin-bottom:55px}.decker-contact-heading h1{margin:20px 0}.decker-contact-heading .contact-lead{font-size:clamp(28px,3vw,42px);color:var(--wine)}
.decker-contact-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:90px}
.decker-contact-grid h2{margin:0 0 30px;font-size:38px}
.decker-contact .decker-contact-intro>p{font-size:21px}.decker-contact-details{margin:35px 0;padding-block:26px;border-block:1px solid var(--line)}
.decker-contact-details p,.decker-contact .contact-boundary{font-family:var(--utility);font-size:15px;line-height:1.75}
.contact-form .control-group{margin-bottom:24px}.contact-form label{display:block;font-family:var(--utility);font-size:15px;color:var(--wine);margin-bottom:9px}
.contact-form input:not([type=hidden]),.contact-form textarea,.contact-form select{display:block;width:100%;max-width:100%;border:1px solid #a39583;border-radius:0;padding:14px;background:#fffdf8;color:#2c2524;min-height:48px;font:16px/1.5 var(--utility)}
.contact-form textarea{min-height:170px;resize:vertical}.contact-form .btn{background:var(--wine);color:white;border:1px solid var(--wine);padding:16px 28px;min-height:48px;cursor:pointer;font:15px var(--utility)}
.decker-contact .form-note,.decker-contact .form-preview-note,.decker-contact .form-test-result{font:14px/1.65 var(--utility);margin:20px 0}.form-preview-note{padding:12px 15px;background:#e7dfd0;border-left:3px solid var(--wine)}
.contact-form a,.privacy-notice a{text-decoration:underline;text-underline-offset:3px}.contact-form :focus-visible{outline:2px solid var(--wine);outline-offset:4px}
.privacy-notice .policy-draft{padding:18px 22px;background:#e7dfd0;border-left:3px solid var(--wine);font:15px/1.6 var(--utility)}
.privacy-notice h2{font-size:32px;margin-top:38px}.privacy-notice .policy-sources{font:14px/1.6 var(--utility);border-top:1px solid var(--line);padding-top:24px;margin-top:40px}
.footer-base a{padding-block:12px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.decker-contact-grid{grid-template-columns:1fr;gap:45px}.decker-contact-heading{margin-bottom:35px}}

.decker-site.has-hero-image .site-header .decker-main-menu .mod-menu__sub{background:var(--wine)}
/* White overlay copy stays legible in every interaction state. */
.decker-site .audience-card:is(:hover,:focus-visible){background:#172019;color:#fff}
.decker-site .audience-card:is(:hover,:focus-visible) h3,.decker-site .audience-card:is(:hover,:focus-visible) .audience-card-link{color:#fff;opacity:1}
.decker-site .audience-card:focus-visible{outline:3px solid #fff;outline-offset:-8px}
.decker-site .practice-link:is(:hover,:focus-visible){padding:30px 45px 30px 0;background:transparent}
.decker-site .practice-link:is(:hover,:focus-visible) h3{color:var(--wine);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.decker-site .practice-link-featured,.decker-site .practice-link-featured:is(:hover,:focus-visible){grid-column:1/-1;padding:36px 45px;text-align:center;min-height:0}
.practice-link-featured p{margin-inline:auto}
.practice-link-featured>span{position:static;display:inline-block;margin-top:20px}
@media(max-width:760px){.audience-portals .audience-card,.audience-portals .audience-card:first-child,.audience-portals .audience-card:last-child{min-height:380px}.audience-card-image img{aspect-ratio:auto}.decker-site .practice-link-featured,.decker-site .practice-link-featured:is(:hover,:focus-visible){padding:30px 20px}}
.decker-site .decker-garden img{aspect-ratio:2.5/1;object-position:center}
.decker-network{padding:90px 0;background:#fcfaf5;color:var(--wine)}
.decker-network>.shell{padding-top:0;border-top:0}
.decker-network h2{font:400 clamp(40px,5vw,64px)/1.08 var(--display);margin:0 0 30px;letter-spacing:-.035em}
.decker-network-grid{max-width:850px}
.decker-network-grid>p{font:17px/1.8 var(--utility);color:var(--muted)}
.decker-network figure{margin:0}.decker-network img{display:block;width:100%;height:auto}
@media(max-width:760px){.decker-site .decker-garden img{aspect-ratio:3/2}.decker-network{padding-block:65px}.decker-network-grid>p{font-size:16px}}

/* Shared, centred section headings and a single clear contact invitation. */
.audience-portals-intro,.established-expertise-grid>header,.decker-review-heading{text-align:center}
.audience-portals-intro>p:last-child,.established-expertise-grid>header,.established-expertise-grid>header>p:not(.eyebrow),.decker-review-heading>p:last-child,.decker-network-grid{margin-inline:auto}
.decker-network h2,.established-founder-copy h2,.established-founder-copy>.eyebrow{text-align:center}
.decker-site .decker-content h1{margin-inline:auto;text-align:center;text-wrap:balance}
.contact-band{text-align:center;padding:88px 0 92px}
.contact-heading{display:block}
.contact-heading .eyebrow{margin:0 0 24px;color:#ddcfd1}
.contact-heading h2{max-width:820px;margin:0 auto;font-size:clamp(38px,5vw,64px);line-height:1.12;letter-spacing:-.035em;text-wrap:balance}
.contact-heading .contact-slogan{margin:28px auto 0;font:400 clamp(28px,3vw,38px)/1.25 var(--display);color:#f5f1e8;text-wrap:balance}
.contact-notes{display:block;margin-top:26px}
.contact-notes p{max-width:570px;margin-inline:auto;font:24px/1.5 var(--display);color:#ddcfd1}
.contact-actions{display:flex;flex-direction:column;align-items:center;gap:24px;margin-top:34px}
.contact-primary{display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:17px 28px;min-height:54px;background:#f5f1e8;color:var(--wine);border:1px solid #f5f1e8;font:15px/1.4 var(--utility)}
.contact-primary:hover{background:#e7dfd0;border-color:#e7dfd0;color:var(--wine)}
.contact-band .contact-email{display:inline-block;width:auto;max-width:100%;padding:4px 0;border:0;font:18px/1.5 var(--utility);letter-spacing:0;color:#f5f1e8;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.contact-band .contact-email:hover{color:#fff}
/* Contact page: centred introduction, distinct details and form, no repeated CTA. */
.decker-contact{max-width:1120px;margin-inline:auto}
.decker-contact-heading{text-align:center;max-width:760px;margin:0 auto 60px}
.decker-contact-heading .eyebrow{font:12px/1.6 var(--utility);letter-spacing:.15em}
.decker-site .decker-contact-heading h1{margin:18px auto 22px}
.decker-contact-heading .contact-lead{font:400 clamp(25px,3vw,36px)/1.3 var(--display);color:var(--wine);text-wrap:balance}
.decker-contact-heading .contact-introduction{max-width:610px;margin:20px auto 0;font:16px/1.75 var(--utility);color:var(--muted)}
.decker-contact-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:start}
.decker-contact-intro{padding:34px 0}
.decker-contact .decker-contact-grid h2{text-align:center;margin:0 0 26px;font:400 clamp(27px,3vw,34px)/1.2 var(--display);text-wrap:balance}
.decker-contact-details{text-align:center;margin:0;padding:0 0 30px;border-top:0}
.decker-contact-details p{margin:0 0 18px;font:16px/1.85 var(--utility)}
.decker-contact-details a{display:inline-block;max-width:100%;font-size:20px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px}
.decker-contact .contact-boundary{margin-top:24px;font:13px/1.75 var(--utility);color:var(--muted)}
.decker-contact-form-panel{min-width:0;padding:34px;background:#fcfaf5;border:1px solid var(--line)}
.decker-contact .form-note{font-size:13px;margin:0 0 24px;color:var(--muted)}
.decker-contact .contact-form label{font-size:14px}
.decker-contact .contact-form .control-group{margin-bottom:22px}
.decker-contact .form-preview-note{font-size:12px;background:transparent;border:0;padding:0;margin:16px 0;color:var(--muted)}
.decker-contact .contact-form .btn{display:block;width:100%;margin-top:20px}
@media(max-width:760px){
 .contact-band{padding:65px 0}.contact-heading h2{font-size:clamp(35px,9vw,48px)}
 .contact-actions{gap:22px}.contact-notes p{font-size:22px}.contact-band .contact-email{font-size:17px}
 .decker-contact-heading{margin-bottom:36px}.decker-contact-grid{grid-template-columns:1fr;gap:30px}
 .decker-contact-intro{padding:0}.decker-contact .contact-boundary{max-width:500px;margin-inline:auto}
 .decker-contact-form-panel{padding:28px 20px}
}

/* Six homepage chapters, alternating the established wine and sand palette. */
.decker-site.is-home{--home-sand:#e7dfd0}
.decker-difference{background:var(--wine);color:var(--ivory);padding:100px 0 110px;scroll-margin-top:0}
.difference-heading{text-align:center;margin-bottom:64px}
.difference-heading h2{font:400 clamp(42px,5vw,70px)/1.08 var(--display);letter-spacing:-.035em;text-wrap:balance;color:var(--ivory)}
.difference-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.difference-value{border-top:1px solid rgba(245,242,235,.4);padding-top:24px}
.difference-number{display:block;font:12px/1.4 var(--utility);letter-spacing:.14em;color:#d7bfc0;margin-bottom:28px}
.difference-value h3{font:400 clamp(34px,3.4vw,48px)/1.12 var(--display);margin-bottom:22px;letter-spacing:-.025em;color:var(--ivory)}
.difference-value p{font:16px/1.8 var(--utility);color:#e5d9d8;max-width:34ch}
.difference-value .difference-closing{margin-top:18px;color:var(--ivory);font-weight:600}
.decker-site.is-home .audience-portals-section,.decker-site.is-home .established-founder{background:var(--home-sand)}
.decker-site.is-home .established-expertise{background:var(--wine);color:var(--ivory);border:0;--line:rgba(245,242,235,.32)}
.decker-site.is-home .established-expertise h2,.decker-site.is-home .established-expertise .practice-link h3,.decker-site.is-home .established-expertise .practice-link>span{color:var(--ivory)}
.decker-site.is-home .established-expertise header>p,.decker-site.is-home .established-expertise .practice-link p{color:#e5d9d8}
.decker-site.is-home .established-expertise :focus-visible{outline:2px solid var(--ivory);outline-offset:6px}
.decker-site.is-home .established-founder{border:0;color:var(--wine)}
.decker-site.is-home .established-founder :is(h2,.eyebrow,.editorial-action){color:var(--wine)}
.decker-site.is-home .established-founder .established-founder-copy>p:not(.eyebrow),.decker-site.is-home .established-founder li,.decker-site.is-home .established-founder figcaption{color:#615f56}
.decker-site.is-home .established-founder :is(ul,li,.editorial-action){border-color:var(--line)}
.decker-site.is-home .established-founder :focus-visible{outline-color:var(--wine)}
.decker-home-news{background:var(--wine);color:var(--ivory);--muted:#e5d9d8;--line:rgba(245,242,235,.32)}
.decker-home-news :is(h2,h3,a,.eyebrow){color:var(--ivory)}
.decker-home-news .decker-content :is(h2,h3,a){color:var(--ivory)}
.decker-home-news a:is(:hover,:focus-visible){color:#fff;text-decoration:underline;text-underline-offset:5px}
.decker-home-news :focus-visible{outline:2px solid var(--ivory);outline-offset:5px}
.decker-home-news .pagination .active .page-link{background:var(--ivory);color:var(--wine)}
.decker-home-news .decker-review-heading{padding-top:100px}
.decker-home-news .decker-content{background:transparent}
@media(max-width:760px){
 .decker-difference{padding:65px 0}.difference-heading{margin-bottom:38px}
 .difference-values{grid-template-columns:1fr;gap:32px}.difference-value{padding-top:20px}
 .difference-number{margin-bottom:16px}.difference-value h3{margin-bottom:16px}
 .difference-value p{max-width:100%}.difference-value .difference-closing{margin-top:12px}
 .decker-home-news .decker-review-heading{padding-top:65px}
}

/* Each main homepage chapter occupies at least one stable viewport.
   Content may grow naturally on small screens and with enlarged text. */
.decker-site.is-home :is(.decker-difference,.audience-portals-section,.established-expertise,.established-founder,.decker-home-news,.home-contact-section){
 box-sizing:border-box;
 min-height:100vh;
 min-height:100svh;
 display:flex;
 flex-direction:column;
 justify-content:center;
}
.decker-site.is-home .audience-portals-section>.shell{flex-shrink:0}
.decker-site.is-home .decker-home-news>.decker-content{min-height:0}

/* One calm contact column, with the actual form on the homepage. */
.home-contact-section{padding:90px 0;background:var(--home-sand,#e7dfd0);border-top:0}
.decker-contact-simple{max-width:760px;margin-inline:auto}
.decker-contact-simple .decker-contact-heading{margin:0 auto 36px}
.decker-contact-simple .decker-contact-heading :is(h1,h2){margin:0;font:400 clamp(42px,5vw,64px)/1.12 var(--display);letter-spacing:-.035em;color:var(--wine);text-align:center}
.decker-contact-simple .contact-introduction{margin:18px auto 0;font:17px/1.65 var(--utility)}
.decker-contact-simple .decker-contact-form-panel{padding:36px 40px;background:#fcfaf5;border:0}
.decker-contact-simple .contact-form form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.decker-contact-simple .contact-form form>*{grid-column:1/-1;min-width:0}
.decker-contact-simple .contact-form form>.control-group:nth-of-type(1){grid-column:1}
.decker-contact-simple .contact-form form>.control-group:nth-of-type(2){grid-column:2}
.decker-contact-simple .contact-form .control-group{margin-bottom:24px}
.decker-contact-simple .contact-form label{font:14px/1.5 var(--utility)}
.decker-contact-simple .contact-form .btn{margin-top:4px;min-height:52px}
.decker-contact-simple .decker-contact-details{margin:32px 0 0;padding:0;border:0;display:flex;justify-content:center;align-items:flex-start;flex-wrap:wrap;gap:20px 40px}
.decker-contact-simple .decker-contact-details p{margin:0;font:14px/1.7 var(--utility)}
.decker-contact-simple .decker-contact-details a{font:17px/1.6 var(--utility)}
.decker-contact-simple .contact-boundary{max-width:630px;text-align:center;margin:22px auto 0;font:12px/1.7 var(--utility);color:var(--muted)}
/* Footer navigation reads across the page instead of forming a tall menu column. */
.site-footer .footer-grid{display:grid;grid-template-columns:1fr auto;gap:30px 60px;padding-bottom:30px;align-items:start}
.site-footer .footer-brand p{max-width:420px;font-size:16px}
.site-footer .footer-grid>nav{grid-column:1/-1;grid-row:2;display:block;border-top:1px solid rgba(255,255,255,.15);padding-top:22px}
.site-footer .footer-grid>nav .mod-menu{display:flex;flex-wrap:wrap;gap:8px 32px}
.site-footer .footer-grid>nav .mod-menu__sub{display:none}
.site-footer .footer-contact{text-align:right}
.site-footer .footer-contact a{margin-bottom:8px}
.site-footer .footer-base{align-items:center;gap:18px;padding-top:24px;letter-spacing:0}
.footer-legal-links{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:12px 28px;font:13px/1.6 var(--utility)}
.footer-agreement-pending{color:#c7b8ba}
@media(max-width:760px){
 .home-contact-section{padding:60px 0}
 .decker-contact-simple .decker-contact-form-panel{padding:28px 22px}
 .decker-contact-simple .contact-form form{display:block}
 .decker-contact-simple .decker-contact-details{flex-direction:column;align-items:center;gap:18px}
 .site-footer .footer-grid{grid-template-columns:1fr;gap:26px;text-align:center}
 .site-footer .footer-contact{text-align:center}
 .site-footer .footer-brand p{margin-inline:auto}
 .site-footer .footer-grid>nav{grid-row:auto}
 .site-footer .footer-grid>nav .mod-menu{justify-content:center;gap:6px 24px}
 .site-footer .footer-base{flex-direction:column;text-align:center}
 .footer-legal-links{justify-content:center;gap:8px 20px}
}

/* Full-width value photographs with centred, consistently legible titles. */
.decker-site.is-home .decker-difference{padding:0;justify-content:flex-start}
.decker-difference>.shell{width:100%;max-width:none;flex:1;display:flex;flex-direction:column}
.difference-heading{margin:0;padding:56px 24px 44px}
.difference-values{gap:0;flex:none;align-items:stretch;min-width:0;width:100%}
.difference-value-image{position:relative;isolation:isolate;overflow:hidden;min-width:0;width:100%;aspect-ratio:1;border:0;padding:0;display:flex;align-items:flex-end;background:#172019}
.difference-image{position:absolute;inset:0;z-index:-2}
.difference-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.difference-value-image::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(12,20,17,.78),rgba(12,20,17,.64) 90px,transparent 180px),linear-gradient(180deg,transparent 58%,rgba(12,20,17,.76) 80%,rgba(12,20,17,.9) 100%)}
.difference-value-image .difference-copy{padding:28px clamp(20px,3vw,44px);width:100%;text-align:center}
.difference-value-image .difference-number{display:none}
.difference-value-image h3{position:absolute;top:32px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:0;background:transparent;color:#fff;margin:0;text-align:center;text-wrap:balance;font-size:clamp(34px,3.4vw,48px);line-height:1.12}
.difference-value-image p,.difference-value-image .difference-closing{color:#fff;font-size:15px;line-height:1.65;max-width:34ch;margin-inline:auto}
.difference-value-image .difference-closing{margin-top:10px}
@media(max-width:1000px){
 .difference-values:has(.difference-value-image){grid-template-columns:1fr;width:100%;max-width:none;margin:0;gap:0}
 .difference-value-image{width:100%;aspect-ratio:1;max-height:none}
 .difference-heading{padding:44px 20px 36px}
}
@media(max-width:760px){
 .difference-value-image{padding:0}
 .difference-value-image .difference-copy{padding:22px 24px}
 .difference-value-image h3{top:24px;padding:0}
}

/* Homepage rhythm: one title scale, one generous heading frame, one image format. */
.decker-site.is-home{
 --home-heading-size:clamp(42px,5vw,70px);
 --home-heading-top:120px;
 --home-heading-bottom:68px;
 --home-section-bottom:100px;
 --home-divider-ratio:2.5 / 1;
}
.decker-site.is-home :is(.decker-difference,.established-expertise,.established-founder,.decker-home-news,.home-contact-section){
 padding:0 0 var(--home-section-bottom);justify-content:flex-start;
}
.decker-site.is-home .decker-difference{padding-bottom:0;min-height:0}
.decker-site.is-home .home-section-heading{
 display:block;flex:none;position:static;margin:0 auto;
 padding:var(--home-heading-top) 0 var(--home-heading-bottom);
 text-align:center;max-width:none;
}
.decker-site.is-home .difference-heading{width:min(var(--shell),calc(100% - 64px))}
.decker-site.is-home .home-section-heading h2{
 font:400 var(--home-heading-size)/1.08 var(--display);
 letter-spacing:-.035em;text-transform:none;text-wrap:balance;
 color:inherit;margin:0 auto;max-width:100%;
}
.decker-site.is-home .home-section-introduction{
 max-width:710px;margin:0 auto 48px;text-align:center;
 font:17px/1.7 var(--utility);color:inherit;
}
.decker-site.is-home .decker-difference .home-section-introduction{
 max-width:850px;font-size:clamp(19px,1.6vw,22px);line-height:1.6;text-wrap:pretty;
}
.decker-site.is-home .established-expertise-grid{width:min(var(--shell),calc(100% - 64px))}
.decker-site.is-home .established-founder-copy h3{
 font:400 clamp(30px,3.2vw,44px)/1.12 var(--display);
 letter-spacing:-.025em;color:var(--wine);margin:0 0 30px;text-wrap:balance;
}
.decker-site.is-home .decker-home-news>.decker-content{padding-block:0}
.decker-site.is-home .home-contact-section .decker-contact-heading{max-width:none}
.decker-site.is-home .home-contact-section .contact-introduction{margin-top:0}
/* The former library border was the visible strip between photograph and section. */
.decker-site.is-home .decker-image-divider{
 margin:0;padding:0;border:0;width:100%;line-height:0;
}
.decker-site.is-home .decker-image-divider picture{display:block;aspect-ratio:var(--home-divider-ratio)}
.decker-site.is-home .decker-image-divider img{
 display:block;width:100%;height:100%;aspect-ratio:var(--home-divider-ratio);object-fit:cover;
}
@media(max-width:760px){
 .decker-site.is-home{
  --home-heading-size:clamp(38px,9vw,52px);
  --home-heading-top:85px;--home-heading-bottom:48px;
  --home-section-bottom:65px;--home-divider-ratio:3 / 2;
 }
 .decker-site.is-home :is(.difference-heading,.established-expertise-grid){width:calc(100% - 32px)}
 .decker-site.is-home .home-section-introduction{font-size:16px;margin-bottom:36px}
}

/* Black reading ribbon with accessible, visually unlabelled section links. */
.home-progress[hidden]{display:none}
.home-progress{position:fixed;z-index:25;right:12px;top:50%;transform:translateY(-50%);width:36px;background:#000;border:1px solid rgba(245,242,235,.28);border-radius:22px;box-shadow:0 2px 14px rgba(0,0,0,.13)}
.home-progress ol{position:relative;list-style:none;margin:0;padding:12px 0}
.home-progress li{margin:0;padding:0}
.home-progress a{position:relative;display:flex;width:34px;height:36px;align-items:center;justify-content:center;color:var(--ivory)}
.home-progress-track{position:absolute;top:30px;bottom:30px;left:calc(50% - 1px);width:2px;background:rgba(245,242,235,.3);pointer-events:none}
.home-progress-track>span{display:block;width:100%;height:100%;background:#fff;transform-origin:top;transform:scaleY(var(--reading-progress,0))}
.home-progress-dot{position:relative;width:7px;height:7px;border:1px solid var(--ivory);border-radius:50%;background:#000;transition:transform .15s,background .15s}
.home-progress a[aria-current="location"] .home-progress-dot{background:#f5f2eb;transform:scale(1.5)}
.home-progress a:focus-visible{outline:2px solid var(--ivory);outline-offset:-3px;border-radius:16px}
@media(min-width:1101px) and (max-width:1400px){.home-progress{right:2px;width:28px}.home-progress a{width:26px}}
@media(max-width:1100px){
 .home-progress{right:0;width:3px;height:180px;border:0;border-radius:0;background:#000;box-shadow:none;pointer-events:none}
 .home-progress ol{display:none}
 .home-progress-track{inset:0;width:3px;background:transparent}
}
/* Compact footer: address, company identification and legal documents. */
.site-footer{padding:44px 0 20px}
.site-footer>.shell{width:min(1100px,calc(100% - 64px))}
.site-footer .footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;padding-top:0;padding-bottom:30px;text-align:left}
.site-footer .footer-column{min-width:0}
.site-footer .footer-column h2{margin:0 0 20px;font:400 clamp(24px,2.2vw,28px)/1.15 var(--display);color:var(--ivory);letter-spacing:-.02em}
.site-footer .footer-column p,.site-footer .footer-column a,.site-footer .footer-column>div{font:14px/1.7 var(--utility);color:#e0d4d5}
.site-footer .footer-column p{margin:0 0 10px}
.site-footer .footer-column a{display:inline-block;padding:3px 0;text-decoration:none;overflow-wrap:anywhere}
.site-footer .footer-column a:hover,.site-footer .footer-column a:focus-visible{text-decoration:underline;text-underline-offset:5px;color:#fff}
.site-footer .footer-documents>.mod-custom{margin-bottom:10px}
.site-footer .footer-documents small{display:block;font:12px/1.6 var(--utility);color:#c7b8ba}
.site-footer .footer-company-name{color:var(--ivory);font-weight:600}
.site-footer .footer-company a{text-decoration:underline;text-underline-offset:3px}
.site-footer .footer-base{display:flex;justify-content:flex-start;padding-block:18px 0;text-align:left}
.site-footer .footer-base small{font:12px/1.6 var(--utility)}
@media(max-width:760px){
 .site-footer{padding-top:36px}
 .site-footer>.shell{width:calc(100% - 40px)}
 .site-footer .footer-columns{grid-template-columns:1fr;gap:28px;padding-bottom:26px;text-align:left}
 .site-footer .footer-column h2{margin-bottom:14px}
 .site-footer .footer-base{align-items:flex-start}
}

/* Solid brand navigation whenever there is no opening photograph. */
.decker-site:not(.has-hero-image) .site-header{background:var(--wine);color:var(--ivory);border-color:rgba(255,255,255,.2)}
.decker-site:not(.has-hero-image) .site-header :is(.wordmark,.decker-main-menu a,.decker-main-menu .nav-header,.decker-languages a,.decker-header-email,.decker-menu-toggle){color:var(--ivory)}
.decker-site:not(.has-hero-image) .site-header :is(.decker-header-email,.decker-menu-toggle){border-color:rgba(255,255,255,.35)}
.decker-site:not(.has-hero-image) .site-header .mod-menu__sub{background:var(--wine);border-color:rgba(255,255,255,.2)}
.decker-site:not(.has-hero-image) .site-header .wordmark img{filter:none;mix-blend-mode:normal;background:var(--ivory);border-radius:50%}
.decker-site:not(.has-hero-image) .site-header :focus-visible{outline-color:var(--ivory)}
/* A full contact form closes every content page. */
.site-contact-section .contact-introduction{text-align:center;margin:0 auto 36px;max-width:620px}
.decker-site .contact-challenge{margin:0 auto 30px;text-align:center;color:var(--wine);font:500 clamp(32px,4.6vw,54px)/1.08 var(--display);letter-spacing:-.025em;text-transform:uppercase;text-wrap:balance}
.contact-challenge span{display:block}
.decker-contact-heading .contact-challenge{margin-top:30px}
.contact-band .contact-challenge{margin-top:28px;color:var(--ivory)}
.decker-site .site-footer .footer-base{justify-content:center;align-items:center;text-align:center}

/* A centred appointment statement closes the footer columns. */
.site-footer .footer-appointment{padding:30px 0 28px;border-top:1px solid rgba(255,255,255,.2);text-align:center}
.site-footer .footer-appointment h2{margin:0 0 12px;font:500 clamp(20px,2.4vw,28px)/1.25 var(--display);letter-spacing:.04em;color:var(--ivory);text-wrap:balance}
.site-footer .footer-appointment p{max-width:660px;margin:0 auto;font:15px/1.7 var(--utility);color:#e0d4d5;text-wrap:balance}

/* One shared typographic line for page links, documents and languages. */
.decker-site .decker-navigation{gap:24px}
.decker-site .decker-main-menu>.mod-menu{gap:24px}
.decker-site .decker-main-menu>.mod-menu>li>a,
.decker-site .decker-legal-menu>summary,
.decker-site .decker-languages a{display:flex;align-items:center;min-height:44px;box-sizing:border-box;margin:0;padding:0;font:400 14px/1.4 var(--utility);white-space:nowrap;color:inherit}
.decker-site .decker-languages,.decker-site .decker-languages .mod-languages{display:flex;align-items:center}
.decker-site .decker-languages ul.lang-inline{display:flex;align-items:center;gap:12px;padding:0;margin:0}
.decker-site .decker-languages ul.lang-inline>li{display:block;padding:0;margin:0;line-height:1}
.decker-legal-menu{position:relative;color:inherit}
.decker-legal-menu>summary{cursor:pointer;list-style:none;gap:9px}
.decker-legal-menu>summary::-webkit-details-marker{display:none}
.decker-legal-menu>summary::after{content:'';width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-top:-3px}
.decker-legal-menu[open]>summary::after{transform:rotate(225deg);margin-top:3px}
.decker-legal-menu>ul{position:absolute;z-index:60;top:calc(100% + 24px);left:-21px;width:250px;box-sizing:border-box;list-style:none;margin:0;padding:6px 20px;background:var(--wine);color:var(--ivory);border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 28px rgba(25,5,9,.14)}
.decker-legal-menu li{margin:0;padding:0}
.decker-legal-menu li+li{border-top:1px solid rgba(255,255,255,.15)}
.decker-legal-menu li>a,.decker-legal-menu li>span{display:block;min-height:48px;box-sizing:border-box;padding:14px 0;font:14px/1.45 var(--utility);color:inherit}
.decker-legal-menu li>a:hover{background:transparent;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.decker-legal-menu li>span[aria-disabled]{color:rgba(255,255,255,.65)}
.decker-legal-menu small{display:block;margin-top:3px;font-size:11px;color:inherit}
.decker-legal-menu summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.decker-site .decker-legal-menu li>a:focus-visible{outline:1px solid currentColor;outline-offset:4px}
@media(min-width:1101px){
 .decker-site.has-hero-image .decker-legal-menu>ul{background:rgba(16,24,20,.16);color:#fff;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:none}
}

/* Equal contact columns: the native form and the two steps to becoming a client. */
.decker-contact.decker-contact-simple{max-width:1120px}
.decker-contact-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0;background:#fcfaf5}
.decker-contact-simple .decker-contact-form-panel{padding:40px}
.client-journey{min-width:0;padding:48px 44px;background:var(--wine);color:var(--ivory)}
.decker-site .client-journey .client-journey-eyebrow{margin:0 0 18px;font:12px/1.5 var(--utility);letter-spacing:.13em;text-transform:uppercase;color:#e0d4d5}
.decker-site .client-journey h2{margin:0 0 44px;font:400 clamp(34px,3.5vw,46px)/1.12 var(--display);letter-spacing:-.025em;color:var(--ivory)}
.client-journey ol{list-style:none;margin:0;padding:0}
.client-journey li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:18px;padding:28px 0;border-top:1px solid rgba(255,255,255,.25)}
.client-step-number{font:13px/1.8 var(--utility);color:#d2bfc1}
.decker-site .client-journey h3{margin:0 0 14px;font:400 28px/1.15 var(--display);color:var(--ivory)}
.decker-site .client-journey p{margin:0;font:16px/1.8 var(--utility);color:#e0d4d5}
.decker-site .client-journey .client-agreement-pending{margin-top:18px;font-size:13px;color:#d2bfc1}
.client-agreement-link{display:inline-block;margin-top:22px;padding-block:6px;font:14px/1.5 var(--utility);color:var(--ivory);text-decoration:underline;text-underline-offset:5px}
.client-agreement-link:focus-visible{outline:2px solid var(--ivory);outline-offset:4px}
@media(max-width:1100px){
 .decker-site .decker-navigation{gap:12px;padding:16px 24px 24px;box-sizing:border-box}
 .decker-site .decker-main-menu>.mod-menu{gap:0}
 .decker-site .decker-main-menu>.mod-menu>li>a,.decker-site .decker-legal-menu>summary{padding:12px 0;font-size:21px;white-space:normal}
 .decker-site .decker-languages a{justify-content:center;min-width:44px;font-size:16px}
 .decker-legal-menu>ul{position:static;width:auto;min-width:0;margin:2px 0 12px;padding:0 0 0 18px;border:0;border-left:1px solid rgba(255,255,255,.3);box-shadow:none}
}
@media(max-width:760px){
 .decker-contact-split{grid-template-columns:1fr}
 .decker-contact-simple .decker-contact-form-panel{padding:28px 22px}
 .client-journey{padding:36px 24px}
 .decker-site .client-journey h2{margin-bottom:28px}
 .client-journey li{gap:12px}
}

/* Make the official source link in the biography visibly identifiable. */
.established-founder-copy > p a{text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}

.founder-biography > p + p{margin-top:1.2em}
.decker-content .expertise-network{margin:38px 0 0;padding:clamp(26px,4vw,56px);background:var(--wine);color:var(--ivory)}
.decker-content .expertise-network h2{margin-top:0;color:var(--ivory)}
.decker-content .expertise-network p{max-width:950px;color:var(--ivory)}
.decker-content .expertise-priority{margin:22px 0 0}
.decker-content :is(.expertise-priority,.expertise-services)>.blog-item{padding:0;border:0}
.decker-content .expertise-priority .practice-link{border-top:0}
.decker-content .practice-link h2{margin:0 0 18px;font-size:clamp(29px,3vw,40px)}
.decker-content .practice-link p{font:15px/1.65 var(--utility)}
.decker-content .practice-link-featured p{max-width:650px}
.decker-content .practice-link:is(:hover,:focus-visible) h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.decker-content .practice-link:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
.mobility-copy>p+p{margin-top:22px}
.mobility-copy>.mobility-subtitle{margin-bottom:32px;color:var(--muted)}
