/* Business Lawyer — bilingual static site */
:root {
  --navy: #641b33;
  --navy-deep: #3c1022;
  --navy-soft: #823a4b;
  --ink: #332b32;
  --slate: #72636c;
  --gold: #d3a483;
  --gold-light: #f0d1b8;
  --cream: #faf6f3;
  --line: #e9dfe2;
  --white: #fff;
  --max: 1220px;
  --radius: 7px;
  --shadow: 0 18px 50px rgba(77,21,43,.08);
  --palatino: "Palatino Linotype", Palatino, "Book Antiqua", "TeX Gyre Pagella", Georgia, serif;
}
*, *::before, *::after {box-sizing: border-box}
html {scroll-behavior: smooth; scroll-padding-top: 96px}
body {margin: 0; font-family: var(--palatino); color: var(--ink); background: #fff; line-height: 1.66; -webkit-font-smoothing: antialiased}
body.menu-open {overflow: hidden}
a {color: inherit; text-decoration: none}
button, input, textarea, select {font: inherit}
button {cursor: pointer}
img, svg {max-width: 100%}
:focus-visible {outline: 3px solid var(--gold); outline-offset: 4px}
.container {width: min(var(--max), calc(100% - 72px)); margin: 0 auto}
.skip-link {position: absolute; z-index: 10000; top: -80px; left: 20px; background: white; padding: 12px 18px; border: 2px solid var(--gold)}
.skip-link:focus {top: 12px}
.eyebrow {font-size: 11px; text-transform: uppercase; letter-spacing: .22em; font-weight: 800; color: var(--gold)}
.eyebrow-dark {color: #997138}
.display, h1, h2, h3, .serif {font-family: var(--palatino)}
h1, h2, h3, p {margin-top: 0}
h2 {font-size: clamp(42px, 5vw, 66px); letter-spacing: -.028em; font-weight: 600; line-height: 1.04; margin: 13px 0 22px}
h3 {font-size: 30px; line-height: 1.12; font-weight: 600; margin-bottom: 15px}
p {margin-bottom: 16px}
.btn {display: inline-flex; justify-content: center; align-items: center; gap: 14px; padding: 14px 24px; min-height: 52px; border-radius: 3px; letter-spacing: .01em; font-weight: 700; font-size: 13px; line-height: 1.3; border: 1px solid transparent; transition: background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease}
.btn:hover {transform: translateY(-2px)}
.btn svg {height: 16px; width: 16px; flex-shrink: 0}
.btn-gold {background: var(--gold); color: var(--navy-deep)}
.btn-gold:hover {background: #e0b779}
.btn-outline {color: #fff; background: transparent; border-color: rgba(255,255,255,.35)}
.btn-outline:hover {border-color: var(--gold); background: rgba(255,255,255,.07)}
.btn-navy {background: var(--navy); color: #fff}
.btn-navy:hover {background: #823148}
.text-link {display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; color: var(--navy); transition: gap .2s ease}
.text-link:hover {gap: 16px; color: #915967}
.text-link svg {width: 16px; height: 16px}
/* Utility and navigation */
.utility {background: var(--navy-deep); color: #dfcbd1; min-height: 36px; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase}
.utility .container {display: flex; justify-content: space-between; align-items: center; min-height: 36px; gap: 24px}
.utility-right {display: flex; align-items: center; gap: 12px}
.utility-dot {display: inline-block; background: var(--gold); height: 5px; width: 5px; border-radius: 50%; margin: 0 2px 2px 0}
.site-header {position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.975); border-bottom: 1px solid rgba(77,21,43,.11); backdrop-filter: blur(18px)}
.header-inner {height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 20px}
.brand {display: inline-flex; align-items: center; gap: 11px; flex-shrink: 0}
.brand-mark {display: grid; place-items: center; height: 46px; width: 46px; color: #fff; background: var(--navy); border: 1px solid var(--navy); position: relative; font: 600 25px/1 var(--palatino); letter-spacing: -.09em; padding-right: 4px}
.brand-mark::before {content: ''; position: absolute; inset: 4px; border: 1px solid rgba(200,155,90,.68); pointer-events: none}
.brand-text {display: flex; flex-direction: column; gap: 1px; line-height: 1}
.brand-name {font: 600 23px/1 var(--palatino); letter-spacing: -.02em}
.brand-sub {font-size: 8px; font-weight: 800; letter-spacing: .23em; color: #8a7a69; text-transform: uppercase; margin-top: 5px}
.desktop-nav {display: flex; align-items: center; gap: clamp(14px, 2.1vw, 34px)}
.desktop-nav a {font-size: 12px; font-weight: 700; white-space: nowrap; transition: color .2s}
.desktop-nav a:not(.btn):hover {color: #9a5a6b}
.nav-actions {display: flex; align-items: center; gap: 16px}
.lang-switch {display: inline-flex; align-items: center; gap: 3px; white-space: nowrap; font-weight: 800; font-size: 11px; letter-spacing: .09em}
.lang-switch a {color: #7e6a74; padding: 6px; border-radius: 3px}
.lang-switch a[aria-current="page"] {color: var(--navy); background: #f7e9e9}
.lang-divider {color: #ae9da4}
.header-btn {min-height: 39px; padding: 10px 16px; white-space: nowrap; font-size: 11px}
.mobile-toggle {display: none; height: 40px; width: 40px; align-items: center; justify-content: center; padding: 7px; background: transparent; border: 1px solid var(--line); color: var(--navy)}
.mobile-toggle svg {width: 24px; height: 24px}
.mobile-menu {display: none}
/* Hero */
.hero {position: relative; min-height: 660px; padding: 98px 0 104px; background: var(--navy); color: #fff; overflow: hidden}
.hero::before {content: ''; position: absolute; top: -290px; right: -80px; height: 850px; width: 850px; border: 1px solid rgba(208,165,104,.10); border-radius: 50%; box-shadow: 0 0 0 90px rgba(255,255,255,.012),0 0 0 190px rgba(255,255,255,.009)}
.hero::after {content: ''; position: absolute; width: 70%; bottom: -220px; height: 350px; right: -220px; background: radial-gradient(ellipse, rgba(170,68,93,.32), transparent 68%); pointer-events: none}
.hero-grid {position: relative; z-index: 2; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 5%; min-height: 450px}
.hero h1 {font-size: clamp(61px, 6.8vw, 98px); line-height: .99; font-weight: 500; letter-spacing: -.042em; max-width: 750px; margin: 21px 0 25px}
.hero h1 em {font-weight: 500; color: var(--gold-light); font-style: italic}
.hero-copy {font-size: 15px; line-height: 1.95; color: #eadde2; max-width: 550px}
.hero-cta {display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px}
.hero-footnote {display: flex; align-items: center; gap: 12px; color: #d5c0c8; font-size: 11px; letter-spacing: .04em; margin-top: 34px}
.hero-footnote .gold-line {width: 27px; height: 1px; background: var(--gold)}
.hero-art {min-height: 485px; display: flex; justify-content: center; align-items: center; position: relative}
.art-outline {position: absolute; inset: 18px 5% 34px 12%; border: 1px solid rgba(222,185,129,.43); transform: rotate(5deg)}
.art-panel {position: relative; width: min(100%, 460px); min-height: 440px; background: linear-gradient(152deg, #843449, #4b192c 65%, #300f1d); border: 1px solid rgba(230,196,150,.35); box-shadow: 0 24px 72px rgba(0,0,0,.23); overflow: hidden; padding: 30px; display: flex; flex-direction: column; justify-content: space-between}
.art-panel::after {content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(135deg,transparent,transparent 72px,rgba(255,255,255,.021) 73px, transparent 74px); pointer-events: none}
.art-top {font-size: 10px; letter-spacing: .20em; color: var(--gold-light); font-weight: 800; display: flex; align-items: center; justify-content: space-between}
.art-index {font-size: 11px; color: #c9b2bc}
.art-monogram {font-family: var(--palatino); color: transparent; font-size: clamp(165px, 18vw, 260px); line-height: .9; letter-spacing: -.14em; font-weight: 600; -webkit-text-stroke: 1px rgba(229,201,158,.38); user-select: none; text-align: center; padding-right: 32px; transform: rotate(-3deg)}
.art-bottom {border-top: 1px solid rgba(255,255,255,.17); padding-top: 19px; display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; position: relative; z-index: 1}
.art-bottom-title {font: 600 26px/.99 var(--palatino); max-width: 200px}
.art-bottom-mini {font-size: 9px; line-height: 1.8; letter-spacing: .17em; text-transform: uppercase; color: #e3d3d8; text-align: right}
.art-float {position: absolute; bottom: -17px; right: -26px; background: var(--cream); color: var(--navy); width: 220px; padding: 18px 21px; box-shadow: 0 10px 30px rgba(0,0,0,.15); z-index: 2; display: flex; gap: 16px; align-items: center}
.art-float b {font: 600 38px/1 var(--palatino); color: #8a6236}
.art-float span {font-size: 11px; font-weight: 700; line-height: 1.5}
/* Practice ribbon */
.ribbon {background: #f7eee9; border-bottom: 1px solid var(--line)}
.ribbon-inner {display: flex; align-items: center; gap: 36px; min-height: 82px}
.ribbon-title {font-size: 10px; font-weight: 800; letter-spacing: .19em; color: #806b50; text-transform: uppercase; flex-shrink: 0; border-right: 1px solid #e4d0cf; padding-right: 34px}
.ribbon-tags {display: flex; gap: 16px 32px; flex-wrap: wrap; align-items: center; justify-content: space-between; flex: 1}
.ribbon-tags span {font-size: 12px; font-weight: 700; color: #52434b; white-space: nowrap}
/* Sections */
.section {padding: 112px 0}
.section-head {display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 45px}
.section-head h2 {margin-bottom: 0; max-width: 640px}
.section-head p {max-width: 345px; font-size: 14px; color: var(--slate); line-height: 1.85; margin-bottom: 5px}
.services-section {background: var(--cream)}
.services-grid {display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 18px}
.service-card {grid-column: span 2; display: flex; flex-direction: column; min-height: 330px; background: #fff; border: 1px solid #ebe8e1; padding: 31px 29px 26px; transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease}
.service-card:nth-child(4), .service-card:nth-child(5) {grid-column: span 3; min-height: 293px}
.service-card:hover {transform: translateY(-5px); box-shadow: var(--shadow); border-color: #d9c5a4}
.service-top {display: flex; align-items: start; justify-content: space-between; margin-bottom: 32px}
.service-symbol {width: 43px; height: 43px; display: grid; place-items: center; border: 1px solid #e0d7c9; background: #faf7f1; color: #997138}
.service-symbol svg {width: 25px; height: 25px; stroke: currentColor; stroke-width: 1.35; fill: none; stroke-linecap: round; stroke-linejoin: round}
.service-number {font: 600 17px var(--palatino); color: #baad9c}
.service-card h3 {font-size: clamp(27px, 2.6vw, 34px); margin: 0 0 13px; max-width: 340px}
.service-card p {font-size: 12.5px; line-height: 1.84; color: var(--slate); margin-bottom: 24px; max-width: 420px}
.service-card .text-link {margin-top: auto; padding-top: 13px; border-top: 1px solid #ebe7df; width: 100%}
/* Positioning */
.approach {background: #fff}
.approach-grid {display: grid; grid-template-columns: .9fr 1.1fr; gap: 9%; align-items: start}
.approach-copy p {color: var(--slate); font-size: 14px; line-height: 1.95; max-width: 450px}
.approach-steps {border-top: 1px solid #d8d9d7}
.approach-step {display: grid; grid-template-columns: 75px 1fr; gap: 18px; border-bottom: 1px solid #d8d9d7; padding: 27px 0 28px}
.approach-step .step-num {font: 600 42px/1 var(--palatino); color: #b6915e}
.approach-step h3 {font-size: 28px; margin: 0 0 7px}
.approach-step p {font-size: 12px; color: var(--slate); margin: 0; line-height: 1.8}
.about-section {background: var(--navy); color: #fff; position: relative; overflow: hidden}
.about-section::after {position: absolute; content: 'B'; top: -240px; right: -65px; font: 500 850px/1 var(--palatino); color: rgba(255,255,255,.025); pointer-events: none}
.about-grid {display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 11%; position: relative; z-index: 1}
.about-section h2 {max-width: 580px}
.about-section h2 em {font-style: italic; color: var(--gold-light)}
.about-section p {color: #eadce1; line-height: 1.9; font-size: 14px; max-width: 510px}
.value-list {display: grid; gap: 19px}
.value-item {display: grid; grid-template-columns: 45px 1fr; column-gap: 20px; padding: 18px 0 23px; border-bottom: 1px solid rgba(255,255,255,.17)}
.value-item .value-icon {width: 40px; height: 40px; border: 1px solid rgba(223,183,123,.45); display: grid; place-items: center; color: var(--gold-light)}
.value-icon svg {width: 22px; height: 22px; stroke: currentColor; stroke-width: 1.5; fill: none; stroke-linejoin: round; stroke-linecap: round}
.value-item h3 {font: 600 26px/1.2 var(--palatino); margin: 0 0 6px}
.value-item p {margin: 0; font-size: 12px}
/* FAQ */
.faq-section {background: #fff}
.faq-grid {display: grid; grid-template-columns: .8fr 1.2fr; gap: 12%}
.faq-side p {font-size: 14px; color: var(--slate); max-width: 300px}
.faq-items {border-top: 1px solid var(--line)}
details.faq-item {border-bottom: 1px solid var(--line); padding: 20px 0}
details.faq-item summary {list-style: none; cursor: pointer; font-size: 14px; line-height: 1.5; font-weight: 700; padding-right: 35px; position: relative}
details.faq-item summary::-webkit-details-marker {display: none}
details.faq-item summary::after {content: '+'; font-size: 24px; font-weight: 400; position: absolute; right: 3px; top: -7px; color: #987242}
details.faq-item[open] summary::after {content: '−'}
details.faq-item p {font-size: 13px; color: var(--slate); max-width: 590px; line-height: 1.85; margin: 16px 0 5px}
/* footer */
.footer {background: var(--navy-deep); color: #fff; padding: 66px 0 22px}
.footer-grid {display: grid; grid-template-columns: 1.5fr .8fr 1.1fr; gap: 8%; padding-bottom: 65px}
.footer .brand-mark {background: #792d43; border-color: #a35c6c}
.footer .brand-sub {color: #bca384}
.footer-copy {font-size: 12px; line-height: 1.9; color: #e0cbd2; margin-top: 22px; max-width: 330px}
.footer-col h4 {text-transform: uppercase; font-size: 10px; letter-spacing: .2em; color: var(--gold-light); margin: 0 0 23px}
.footer-col ul {list-style: none; margin: 0; padding: 0; display: grid; gap: 11px}
.footer-col a, .footer-col p {color: #e3d1d7; font-size: 12px; line-height: 1.7}
.footer-col a:hover {color: var(--gold-light)}
.footer-base {display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.12); padding-top: 22px; font-size: 10px; color: #bfaab2}
.footer-base a:hover {color: #fff}
.back-to-top {position: fixed; right: 23px; bottom: 24px; height: 42px; width: 42px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.3); background: var(--navy); color: #fff; border-radius: 3px; z-index: 70; box-shadow: 0 8px 24px rgba(0,0,0,.16); opacity: 0; visibility: hidden; transform: translateY(10px); transition: all .24s}
.back-to-top.show {opacity: 1; visibility: visible; transform: translateY(0)}
.back-to-top svg {height: 18px; width: 18px}
/* Language gateway */
.gateway {min-height: 100vh; display: grid; place-items: center; color: #fff; padding: 50px 20px; background: radial-gradient(circle at 80% 20%, #7f2d47, var(--navy-deep) 65%)}
.gateway-card {text-align: center; max-width: 660px}
.gateway .brand {justify-content: center; margin-bottom: 64px}
.gateway .brand-mark {background: #77283f; border-color: #9e5368}
.gateway .brand-name {color: #fff}
.gateway .brand-sub {color: var(--gold-light)}
.gateway h1 {font: 500 clamp(46px, 8vw, 80px)/.99 var(--palatino); margin: 20px 0}
.gateway h1 em {color: var(--gold-light); font-weight: 500}
.gateway p {color: #ead8de; max-width: 460px; margin: 0 auto}
.gateway-actions {display: flex; gap: 14px; justify-content: center; margin-top: 40px; flex-wrap: wrap}
.gateway-actions .btn {min-width: 185px}
.gateway-note {margin-top: 80px!important; font-size: 11px; color: #cdb6c0!important}
@media (max-width: 1160px) {
  .desktop-nav {gap: 16px}
  .desktop-nav a {font-size: 11px}
  .header-btn {display: none}
  .hero-art {min-height: 415px}
  .art-panel {min-height: 395px}
  .hero h1 {font-size: clamp(58px,6.7vw,79px)}
  .service-card {padding: 26px 23px}
}
@media (max-width: 850px) {
  .container {width: min(var(--max),calc(100% - 42px))}
  .header-inner {height: 73px}
  .desktop-nav {display: none}
  .mobile-toggle {display: inline-flex}
  .nav-actions {gap: 8px}
  .mobile-menu {display: flex; position: fixed; top: 73px; right: 0; left: 0; z-index: 101; background: #fff; flex-direction: column; padding: 13px 21px 25px; box-shadow: 0 16px 22px rgba(0,0,0,.13); transform: translateY(-18px); opacity: 0; visibility: hidden; transition: .18s; border-bottom: 1px solid var(--line)}
  .mobile-menu.open {transform: translateY(0); opacity: 1; visibility: visible}
  .mobile-menu a {display: block; padding: 13px 5px; border-bottom: 1px solid var(--line); font-size: 14px; font-weight: 700}
  .mobile-menu .mobile-lang {display: flex; gap: 15px; border: 0; padding-top: 20px; font-size: 12px}
  .mobile-menu .mobile-lang a {border: 0; padding: 8px 12px; background: var(--cream)}
  .hero {padding: 70px 0 85px}
  .hero-grid {grid-template-columns: 1fr; gap: 54px}
  .hero-copy {max-width: 620px}
  .hero-art {width: min(580px,100%); margin: 0 auto; min-height: 360px}
  .art-panel {min-height: 340px; max-width: 470px}
  .art-monogram {font-size: 190px}
  .ribbon-inner {gap: 20px; padding: 22px 0}
  .ribbon-title {padding-right: 22px}
  .section {padding: 85px 0}
  .services-grid {grid-template-columns: repeat(2,minmax(0,1fr))}
  .service-card, .service-card:nth-child(4), .service-card:nth-child(5) {grid-column: auto; min-height: 300px}
  .services-grid .service-card:last-child {grid-column: span 2; min-height: 255px}
  .approach-grid, .about-grid, .faq-grid, .contact-grid {grid-template-columns: 1fr; gap: 45px}
  .about-grid {gap: 34px}
  .section-head {align-items: start}
  .footer-grid {gap: 32px; grid-template-columns: 1.1fr .8fr 1fr}
  .contact-section {padding: 85px 0}
}
@media (max-width: 580px) {
  html {scroll-padding-top: 85px}
  .container {width: min(var(--max),calc(100% - 36px))}
  .utility {display: none}
  .brand-mark {width: 39px; height: 39px; font-size: 22px}
  .brand-name {font-size: 20px}
  .brand-sub {font-size: 7px; letter-spacing: .15em}
  .header-inner {height: 66px}
  .mobile-menu {top: 66px}
  .lang-switch {font-size: 10px}
  .lang-switch a {padding: 4px}
  .hero {padding: 68px 0 72px}
  .hero h1 {font-size: clamp(53px,12.2vw,72px)}
  .hero-copy {font-size: 13px; line-height: 1.9}
  .hero-cta .btn {width: 100%}
  .hero-footnote {font-size: 10px}
  .hero-grid {gap: 54px}
  .hero-art {min-height: 325px; margin: 0 auto}
  .art-outline {inset: 11px 3% 23px 5%}
  .art-panel {min-height: 315px; padding: 22px; margin-right: 14px}
  .art-monogram {font-size: clamp(125px,38vw,185px)}
  .art-bottom-title {font-size: 22px}
  .art-float {right: -7px; bottom: -17px; width: 178px; padding: 13px}
  .art-float b {font-size: 30px}
  .art-float span {font-size: 10px}
  .ribbon-inner {flex-direction: column; align-items: flex-start; gap: 16px; padding: 23px 0}
  .ribbon-title {border-right: 0; padding: 0}
  .ribbon-tags {justify-content: start; column-gap: 16px; row-gap: 8px}
  .ribbon-tags span {font-size: 10px}
  .section,.contact-section {padding: 68px 0}
  h2 {font-size: 44px}
  .section-head {display: block; margin-bottom: 30px}
  .section-head p {max-width: 100%; margin-top: 18px}
  .services-grid {grid-template-columns: 1fr; gap: 13px}
  .service-card, .service-card:nth-child(4), .service-card:nth-child(5), .services-grid .service-card:last-child {grid-column: auto; min-height: 275px}
  .service-top {margin-bottom: 25px}
  .service-card h3 {font-size: 31px}
  .approach-step {grid-template-columns: 54px 1fr; gap: 12px}
  .approach-step .step-num {font-size: 34px}
  .approach-step h3 {font-size: 25px}
  .value-item {grid-template-columns: 37px 1fr; gap: 13px}
  .contact-form {padding: 24px 20px}
  .form-row {grid-template-columns: 1fr; gap: 0}
  .form-submit {flex-direction: column; align-items: stretch}
  .footer {padding: 54px 0 20px}
  .footer-grid {grid-template-columns: 1fr 1fr; gap: 35px 24px; padding-bottom: 35px}
  .footer-brand {grid-column: 1 / -1}
  .footer-base {flex-direction: column; gap: 8px}
  .back-to-top {right: 15px; bottom: 15px}
  .gateway .brand {margin-bottom: 45px}
  .gateway-note {margin-top: 55px!important}
}
@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior: auto}
  *, *::before, *::after {animation-duration: .01ms!important; transition-duration: .01ms!important}
}

/* ===== Business Lawyer 2026 — Palatino editorial refinement =====
   Navy and white are the primary brand colors. Muted champagne, stone and blue-grey
   add hierarchy rather than replacing the core palette. No webfonts are bundled. */
body {font-family: var(--palatino); font-size: 16px; line-height: 1.67;}
button {font-family: var(--palatino)}
h1,h2,h3,h4,.display,.serif {font-family: var(--palatino)}
h2 {font-size: clamp(38px,4.5vw,58px); line-height: 1.17; font-weight: 700; letter-spacing: -.025em;}
h3 {font-weight: 700;}
.eyebrow {font-size: 11px; font-weight: 700; letter-spacing: .18em;}
.eyebrow-dark {color: #936472;}
.site-header {border-bottom: 1px solid #eadfe1}
.brand-name {font: 700 23px/1.1 var(--palatino); letter-spacing: -.035em}
.brand-mark {font-family: var(--palatino); font-weight: 700}
.brand-sub {font-size: 9px; font-weight: 700; letter-spacing: .12em; color: #9b7882}
.desktop-nav a {font-size: 14px; font-weight: 700;}
.lang-switch {font-size: 12px; font-weight: 700}
.header-btn {font-size: 12px}
.btn {font-size: 14px; font-weight: 700;}
.hero {background: radial-gradient(ellipse at 91% 22%, #813149 0%, #641b33 37%, #3b0f20 100%);}
.hero h1 {font-size: clamp(49px,5.9vw,78px); font-weight: 700; line-height: 1.125; letter-spacing: -.042em; max-width: 720px}
.hero h1 em {font-weight: 500; color: #efd0b6}
.hero-copy {font-size: 16px; line-height: 1.78; color: #ead9de}
.hero-footnote {font-size: 12px;}
.art-monogram {font-family: var(--palatino)}
.art-bottom-title {font: 700 22px/1.13 var(--palatino)}
.art-float b {font: 700 35px/1 var(--palatino)}
.ribbon {background: #f7f0ee;}
.ribbon-title {color: #98717c;}
.ribbon-tags span {font-size: 14px; font-weight: 700}
.section-head p, .approach-copy p, .about-section p, .faq-side p {font-size: 16px; line-height: 1.75}
.section-head h2 {max-width: 680px}
.approach-step h3 {font-size: 26px}
.approach-step p,.value-item p {font-size: 15px}
.approach-step .step-num {font: 700 38px/1 var(--palatino)}
.value-item h3 {font: 700 24px/1.25 var(--palatino)}
details.faq-item summary {font-size: 16px;}
details.faq-item p {font-size: 15px;}
.about-section {background: #50162a;}
.about-section::after {font-family: var(--palatino)}
.footer-col a, .footer-col p {font-size: 14px;}
.footer-copy {font-size: 14px;}
.footer-base {font-size: 11px}
.gateway {background: radial-gradient(circle at 78% 22%, #80334c, #3c1022 65%)}
.gateway h1 {font: 700 clamp(40px,7.2vw,68px)/1.18 var(--palatino)}
.gateway p {font-size: 16px;}

/* Service information architecture: clear scope and tangible client value. */
.services-section {background: #fcf9f7}
.section-head {margin-bottom: 30px}
.service-quicklinks {display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; margin-bottom: 28px}
.service-quicklinks a {display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid #e9dfe2; color: #49353e; padding: 14px 15px; font-size: 13px; font-weight: 700; line-height: 1.3; min-height: 61px; transition: background .2s,border-color .2s, color .2s}
.service-quicklinks a span {font-size: 13px; color: #ae7982; font-weight: 700; flex-shrink: 0}
.service-quicklinks a:hover {background: #f8ebed; border-color: #d5b7c2}
.services-grid {display: grid; grid-template-columns: 1fr; gap: 23px}
.service-card,.service-card:nth-child(4),.service-card:nth-child(5) {grid-column: 1 / -1; display: block; min-height: 0; padding: 0; background: #fff; border: 1px solid #e8dfe1; border-top: 3px solid #722238; box-shadow: 0 7px 28px rgba(88,36,48,.035); overflow: hidden; scroll-margin-top: 112px}
.service-card:hover {transform: none; box-shadow: 0 14px 42px rgba(82,26,42,.09); border-color: #d5b8c1}
.service-header {display: flex; align-items: start; gap: 21px; padding: 30px 35px 25px;}
.service-symbol {height: 57px; width: 57px; flex: 0 0 57px; background: #f8eef0; border: 1px solid #ecdce1; color: #843e50;}
.service-symbol svg {width: 27px; height: 27px;}
.service-number {font: 700 13px/1.4 var(--palatino); color: #aa7480; letter-spacing: .13em; margin-bottom: 7px}
.service-number span {font-size: 11px; color: #b6bbc0;}
.service-card h3 {font-size: clamp(25px,2.35vw,32px); line-height: 1.23; margin: 0 0 9px; max-width: 100%; font-weight: 700}
.service-card p.service-summary {margin: 0; color: #70616a; font-size: 16px; max-width: 930px; line-height: 1.7}
.service-body {display: grid; grid-template-columns: 1.08fr .92fr; border-top: 1px solid #eee2e5}
.service-scope {padding: 28px 35px 32px;}
.service-value {padding: 28px 35px 32px; background: #f7eff1; border-left: 1px solid #e9dce0;}
.service-card:nth-child(even) .service-value {background: #f9f2eb}
.service-label {display: flex; align-items: center; gap: 11px; font: 700 18px/1.35 var(--palatino); color: #622238; margin: 0 0 18px}
.label-rule {height: 17px; width: 3px; background: #bd9861; display: inline-block; flex-shrink: 0}
.detail-list,.value-bullets {list-style: none; margin: 0; padding: 0; display: grid; gap: 12px}
.detail-list li,.value-bullets li {position: relative; padding-left: 23px; font-size: 15.5px; color: #4f4049; line-height: 1.61;}
.detail-list li::before {content: ''; position: absolute; top: .68em; left: 2px; width: 6px; height: 6px; background: #bc9662; border-radius: 50%}
.value-bullets li::before {content: '✓'; position: absolute; top: .01em; left: 0; color: #8c5d64; font-size: 17px; font-weight: 700}
.service-value .text-link {display: inline-flex; width: auto; border-top: 1px solid #d9c2c8; padding-top: 18px; margin-top: 22px; font-size: 14px;}
.services-disclaimer {font-size: 13px; color: #75656c; padding: 0 2px; margin: 24px 0 0;}

/* Contact: visible, self-contained instructions only; no form or data collection. */
.contact-section {padding: 106px 0; background: linear-gradient(125deg,#f9eef1 0%,#faf7f2 69%,#f6eeea 100%)}
.contact-grid {display: grid; grid-template-columns: .92fr 1.08fr; align-items: start; gap: 6%;}
.contact-left h2 {font-size: clamp(35px,4.3vw,54px); max-width: 520px; margin-bottom: 22px}
.contact-left > p {font-size: 16px; color: #72626b; line-height: 1.77; max-width: 510px}
.email-panel {margin-top: 35px; padding: 28px 25px 23px; border: 1px solid #e8d7dd; border-left: 4px solid #641b33; background: #fff; box-shadow: 0 12px 30px rgba(86,23,45,.045)}
.email-overline {font-size: 11px; text-transform: uppercase; letter-spacing: .16em; color: #8b774f; font-weight: 700}
.email-address {display: block; overflow-wrap: anywhere; color: #641b33; font-size: clamp(19px,2.2vw,25px); font-weight: 700; line-height: 1.5; margin: 4px 0 19px; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px}
.email-address:hover {color: #966f38}
.email-actions {display: flex; gap: 9px; flex-wrap: wrap; align-items: center}
.email-actions .btn {min-height: 49px; padding: 12px 16px; font-size: 13px}
.btn-secondary {border: 1px solid #d9c5cc; background: #fcfaf9; color: #641b33; padding: 12px 15px; min-height: 49px; font-size: 13px; font-weight: 700; transition: background .2s}
.btn-secondary:hover {background: #f6e8ec}
.email-hint {font-size: 12px; color: #806f78; line-height: 1.6; margin: 18px 0 0}
.copy-status {font-size: 13px; color: #395c50; font-weight: 700; margin: 4px 0 0}
.copy-status:empty {display: none}
.contact-mini {display: grid; gap: 6px; margin-top: 22px; font-size: 14px; color: #6d5b65}
.contact-mini a {font-weight: 700; color: #641b33; text-decoration: underline; text-underline-offset: 3px}
.brief-panel {background: #fff; padding: 37px 39px 32px; border: 1px solid #ebdce1; box-shadow: 0 19px 50px rgba(95,29,53,.06)}
.brief-intro {font-size: 15px; margin: 11px 0 13px; color: #75656c}
.brief-list {padding: 0; margin: 0; list-style: none; counter-reset: brief}
.brief-list li {display: grid; grid-template-columns: 34px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid #eee5e6}
.brief-list li:last-child {border-bottom: 0}
.brief-index {color: #b18e5e; font: 700 15px/1.45 var(--palatino); padding-top: 1px}
.brief-list strong {color: #52283a; display: block; font-size: 17px; line-height: 1.42}
.brief-list p {font-size: 14.5px; line-height: 1.64; color: #75646d; margin: 5px 0 0}
.brief-note {background: #fcf6f0; padding: 16px 17px; color: #74656a; font-size: 12.5px; line-height: 1.68; margin: 16px 0 0; border-left: 2px solid #c2a276}
.brief-note strong {color: #573c46}

@media (max-width: 1160px) {
  .service-quicklinks {grid-template-columns: repeat(3,minmax(0,1fr))}
}
@media (max-width: 850px) {
  .service-quicklinks {grid-template-columns: repeat(2,minmax(0,1fr))}
  .services-grid {grid-template-columns: 1fr}
  .service-card,.service-card:nth-child(4),.service-card:nth-child(5),.services-grid .service-card:last-child {grid-column: 1 / -1; min-height: 0;}
  .service-header {padding: 27px 29px 23px}
  .service-scope,.service-value {padding: 25px 29px 29px}
  .contact-grid {grid-template-columns: 1fr; gap: 35px}
  .contact-section {padding: 85px 0}
  .brief-panel {padding: 33px}
}
@media (max-width: 580px) {
  .brand-name {font-size: 20px}
  .hero h1 {font-size: clamp(43px,11.4vw,58px); line-height: 1.15}
  .hero-copy {font-size: 15px}
  .ribbon-tags span {font-size: 12px}
  h2 {font-size: 39px; line-height: 1.22}
  .section-head p {font-size: 15px}
  .service-quicklinks {display: flex; overflow-x: auto; gap: 8px; padding-bottom: 7px; scrollbar-width: thin}
  .service-quicklinks a {flex: 0 0 160px; min-height: 56px; font-size: 12px; padding: 12px}
  .services-grid {gap: 16px}
  .service-header {padding: 24px 20px 20px; gap: 13px}
  .service-symbol {width: 42px; height: 42px; flex-basis: 42px}
  .service-symbol svg {width: 22px; height: 22px}
  .service-card h3 {font-size: 24px}
  .service-card p.service-summary {font-size: 14.5px; line-height: 1.67}
  .service-body {grid-template-columns: 1fr}
  .service-scope,.service-value {padding: 22px 20px 25px;}
  .service-value {border-left: 0; border-top: 1px solid #e9dce0}
  .service-label {font-size: 18px; margin-bottom: 15px}
  .detail-list li,.value-bullets li {font-size: 14.5px}
  .contact-section {padding: 67px 0}
  .contact-left h2 {font-size: 38px}
  .contact-left > p {font-size: 15px}
  .email-panel {padding: 22px 18px}
  .email-actions {flex-direction: column; align-items: stretch}
  .email-actions > * {width: 100%}
  .brief-panel {padding: 26px 20px}
  .brief-list li {gap: 10px; grid-template-columns: 28px 1fr; padding: 15px 0}
  .brief-list strong {font-size: 16px}
  .brief-list p {font-size: 14px}
}


/* V3 — ownership, disclosures, privacy and editorial wine-red refinements */
:root {--burgundy:#641b33;--burgundy-dark:#3c1022;--burgundy-soft:#873c51;--blush:#f9eff1;--stone:#f8f5f1}
.hero {background:radial-gradient(ellipse at 88% 16%, #883750 0%, #641b33 45%, #3c1022 100%)}
.about-section {background:linear-gradient(120deg,#63213a,#421324 88%)}
.art-panel {background:linear-gradient(145deg,#8a3b50,#5e1c33 64%,#39101f)}
.gateway {background:radial-gradient(circle at 78% 22%,#80334c,#3c1022 65%)}
.contact-section {background:linear-gradient(125deg,#f9eff0 0%,#fdf9f5 68%,#f5e9e8 100%)}
.service-card {border-top-color:var(--burgundy)}
.service-value {background:#f9f0f2}
.service-card:nth-child(even) .service-value {background:#faf4ee}
.service-symbol {color:var(--burgundy);background:#f9eef0;border-color:#eedde3}
.value-bullets li::before {color:#8d4056}
.text-link,.email-address,.contact-mini a {color:var(--burgundy)}
.btn-navy {background:var(--burgundy)}
.btn-navy:hover {background:#89384e}
.lang-switch a[aria-current=page] {color:var(--burgundy);background:#f9edf0}
.brand-sub {color:#906f7a}
.owner-section {padding:80px 0;background:#fff;border-top:1px solid #eadfe1;border-bottom:1px solid #eadfe1}
.owner-section .eyebrow {color:#865267}
.owner-layout {display:grid;grid-template-columns:1.1fr .9fr;gap:7%;align-items:center}
.owner-layout h2 {font-size:clamp(36px,4.4vw,56px);margin-bottom:18px}
.owner-layout p {font-size:16px;max-width:650px;color:#705e68;line-height:1.8}
.owner-card {background:#fbf5f4;border:1px solid #ecdfe2;border-left:4px solid var(--burgundy);padding:31px 34px;box-shadow:0 13px 40px rgba(88,26,48,.04)}
.owner-card-kicker {display:block;letter-spacing:.15em;font-size:11px;color:#92576d;font-weight:700;text-transform:uppercase;margin-bottom:10px}
.owner-card h3 {font-size:31px;color:var(--burgundy);margin:0 0 5px}
.owner-card .bar {font-size:14px;color:#77646a;margin-bottom:20px}
.owner-details {border-top:1px solid #e6d8dd;padding-top:14px;display:grid;gap:11px}
.owner-details div {display:flex;gap:16px;justify-content:space-between;font-size:14px;color:#5f5159}
.owner-details strong {color:#49333c}
.owner-legal-links {display:flex;gap:12px 21px;flex-wrap:wrap;margin-top:22px}
.owner-legal-links a {font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px;color:var(--burgundy)}
.owner-legal-links a:hover {color:#aa6074}
.footer-col h4 {letter-spacing:.02em}
.footer-legal-note {font-size:12px;line-height:1.7;color:#d9c1c9;padding-top:16px;max-width:950px}
.footer-legal-note strong {color:#fff}
.policy-shell {min-height:72vh;background:linear-gradient(180deg,#faf5f3,#fff 270px);padding:72px 0 95px}
.policy-container {max-width:1020px}
.policy-back {display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--burgundy);font-weight:700;margin-bottom:24px}
.policy-back:hover {text-decoration:underline;text-underline-offset:4px}
.policy-title {font-size:clamp(39px,5vw,64px);color:#3c1728;line-height:1.15;margin:12px 0 18px}
.policy-sub {max-width:760px;font-size:17px;color:#685b62;line-height:1.8}
.policy-meta {display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 36px}
.policy-meta span {background:#f4e5e9;color:#6b3245;font-size:12px;font-weight:700;padding:8px 11px;border-radius:3px}
.policy-layout {display:grid;grid-template-columns:225px minmax(0,1fr);gap:40px;align-items:start}
.policy-toc {position:sticky;top:107px;background:#fff;border:1px solid #e9dce0;padding:22px 20px}
.policy-toc h2 {font-size:17px;margin:0 0 12px;color:#5d2035}
.policy-toc a {display:block;font-size:14px;padding:6px 0;color:#705d66;line-height:1.5}
.policy-toc a:hover {color:#7d2c47}
.policy-article {background:#fff;border:1px solid #e8dde0;padding:38px 43px 24px;box-shadow:0 14px 36px rgba(81,30,48,.035)}
.policy-article section {margin-bottom:34px;scroll-margin-top:120px}
.policy-article h2 {font-size:27px;color:#5b1e34;line-height:1.3;margin:0 0 13px;letter-spacing:-.015em}
.policy-article p,.policy-article li {font-size:15.5px;color:#52464d;line-height:1.79}
.policy-article ul,.policy-article ol {padding-left:25px;margin:9px 0 14px}
.policy-article li {margin-bottom:9px}
.policy-article a {color:#772a45;text-decoration:underline;text-underline-offset:3px}
.policy-note {padding:17px 20px;background:#faf2f2;border-left:3px solid #b57481;margin:20px 0;font-size:14px;line-height:1.75;color:#5c4651}
.policy-article .contact-link {font-weight:700;overflow-wrap:anywhere}
.policy-article h3 {font-size:19px;line-height:1.4;color:#543242;margin:18px 0 8px}
@media(max-width:900px) {.owner-layout{grid-template-columns:1fr;gap:23px}.policy-layout{grid-template-columns:1fr;gap:19px}.policy-toc{position:static;display:flex;flex-wrap:wrap;gap:8px 15px}.policy-toc h2{flex:1 0 100%}.policy-toc a{padding:1px 0}.policy-article{padding:28px 25px 8px}}
@media(max-width:580px) {.owner-section{padding:61px 0}.owner-card{padding:24px 21px}.owner-card h3{font-size:27px}.owner-details div{flex-direction:column;gap:1px}.owner-legal-links{gap:12px}.policy-shell{padding:45px 0 65px}.policy-article{padding:25px 19px 4px}.policy-article h2{font-size:23px}.policy-meta{margin-bottom:20px}}
/* Final editorial adjustments: four balanced footer columns on homepage. */
.footer-grid {grid-template-columns: 1.35fr .7fr 1.05fr 1fr; gap: 3.5%}
.policy-shell + .footer .footer-grid {grid-template-columns: 1.35fr 1fr 1fr; gap: 6%}
.policy-shell .eyebrow {display:block; margin-top:4px}
@media(max-width:850px) {
  .footer-grid,.policy-shell + .footer .footer-grid {grid-template-columns:1fr 1fr;gap:34px 25px}
}
@media(max-width:580px) {
  .footer-grid,.policy-shell + .footer .footer-grid {grid-template-columns:1fr;gap:34px}
}


/* ================================================================
   V4 · Corporate editorial / VILAF-inspired palette
   Deliberately independent styling; no third-party branding/assets.
   Restrained crimson, white, warm graphite and neutral stone.
   Keeps Palatino, content, and responsive behavior from V3.
   ================================================================ */
:root {
  --red: #9A2535;
  --red-deep: #77182A;
  --red-light: #C84C59;
  --charcoal: #26282B;
  --charcoal-soft: #3A3D40;
  --neutral-ink: #303236;
  --neutral-secondary: #62666B;
  --neutral-border: #E2E3E3;
  --neutral-bg: #F7F7F6;
  --neutral-soft: #F1F2F1;
  --navy: var(--red);
  --navy-deep: var(--charcoal);
  --navy-soft: #AA3546;
  --ink: var(--neutral-ink);
  --slate: var(--neutral-secondary);
  --gold: var(--red);
  --gold-light: #FAE9EB;
  --cream: var(--neutral-bg);
  --line: var(--neutral-border);
  --shadow: 0 13px 35px rgba(22,25,30,.045);
  --radius: 0px;
}
html {scroll-padding-top:95px}
body {color:var(--charcoal);background:#fff}
:focus-visible {outline:2px solid var(--red);outline-offset:4px}
.eyebrow,.eyebrow-dark {color:var(--red);font-size:11px;letter-spacing:.185em;font-weight:700}
h2 {letter-spacing:-.023em;color:var(--charcoal);font-weight:700}
h3 {color:var(--charcoal)}
.btn {border-radius:2px;box-shadow:none;font-size:14px;transition:background .22s,color .22s,border-color .22s}
.btn:hover {transform:none}
.btn-gold,.btn-navy {background:var(--red);color:#fff;border-color:var(--red)}
.btn-gold:hover,.btn-navy:hover {background:var(--red-deep);color:#fff;border-color:var(--red-deep)}
.btn-outline {background:transparent;color:var(--charcoal);border-color:#ADB0B1}
.btn-outline:hover {background:var(--charcoal);color:#fff;border-color:var(--charcoal)}
.text-link {color:var(--red);font-weight:700}
.text-link:hover {color:var(--red-deep)}
/* White-led, low ornament header */
.utility {background:#F6F6F5;color:#67696B;border-bottom:1px solid #ECEDED;font-size:10px;letter-spacing:.105em}
.utility .container {min-height:33px}
.utility-dot {background:var(--red)}
.site-header {background:rgba(255,255,255,.98);border-bottom:1px solid var(--neutral-border);backdrop-filter:none;box-shadow:none}
.header-inner {height:82px}
.brand-mark {width:46px;height:46px;background:var(--red);border-color:var(--red);font-size:24px;color:#fff;letter-spacing:-.085em}
.brand-mark::before {inset:5px;border:1px solid rgba(255,255,255,.38)}
.brand-name {font-weight:700;color:var(--charcoal);letter-spacing:-.03em}
.brand-sub {color:#85888A;letter-spacing:.13em;font-size:8px}
.desktop-nav a {color:#343639;font-size:14px}
.desktop-nav a:not(.btn):hover {color:var(--red)}
.lang-switch a {color:#6D7074;border-radius:0}
.lang-switch a[aria-current="page"] {background:var(--neutral-soft);color:var(--red)}
.lang-divider {color:#A9ABAD}
.mobile-toggle {color:var(--charcoal);border-color:#D8DADB}
.mobile-menu {border-color:var(--neutral-border)}
.mobile-menu .mobile-lang a {background:#F6F6F5}
/* Bright hero paired with a charcoal editorial monogram, not a red gradient. */
.hero {min-height:610px;padding:86px 0 90px;color:var(--charcoal);background:#F9F9F8;border-bottom:1px solid #E6E7E6}
.hero::before {width:1px;height:100%;top:0;right:calc(50% - 15px);border:0;border-radius:0;background:#E7E7E5;box-shadow:none;opacity:.75}
.hero::after {display:none}
.hero-grid {min-height:410px;grid-template-columns:1.08fr .92fr;gap:7%}
.hero .eyebrow {color:var(--red)}
.hero h1 {font-size:clamp(49px,5.5vw,74px);color:#252629;line-height:1.11;letter-spacing:-.033em;margin:21px 0 23px}
.hero h1 em {color:var(--red);font-style:normal;font-weight:700}
.hero-copy {font-size:16px;line-height:1.82;color:#606268;max-width:560px}
.hero-footnote {color:#797B7F;font-size:12px;margin-top:26px}
.hero-footnote .gold-line {background:var(--red)}
.hero-cta {margin-top:28px}
.hero-art {min-height:440px}
.art-outline {inset:16px 5% 16px 5%;border:1px solid #CFD1D1;transform:translate(16px,-16px)}
.art-panel {width:min(100%,455px);min-height:417px;background:#2A2C2F;border:0;border-top:5px solid var(--red);box-shadow:none;padding:34px;}
.art-panel::after {background:none}
.art-top {color:#E5E5E4;font-size:10px;letter-spacing:.13em}
.art-index {color:#B6B6B7}
.art-monogram {font-weight:500;font-size:clamp(160px,18vw,230px);-webkit-text-stroke:1px rgba(255,255,255,.23);letter-spacing:-.15em;padding-right:25px;transform:none}
.art-bottom {border-color:rgba(255,255,255,.22)}
.art-bottom-title {color:#fff;font-size:25px;max-width:220px}
.art-bottom-mini {color:#B6B8BA;font-size:9px}
.art-float {right:-18px;bottom:-10px;background:#fff;color:#34383C;border:1px solid #E0E1E1;padding:13px 18px;width:220px;box-shadow:0 11px 32px rgba(0,0,0,.07)}
.art-float b {color:var(--red);font-weight:700}
.art-float span {color:#414347}
/* Law-firm style index stripe */
.ribbon {background:#fff;border-bottom:1px solid #E5E6E5}
.ribbon-inner {min-height:75px}
.ribbon-title {color:var(--red);border-right:1px solid #D8DADB}
.ribbon-tags span {color:#43464A;font-weight:600;font-size:14px}
/* Clear long-form services. Paper rather than rose and champagne. */
.section {padding-top:102px;padding-bottom:102px}
.services-section {background:#fff}
.section-head p {color:var(--neutral-secondary)}
.service-quicklinks {gap:0;margin-bottom:36px;border:1px solid #E1E2E2}
.service-quicklinks a {background:#F9F9F8;border:0;border-right:1px solid #E1E2E2;padding:16px 15px;min-height:70px;color:#333639;font-size:13px}
.service-quicklinks a:last-child {border-right:0}
.service-quicklinks a:hover {background:#F1F1EF;border-color:#E1E2E2;color:var(--red)}
.service-quicklinks a span {color:var(--red);font-size:12px}
.services-grid {gap:30px}
.service-card,.service-card:nth-child(4),.service-card:nth-child(5) {border:1px solid var(--neutral-border);border-top:0;box-shadow:none;background:#fff}
.service-card::before {content:"";display:block;height:3px;background:var(--red);width:56px}
.service-card:hover {border-color:#B8BABB;box-shadow:0 8px 28px rgba(30,30,34,.04);transform:none}
.service-header {padding:31px 35px 26px}
.service-symbol {border:1px solid #DCDDDE;color:var(--red);background:#F6F6F5;width:55px;height:55px;flex-basis:55px}
.service-number {color:var(--red);letter-spacing:.13em}
.service-number span {color:#A6A8AA}
.service-card h3 {color:#292A2C;font-weight:700}
.service-card p.service-summary {color:#5B5D61}
.service-body {border-top:1px solid #E8E8E7}
.service-scope {background:#fff}
.service-value,.service-card:nth-child(even) .service-value {background:#F6F7F6;border-left:1px solid #E7E8E7}
.service-label {color:#353638;font-size:18px}
.label-rule {width:3px;background:var(--red)}
.detail-list li,.value-bullets li {color:#505257}
.detail-list li::before {background:var(--red);border-radius:0;width:5px;height:5px}
.value-bullets li::before {color:var(--red)}
.service-value .text-link {border-color:#D8D9D8}
.services-disclaimer {color:#747679}
/* Process and owner */
.approach {background:#F8F8F7}
.approach-copy p,.approach-step p {color:#66696D}
.approach-steps,.approach-step {border-color:#DADCDC}
.approach-step .step-num {color:var(--red)}
.approach-step h3 {color:#303236}
.about-section {background:var(--charcoal);color:#fff}
.about-section::after {color:rgba(255,255,255,.025)}
.about-section .eyebrow {color:#F07982}
.about-section h2 {color:#fff}
.about-section h2 em {color:#fff;font-style:normal;font-weight:500}
.about-section p {color:#D3D4D5}
.value-item {border-color:rgba(255,255,255,.18)}
.value-item h3 {color:#fff}
.value-item p {color:#CDCECF}
.value-item .value-icon {color:#E4E4E5;border-color:rgba(255,255,255,.28)}
.owner-section {background:#fff;border-color:#E6E7E7;padding:88px 0}
.owner-layout p {color:#676A6D}
.owner-section .eyebrow {color:var(--red)}
.owner-layout h2 em {color:var(--red);font-style:normal}
.owner-card {background:#F8F8F7;border:1px solid #E2E3E2;border-left:3px solid var(--red);box-shadow:none;padding:32px 34px}
.owner-card-kicker {color:var(--red)}
.owner-card h3 {color:#272A2D}
.owner-card .bar {color:#626467}
.owner-details {border-color:#DCDDDE}
.owner-details div {color:#616468}
.owner-details strong {color:#383A3D}
.owner-legal-links a,.owner-legal-links a:hover {color:var(--red)}
.faq-section {background:#fff}
.faq-side p,details.faq-item p {color:#64676C}
.faq-items,details.faq-item {border-color:#DFE0E1}
details.faq-item summary::after {color:var(--red)}
/* Contact must be fully readable, no online collection form. */
.contact-section {padding:98px 0;background:#F5F6F5}
.contact-left h2 em {font-style:normal;color:var(--red)}
.contact-left > p {color:#65686A}
.email-panel {border:1px solid #DBDDDD;border-left:3px solid var(--red);box-shadow:none;background:#fff}
.email-overline {color:var(--red)}
.email-address,.email-address:hover {color:var(--red)}
.btn-secondary {background:#fff;border-color:#BFC1C1;color:var(--charcoal);border-radius:2px}
.btn-secondary:hover {background:#EEEFEF}
.email-hint,.contact-mini {color:#676A6E}
.contact-mini a {color:var(--red)}
.brief-panel {background:#fff;box-shadow:none;border-color:#DBDDDD}
.brief-intro,.brief-list p {color:#686B6E}
.brief-list li {border-color:#E3E4E4}
.brief-index {color:var(--red)}
.brief-list strong {color:#292B2E}
.brief-note {background:#F7F7F6;border-left:2px solid var(--red);color:#67696D}
.brief-note strong {color:#33363A}
/* Contemporary graphite footer */
.footer {background:#25272A;border-top:5px solid var(--red);color:#F3F3F3}
.footer .brand-mark {background:var(--red);border-color:var(--red)}
.footer .brand-name {color:#fff}
.footer .brand-sub {color:#C3C5C6}
.footer-copy {color:#CACBCD}
.footer-col h4 {color:#F1F1F1;letter-spacing:.08em}
.footer-col a,.footer-col p {color:#CBCDCE}
.footer-col a:hover {color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer-legal-note {color:#B9BABC}
.footer-base {color:#ADB0B1}
.back-to-top {background:var(--red);border-color:var(--red)}
/* The entry page follows the same red-on-white editorial hierarchy. */
.gateway {background:#F9F9F8;color:var(--charcoal);border-top:6px solid var(--red)}
.gateway::before {content:"";position:absolute;width:310px;height:310px;border:1px solid #ECECEC;right:-110px;top:-110px;pointer-events:none;border-radius:50%}
.gateway-card {position:relative;max-width:780px}
.gateway .brand-name {color:var(--charcoal)}
.gateway .brand-mark {background:var(--red);border-color:var(--red)}
.gateway .brand-sub {color:#77797A}
.gateway h1 {color:var(--charcoal)}
.gateway h1 em {color:var(--red);font-style:normal}
.gateway p {color:#686A6C}
.gateway .btn-outline {border-color:#B3B6B7;color:var(--charcoal)}
.gateway .btn-outline:hover {background:var(--charcoal);color:#fff}
.gateway-note {color:#85878A!important}
/* The three informational pages stay visually quiet, with neutral dividers. */
.policy-shell {background:#F8F8F7}
.policy-shell .eyebrow {color:var(--red)}
.policy-back,.policy-back:hover {color:var(--red)}
.policy-title {color:#25272A}
.policy-sub {color:#65686B}
.policy-meta span {background:#F0F0EF;color:#55595C;border:1px solid #E1E2E1}
.policy-toc,.policy-article {border-color:#DEDFDF;box-shadow:none}
.policy-toc h2,.policy-article h2,.policy-article h3 {color:#2B2D30}
.policy-toc a {color:#64676A}
.policy-toc a:hover,.policy-article a {color:var(--red)}
.policy-article p,.policy-article li {color:#55585B}
.policy-note {background:#F7F7F6;border-left:3px solid var(--red);color:#595B5E}
/* Reduced ornament and maintain good touch targets on mobile. */
@media(max-width:1160px) {
  .service-quicklinks {grid-template-columns:repeat(3,minmax(0,1fr))}
  .service-quicklinks a {border-bottom:1px solid #E1E2E2}
}
@media(max-width:850px) {
  .hero {padding:70px 0 75px}
  .hero::before {display:none}
  .hero-grid {grid-template-columns:1fr;gap:45px}
  .hero-art {min-height:365px}
  .art-panel {min-height:330px}
  .service-quicklinks {grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-value {border-left:1px solid #E7E8E7}
}
@media(max-width:580px) {
  .utility {display:none}
  .header-inner {height:66px}
  .hero {padding:55px 0 68px}
  .hero h1 {font-size:clamp(43px,11vw,56px)}
  .hero-art {min-height:310px}
  .art-panel {min-height:308px;padding:24px}
  .art-monogram {font-size:clamp(125px,38vw,180px)}
  .art-float {width:174px;right:-8px}
  .ribbon-tags {gap:8px 16px}
  .section,.contact-section {padding:68px 0}
  .service-quicklinks {display:flex;overflow-x:auto;border:0;gap:9px;margin-bottom:28px}
  .service-quicklinks a {border:1px solid var(--neutral-border);background:#F8F8F7;min-height:53px}
  .service-header {padding:23px 20px 20px}
  .service-body {grid-template-columns:1fr}
  .service-value {border-left:0;border-top:1px solid #E7E8E7}
  .owner-section {padding:64px 0}
  .contact-section {padding:67px 0}
  .gateway h1 {font-size:clamp(40px,10vw,58px)}
}

/* Keep language gateway decorative circle within viewport. */
.gateway {position:relative;overflow:hidden;isolation:isolate}
