@import url('https://fonts.googleapis.com/css2?family=Assistant:wght@400;500;600;700&family=Frank+Ruhl+Libre:wght@500;600;700&display=swap');

:root { --border-soft: 1px solid color-mix(in oklab, var(--ink) 14%, transparent); --bronze-soft: color-mix(in oklab, var(--bronze) 46%, var(--bg)); }
body { background: var(--bg); color: var(--ink); }
a { color: inherit; text-underline-offset: .18em; }
button, input, textarea, select { font: inherit; }
.site-header { border-block-end: 1px solid color-mix(in oklab, var(--ink) 10%, transparent); background: color-mix(in oklab, var(--bg) 94%, transparent); }
.site-header__inner { min-height: 86px; }
.site-header__logo img { height: 60px; width: auto; max-width: 210px; object-fit: contain; }
.site-nav { display: flex; align-items: center; gap: clamp(1rem,2vw,2rem); font-size: .96rem; }
.site-nav a { text-decoration: none; padding-block: .4rem; color: var(--ink-soft); }
.site-nav a:hover, .site-nav a.is-active { color: var(--ink); }
.site-nav a.is-active { border-block-end: 1px solid var(--bronze); }
.header-actions { display: flex; align-items: center; gap: .65rem; }
.header-actions .btn { white-space: nowrap; }
.header-whatsapp { display: inline-flex; gap: .35rem; align-items: center; text-decoration: none; font-size: .9rem; color: var(--ink-soft); }
.header-whatsapp span:first-child { color: var(--bronze); font-size: 1.4rem; }
.nav-dropdown { position: relative; }
.nav-dropdown__panel { position: absolute; inset-block-start: calc(100% + 1rem); inset-inline-end: -1rem; min-width: 500px; display: none; grid-template-columns: 1fr 1fr; gap: 2rem; padding: 1.5rem; background: var(--bg); border: var(--border-soft); z-index: 3; }
.nav-dropdown:hover .nav-dropdown__panel, .nav-dropdown:focus-within .nav-dropdown__panel { display: grid; }
.nav-dropdown__panel strong { display: block; font-family: var(--font-display); font-size: 1.1rem; margin-block-end: .75rem; }
.nav-dropdown__panel ul { list-style: none; display: grid; gap: .45rem; margin: 0; padding: 0; }
.nav-dropdown__panel a { display: block; padding: .1rem 0; }
.mobile-menu { justify-content: flex-start; align-items: stretch; gap: 1.25rem; padding-top: 5rem; }
.mobile-menu > img { width: 220px; height: auto; }
.mobile-menu nav { display: grid; }
.mobile-menu nav a { border-block-end: var(--border-soft); font-family: var(--font-display); font-size: 1.65rem; }
.mobile-menu .btn--primary { color: var(--accent-ink); }
.mobile-menu__close { position: absolute; inset-inline-end: var(--gutter); top: var(--gutter); font-size: 1.6rem; }
.eyebrow { color: var(--ink-soft); font-size: .78rem; letter-spacing: .12em; line-height: 1.3; text-transform: uppercase; margin-block-end: 1rem; }
.lead { font-family: var(--font-display); font-size: var(--step-2); color: var(--ink); }
.text-link { display: inline-flex; align-items: center; gap: .55rem; font-weight: 600; text-decoration: none; border-block-end: 1px solid var(--bronze); padding-block-end: .25rem; }
.text-link span { color: var(--bronze); transition: transform var(--dur-fast) var(--ease); }
.text-link:hover span { transform: translateX(-4px); }
.hero { position: relative; min-height: min(760px, calc(100svh - 86px)); display: block; overflow: hidden; background: var(--ink); }
.hero__content { position: relative; z-index: 2; width: min(100%, 720px); min-height: inherit; margin-inline: 0 auto; display: flex; flex-direction: column; justify-content: center; padding-block: clamp(4rem, 9vw, 8rem); }
.hero__visual { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.hero__image { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero__visual::after { content: ""; position: absolute; inset: 0; background: color-mix(in oklab, var(--ink) 58%, transparent); pointer-events: none; }
.hero__caption { position: absolute; inset-block-end: 1.25rem; inset-inline-start: 1.5rem; z-index: 1; font-size: .72rem; letter-spacing: .14em; color: color-mix(in oklab, var(--bg) 78%, transparent); }
.hero h1 { max-width: 13ch; font-size: clamp(3rem, 6vw, 5.6rem); margin-block-end: 1.5rem; color: var(--bg); }
.hero__lead { max-width: 38rem; font-size: var(--step-1); color: color-mix(in oklab, var(--bg) 78%, transparent); }
.hero .eyebrow, .hero__meta { color: color-mix(in oklab, var(--bg) 72%, transparent); }
.hero .fx-accent { color: var(--bronze); }
.hero .text-link { color: var(--bg); border-color: var(--bronze); }
.hero .text-link span { color: var(--bronze); }
.hero .btn--primary { background: var(--bg); color: var(--ink); }
.hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-block-start: 2rem; }
.hero__meta { margin-block-start: 2.5rem; color: var(--ink-soft); font-size: .86rem; }
.trust-strip { border-block: var(--border-soft); background: var(--bg); }
.trust-strip__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; color: var(--ink-soft); font-size: .88rem; }
.trust-strip__grid span { padding-inline-start: 1rem; border-inline-start: 1px solid var(--bronze); }
.section--surface { background: var(--surface); }
.opening h2, .mediation-feature h2, .attorney-home h2, .why h2, .process h2, .proof h2, .media-home h2, .location h2, .section-head h2 { max-width: 14ch; }
.opening p, .mediation-feature p, .attorney-home p, .media-home p { color: var(--ink-soft); }
.split { gap: clamp(2rem, 7vw, 7rem); }
.split__media img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.bleed-media { position: relative; }
.bleed-media img { aspect-ratio: 5/4; }
.image-note { position: absolute; inset-block-end: -1.25rem; inset-inline-end: 1.25rem; background: var(--bg); padding: .8rem 1rem; font-size: .82rem; border-block-start: 1px solid var(--bronze); }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-block-end: 3rem; }
.section-intro { color: var(--ink-soft); max-width: 29ch; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.service-grid--all { grid-template-columns: repeat(3, 1fr); }
.service-card { display: flex; flex-direction: column; background: var(--bg); text-decoration: none; border-block-start: 2px solid transparent; transition: border-color var(--dur) var(--ease), transform var(--dur) var(--ease); }
.service-card:hover { border-block-start-color: var(--bronze); transform: translateY(-4px); }
.service-card__image { overflow: hidden; }
.service-card__image img { width: 100%; aspect-ratio: 3/2; object-fit: cover; transition: transform .7s var(--ease); }
.service-card:hover img { transform: scale(1.03); }
.service-card__body { padding: 1.25rem 1.25rem 1.5rem; }
.service-card h3 { font-size: var(--step-2); margin-block-end: .5rem; }
.service-card p { color: var(--ink-soft); font-size: .95rem; }
.service-card__body > span { font-size: .86rem; font-weight: 600; }
.service-card__body > span span { color: var(--bronze); }
.lined-list { list-style: none; padding: 0; margin: 1.75rem 0 2rem; display: grid; gap: .8rem; }
.lined-list li { padding-block-start: .8rem; border-block-start: 1px solid color-mix(in oklab, var(--ink) 20%, transparent); }
.attorney-aside, .about-quote { border-block-start: 1px solid var(--bronze); padding-block-start: 1.5rem; max-width: 28rem; }
.large-quote { font-family: var(--font-display); font-size: 8rem; line-height: .65; color: var(--bronze); margin: 0 0 1rem; }
.rule-label { display: inline-block; border-block-start: 1px solid var(--ink); padding-block-start: .55rem; color: var(--ink-soft); font-size: .85rem; }
.pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
.pillars article { padding-block-start: 1rem; border-block-start: 1px solid var(--ink); }
.pillar-line { display: block; width: 28px; height: 2px; background: var(--bronze); margin-block-end: 1.25rem; }
.pillars h3 { font-size: var(--step-1); }
.pillars p { color: var(--ink-soft); font-size: .95rem; }
.process-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.process-list li { border-block-start: 1px solid var(--ink); padding-block-start: 1rem; }
.process-list li > span { font-family: var(--font-display); font-size: 1.7rem; color: var(--bronze); }
.process-list h3 { font-size: var(--step-1); margin-block: 1.25rem .5rem; }
.process-list p { color: var(--ink-soft); font-size: .95rem; }
.testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.testimonial-grid blockquote { margin: 0; padding: 1.5rem; background: var(--surface); border-block-start: 2px solid var(--bronze); }
.testimonial-grid blockquote p { font-family: var(--font-display); font-size: var(--step-1); line-height: 1.35; }
.testimonial-grid footer { display: grid; gap: .25rem; margin-block-start: 1.5rem; color: var(--ink-soft); font-size: .82rem; }
.source-line { color: var(--bronze) !important; font-size: .85rem; }
.legal-note, .form-note, .disclaimer-small p { color: var(--ink-soft); font-size: .82rem; }
.article-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.article-card { display: flex; flex-direction: column; background: var(--bg); text-decoration: none; }
.article-card__image { overflow: hidden; }
.article-card__image img { width: 100%; aspect-ratio: 3/2; object-fit: cover; transition: transform .7s var(--ease); }
.article-card:hover img { transform: scale(1.03); }
.article-card__body { padding: 1.25rem; }
.article-card h3 { font-size: var(--step-1); margin-block-end: .55rem; }
.article-card p { color: var(--ink-soft); font-size: .92rem; }
.article-card .text-link { font-size: .84rem; margin-block-start: .4rem; }
.faq-list { display: grid; gap: .85rem; }
.faq-list details { border-block-start: 1px solid color-mix(in oklab, var(--ink) 20%, transparent); padding-block: 1rem; }
.faq-list details:last-child { border-block-end: 1px solid color-mix(in oklab, var(--ink) 20%, transparent); }
.faq-list summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; font-family: var(--font-display); font-size: var(--step-1); }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--bronze); font-family: var(--font-body); font-size: 1.4rem; }
.faq-list details p { color: var(--ink-soft); padding-block-start: 1rem; }
.cta-band { background: var(--ink); color: var(--bg); padding-block: clamp(3rem, 7vw, 5rem); }
.cta-band .eyebrow, .cta-band p { color: color-mix(in oklab, var(--bg) 72%, transparent); }
.cta-band h2 { max-width: 15ch; }
.cta-band__inner { display: flex; justify-content: space-between; align-items: end; gap: 2rem; }
.cta-band__actions { display: flex; gap: .75rem; flex-wrap: wrap; }
.cta-band .btn--primary { background: var(--bg); color: var(--ink); }
.cta-band .btn--secondary { color: var(--bg); border-color: color-mix(in oklab, var(--bg) 45%, transparent); }
.location .split__content p { color: var(--ink-soft); }
.contact-lines { display: grid; gap: .6rem; margin-block-start: 1.5rem; }
.contact-lines a { font-weight: 600; text-decoration: none; }
.map-wrap { min-height: 360px; border: var(--border-soft); }
.map-wrap iframe { border: 0; width: 100%; height: 100%; min-height: 360px; display: block; }
.page-hero { position: relative; background: var(--surface); padding-block: clamp(4rem, 10vw, 8rem); }
.page-hero__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.page-hero__copy { max-width: 700px; }
.page-hero__copy h1 { max-width: 13ch; }
.page-hero__copy > p:not(.eyebrow):not(.breadcrumbs) { color: var(--ink-soft); font-size: var(--step-1); }
.page-hero__media img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.page-hero--simple { padding-block-end: clamp(3rem, 7vw, 5rem); overflow: hidden; }
.page-hero__simple-media { position: absolute; inset: 0; opacity: .13; pointer-events: none; }
.page-hero__simple-media img { width: 100%; height: 100%; object-fit: cover; }
.page-hero--simple .container { position: relative; z-index: 1; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; margin-block-end: 3rem; color: var(--ink-soft); font-size: .8rem; }
.breadcrumbs a { color: inherit; }
.narrow { max-width: 820px; }
.service-intro .narrow h2, .legal-page h2 { max-width: 18ch; }
.service-intro .narrow p { color: var(--ink-soft); font-size: var(--step-1); }
.numbered-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 1.25rem; }
.numbered-list li { display: grid; grid-template-columns: 2.5rem 1fr; gap: 1rem; border-block-start: 1px solid var(--ink); padding-block-start: 1rem; }
.numbered-list li > span { color: var(--bronze); font-size: 1.3rem; }
.numbered-list h3 { font-size: var(--step-1); margin-block-end: .4rem; }
.numbered-list p { color: var(--ink-soft); }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.related-grid > a { display: grid; gap: .6rem; padding-block: 1rem; border-block-start: 1px solid var(--ink); text-decoration: none; }
.related-grid > a span:not(.text-link) { color: var(--ink-soft); font-size: .92rem; }
.related-grid .text-link { justify-self: start; font-size: .84rem; }
.contact-grid { display: grid; grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.contact-info { border-block-start: 1px solid var(--bronze); padding-block-start: 1.25rem; }
.contact-info h2 { font-size: var(--step-3); }
.contact-info address { font-style: normal; display: grid; gap: .35rem; margin-block: 1.5rem; color: var(--ink-soft); }
.contact-info address a { color: var(--ink); font-weight: 600; }
.contact-info dl { border-block: var(--border-soft); margin-block: 1.5rem; }
.contact-info dl div { display: flex; justify-content: space-between; gap: 1rem; padding-block: .8rem; border-block-end: var(--border-soft); font-size: .9rem; }
.contact-info dl div:last-child { border-block-end: 0; }
.contact-info dt { color: var(--ink-soft); }
.contact-info dd { margin: 0; text-align: end; }
.form-shell { background: var(--surface); padding: clamp(1.25rem, 4vw, 2.5rem); }
.form-shell h2 { font-size: var(--step-3); }
.lead-form { margin-block-start: 2rem; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.field label span { color: var(--ink-soft); font-weight: 400; }
.consent { display: flex; gap: .65rem; align-items: flex-start; margin-block: 1.25rem; font-size: .86rem; color: var(--ink-soft); }
.consent input { margin-block-start: .3rem; accent-color: var(--bronze); }
.honeypot { position: absolute; inset-inline-start: -10000px; }
.legal-page .narrow { display: grid; gap: .6rem; }
.legal-page h2 { margin-block-start: 2.5rem; }
.legal-page p { color: var(--ink-soft); }
.article-hero { background: var(--surface); padding-block: clamp(3rem, 8vw, 6rem); }
.article-hero__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 7vw, 7rem); align-items: end; }
.article-hero__copy h1 { max-width: 14ch; }
.article-hero__copy > p:not(.eyebrow):not(.breadcrumbs) { color: var(--ink-soft); font-size: var(--step-1); }
.article-hero__media img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.article-layout { display: grid; grid-template-columns: 220px minmax(0, 760px); justify-content: center; gap: 4rem; padding-block: clamp(3rem, 8vw, 6rem); }
.article-toc { position: sticky; top: 110px; align-self: start; display: grid; gap: .65rem; border-block-start: 1px solid var(--bronze); padding-block-start: 1rem; font-size: .88rem; }
.article-toc a { text-decoration: none; color: var(--ink-soft); }
.article-body { font-size: 1.12rem; }
.article-body p, .article-body li { color: var(--ink-soft); }
.article-body h2 { margin-block: 2.5rem 1rem; }
.article-lead { font-family: var(--font-display); font-size: var(--step-2); line-height: 1.45; color: var(--ink) !important; }
.author-box { display: grid; gap: .25rem; border-block: var(--border-soft); padding-block: 1rem; margin-block: 2.5rem; font-size: .9rem; }
.author-box span { color: var(--ink-soft); }
.article-cta { background: var(--surface); padding: 1.5rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-block-start: 2rem; }
.article-cta h3 { margin: 0; }
.site-footer { background: var(--surface); border-block-start: var(--border-soft); padding-block: 4rem 1.5rem; }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 3rem; }
.footer-brand img { width: 200px; height: auto; margin-block-end: 1rem; }
.footer-brand p, .site-footer li, .footer-disclaimer { color: var(--ink-soft); font-size: .9rem; }
.site-footer h3 { font-size: .9rem; margin-block-end: .9rem; }
.site-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.site-footer a { text-decoration: none; }
.site-footer a:hover { text-decoration: underline; text-decoration-color: var(--bronze); }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; border-block-start: var(--border-soft); margin-block-start: 3rem; padding-block-start: 1rem; color: var(--ink-soft); font-size: .8rem; }
.footer-bottom div { display: flex; gap: 1rem; flex-wrap: wrap; }
.footer-disclaimer { margin-block-start: 1.5rem; font-size: .75rem; max-width: 90ch; }
.sticky-bar { background: var(--ink); }
.sticky-bar a { font-size: .86rem; }
.site-header.is-scrolled { box-shadow: none; }

@media (max-width: 1100px) {
  .site-nav { gap: 1rem; }
  .header-whatsapp { display: none; }
  .hero h1 { font-size: clamp(3rem, 5.5vw, 4.8rem); }
}
@media (max-width: 899px) {
  .site-nav { display: none; }
  .site-header__inner { min-height: 70px; }
  .site-header__logo img { height: 48px; max-width: 180px; }
  .header-actions { display: none; }
  .hero { min-height: min(820px, calc(100svh - 70px)); }
  .hero__content { width: 100%; min-height: inherit; padding-block: 3.5rem 5.5rem; }
  .hero__visual { height: 100%; max-height: none; }
  .hero h1 { font-size: clamp(2.8rem, 12vw, 4rem); max-width: 11ch; }
  .hero__lead { font-size: 1.1rem; }
  .trust-strip__grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .service-grid, .service-grid--all, .article-grid, .related-grid { grid-template-columns: 1fr 1fr; }
  .pillars { grid-template-columns: 1fr 1fr; }
  .process-list { grid-template-columns: 1fr 1fr; row-gap: 2rem; }
  .testimonial-grid { grid-template-columns: 1fr; }
  .cta-band__inner { display: grid; align-items: start; }
  .page-hero__grid, .article-hero__grid { grid-template-columns: 1fr; }
  .page-hero__media img, .article-hero__media img { aspect-ratio: 16/9; }
  .contact-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .article-layout { grid-template-columns: 1fr; gap: 2rem; }
  .article-toc { position: static; display: flex; flex-wrap: wrap; gap: .9rem 1.25rem; }
}
@media (max-width: 560px) {
  .section { padding-block: 4rem; }
  .section--tight { padding-block: 2rem; }
  .trust-strip.section--tight { padding-block: 1.25rem; }
  .trust-strip__grid, .service-grid, .service-grid--all, .article-grid, .related-grid, .pillars, .process-list, .form-grid, .footer-grid { grid-template-columns: 1fr; }
  .trust-strip__grid span { padding-inline-start: .7rem; }
  .section-head { display: grid; align-items: start; gap: 1rem; margin-block-end: 2rem; }
  .section-head h2 { max-width: 16ch; }
  .hero__actions, .cta-band__actions, .article-cta { align-items: stretch; flex-direction: column; }
  .hero__actions .btn, .cta-band__actions .btn, .article-cta .btn { width: 100%; }
  .hero__meta { margin-block-start: 1.5rem; }
  .image-note { position: static; display: inline-block; margin-block-start: .75rem; }
  .split__media { order: 2; }
  .split__content { order: 1; }
  .page-hero { padding-block: 2.5rem 3.5rem; }
  .breadcrumbs { margin-block-end: 2rem; }
  .article-body { font-size: 1rem; }
  .footer-bottom { display: grid; }
  .map-wrap, .map-wrap iframe { min-height: 300px; }
}
