:root {
  --ink: #111318;
  --ink-soft: #5a6068;
  --paper: #ffffff;
  --paper-2: #f3f4f6;
  --white: #ffffff;
  --accent: #173b63;
  --accent-dark: #102b49;
  --signal: #b24769;
  --signal-dark: #8a3554;
  --line: rgba(17, 19, 24, .14);
  --line-dark: rgba(255,255,255,.18);
  --container: 1240px;
  --pad: clamp(20px, 4vw, 64px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
::selection { background: var(--accent); color: var(--white); }
.container { width: min(var(--container), calc(100% - (2 * var(--pad)))); margin-inline: auto; }
.skip-link { position: fixed; z-index: 999; left: 1rem; top: -100px; padding: .75rem 1rem; background: var(--ink); color: #fff; }
.skip-link:focus { top: 1rem; }

.site-header {
  position: fixed;
  z-index: 100;
  inset: 0 0 auto 0;
  transition: background .3s ease, border-color .3s ease, transform .3s ease;
  border-bottom: 1px solid transparent;
}
.site-header.scrolled { background: rgba(255,255,255,.92); backdrop-filter: blur(18px); border-color: var(--line); }
.header-inner { height: 92px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 12px; line-height: 1; }
.brand-mark {
  width: 46px; height: 46px; display: grid; place-items: center;
  background: var(--accent); color: white; font-weight: 800; letter-spacing: -.06em;
  font-size: 20px;
  position: relative;
}
.brand-mark::after {
  content: "";
  position: absolute;
  width: 7px;
  height: 7px;
  right: 5px;
  bottom: 5px;
  background: var(--signal);
}
.brand-copy { display: grid; gap: 4px; }
.brand-copy strong { font-size: 17px; letter-spacing: .18em; }
.brand-copy small { font-size: 9px; text-transform: uppercase; letter-spacing: .15em; color: #6e737b; }
.site-nav { display: flex; align-items: center; gap: clamp(18px, 2.4vw, 36px); font-size: 13px; font-weight: 650; letter-spacing: .02em; }
.site-nav > a:not(.nav-cta) { position: relative; }
.site-nav > a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; bottom: -7px; width: 100%; height: 1px; background: var(--accent); transform: scaleX(0); transform-origin: right; transition: transform .25s ease; }
.site-nav > a:not(.nav-cta):hover::after { transform: scaleX(1); transform-origin: left; }
.nav-cta { border: 1px solid var(--signal); background: var(--signal); color: var(--white); padding: 10px 14px; transition: .2s ease; }
.nav-cta:hover { background: var(--signal-dark); border-color: var(--signal-dark); color: var(--white); transform: translateY(-1px); }
.menu-toggle { display: none; border: 0; background: none; width: 44px; height: 44px; padding: 0; }
.menu-toggle span { display: block; width: 24px; height: 1px; background: var(--ink); margin: 6px auto; transition: .25s ease; }

.hero { min-height: 100svh; padding: 155px 0 42px; display: flex; flex-direction: column; justify-content: space-between; border-bottom: 1px solid var(--line); overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); align-items: center; gap: clamp(44px, 7vw, 110px); }
.eyebrow, .section-kicker { margin: 0 0 24px; font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .18em; color: var(--accent); display: flex; align-items: center; gap: 9px; }
.eyebrow::before, .section-kicker::before { content: ""; width: 4px; height: 4px; flex: 0 0 4px; background: var(--signal); }
.hero h1, .statement h2, .section-head h2, .about h2, .contact h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .94;
}
.hero h1 { font-size: clamp(58px, 8vw, 126px); max-width: 850px; }
.hero h1 em, .statement h2 em { color: var(--accent); font-weight: 400; }
.hero-lead { max-width: 650px; margin: 36px 0 0; color: var(--ink-soft); font-size: clamp(18px, 1.7vw, 24px); line-height: 1.45; }
.hero-actions { margin-top: 42px; display: flex; gap: 28px; align-items: center; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 22px; border: 1px solid transparent; font-size: 12px; font-weight: 750; text-transform: uppercase; letter-spacing: .12em; transition: .2s ease; }
.button-primary { background: var(--signal); color: white; }
.button-primary:hover { background: var(--signal-dark); border-color: var(--signal-dark); transform: translateY(-2px); }
.text-link { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; border-bottom: 1px solid currentColor; padding-bottom: 3px; }
.text-link span { color: var(--accent); transition: color .2s ease; }
.text-link:hover span { color: var(--signal); }

.hero-visual { min-height: 560px; display: grid; place-items: center; }
.legal-grid { position: relative; width: min(100%, 540px); aspect-ratio: 1 / 1.04; border: 1px solid var(--line); background: linear-gradient(135deg, rgba(23,59,99,.055), rgba(255,255,255,.7) 48%, transparent 72%); overflow: hidden; }
.legal-grid::before, .legal-grid::after { content: ""; position: absolute; inset: 9%; border: 1px solid var(--line); transform: rotate(12deg); }
.legal-grid::after { transform: rotate(-8deg); inset: 18%; }
.line { position: absolute; background: var(--line); transform-origin: center; }
.line-a { width: 150%; height: 1px; top: 28%; left: -25%; transform: rotate(38deg); }
.line-b { width: 150%; height: 1px; top: 69%; left: -25%; transform: rotate(-29deg); }
.line-c { height: 130%; width: 1px; top: -15%; left: 33%; transform: rotate(9deg); }
.line-d { height: 130%; width: 1px; top: -15%; right: 29%; transform: rotate(-17deg); }
.hero-monogram { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%,-50%); color: var(--accent); font-family: Georgia, serif; font-size: clamp(120px, 17vw, 230px); letter-spacing: -.12em; }
.legal-grid p { position: absolute; right: 22px; bottom: 17px; margin: 0; font-size: 9px; letter-spacing: .2em; font-weight: 750; }
.hero-meta { margin-top: 42px; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); }
.hero-meta div { display: flex; gap: 18px; align-items: baseline; padding: 22px 20px 0 0; }
.hero-meta span { font-size: 10px; color: var(--accent); }
.hero-meta strong { font-size: 12px; letter-spacing: .05em; font-weight: 650; }

section { padding: clamp(90px, 11vw, 160px) 0; }
.section-dark { background: var(--ink); color: var(--white); }
.section-dark .section-kicker { color: #9fb1c4; }
.statement-grid { display: grid; grid-template-columns: .3fr 1fr; gap: 60px; }
.statement-copy h2 { font-size: clamp(42px, 5.2vw, 78px); max-width: 970px; line-height: 1.03; }
.statement-copy > p { margin: 42px 0 0 auto; max-width: 620px; color: #c9cdd3; font-size: 18px; }

.section-head { display: grid; grid-template-columns: 1fr .55fr; gap: 60px; align-items: end; margin-bottom: 62px; }
.section-head h2 { font-size: clamp(46px, 5vw, 74px); max-width: 760px; line-height: 1.02; }
.section-head > p { margin: 0; color: #6b7179; max-width: 510px; }
.section-head.inverse > div { grid-column: 1 / -1; }
.section-head.inverse h2 { color: var(--white); }

.principle-list { border-top: 1px solid var(--line); }
.principle { display: grid; grid-template-columns: 90px 1fr 160px; gap: 30px; align-items: start; padding: 42px 0; border-bottom: 1px solid var(--line); }
.principle-no { color: var(--accent); font-size: 12px; }
.principle-main { display: grid; grid-template-columns: .72fr 1fr; gap: 50px; }
.principle-main h3 { margin: 0; font-family: Georgia, serif; font-size: clamp(32px, 3vw, 46px); font-weight: 400; letter-spacing: -.035em; }
.principle-main p { margin: 6px 0 0; color: #5a6068; max-width: 610px; }
.principle-tag { justify-self: end; border: 1px solid var(--line); border-radius: 50px; padding: 8px 13px; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }

.section-soft { background: var(--paper-2); }
.expertise-grid { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.expertise-grid a { min-height: 140px; padding: 25px; display: grid; grid-template-columns: 45px 1fr auto; align-items: center; gap: 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background .2s ease, color .2s ease; }
.expertise-grid a:hover { background: var(--ink); color: var(--white); }
.expertise-grid span { align-self: start; color: var(--accent); font-size: 10px; }
.expertise-grid strong { font-family: Georgia, serif; font-size: clamp(22px, 2.5vw, 34px); font-weight: 400; line-height: 1.1; }
.expertise-grid i { font-style: normal; font-size: 20px; color: var(--accent); transition: color .2s ease; }
.expertise-grid a:hover i { color: var(--signal); }

.about-grid { display: grid; grid-template-columns: .55fr 1fr; gap: clamp(50px, 9vw, 140px); }
.year { margin-top: 64px; font-family: Georgia, serif; font-size: clamp(90px, 12vw, 170px); color: var(--accent); line-height: .85; letter-spacing: -.07em; }
.year-caption { margin-top: 18px; font-size: 11px; text-transform: uppercase; letter-spacing: .14em; color: #72777f; }
.about-copy h2 { font-size: clamp(44px, 5vw, 76px); line-height: 1.02; }
.about-copy > p { max-width: 700px; font-size: 18px; color: #555b63; }
.about-copy > p:first-of-type { margin-top: 42px; }
.about-copy .text-link { margin-top: 18px; }

.process-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
.process-grid article { min-height: 360px; padding: 30px 28px; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); display: flex; flex-direction: column; }
.process-grid span { color: #9fb1c4; font-size: 10px; }
.process-grid h3 { margin: auto 0 16px; font-family: Georgia, serif; font-size: 34px; font-weight: 400; }
.process-grid p { margin: 0; color: #c5c9cf; font-size: 14px; }

.contact-grid { display: grid; grid-template-columns: 1fr .75fr; gap: clamp(50px, 9vw, 140px); align-items: start; }
.contact-title h2 { font-size: clamp(56px, 7vw, 104px); }
.contact-title > p:last-child { margin-top: 36px; max-width: 500px; color: #5b6169; font-size: 18px; }
.contact-card { border-top: 4px solid var(--accent); background: var(--white); padding: clamp(28px, 4vw, 52px); box-shadow: 0 24px 70px rgba(17, 19, 24, .10); }
.contact-label { margin: 0 0 26px; font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .12em; }
.contact-card address { font-style: normal; font-family: Georgia, serif; font-size: 28px; line-height: 1.35; }
.contact-links { margin: 34px 0; border-top: 1px solid var(--line); }
.contact-links a { display: flex; justify-content: space-between; gap: 20px; padding: 15px 0; border-bottom: 1px solid var(--line); font-weight: 650; }
.contact-links span { color: var(--accent); }
.office-hours { color: #6b7179; font-size: 13px; margin: 0 0 28px; }

.site-footer { background: #0b0d10; color: #f4f5f2; padding: 56px 0 24px; }
.brand-footer .brand-copy small { color: #9aa0a8; }
.footer-top { display: flex; justify-content: space-between; align-items: center; gap: 40px; padding-bottom: 46px; border-bottom: 1px solid rgba(255,255,255,.13); }
.footer-nav { display: flex; gap: 30px; font-size: 12px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; padding-top: 22px; color: #8b9199; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.footer-bottom p { margin: 0; }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity .75s ease, transform .75s ease; }
.reveal.visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  * { transition-duration: .001ms !important; }
}

@media (max-width: 980px) {
  .header-inner { height: 76px; }
  .menu-toggle { display: block; position: relative; z-index: 2; }
  .site-nav { position: fixed; inset: 0; background: var(--paper); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 90px var(--pad) 50px; gap: 22px; transform: translateX(100%); transition: transform .3s ease; font-family: Georgia, serif; font-size: 34px; }
  .site-nav.open { transform: translateX(0); }
  .site-nav .nav-cta { font-family: Inter, sans-serif; font-size: 12px; margin-top: 12px; }
  .menu-toggle.active span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle.active span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .hero { padding-top: 125px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-visual { min-height: 360px; }
  .legal-grid { width: min(92%, 540px); }
  .statement-grid, .about-grid, .contact-grid { grid-template-columns: 1fr; }
  .statement-grid { gap: 28px; }
  .section-head { grid-template-columns: 1fr; gap: 22px; }
  .principle { grid-template-columns: 60px 1fr; }
  .principle-main { grid-template-columns: 1fr; gap: 14px; }
  .principle-tag { display: none; }
  .process-grid { grid-template-columns: repeat(2,1fr); }
  .desktop-only { display: none; }
}

@media (max-width: 680px) {
  :root { --pad: 20px; }
  .brand-mark { width: 40px; height: 40px; font-size: 17px; }
  .brand-copy strong { font-size: 15px; }
  .hero { min-height: auto; padding-bottom: 26px; }
  .hero h1 { font-size: clamp(55px, 17vw, 82px); }
  .hero-lead { margin-top: 26px; font-size: 18px; }
  .hero-visual { min-height: 325px; }
  .hero-meta { grid-template-columns: 1fr; }
  .hero-meta div { border-bottom: 1px solid var(--line); padding: 14px 0; }
  section { padding: 78px 0; }
  .statement-copy h2, .section-head h2, .about-copy h2 { font-size: 44px; }
  .principle { grid-template-columns: 38px 1fr; gap: 12px; padding: 30px 0; }
  .expertise-grid { grid-template-columns: 1fr; }
  .expertise-grid a { min-height: 108px; padding: 20px; }
  .year { margin-top: 22px; }
  .process-grid { grid-template-columns: 1fr; }
  .process-grid article { min-height: 270px; }
  .contact-title h2 { font-size: 58px; }
  .contact-card address { font-size: 24px; }
  .footer-top, .footer-bottom { align-items: flex-start; flex-direction: column; }
  .footer-nav { flex-wrap: wrap; }
}


/* ---- v6 multipage extensions ---- */
.page-hero { padding: 165px 0 86px; border-bottom: 1px solid var(--line); background: linear-gradient(180deg,#fff 0%,#f7f8fa 100%); }
.page-hero-grid { display:grid; grid-template-columns: 1fr .55fr; gap:60px; align-items:end; }
.page-hero h1 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(56px,7vw,108px); line-height:.94; letter-spacing:-.05em; font-weight:400; }
.page-hero h1 em { color:var(--accent); font-weight:400; }
.page-hero p:last-child { margin:0; color:var(--ink-soft); font-size:18px; max-width:560px; }
.breadcrumbs { margin-bottom:24px; font-size:10px; text-transform:uppercase; letter-spacing:.14em; color:#747b84; }
.breadcrumbs a { border-bottom:1px solid transparent; }
.breadcrumbs a:hover { border-color:var(--signal); }
.content-section { padding:clamp(72px,9vw,125px) 0; }
.content-grid { display:grid; grid-template-columns:.42fr 1fr; gap:clamp(40px,8vw,120px); }
.sticky-label { position:sticky; top:125px; align-self:start; }
.sticky-label h2 { margin:0; font-family:Georgia,serif; font-size:clamp(34px,3.5vw,54px); font-weight:400; line-height:1.05; letter-spacing:-.035em; }
.richtext { max-width:820px; }
.richtext > :first-child { margin-top:0; }
.richtext p { color:#555b63; font-size:17px; }
.richtext h2, .richtext h3 { font-family:Georgia,serif; font-weight:400; letter-spacing:-.03em; line-height:1.08; }
.richtext h2 { margin:52px 0 18px; font-size:clamp(34px,4vw,58px); }
.richtext h3 { margin:36px 0 12px; font-size:30px; }
.richtext ul { margin:16px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.richtext li { position:relative; padding:13px 12px 13px 24px; border-bottom:1px solid var(--line); color:#3e444c; }
.richtext li::before { content:""; position:absolute; left:2px; top:24px; width:5px; height:5px; background:var(--signal); }
.service-blocks { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-block { padding:30px; min-height:250px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.service-block h3 { margin:0 0 16px; font-family:Georgia,serif; font-size:30px; font-weight:400; }
.service-block ul { margin:0; padding-left:18px; color:#555b63; }
.service-block li { margin:9px 0; }
.standard-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.standard-grid a, .standard-grid div { background:#fff; padding:24px; min-height:120px; display:flex; align-items:flex-end; font-family:Georgia,serif; font-size:22px; line-height:1.15; transition:.2s ease; }
.standard-grid a:hover { background:var(--ink); color:#fff; }
.team-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:28px; }
.team-card { border:1px solid var(--line); padding:34px; background:#fff; }
.team-card .team-role { margin:0 0 18px; font-size:10px; text-transform:uppercase; letter-spacing:.14em; color:var(--accent); }
.team-card h3 { margin:0; font-family:Georgia,serif; font-size:38px; font-weight:400; letter-spacing:-.035em; }
.team-card .quote { margin:16px 0 22px; font-family:Georgia,serif; font-size:20px; color:#3d444c; }
.team-card p { color:#656b73; }
.team-card a { display:inline-block; margin-top:8px; border-bottom:1px solid currentColor; font-size:13px; }
.fact-strip { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.fact { padding:28px 28px 28px 0; }
.fact + .fact { border-left:1px solid var(--line); padding-left:28px; }
.fact strong { display:block; font-family:Georgia,serif; color:var(--accent); font-size:50px; font-weight:400; line-height:1; }
.fact span { display:block; margin-top:9px; color:#69707a; font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.price-principles { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); }
.price-principles article { padding:32px; min-height:280px; }
.price-principles article + article { border-left:1px solid var(--line); }
.price-principles span { color:var(--signal); font-size:10px; }
.price-principles h3 { margin:70px 0 14px; font-family:Georgia,serif; font-size:32px; font-weight:400; }
.price-principles p { margin:0; color:#626971; }
.highlight-panels { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.highlight-panel { background:var(--paper-2); border-top:4px solid var(--accent); padding:28px; min-height:260px; }
.highlight-panel small { text-transform:uppercase; letter-spacing:.12em; color:var(--signal); font-weight:700; }
.highlight-panel h3 { font-family:Georgia,serif; font-size:30px; font-weight:400; margin:18px 0 14px; }
.highlight-panel p { color:#626971; }
.contact-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(50px,8vw,120px); }
.contact-details { display:grid; gap:24px; }
.contact-details .detail { padding-bottom:24px; border-bottom:1px solid var(--line); }
.detail small { display:block; text-transform:uppercase; letter-spacing:.13em; color:#777e87; margin-bottom:7px; }
.detail strong, .detail a { font-family:Georgia,serif; font-size:26px; font-weight:400; }
.map-placeholder { min-height:440px; border:1px solid var(--line); background:linear-gradient(135deg,#e9edf2,#f9fafb); display:grid; place-items:center; text-align:center; padding:40px; }
.map-placeholder span { color:var(--accent); font-family:Georgia,serif; font-size:30px; }
.contact-form { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:30px; }
.contact-form label { font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:#69707a; }
.contact-form label.full { grid-column:1/-1; }
.contact-form input, .contact-form textarea { width:100%; margin-top:7px; border:1px solid var(--line); background:#fff; padding:14px; color:var(--ink); }
.contact-form textarea { min-height:150px; resize:vertical; }
.legal-note { background:#fff8f8; border-left:3px solid var(--signal); padding:20px 22px; color:#5f5555; }
.legal-sections details { border-top:1px solid var(--line); }
.legal-sections details:last-child { border-bottom:1px solid var(--line); }
.legal-sections summary { cursor:pointer; padding:22px 0; font-family:Georgia,serif; font-size:26px; }
.legal-sections .detail-body { padding:0 0 24px; color:#565d66; max-width:900px; }
.links-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.links-grid a { padding:18px 20px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; justify-content:space-between; }
.links-grid a span { color:var(--accent); }
.subtle-signal { color:var(--signal); }
@media (max-width:980px){
  .page-hero-grid,.content-grid,.contact-layout{grid-template-columns:1fr}.sticky-label{position:static}.service-blocks,.team-grid,.price-principles,.highlight-panels{grid-template-columns:1fr}.price-principles article + article{border-left:0;border-top:1px solid var(--line)}.fact-strip{grid-template-columns:1fr}.fact + .fact{border-left:0;border-top:1px solid var(--line);padding-left:0}.standard-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:680px){.standard-grid,.links-grid,.contact-form{grid-template-columns:1fr}.contact-form label.full{grid-column:auto}.page-hero{padding-top:125px}.page-hero h1{font-size:56px}.service-block{min-height:auto}}

/* ---- v9: original visual, smaller dark surfaces ---- */
/* Keep the original v6 palette and contrast. Only reduce full-width dark fields. */
.statement.section-dark {
  background: var(--paper);
  color: var(--ink);
  padding: clamp(82px, 9vw, 125px) 0;
}
.statement.section-dark > .container {
  background: var(--ink);
  color: var(--white);
  padding: clamp(44px, 5vw, 74px) clamp(34px, 5vw, 72px);
}
.statement.section-dark .section-kicker { color: #9fb1c4; }
.statement.section-dark .statement-copy > p { color: #c9cdd3; }

.process.section-dark,
.content-section.section-dark {
  background: var(--paper);
  color: var(--ink);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.process.section-dark .section-kicker,
.content-section.section-dark .section-kicker { color: var(--accent); }
.process.section-dark .section-head.inverse h2,
.content-section.section-dark .section-head.inverse h2 { color: var(--ink); }

.process.section-dark .process-grid,
.content-section.section-dark .process-grid {
  border: 0;
  gap: 14px;
}
.process.section-dark .process-grid article,
.content-section.section-dark .process-grid article {
  min-height: 300px;
  background: var(--ink);
  color: var(--white);
  border: 0;
}
.process.section-dark .process-grid span,
.content-section.section-dark .process-grid span { color: #9fb1c4; }
.process.section-dark .process-grid p,
.content-section.section-dark .process-grid p { color: #c5c9cf; }

@media (max-width: 680px) {
  .statement.section-dark > .container { width: calc(100% - 28px); }
  .process.section-dark .process-grid article,
  .content-section.section-dark .process-grid article { min-height: 235px; }
}

/* ---- v11: statement section with light blue tint ---- */
.statement.section-dark {
  background: linear-gradient(180deg, #f3f7fb 0%, #edf3f9 100%);
  color: var(--ink);
  padding: clamp(92px, 10vw, 145px) 0;
  border-top: 1px solid #d9e3ee;
  border-bottom: 1px solid #d9e3ee;
}
.statement.section-dark > .container {
  background: transparent;
  color: var(--ink);
  padding: 0;
}
.statement.section-dark .section-kicker {
  color: #173B63;
}
.statement.section-dark .statement-copy h2 {
  color: var(--ink);
}
.statement.section-dark .statement-copy h2 em {
  color: #173B63;
}
.statement.section-dark .statement-copy > p {
  color: #5f6974;
}
@media (max-width: 680px) {
  .statement.section-dark > .container { width: min(1180px, calc(100% - 36px)); }
}



/* ---- v16: refined subpages ---- */
.subpage-hero { background: linear-gradient(180deg,#fff 0%,#fafbfc 100%); }
.subpage-hero .page-hero-grid { align-items: end; }
.compact-top { padding-top: 42px; padding-bottom: 42px; }
.area-index { display:flex; flex-wrap:wrap; gap:10px; }
.area-index a { border:1px solid var(--line); padding:10px 14px; font-size:12px; font-weight:650; transition:.2s ease; background:#fff; }
.area-index a:hover { border-color:var(--signal); color:var(--signal); transform:translateY(-1px); }
.service-editorial { padding-top:72px; }
.service-rows { border-top:1px solid var(--line); }
.service-row { display:grid; grid-template-columns:70px minmax(250px,.8fr) minmax(360px,1fr); gap:36px; padding:46px 0; border-bottom:1px solid var(--line); align-items:start; }
.service-index,.person-no { color:var(--accent); font-size:11px; font-weight:700; letter-spacing:.08em; }
.service-row h3 { margin:0 0 12px; font-family:Georgia,serif; font-size:34px; font-weight:400; letter-spacing:-.03em; }
.service-row p { margin:0; color:var(--ink-soft); max-width:520px; }
.service-row ul { margin:0; padding:0; list-style:none; columns:1; }
.service-row li { padding:8px 0 8px 18px; border-bottom:1px solid rgba(17,19,24,.08); position:relative; color:#31363c; }
.service-row li::before { content:""; position:absolute; left:0; top:18px; width:5px; height:5px; background:var(--signal); }
.cta-band { background:#eef4fa; border-top:1px solid #dbe5ef; border-bottom:1px solid #dbe5ef; }
.cta-band-inner { min-height:270px; display:flex; align-items:center; justify-content:space-between; gap:42px; }
.cta-band h2 { margin:0; font-family:Georgia,serif; font-weight:400; font-size:clamp(38px,4vw,60px); letter-spacing:-.04em; }
.editorial-split { display:grid; grid-template-columns:minmax(300px,.9fr) minmax(420px,1fr); gap:clamp(60px,9vw,140px); align-items:start; }
.editorial-split h2 { margin:0; font-family:Georgia,serif; font-weight:400; letter-spacing:-.04em; font-size:clamp(40px,4.8vw,68px); line-height:1.04; }
.lead-copy { font-size:18px; color:#4e555d; }
.lead-copy p:first-child { margin-top:0; }
.lead-copy .button { margin-top:24px; }
.values-strip { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); background:#fff; }
.values-strip article { min-height:260px; padding:34px; }
.values-strip article+article { border-left:1px solid var(--line); }
.values-strip span,.steps-line span,.price-manifesto span { font-size:10px; color:var(--accent); }
.values-strip h3,.steps-line h3,.price-manifesto h3 { margin:70px 0 12px; font-family:Georgia,serif; font-weight:400; font-size:29px; letter-spacing:-.025em; }
.values-strip p,.steps-line p,.price-manifesto p { margin:0; color:var(--ink-soft); }
.people-list { border-top:1px solid var(--line); }
.people-list article { display:grid; grid-template-columns:70px minmax(250px,.75fr) 1fr; gap:36px; padding:44px 0; border-bottom:1px solid var(--line); }
.people-list h3 { margin:4px 0 0; font-family:Georgia,serif; font-size:36px; font-weight:400; letter-spacing:-.03em; }
.people-list p { margin-top:0; color:var(--ink-soft); }
.section-blue-soft { background:linear-gradient(180deg,#f4f8fc 0%,#edf3f9 100%); border-top:1px solid #dde7f0; border-bottom:1px solid #dde7f0; }
.steps-line { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(23,59,99,.18); }
.steps-line article { padding:30px 28px 0 0; min-height:210px; }
.steps-line article+article { padding-left:28px; border-left:1px solid rgba(23,59,99,.18); }
.steps-line h3 { margin-top:52px; }
.price-manifesto { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.price-manifesto article { padding:36px 36px 42px 0; }
.price-manifesto article+article { padding-left:36px; border-left:1px solid var(--line); }
.price-manifesto h3 { margin-top:80px; font-size:34px; }
.fee-list { border-top:1px solid var(--line); }
.fee-list article { display:grid; grid-template-columns:60px minmax(250px,.7fr) 1fr; gap:36px; padding:34px 0; border-bottom:1px solid var(--line); align-items:start; }
.fee-list article>div { color:var(--signal); font-size:11px; font-weight:700; }
.fee-list h3 { margin:0; font-family:Georgia,serif; font-size:28px; font-weight:400; }
.fee-list p { margin:0; color:var(--ink-soft); }
.contact-modern { display:grid; grid-template-columns:.9fr 1.1fr; border:1px solid var(--line); }
.contact-info-panel,.contact-form-panel { padding:clamp(34px,5vw,64px); }
.contact-info-panel { background:#f5f7f9; }
.contact-form-panel { background:#fff; border-left:1px solid var(--line); }
.contact-info-panel h2 { margin:0 0 48px; font-family:Georgia,serif; font-weight:400; font-size:clamp(38px,4vw,58px); letter-spacing:-.04em; }
.contact-lines { display:grid; gap:24px; }
.contact-lines div { display:grid; gap:5px; }
.contact-lines small { text-transform:uppercase; letter-spacing:.12em; color:#7a8087; font-size:10px; }
.contact-lines a,.contact-lines span { font-size:19px; }
.company-mini { margin-top:52px; padding-top:22px; border-top:1px solid var(--line); color:#777d84; font-size:12px; }
.contact-form.modern { margin-top:32px; }
.contact-form.modern input,.contact-form.modern textarea { background:#fafbfc; }
.form-note { font-size:12px; color:#747b83; margin:16px 0 0; }
.map-contact { display:grid; grid-template-columns:.75fr 1fr; gap:80px; align-items:center; }
.map-contact h2 { margin:0 0 20px; font-family:Georgia,serif; font-weight:400; font-size:52px; letter-spacing:-.04em; }
.map-minimal { min-height:330px; display:flex; flex-direction:column; justify-content:center; align-items:center; border:1px solid rgba(23,59,99,.18); background:rgba(255,255,255,.52); }
.map-minimal span { font-family:Georgia,serif; font-size:34px; color:var(--accent); }
.map-minimal small { color:#68727d; }
.page-hero-small { padding-bottom:68px; }
.legal-provider { display:grid; grid-template-columns:.7fr 1.3fr; gap:80px; align-items:start; }
.legal-provider h2 { margin:0; font-family:Georgia,serif; font-size:52px; font-weight:400; }
.provider-data { display:grid; grid-template-columns:1.3fr .7fr; gap:36px; color:#50575f; }
.provider-data p { margin:0; }
.legal-clean { padding-top:38px; }
.legal-sections.clean { margin-top:34px; }
.legal-sections.clean details { background:#fff; }
.links-grid.refined a { background:#fff; }
@media(max-width:980px){
  .service-row,.people-list article,.fee-list article{grid-template-columns:50px 1fr;}
  .service-row ul,.people-list article>div:last-child,.fee-list article p{grid-column:2;}
  .editorial-split,.contact-modern,.map-contact,.legal-provider{grid-template-columns:1fr;gap:46px;}
  .values-strip,.price-manifesto{grid-template-columns:1fr;}
  .values-strip article+article,.price-manifesto article+article{border-left:0;border-top:1px solid var(--line);padding-left:34px;}
  .steps-line{grid-template-columns:repeat(2,1fr);}
  .contact-form-panel{border-left:0;border-top:1px solid var(--line);}
  .provider-data{grid-template-columns:1fr;}
}
@media(max-width:680px){
  .service-row,.people-list article,.fee-list article{grid-template-columns:1fr;gap:14px;}
  .service-row ul,.people-list article>div:last-child,.fee-list article p{grid-column:auto;}
  .service-row h3{font-size:30px}.cta-band-inner{min-height:0;padding:60px 0;align-items:flex-start;flex-direction:column}.steps-line{grid-template-columns:1fr}.steps-line article+article{border-left:0;border-top:1px solid rgba(23,59,99,.18);padding-left:0}.contact-info-panel,.contact-form-panel{padding:30px 22px}.map-minimal{min-height:240px}.area-index{gap:7px}.area-index a{font-size:11px;padding:8px 10px}
}


/* ---- v20: cleaner headers + animated homepage visual ---- */
.single-head { grid-template-columns: 1fr; gap: 18px; }

.kinetic-grid {
  background: linear-gradient(180deg, rgba(23,59,99,.045) 0%, rgba(255,255,255,.88) 48%, rgba(237,242,247,.96) 100%);
}
.kinetic-grid::before,
.kinetic-grid::after {
  border-color: rgba(17,19,24,.09);
}
.kinetic-frame,
.kinetic-line,
.kinetic-node,
.kinetic-square {
  position: absolute;
}
.kinetic-frame {
  border: 1px solid rgba(17,19,24,.10);
  background: rgba(255,255,255,.32);
  backdrop-filter: blur(1px);
}
.kinetic-grid .frame-a { inset: 8% 13% 18% 13%; transform: rotate(10deg); }
.kinetic-grid .frame-b { inset: 17% 11% 11% 21%; transform: rotate(-8deg); }
.kinetic-grid .frame-c { inset: 25% 20% 18% 19%; transform: rotate(17deg); }
.kinetic-grid .line-a { width: 154%; height: 1px; top: 20%; left: -27%; transform: rotate(11deg); background: rgba(17,19,24,.10); }
.kinetic-grid .line-b { width: 150%; height: 1px; top: 64%; left: -25%; transform: rotate(-28deg); background: rgba(17,19,24,.12); }
.kinetic-grid .line-c { height: 134%; width: 1px; top: -18%; left: 37%; transform: rotate(-9deg); background: rgba(17,19,24,.08); }
.kinetic-grid .line-d { height: 134%; width: 1px; top: -16%; right: 23%; transform: rotate(16deg); background: rgba(17,19,24,.08); }
.kinetic-node {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(23,59,99,.18);
}
.kinetic-grid .node-a { top: 22%; left: 22%; }
.kinetic-grid .node-b { top: 30%; left: 73%; }
.kinetic-grid .node-c { top: 76%; left: 34%; }
.kinetic-square {
  width: 16px;
  height: 16px;
  background: var(--signal);
  box-shadow: 0 14px 30px rgba(178,71,105,.22);
  transform: translate(-50%, -50%);
  animation: kinetic-square 13s cubic-bezier(.45,.05,.2,.95) infinite;
  z-index: 3;
}
.kinetic-square.echo {
  width: 34px;
  height: 34px;
  background: transparent;
  border: 1px solid rgba(178,71,105,.22);
  box-shadow: none;
  animation-duration: 13s;
  z-index: 2;
}
@keyframes kinetic-square {
  0%, 100% { top: 22%; left: 22%; transform: translate(-50%, -50%) rotate(0deg) scale(1); }
  24% { top: 27%; left: 72%; transform: translate(-50%, -50%) rotate(8deg) scale(1.05); }
  52% { top: 61%; left: 61%; transform: translate(-50%, -50%) rotate(22deg) scale(.96); }
  76% { top: 76%; left: 34%; transform: translate(-50%, -50%) rotate(-6deg) scale(1.03); }
}
@media (prefers-reduced-motion: reduce) {
  .kinetic-square,
  .kinetic-square.echo { animation: none; top: 32%; left: 66%; }
}
@media (max-width: 680px) {
  .single-head { gap: 12px; }
  .kinetic-square.echo { width: 28px; height: 28px; }
}
