/* FTH shared visual system, Ukrainian and English editions. */
/* Self-hosted fonts (OFL, @fontsource-variable). DM Sans has no Cyrillic: Ukrainian body text uses the system stack. */
@font-face { font-family: 'Playfair Display'; font-style: normal; font-display: swap; font-weight: 400 900; src: url(/fonts/playfair-display-cyrillic-wght-normal.woff2) format('woff2'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'Playfair Display'; font-style: italic; font-display: swap; font-weight: 400 900; src: url(/fonts/playfair-display-cyrillic-wght-italic.woff2) format('woff2'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'Playfair Display'; font-style: normal; font-display: swap; font-weight: 400 900; src: url(/fonts/playfair-display-latin-wght-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Playfair Display'; font-style: italic; font-display: swap; font-weight: 400 900; src: url(/fonts/playfair-display-latin-wght-italic.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'DM Sans'; font-style: normal; font-display: swap; font-weight: 100 1000; src: url(/fonts/dm-sans-latin-wght-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
/* Arial resized to DM Sans metrics (size-adjust from fontTools): text does not move when DM Sans swaps in */
@font-face { font-family: 'DM Sans Fallback'; src: local('Arial'), local('Liberation Sans'), local('Helvetica'); size-adjust: 105.81%; ascent-override: 93.75%; descent-override: 29.3%; line-gap-override: 0%; }
html:lang(en) { --font-sans: 'DM Sans', 'DM Sans Fallback', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
html:lang(uk) { --font-sans: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; }
.form-privacy { font-size: .82rem; line-height: 1.65; color: #52634f; margin-bottom: 1rem; }
.form-privacy a { text-decoration: underline; color: #245438; }
.advisory-secondary .article-header { background: #f0f1eb; border-bottom: 1px solid #dce0d5; }
.advisory-secondary :is(.article-read-time,.blog-card-date) { color: #52634f; }
.advisory-secondary .article-body { overflow-wrap: anywhere; }
.advisory-secondary .article-body table { display: block; max-width: 100%; overflow-x: auto; }
.advisory-secondary .article-cta { background: #edf0e7; border: 1px solid #dce0d5; border-radius: 8px; }
.advisory-home .blog-card { position: relative; min-width: 0; border-color: #dce0d5; border-radius: 8px; box-shadow: none; }
.advisory-home .blog-card:hover { transform: none; box-shadow: none; border-color: #b3bfa9; }
.advisory-home .blog-card:focus-within { outline: 3px solid #487941; outline-offset: 4px; }
.advisory-home .blog-card-date { color: #52634f; }
.advisory-home .blog-card-title { font-family: var(--font-serif); font-size: 1.2rem; font-weight: 400; line-height: 1.35; letter-spacing: -.01em; color: var(--g900); margin: 0 0 .75rem; }
.advisory-home .blog-card-title a { color: inherit; text-decoration: none; }
.advisory-home .blog-card-title a::after { content: ''; position: absolute; inset: 0; border-radius: inherit; }
.advisory-home .blog-card-title a:focus-visible { outline: none; }
.advisory-home .blog-card:hover .blog-card-title a { color: var(--green); }
.advisory-secondary .related-title { font-family: var(--font-serif); font-size: 1.35rem; font-weight: 400; color: var(--g900); margin-bottom: 1.5rem; }
.advisory-secondary :is(.article-meta,.blog-card-meta) { flex-wrap: wrap; }
.advisory-secondary .article-author { color: var(--green); font-size: .85rem; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; padding-block: .3rem; }
.advisory-secondary .page-header-title { font-weight: 400; letter-spacing: -.025em; }
.advisory-secondary .error-ua { color: #62626b !important; }
.advisory-secondary .error-links { margin-top: 1.5rem; color: #52634f; }
.advisory-secondary .error-links a { color: var(--green); text-decoration: underline; text-underline-offset: 3px; padding-block: .35rem; display: inline-block; }
@media (max-width:768px) { .advisory-secondary .blog-grid { grid-template-columns: minmax(0,1fr) !important; } }
html { scroll-padding-top: 6.5rem; }
.advisory-home .scroll-progress { background: var(--green); }
.advisory-home { --green: #245438; --green-deep: #163b29; --green-accent: #34764c; --section-pad: 5.5rem; background: #faf9f5; }
.advisory-home::before, .advisory-home .hero-bg, .advisory-home .hero::after { display: none; }
.advisory-home .navbar { background: #faf9f5; border-bottom: 1px solid #dedfd6; box-shadow: none; }
.advisory-home .navbar.scrolled { background: #faf9f5; box-shadow: 0 3px 18px #183d2910; }
.advisory-home .navbar .container { gap: 1.25rem; }
.advisory-home .nav-logo-img { height: 48px; }
.advisory-home .nav-menu { gap: clamp(.65rem, 1.2vw, 1.4rem); }
.advisory-home .nav-menu a { white-space: nowrap; font-size: .82rem; }
.advisory-home .nav-cta { white-space: nowrap; padding: .8rem 1.1rem; border-radius: 6px; }
.advisory-home .nav-right { gap: .65rem; }
.advisory-home .navbar.scrolled { -webkit-backdrop-filter: none; backdrop-filter: none; }
.advisory-home .nav-menu-cta { display: none; }
.mobile-toggle.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mobile-toggle.active span:nth-child(2) { opacity: 0; }
.mobile-toggle.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.advisory-home .btn { border-radius: 6px; min-height: 50px; }
.advisory-home .hero { padding: 9rem 0 5rem; background: #faf9f5; }
.advisory-home .hero-split { grid-template-columns: 1.12fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.advisory-home .hero-inner, .advisory-home .hero-split .hero-inner { text-align: left; }
.advisory-home .hero h1 { font-size: clamp(2.45rem, 4.3vw, 4rem); line-height: 1.09; letter-spacing: -.02em; font-weight: 400; margin-bottom: 1.6rem; }
.advisory-home .hero h1 em { letter-spacing: -.025em; animation: none; background: none; -webkit-text-fill-color: currentColor; color: var(--green); }
.advisory-home .hero-desc { font-size: 1.06rem; max-width: 34rem; margin: 0 0 2rem; line-height: 1.8; color: #555e55; }
.advisory-home .hero-split .hero-actions { justify-content: flex-start; gap: .8rem; }
.advisory-home .hero-widget { text-align: left; background: #173d2b; color: #fff; border: 1px solid #244f39; border-radius: 10px; padding: 2rem; box-shadow: 10px 12px 0 #e5e8de; transform: none !important; }
.advisory-home .hw-header { border-color: #54755e; padding-bottom: 1.25rem; margin-bottom: 1.25rem; }
.advisory-home .hw-header svg { color: #dcebcf; }
.advisory-home .hw-badge { color: #e4eedb; letter-spacing: .07em; font-size: .8125rem; text-transform: uppercase; }
.advisory-home .hw-metrics { gap: .5rem; }
.advisory-home .hw-metric { background: #264b36; border: 1px solid #52705b; border-radius: 4px; padding: 1rem .45rem; }
.advisory-home .hw-metric strong { color: #fff; font-size: 1rem; }
.advisory-home .hw-metric span { color: #e0e8da; font-size: .8125rem; line-height: 1.4; display: block; }
/* Hero ledger: statements as ledger rows, total ruled like a financial statement (single rule above, double below) */
.advisory-home .hw-ledger { list-style: none; margin: 1.5rem 0 0; padding: 0; }
.advisory-home .hw-ledger li { display: grid; grid-template-columns: 2.1rem minmax(0,1fr); align-items: baseline; gap: .6rem; padding: .62rem 0; border-bottom: 1px solid #42644e; color: #f4f5ee; font-size: .875rem; line-height: 1.45; }
.advisory-home .hw-ledger li:last-child { border-bottom: 0; }
.advisory-home .hw-ref { font-family: var(--font-sans); font-size: .8125rem; font-weight: 600; letter-spacing: .04em; color: #c7ddb3; font-variant-numeric: tabular-nums lining-nums; }
.advisory-home .hw-total { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin: .35rem 0 0; padding: .8rem 0 .7rem; border-top: 1px solid #c7ddb3; border-bottom: 3px double #c7ddb3; }
.advisory-home .hw-total span:first-child { font-size: .8125rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #c7ddb3; }
.advisory-home .hw-total span:last-child { font-family: var(--font-serif); font-size: 1.05rem; color: #fff; text-align: right; font-variant-numeric: tabular-nums lining-nums; }
.advisory-home .hw-header svg path { stroke: #c7ddb3; }
@media (prefers-reduced-motion: no-preference) {
  .advisory-home :is(.hw-ledger li,.hw-total) { animation: hw-row .4s cubic-bezier(.22,1,.36,1) both; }
  .advisory-home .hw-ledger li:nth-child(2) { animation-delay: 60ms; }
  .advisory-home .hw-ledger li:nth-child(3) { animation-delay: 120ms; }
  .advisory-home .hw-ledger li:nth-child(4) { animation-delay: 180ms; }
  .advisory-home .hw-ledger li:nth-child(5) { animation-delay: 240ms; }
  .advisory-home .hw-total { animation-delay: 300ms; }
}
@keyframes hw-row { from { opacity: 0; transform: translateY(6px); } }
.advisory-home .hero :is(.reveal,.reveal-right,h1,.hero-desc,.hero-actions) { opacity: 1; transform: none; animation: none; transition: none; }
.advisory-home :is(.reveal,.reveal-left,.reveal-right,.reveal-scale) { opacity: 1; transform: none; animation: none; }
.advisory-home .trust-bar { background: #eeefe7; padding: 2.3rem 0; border-block: 1px solid #dadfd2; }
.advisory-home .trust-items { display: grid; grid-template-columns: repeat(3,1fr); gap: 2rem; }
.advisory-home .trust-item { text-align: left; padding-left: 1.25rem; border-left: 2px solid #8ba27e; }
.advisory-home .trust-item strong { font-size: 1.45rem; line-height: 1.2; font-weight: 400; margin-bottom: .7rem; }
.advisory-home .trust-item span { line-height: 1.7; color: #56604f; }
.advisory-home .section-title { font-weight: 400; letter-spacing: -.015em; line-height: 1.17; }
.advisory-home .section-overline { letter-spacing: .16em; font-size: .72rem; }
.advisory-home #services .section-header { text-align: left; max-width: 850px; margin-left: 0; }
.advisory-home #services .section-title { font-size: clamp(1.8rem, 3vw, 2.65rem); }
.advisory-home .services-scroll-wrapper { overflow: visible; }
.advisory-home .services-track { padding-bottom: 0; scroll-snap-type: none; }
.advisory-home .services-track { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: #dce0d5; border: 1px solid #dce0d5; border-radius: 8px; overflow: hidden; }
.advisory-home .services-track .service-card { min-width: 0; width: auto; background: #fff; border: 0; border-radius: 0; padding: 2rem; box-shadow: none; transform: none; }
.advisory-home .service-card:hover { background: #f4f6ef; }
.advisory-home .service-card::after { display: none; }
.advisory-home .service-card .card-number { color: #52654b; }
.advisory-home .service-card h3 { font-size: 1.18rem; }
.advisory-home .section-light { background: #f0f1eb; }
.advisory-home .sys-card-hero { background: #173d2b; }
.advisory-home :is(.sys-card-hero,.sys-card-feature,.dlv,.expert-card) { border-radius: 8px; box-shadow: none; }
.advisory-home .expert-initials { border-radius: 8px; font-family: var(--font-serif); font-weight: 400; background: #e5ecde; color: #244d35; }
.advisory-home .contact-form { background: #fff; border: 1px solid #dce0d5; padding: 2rem; border-radius: 8px; box-shadow: 10px 12px 0 #e5e8de; }
.advisory-home .contact-form label { display: block; font-size: .85rem; font-weight: 500; color: #2f3d31; margin: 0 0 .35rem; }
.advisory-home .form-field { min-width: 0; }
.advisory-home .contact-form :is(input,textarea) { background: #fafbf7; border-color: #aeb8a6; border-radius: 4px; font-size: 1rem; }
.advisory-home :is(.sys-card-feature-num,.dlv-sub,.contact-details .cd strong) { color: #52634f; opacity: 1; }
.advisory-home :is(a,button,input,textarea):focus-visible { outline: 3px solid #487941; outline-offset: 4px; }
@media (min-width:769px) and (max-width:1150px) {
  .advisory-home .nav-cta { display: none; }
  .advisory-home .navbar .container { gap: .8rem; }
  .advisory-home .nav-menu { gap: .7rem; }
}
@media (max-width:1024px) {
  .advisory-home .hero-split { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .advisory-home .hero-widget { max-width: none; width: 100%; padding: 1.35rem; }
}
@media (max-width:768px) {
  .advisory-home { --section-pad: 3.5rem; }
  .advisory-home .hero { padding: 7rem 0 3rem; }
  .advisory-home .hero-split { grid-template-columns: 1fr; gap: 2.3rem; }
  .advisory-home .hero h1 { font-size: clamp(2.2rem,8vw,3.2rem); }
  .advisory-home .hero-desc { font-size: 1rem; }
  .advisory-home .hero-widget { margin: 0; box-shadow: 5px 6px 0 #e5e8de; }
  .advisory-home .hw-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .advisory-home .hw-metric { padding: .75rem .4rem; }
  .advisory-home .hw-metric strong { font-size: .8rem; white-space: nowrap; }
  .advisory-home .hw-metric span { font-size: .8125rem; }
  .advisory-home .trust-items { grid-template-columns: 1fr; gap: 1.4rem; }
  .advisory-home .trust-item { flex: initial; }
  .advisory-home .trust-item strong { font-size: 1.3rem; margin-bottom: .3rem; }
  .advisory-home .services-track { grid-template-columns: 1fr; }
  .advisory-home .services-track .service-card { padding: 1.5rem; }
  .advisory-home .nav-menu a { font-size: 1.15rem; }
  .advisory-home :is(.nav-logo,.nav-right,.mobile-toggle) { position: relative; z-index: 1002; }
  .advisory-home .nav-menu { background: #faf9f5; gap: 1.6rem; }
  .advisory-home .nav-menu-cta { display: block; margin-top: .6rem; }
  .advisory-home .nav-menu .nav-menu-cta a { color: #fff !important; font-size: 1rem; padding: .9rem 1.6rem; }
  .advisory-home .nav-menu .nav-menu-cta a::after { display: none; }
  .advisory-home .contact-form { padding: 1.25rem; box-shadow: 5px 6px 0 #e5e8de; }
}
@media print { .advisory-home .hero-widget { background: white; color: black; box-shadow: none; } }
.advisory-home :is(h1,h2,h3) { font-variant-numeric: lining-nums; }
/* Homepage editorial finish: one left axis, hairline lists instead of card piles, compact mobile rhythm */
.advisory-home .section-header.center { text-align: left; margin-left: 0; max-width: 850px; }
.advisory-home .section-header.center .section-desc { margin: 0; }
.advisory-home .section-title { text-wrap: balance; }
.advisory-home .section-overline { font-size: .75rem; }
.advisory-home :is(.dlv-sub,.trust-item span) { font-size: .875rem; letter-spacing: 0; line-height: 1.45; }
.advisory-home .deliverables-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 3rem; row-gap: 0; border-top: 1px solid #dce0d5; }
.advisory-home .deliverables-grid .dlv { display: grid; grid-template-columns: 1.5rem minmax(0,1fr); column-gap: .9rem; align-content: start; text-align: left; background: none; border: 0; border-bottom: 1px solid #dce0d5; border-radius: 0; padding: 1.1rem 0; box-shadow: none; transform: none; }
.advisory-home .deliverables-grid .dlv-icon { grid-row: span 2; margin: .15rem 0 0; }
.advisory-home .dlv-sub { margin-top: .2rem; color: #52634f; }
.advisory-home .dlv-accent > span { color: var(--green); }
.advisory-home .sys-card-features { grid-template-columns: 1fr; gap: 0; border-top: 1px solid #dce0d5; margin-top: 1rem; }
.advisory-home .sys-card-feature { display: grid; grid-template-columns: 2.25rem minmax(0,1fr); gap: .75rem; align-items: baseline; background: none; border: 0; border-bottom: 1px solid #dce0d5; border-radius: 0; padding: 1rem 0; box-shadow: none; transform: none; }
.advisory-home .sys-card-feature .sys-card-feature-num { font-family: var(--font-serif); font-size: 1.05rem; font-weight: 400; letter-spacing: 0; margin: 0; color: var(--green); font-variant-numeric: tabular-nums lining-nums; }
.advisory-home .why-list li { background: none; border: 0; border-bottom: 1px solid #dce0d5; border-radius: 0; box-shadow: none; padding: 1rem 0; transform: none; }
.advisory-home .why-list li:first-child { border-top: 1px solid #dce0d5; }
.advisory-home .pcard { text-align: left; transform: none; }
.advisory-home .pcard-num { margin: 0 0 1.25rem; font-family: var(--font-serif); font-weight: 400; font-size: 1.05rem; font-variant-numeric: lining-nums; }
.advisory-home .pcard:hover .pcard-num { transform: none; box-shadow: none; }
.advisory-home .process-steps::before { left: 26px; width: calc(75% + 1.5rem); background: #dce0d5; }
.advisory-home .expert-card { text-align: left; }
.advisory-home .expert-team { display: flex; gap: 1.5rem; align-items: flex-start; }
.advisory-home .expert-certs { justify-content: flex-start; flex-wrap: wrap; }
.advisory-home .expert-certs span { font-size: .75rem; }
.advisory-home .expert-team p { max-width: 65ch; }
.advisory-home .footer-certs span { font-size: .75rem; }
.advisory-home .footer-col li a { display: inline-block; padding-block: .35rem; }
.advisory-home .footer-col ul { gap: .1rem; }
.advisory-home .form-privacy a { display: inline-block; padding-block: .2rem; }
.advisory-home .insights-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; margin-bottom: 2rem; }
.advisory-home .insights-head .section-title { margin-bottom: 0; }
.advisory-home .insights-all { display: inline-flex; align-items: center; gap: .4rem; padding-block: .5rem; color: var(--green); font-weight: 600; font-size: .95rem; white-space: nowrap; text-decoration: underline; text-underline-offset: 4px; }
.advisory-home .insights-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; }
.advisory-home .insights .blog-card { padding: 1.6rem; }
.advisory-home .insights .blog-card-title { margin: 0; }
.advisory-home .sys-card-hero { text-align: left; }
.advisory-home .sys-card-hero-icon { margin: 0 0 1.1rem; }
.advisory-home .sys-card-hero strong { font-weight: 400; font-size: 1.3rem; }
.advisory-home .footer-bottom-links a { display: inline-block; padding-block: .3rem; }
@media (max-width:768px) {
  .advisory-home { --section-pad: 3rem; }
  .advisory-home .section-header { margin-bottom: 1.75rem; }
  .advisory-home .section-desc { font-size: 1rem; line-height: 1.65; }
  .advisory-home .section-title { font-size: 1.65rem; }
  .advisory-home .deliverables-grid { grid-template-columns: 1fr; }
  .advisory-home .insights-grid { grid-template-columns: 1fr; }
  .advisory-home .insights-head { flex-wrap: wrap; align-items: flex-start; }
  .advisory-home .services-track .service-card { display: grid; grid-template-columns: 40px minmax(0,1fr); column-gap: .9rem; align-items: center; }
  .advisory-home .services-track .service-card .card-icon { width: 40px; height: 40px; margin: 0; }
  .advisory-home .services-track .service-card h3 { margin: 0; }
  .advisory-home .services-track .service-card p { grid-column: 1 / -1; margin-top: .8rem; }
  .advisory-home .hero { padding-top: 7.75rem; }
  .advisory-home .trust-bar { padding: 1.9rem 0; }
  .advisory-home .sys-card-hero { padding: 1.5rem 1.25rem; }
  .advisory-home .process-steps { grid-template-columns: 1fr; gap: 0; }
  .advisory-home .pcard { display: grid; grid-template-columns: 52px minmax(0,1fr); column-gap: 1rem; padding: 1.1rem 0; border-bottom: 1px solid #dce0d5; }
  .advisory-home .pcard > :not(.pcard-num) { grid-column: 2; }
  .advisory-home .pcard-num { grid-row: 1 / span 3; margin: 0; }
  .advisory-home .expert-main { flex-direction: row; align-items: flex-start; text-align: left; }
  .advisory-home .expert-card { padding: 1.5rem 1.25rem; gap: 1rem; }
  .advisory-home .expert-initials { width: 48px; height: 48px; font-size: 1rem; }
  .advisory-home .footer-top { grid-template-columns: 1fr 1fr; column-gap: 1.25rem; row-gap: 2rem; }
  .advisory-home .footer-brand { grid-column: 1 / -1; }
}
/* Finish: 12px floor for tags, 24px targets, 404 numeral readable (3:1 on paper), balanced ledger total */
.advisory-home .blog-card-tag { font-size: .75rem; }
.advisory-home .nav-menu a { padding-block: .3rem; }
.advisory-secondary .article-back { padding-block: .35rem; }
.advisory-secondary .error-code { color: #7f9673; }
.advisory-home .hw-total span:last-child { text-wrap: balance; }
/* Neutrals: the legacy zinc scale (--g50..--g900) re-mapped once onto the Advisory green-greys, for every page */
.advisory-home { --g900: #18241c; --g800: #1f2a22; --g700: #33402f; --g600: #465244; --g500: #52634f; --g400: #5b6a58; --g300: #c3cabb; --g200: #dce0d5; --g100: #eceee6; --g50: #f0f1eb; }
.advisory-home .footer { background: #f0f1eb; border-top: 1px solid #dce0d5; }
.advisory-home .footer-col :is(h3,h4) { font-family: var(--font-serif); font-size: 1.05rem; font-weight: 400; letter-spacing: 0; text-transform: none; color: #1f2a22; margin-bottom: .9rem; }
.advisory-home .footer :is(.footer-tagline,.footer-info,.footer-col ul a,.footer-bottom,.footer-bottom a) { color: #52634f; }
.advisory-home .footer :is(.footer-col ul a,.footer-bottom a):hover { color: var(--green); }
.advisory-home .footer-top, .advisory-home .footer-bottom { border-color: #dce0d5; }
.advisory-home .footer-social a { background: #fff; border: 1px solid #dce0d5; color: #52634f; }
.advisory-home .footer-social a:hover { background: var(--green); border-color: var(--green); color: #fff; }
@media (max-width:768px) {
  .advisory-home .footer-bottom { align-items: flex-start; text-align: left; }
  .advisory-home .footer-bottom-links { justify-content: flex-start; flex-wrap: wrap; column-gap: 1.5rem; row-gap: 0; }
}
/* Current page in the menu (Blog on the blog and its articles) */
/* Current page (Blog) and current section (scrollspy, main.js): green and underlined at every width */
.advisory-home .nav-menu li:not(.nav-menu-cta) a:is([aria-current],.is-current) { color: var(--green) !important; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.advisory-home .nav-menu a:is([aria-current],.is-current)::after { display: none; }
.advisory-home main:focus { outline: none; }
/* Secondary pages on the left axis: blog index and 404 on the container edge, articles and legal pages on their reading column */
.advisory-secondary :is(.page-header,.article-header) { text-align: left; background: #faf9f5; border-bottom: 1px solid #dce0d5; }
.advisory-secondary .page-header { padding: 9rem 0 3rem; }
.advisory-secondary .page-header .section-overline { color: var(--green); margin-bottom: 1rem; }
.advisory-secondary .page-header-title { margin: 0; }
.advisory-secondary:has(.legal-body) .page-header .container, .advisory-secondary .article-header .container { max-width: calc(720px + 4rem); }
.advisory-secondary .article-header { padding-bottom: 2.5rem; }
.advisory-secondary .article-meta { justify-content: flex-start; }
.advisory-secondary .article-header h1 { margin: 0; max-width: none; text-wrap: pretty; }
.advisory-secondary .error-page { justify-content: flex-start; text-align: left; padding-inline: 0; }
.advisory-secondary .error-page .container { width: 100%; }
.advisory-secondary .error-content { margin: 0; }
.advisory-secondary .error-actions { justify-content: flex-start; }
.advisory-secondary .page-header + section { padding-top: 3rem; }
@media (max-width:768px) { .advisory-secondary .page-header { padding: 7.5rem 0 2rem; } }
/* Contact: the former CTA band is the introduction of the form */
.advisory-home #contact { border-top: 1px solid #dce0d5; }
.advisory-home .contact-lead { margin: 0; max-width: 34rem; }
.advisory-home .contact-details .cd a { color: var(--green); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
/* Form outcome: permanent live region, confirmation panel, spinner only when motion is welcome */
.advisory-home .form-status:not(:empty) { margin: 1rem 0 0; padding: .8rem 1rem; border-left: 3px solid var(--green); background: #f0f1eb; font-size: .9rem; line-height: 1.6; color: #1f2a22; }
.advisory-home .form-status.is-error { border-left-color: #a33a2a; background: #fbf1ee; }
.advisory-home .form-status a { color: var(--green); text-decoration: underline; overflow-wrap: anywhere; }
.advisory-home .contact-form button[disabled] { opacity: .7; cursor: progress; }
.advisory-home .btn-busy { display: inline-flex; align-items: center; gap: .5rem; }
@keyframes fth-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: no-preference) { .advisory-home .btn-spinner { animation: fth-spin 1s linear infinite; } }
.advisory-home .form-done { display: none; color: var(--green); padding: 1rem 0; }
.advisory-home .contact-form.is-done > :not(.form-done,.form-status) { display: none; }
.advisory-home .contact-form.is-done .form-done { display: block; }
.advisory-home .form-done h3 { font-family: var(--font-serif); font-size: 1.5rem; font-weight: 400; color: var(--g900); margin: 1rem 0 .5rem; }
.advisory-home .form-done h3:focus { outline: none; }
.advisory-home .form-done p { color: #52634f; margin: 0 0 1.5rem; max-width: 26rem; }
/* Blog index: latest article in full width, topic chips (built by main.js from the card tags) */
.advisory-secondary .blog-filter { display: flex; flex-wrap: wrap; gap: .4rem; min-height: 2.75rem; margin-bottom: 2rem; }
.advisory-secondary .blog-chip { flex: none; display: inline-flex; align-items: center; gap: .4rem; min-height: 2.75rem; padding: 0 .8rem; border: 1px solid #c3cabb; border-radius: 6px; background: #fff; color: #1f2a22; font: inherit; font-size: .875rem; font-weight: 500; cursor: pointer; }
.advisory-secondary .blog-chip span { color: #52634f; font-size: .8125rem; font-variant-numeric: tabular-nums; }
.advisory-secondary .blog-chip:hover { border-color: var(--green); }
.advisory-secondary .blog-chip[aria-pressed="true"] { background: var(--green); border-color: var(--green); color: #fff; }
.advisory-secondary .blog-chip[aria-pressed="true"] span { color: #d7e6cb; }
.advisory-secondary .blog-chip:focus-visible { outline: 3px solid #487941; outline-offset: 3px; }
.advisory-secondary .blog-grid .blog-card[hidden] { display: none; }
@media (max-width:768px) { .advisory-secondary .blog-filter { gap: .35rem; } .advisory-secondary .blog-chip { padding: 0 .6rem; font-size: .8125rem; } }
.advisory-secondary .blog-card-featured { grid-column: 1 / -1; background: #fff; }
.advisory-secondary .blog-card-featured .blog-card-title { font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.2; }
@media (min-width:769px) {
  .advisory-secondary .blog-card-featured { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); grid-template-rows: auto 1fr auto; column-gap: 3rem; padding: 2.5rem; }
  .advisory-secondary .blog-card-featured .blog-card-meta { grid-column: 1 / -1; }
  .advisory-secondary .blog-card-featured .blog-card-title { grid-column: 1; grid-row: 2 / span 2; margin: 0; }
  .advisory-secondary .blog-card-featured > p { grid-column: 2; grid-row: 2; margin: 0 0 1.25rem; font-size: 1rem; }
  .advisory-secondary .blog-card-featured .blog-card-link { grid-column: 2; grid-row: 3; }
}
/* Case study: the adjustments published in the article, set as a ledger (same language as the hero widget) */
.advisory-secondary .ledger-wrap { margin: 2rem 0 2.25rem; background: #173d2b; border-radius: 10px; padding: 1.5rem 1.75rem 1.25rem; box-shadow: 10px 12px 0 #e5e8de; }
.advisory-secondary .article-body table.ledger { display: table; width: 100%; border-collapse: collapse; margin: 0; color: #f4f5ee; font-size: .9rem; line-height: 1.45; overflow-wrap: normal; }
.advisory-secondary .ledger caption { caption-side: top; text-align: left; padding-bottom: 1rem; margin-bottom: .25rem; border-bottom: 1px solid #54755e; color: #e4eedb; font-size: .8125rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.advisory-secondary .ledger :is(th,td) { padding: .7rem .5rem; border: 0; border-bottom: 1px solid #42644e; background: none; text-align: left; vertical-align: baseline; }
.advisory-secondary .ledger :is(th,td):first-child { padding-left: 0; white-space: nowrap; }
.advisory-secondary .ledger :is(th,td):last-child { padding-right: 0; text-align: right; }
.advisory-secondary .ledger th { color: #c7ddb3; font-size: .8125rem; font-weight: 600; letter-spacing: .05em; }
.advisory-secondary .ledger :is(thead th,tfoot th) { font-size: .75rem; letter-spacing: .07em; text-transform: uppercase; }
.advisory-secondary .ledger :is(tbody,tfoot) td:last-child { font-family: var(--font-sans); font-weight: 600; font-size: 1rem; color: #fff; font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; }
.advisory-secondary .ledger tbody tr:last-child :is(th,td) { border-bottom: 0; }
.advisory-secondary .ledger tfoot :is(th,td) { border-top: 1px solid #c7ddb3; border-bottom: 3px double #c7ddb3; padding-block: .8rem .7rem; }
@media (max-width:768px) {
  /* one entry per block: standard and effect on the first line, the item below */
  .advisory-secondary .ledger-wrap { padding: 1.25rem 1rem 1rem; box-shadow: 5px 6px 0 #e5e8de; }
  .advisory-secondary .ledger thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .advisory-secondary .ledger :is(tbody,tfoot) tr { display: grid; grid-template-columns: auto minmax(0,1fr); column-gap: 1rem; row-gap: .3rem; padding: .75rem 0; border-bottom: 1px solid #42644e; }
  .advisory-secondary .ledger :is(tbody,tfoot) :is(th,td) { padding: 0; border: 0; }
  .advisory-secondary .ledger :is(tbody,tfoot) td:nth-child(2) { grid-column: 1 / -1; grid-row: 2; color: #e0e8da; }
  .advisory-secondary .ledger :is(tbody,tfoot) td:last-child { white-space: normal; }
  .advisory-secondary .ledger tbody tr:last-child { border-bottom: 0; }
  .advisory-secondary .ledger tfoot tr { border-top: 1px solid #c7ddb3; border-bottom: 3px double #c7ddb3; }
}
/* Section dash: static (the scroll reveal that grew it is gone) */
.advisory-home .section-overline::before { width: 24px; animation: none; transition: none; }
/* UA/EN switch in the Advisory shapes: 6px radius, hairline instead of a shadow, no grey pill once scrolled */
.advisory-home .navbar .lang-switch { background: none; padding: 0; }
.advisory-home .lang-btn { border: 1px solid transparent; border-radius: 6px; }
.advisory-home .navbar .lang-btn.active { background: #fff; border-color: #dce0d5; box-shadow: none; color: var(--g900); }
/* No hover lift (retired direction); the focus ring appears at once (only colours are animated) */
.advisory-home :is(.btn,.nav-cta,.expert-card):hover { transform: none; box-shadow: none; }
.advisory-home :is(.btn,.nav-cta,.lang-btn) { transition-property: background-color, border-color, color; }
/* Process: number, title, text and "Result" share rows across the columns (subgrid), so the result rules line up */
@media (min-width:769px) {
  .advisory-home .pcard { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; align-content: start; }
}
/* Form: inline messages in the page language (main.js), linked by aria-describedby */
.advisory-home .field-error { margin: .35rem 0 0; font-size: .8125rem; line-height: 1.45; color: #a33a2a; }
.advisory-home .field-error:empty { display: none; }
.advisory-home .contact-form textarea + .field-error { margin: -1.15rem 0 1.5rem; }
.advisory-home .contact-form [aria-invalid="true"] { border-color: #a33a2a; }
/* Mobile: services as a hairline list (like the deliverables); expert text on the full card width */
@media (max-width:768px) {
  .advisory-home .services-track { background: none; border: 0; border-top: 1px solid #dce0d5; border-radius: 0; gap: 0; }
  .advisory-home .services-track .service-card { grid-template-columns: 32px minmax(0,1fr); background: none; padding: 1.25rem 0; border-bottom: 1px solid #dce0d5; }
  .advisory-home .services-track .service-card .card-icon { width: 32px; height: 32px; border-radius: 4px; }
  .advisory-home .services-track .service-card p { margin-top: .6rem; }
  .advisory-home .expert-card { display: grid; grid-template-columns: 48px minmax(0,1fr); column-gap: 1rem; row-gap: 0; align-items: center; }
  .advisory-home .expert-info { display: contents; }
  .advisory-home .expert-initials { grid-row: span 2; }
  .advisory-home .expert-info :is(p,.expert-certs) { grid-column: 1 / -1; }
  .advisory-home .expert-info p { margin: .9rem 0 .75rem; }
  .advisory-home .expert-info .expert-role { margin-bottom: 0; }
}
.advisory-home :is(.expert-certs,.footer-certs) span { border-radius: 4px; }
/* Contact: the details follow the form in the markup, so on a phone the form comes right after the introduction; wide screens keep them under the introduction */
.advisory-home .contact-details .cd a { display: inline-block; padding-block: .3rem; }
@media (min-width:769px) {
  .advisory-home .contact-layout { grid-template-areas: "text form" "details form"; grid-template-rows: auto 1fr; row-gap: 0; }
  .advisory-home .contact-text { grid-area: text; }
  .advisory-home .contact-form { grid-area: form; }
  .advisory-home .contact-details { grid-area: details; }
}
@media (max-width:768px) {
  .advisory-home .contact-layout { gap: 2rem; }
  .advisory-home .contact-details { margin-top: .75rem; }
}
/* Advisory radii for the legacy pieces still rounded as pills or 12px */
.advisory-home .blog-card-tag { border-radius: 4px; }
.advisory-home :is(.card-icon,.sys-card-hero-icon) { border-radius: 8px; }
/* Skip link: parked just above the viewport and shown at once (it used to slide in from -100% of the page height) */
.advisory-home .skip-link { top: 1rem; border-radius: 6px; transform: translateY(-200%); transition: none; }
.advisory-home .skip-link:focus { transform: none; }
/* Mobile menu on the left axis of the page, links in the heading voice, CTA as heavy as the other buttons */
@media (max-width:768px) {
  .advisory-home .nav-menu { align-items: flex-start; text-align: left; padding-inline: 1.25rem; gap: 1.1rem; }
  .advisory-home .nav-menu li:not(.nav-menu-cta) a { font-family: var(--font-serif); font-weight: 400; font-size: 1.35rem; letter-spacing: -.005em; }
  .advisory-home .nav-menu .nav-menu-cta a { font-weight: 600; }
}
