/* Approved site identity: forest green, white and restrained logo gold.
   Loaded last on all published pages. Existing content and navigation are preserved. */
:root, html[data-theme] {
  --bg: #fff;
  --fg: #183c34;
  --brand-navy: #183c34;
  --accent: #2d6652;
  --accent-photo: #b5a078;
  --muted: #586a63;
  --line: #dce5df;
  --surface: #f5f8f5;
}
html, body { background: #fff; color: #183c34; }
.site-header { background: #fff; border-color: #dce5df; box-shadow: 0 4px 20px #183c3408; }
.site-header .header-inner { padding-block: 18px; }
.brand-logo { width: 238px; height: auto; }
nav.main-nav > ul > li > a, nav.main-nav > ul > li > button.nav-toggle { color: #183c34; }
nav.main-nav > ul > li > a:hover, nav.main-nav > ul > li > button.nav-toggle:hover { color: #2d6652; }
.dropdown, .mobile-panel { background: #fff; border-color: #dce5df; }
.dropdown { box-shadow: 0 20px 42px #183c3414; }
.lang-switch button { background: #fff; color: #586a63; border-color: #dce5df; }
.lang-switch button[aria-pressed="true"] { color: #183c34; border-color: #2d6652; box-shadow: inset 0 -2px 0 #2d6652; }
.btn { color: #2d6652; border-color: #2d6652; }
.btn:hover { background: #183c34; border-color: #183c34; color: #fff; }
.btn.solid { background: #2d6652 !important; border-color: #2d6652 !important; color: #fff !important; }
.btn.solid:hover { background: #183c34 !important; border-color: #183c34 !important; }

.hero { background: #183c34; padding: 72px 0; }
.hero::before { background-size: cover; background-position: center 38%; filter: saturate(.55); }
.hero::after { background: linear-gradient(90deg, #12352d 0%, #163d33f2 49%, #183c34ae 100%); }
.hero-inner { gap: 64px; }
.hero-kicker { color: #d9c79e; font-size: 12px; letter-spacing: .16em; }
.hero h1 { font-size: clamp(38px, 4.5vw, 62px); line-height: 1.12; max-width: 18ch; border: 0; }
.hero .lead { color: #e0e9e4; line-height: 1.85; max-width: 55ch; }
.hero .btn.solid { background: #fff !important; border-color: #fff !important; color: #183c34 !important; }
.hero .btn.solid:hover { background: #eef4ef !important; border-color: #eef4ef !important; }
.hero .btn.ghost { color: #fff; border-color: #b7ccc2; background: transparent; }
.hero .btn.ghost:hover { background: #fff; color: #183c34; border-color: #fff; }
.founder-hero { max-width: 340px; padding: 18px; border: 1px solid #b5a07880; background: #12352d66; }
.founder-hero img { border: 0; }
.founder-hero .founder-role { color: #d9c79e; }
.founder-hero h2 { color: #fff; }
.founder-hero p { color: #d4e0d9; }
.founder-hero .profile-link, .founder-hero .profile-link:hover { color: #f3f7f4; }

.audience-select { background: #fff; border-color: #dce5df; }
.audience-grid, .split-grid { background: #dce5df; border-color: #dce5df; }
.audience-card, .audience-card:hover { background: #fff !important; }
.audience-tag, .audience-links a, .section-head .eyebrow { color: #2d6652; }
.section-head h2, .area-card h3, .article-card h3 { color: #183c34; }
.areas-grid { gap: 32px; background: #fff !important; }
.area-card, .area-card:hover { border-color: #dce5df; background: #fff !important; transform: none; box-shadow: 0 10px 28px #183c3409; }
.area-card:hover { border-color: #87a396; }
.area-copy { background: #fff; padding: 32px; }
.area-photo::before { filter: saturate(.78); }
.area-card .desc, .area-card .area-copy ul li { color: #586a63; }
.area-card .area-copy ul li::before { color: #2d6652; }
.area-card .more, .article-card .read, .related-link { color: #2d6652; }
.area-card .more, .area-card .area-copy ul { border-color: #dce5df; }
.related-articles-grid, .related-articles-grid a { border-color: #dce5df; }
.related-articles-grid a { background: #fff; }
.process-step { border-color: #b4c8bc; }
.process-step .num { color: #2d6652; }
.split-panel:not(.dark) { background: #fff; border-color: #dce5df; }
.split-panel.dark { background: #183c34; color: #fff; }
.split-panel.dark .tag { color: #d9c79e; }
.split-panel.dark p { color: #dce7e0; }
.lawyer-card, .direct-contact { background: #fff; border-color: #dce5df; }
.direct-contact { border-top: 2px solid #2d6652; }
.articles-grid .article-card, .articles-grid .article-card:hover { background: #fff !important; border-color: #dce5df !important; border-top-color: #87a396 !important; }

.cta-band { background: #183c34; color: #fff; border-top: 2px solid #b5a078; padding: 60px 0; }
.cta-band h2, .cta-band .phone a, .cta-band .mail a { color: #fff; }
.cta-band p { color: #dce7e0; }
.cta-band .btn, .cta-band .btn.solid { background: #fff !important; border-color: #fff !important; color: #183c34 !important; }
.cta-band .btn:hover { background: #eef4ef !important; border-color: #eef4ef !important; }
.location-copy h2, .location-copy address { color: #183c34; }
.location-copy p { color: #586a63; }
.location-map-link { color: #2d6652; }
.office-location, .location-map { background: #fff; border-color: #dce5df; }
.site-footer { background: #fff; color: #183c34; border-color: #dce5df; }
.site-footer h4, .site-footer .logo { color: #183c34; }
.site-footer p, .site-footer a, .site-footer .disclaimer { color: #586a63; }
.site-footer a:hover { color: #2d6652; }
.site-footer .footer-bottom { border-color: #dce5df; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline-color: #2d6652 !important; }
.hero a:focus-visible, .cta-band a:focus-visible { outline-color: #d9c79e !important; }
.skip-link:focus { background: #fff; color: #183c34; }

html[dir="rtl"] .hero::after { background: linear-gradient(270deg, #12352d 0%, #163d33f2 49%, #183c34ae 100%); }
html[dir="rtl"] .hero h1 { max-width: 20ch; letter-spacing: 0; }
@media(max-width:760px) {
  .hero { padding: 46px 0; }
  .hero-inner { grid-template-columns: 1fr; gap: 34px; }
  .hero h1 { font-size: clamp(34px, 7.5vw, 42px); max-width: 20ch; }
  .hero::after { background: linear-gradient(90deg, #12352df7, #183c34df); }
  html[dir="rtl"] .hero::after { background: linear-gradient(270deg, #12352df7, #183c34df); }
  html[dir="rtl"] .hero h1 { font-size: clamp(30px, 7vw, 38px); }
  .founder-hero { max-width: 100%; padding: 18px; grid-template-columns: minmax(88px, 120px) minmax(0, 1fr); gap: 20px; }
  .founder-hero h2 { font-size: 23px; }
  .founder-hero .founder-role { margin-top: 0; }
  .area-copy { padding: 24px; }
  .areas-grid { gap: 24px; }
  .cta-band { padding: 46px 0; }
}
@media(max-width:560px) {
  .site-header .header-inner { padding-block: 12px; }
  .brand-logo { width: 210px; }
  .lang-switch { flex-wrap: wrap; }
  .founder-hero { grid-template-columns: 96px minmax(0, 1fr); gap: 16px; padding: 14px; }
  .founder-hero h2 { font-size: 21px; }
}

/* Interior pages retain their own photographs and reading layouts. */
.page-hero { background-color: #183c34 !important; border-color: #dce5df; }
.page-hero::before { background: linear-gradient(96deg, #12352df7 0%, #163d33eb 48%, #183c34b8 100%) !important; }
.page-hero h1, .page-hero h2 { color: #fff; }
.page-hero .lead, .page-hero .meta, .page-hero .breadcrumb, .page-hero .breadcrumb a, .page-hero .eyebrow { color: #dce7e0 !important; }
.page-hero .cat-tag, .academic-page .page-hero .cat-tag { color: #e6dcc6 !important; border-color: #b5a078 !important; background: transparent; }
.about-hero { background-color: #183c34; }
.about-hero::after { background: linear-gradient(96deg, #12352df5, #183c34cf); }
.about-hero .lead, .about-hero .breadcrumb, .about-hero .breadcrumb a { color: #dce7e0; }
.page-about .content-block h2, .page-about .profile-name, .page-practice .content-block h2, .page-practice .content-block h3 { color: #183c34; }
.page-about .profile-card, .page-about .credentials-block { border-color: #dce5df; }
.page-about .why-card { border-top-color: #b4c8bc !important; }

.archive-summary { background: #12352dbf; border-color: #8da79980; border-inline-start: 2px solid #b5a078; }
.archive-summary strong { color: #e6dcc6; }
.archive-summary b { color: #fff; }
.archive-summary span { color: #dce7e0; }
.page-archive .archive-tools { background: #fff; border-color: #dce5df; }
.page-archive .archive-tools label { color: #183c34; }
.page-archive .search-row input { color: #183c34; border-color: #b4c8bc; box-shadow: none; }
.page-archive .search-row button, .page-archive .topic-filters button { color: #2d6652; background: #fff; border-color: #b4c8bc; }
.page-archive .topic-filters button[aria-pressed="true"] { background: #183c34; border-color: #183c34; color: #fff; }
.page-archive #article-results, .page-archive .article-kind { color: #586a63; }
.page-archive #article-empty { border-inline-start-color: #b5a078; }
.page-archive .cat-block { border-color: #dce5df; }
.page-archive .cat-block > .section-head { background-color: #183c34; border-color: #dce5df; }
.page-archive .cat-block > .section-head::before { background: linear-gradient(90deg, #12352df2, #163d33c4 58%, #183c346b); }
.page-archive .cat-block > .section-head h2 { color: #fff; text-shadow: 0 2px 18px #12352d33; }
.page-archive .cat-block > .section-head .eyebrow { color: #e6dcc6; }
.page-archive .article-card, .page-archive .article-card:hover { border-color: #dce5df !important; border-top-color: #87a396 !important; }
.page-archive .article-card h3 { color: #183c34; }
.page-archive .article-card p { color: #586a63; }
.page-archive .article-card .read { color: #2d6652; }

.page-article .article-content, .academic-page .article-content p { color: #28443a; }
.page-article .article-content h2, .page-article .article-content h3, .article-toc summary { color: #183c34; border-color: #dce5df; }
.page-article .article-content a, .academic-aside a { color: #2d6652; }
.page-article .article-content blockquote { background: #f5f8f5; border-inline-start-color: #2d6652; }
.article-toc { background: #f5f8f5 !important; border-color: #dce5df; }
.page-article .academic-aside, .page-article .sidebar-box, .academic-aside li { border-color: #dce5df; }
.sidebar-box.cta { color: #183c34; background: #f5f8f5; }
.sidebar-box.cta p { color: #586a63; }
.sidebar-box.cta .btn { color: #fff; background: #2d6652; border-color: #2d6652; }
.academic-page .article-return { border-color: #dce5df; }
.page-legal .article-content, .page-legal .content-block { color: #28443a; }

html[dir="rtl"] .page-hero::before { background: linear-gradient(264deg, #12352df7 0%, #163d33eb 48%, #183c34b8 100%) !important; }
html[dir="rtl"] .about-hero::after { background: linear-gradient(264deg, #12352df5, #183c34cf); }
html[dir="rtl"] .archive-summary { border-left: 1px solid #8da79980; border-right: 2px solid #b5a078; }
html[dir="rtl"] .page-archive .cat-block > .section-head::before { background: linear-gradient(270deg, #12352df2, #163d33c4 58%, #183c346b); }
@media(max-width:760px) {
  .page-hero::before { background: linear-gradient(90deg, #12352df7, #183c34d9) !important; }
  html[dir="rtl"] .page-hero::before { background: linear-gradient(270deg, #12352df7, #183c34d9) !important; }
}

/* Publication calendar: labels remain separate from the current-version date. */
.page-hero .article-dates { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:14px; font-size:14px; line-height:1.65; color:#dce7e0; }
.page-hero .article-dates > span { display:inline-flex; flex-wrap:wrap; gap:4px 8px; }
.page-hero .article-dates .article-date-label { color:#e6dcc6; font-weight:500; }
.page-hero .article-dates time { color:#fff; }
.article-card p.article-card-date { margin:0; font-size:13px; line-height:1.6; color:#586a63; }
.article-card-date .article-date-label { font-weight:500; }
.article-card-date time { display:inline-block; margin-inline-start:4px; }
.article-dates time, .article-card-date time { white-space:nowrap; }
@media(max-width:540px) { .page-hero .article-dates { flex-direction:column; gap:6px; } }
