@font-face {
    font-family: "BR Firma";
    src: url("../fonts/br-firma-thin.woff2") format("woff2");
    font-style: normal;
    font-weight: 100;
    font-display: swap;
}

@font-face {
    font-family: "BR Firma";
    src: url("../fonts/br-firma-thin-italic.woff2") format("woff2");
    font-style: italic;
    font-weight: 100;
    font-display: swap;
}

@font-face {
    font-family: "BR Firma";
    src: url("../fonts/br-firma-extra-light.woff2") format("woff2");
    font-style: normal;
    font-weight: 200;
    font-display: swap;
}

@font-face {
    font-family: "BR Firma";
    src: url("../fonts/br-firma-extra-light-italic.woff2") format("woff2");
    font-style: italic;
    font-weight: 200;
    font-display: swap;
}

@font-face {
    font-family: "BR Firma";
    src: url("../fonts/br-firma-light.woff2") format("woff2");
    font-style: normal;
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: "BR Firma";
    src: url("../fonts/br-firma-light-italic.woff2") format("woff2");
    font-style: italic;
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: "BR Firma";
    src: url("../fonts/br-firma-regular.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "BR Firma";
    src: url("../fonts/br-firma-regular-italic.woff2") format("woff2");
    font-style: italic;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "BR Firma";
    src: url("../fonts/br-firma-medium.woff2") format("woff2");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: "BR Firma";
    src: url("../fonts/br-firma-medium-italic.woff2") format("woff2");
    font-style: italic;
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: "BR Firma";
    src: url("../fonts/br-firma-semibold.woff2") format("woff2");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: "BR Firma";
    src: url("../fonts/br-firma-semibold-italic.woff2") format("woff2");
    font-style: italic;
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: "BR Firma";
    src: url("../fonts/br-firma-bold.woff2") format("woff2");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "BR Firma";
    src: url("../fonts/br-firma-bold-italic.woff2") format("woff2");
    font-style: italic;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "BR Firma";
    src: url("../fonts/br-firma-black.woff2") format("woff2");
    font-style: normal;
    font-weight: 900;
    font-display: swap;
}

@font-face {
    font-family: "BR Firma";
    src: url("../fonts/br-firma-black-italic.woff2") format("woff2");
    font-style: italic;
    font-weight: 900;
    font-display: swap;
}

:root {
    --wine: #1e1e1e;
    --wine-deep: #090909;
    --wine-soft: #cb9147;
    --gold: #cb9147;
    --cream: #f2f2f0;
    --paper: #ffffff;
    --ink: #1e1e1e;
    --muted: #696969;
    --line: #d8d8d4;
    --white: #fff;
    --serif: "Riccione Serial", Georgia, serif;
    --sans: "BR Firma", Arial, sans-serif;
    --shadow: 0 24px 70px rgba(43, 14, 22, .1);
}

/* ========================================================================== */
/* NILIANE 2026 — premium, light and compact system                           */
/* ========================================================================== */
:root {
    --ng-black: #1e1e1e;
    --ng-ink: #252321;
    --ng-gold: #cb9147;
    --ng-gold-dark: #9c6626;
    --ng-cream: #f7f4ee;
    --ng-paper: #fff;
    --ng-line: #ddd4c7;
    --ng-muted: #6d6862;
    --ng-radius: 18px;
    --ng-shadow: 0 18px 55px rgba(40, 31, 20, .09);
}

html {
    scroll-padding-top: 110px;
}

body {
    color: var(--ng-ink);
    background: var(--ng-paper);
    font-family: "BR Firma", Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Riccione Serial", Georgia, serif;
    font-weight: 600;
}

.button,
.ng-button {
    border-radius: 12px !important;
}

.compact-section {
    padding: 78px 0;
}

.kicker {
    margin: 0 0 14px;
    color: var(--ng-gold-dark);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.center-heading {
    max-width: 820px;
    margin: 0 auto 42px;
    text-align: center;
}

.center-heading h2 {
    margin: 0;
    color: var(--ng-black);
    font-size: clamp(2.5rem, 4.3vw, 4.2rem);
    line-height: .98;
}

.center-heading>p:last-child {
    max-width: 680px;
    margin: 18px auto 0;
    color: var(--ng-muted);
    line-height: 1.8;
}

/* Header and desktop submenu */
.site-header {
    background: rgba(18, 18, 18, .96);
    border-bottom-color: rgba(203, 145, 71, .24);
}

.site-header .header-inner {
    min-height: 94px;
}

.site-nav>ul {
    align-items: center;
}

.site-nav>ul>li {
    position: relative;
}

.site-nav>ul>li>a,
.site-nav .nav-parent {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 48px;
    padding: 0;
    border: 0;
    color: #f5f2ed;
    background: transparent;
    font: 700 .78rem/1 "BR Firma", sans-serif;
    letter-spacing: .02em;
    text-transform: uppercase;
    cursor: pointer;
}

.site-nav>ul>li>a::after,
.site-nav .nav-parent::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 2px;
    left: 0;
    height: 2px;
    transform: scaleX(0);
    transform-origin: left;
    background: var(--ng-gold);
    transition: transform .22s ease;
}

.site-nav>ul>li>a:hover::after,
.site-nav>ul>li>a[aria-current="page"]::after,
.site-nav .nav-has-submenu:hover .nav-parent::after,
.site-nav .nav-has-submenu:focus-within .nav-parent::after,
.site-nav .nav-has-submenu.is-current .nav-parent::after {
    transform: scaleX(1);
}

.nav-submenu {
    position: absolute;
    z-index: 30;
    top: calc(100% + 14px);
    left: 50%;
    display: block !important;
    width: 285px;
    padding: 10px !important;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 8px);
    border: 1px solid rgba(203, 145, 71, .28);
    border-radius: 14px;
    background: #171717;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .3);
    transition: .2s ease;
}

.nav-has-submenu:hover .nav-submenu,
.nav-has-submenu.is-open .nav-submenu {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.site-nav .nav-submenu li {
    display: block;
}

.site-nav .nav-submenu a {
    display: block;
    padding: 12px 14px;
    border-radius: 9px;
    color: #eee;
    font-size: .76rem;
    font-weight: 600;
    text-transform: none;
}

.site-nav .nav-submenu a:hover {
    color: var(--ng-black);
    background: var(--ng-gold);
}

/* Home corrections and compact rhythm */
.ng-hero {
    min-height: min(820px, 100svh);
}

.ng-hero__background {
    background-image: url('../images/hero-office.webp') !important;
}

.ng-hero__content {
    padding-top: 112px;
}

.ng-hero h1 {
    max-width: 1040px;
    color: #fff !important;
    font-size: clamp(3.8rem, 6.7vw, 7rem);
    text-shadow: 0 3px 30px rgba(0, 0, 0, .5);
}

.ng-hero h1 br {
    display: block;
}

.ng-hero__lead {
    max-width: 850px;
}

.ng-contact-float {
    display: grid;
    place-items: center;
    width: 66px;
    height: 66px;
    border: 1px solid rgba(30, 30, 30, .2);
    border-radius: 50%;
    background: var(--ng-gold);
    box-shadow: 0 15px 35px rgba(0, 0, 0, .25);
}

.ng-contact-float img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    filter: brightness(0);
}

.ng-about,
.ng-practice,
.ng-method,
.ng-insights,
.ng-trust,
.ng-contact {
    padding: 78px 0 !important;
}

.ng-about__grid {
    align-items: stretch;
    gap: 64px;
}

.ng-about__visual,
.ng-about__portrait {
    height: auto !important;
    min-height: 580px;
}

.ng-about__portrait img.is-photo {
    height: 100%;
    object-fit: cover;
    object-position: center 18%;
}

.ng-about__copy h2,
.ng-practice__header h2,
.ng-method__intro h2,
.ng-carousel-head h2,
.ng-trust__heading h2,
.ng-contact__copy h2 {
    font-size: clamp(2.55rem, 4.3vw, 4.45rem) !important;
    line-height: .98;
}

.ng-about__copy h2.ng-about__title {
    font-size: clamp(2.15rem, 3.45vw, 3.55rem) !important;
    line-height: 1.03;
}

.ng-practice__layout {
    align-items: start;
    gap: 72px;
}

.ng-practice__header {
    position: sticky;
    top: 130px;
}

.ng-practice-item button {
    min-height: 82px;
    padding: 18px 0;
}

.ng-practice-item button strong {
    font-size: clamp(1.55rem, 2.2vw, 2.25rem);
}

.ng-practice-panel>div {
    padding-bottom: 22px;
}

.ng-method__intro {
    max-width: 920px;
    margin: 0 auto 30px;
    text-align: center;
}

.ng-method__intro p {
    margin: 20px auto 0;
}

.ng-method__steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch;
    gap: 16px;
    margin: 0;
    padding: 0;
    border: 0 !important;
    list-style: none;
}

.ng-method__steps li {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    align-content: start;
    gap: 0 18px;
    height: 100%;
    min-height: 0 !important;
    padding: 28px 26px !important;
    border: 1px solid var(--ng-line) !important;
    border-radius: var(--ng-radius);
    background: var(--ng-cream);
}

.ng-method__steps li>span {
    display: grid;
    width: 46px;
    height: 46px;
    margin: 0;
    place-items: center;
    border-radius: 11px;
    color: var(--ng-gold-dark);
    background: rgba(203, 145, 71, .13);
    font-size: .76rem;
    font-weight: 700;
}

.ng-method__steps li>div {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.ng-method__steps h3 {
    min-height: 56px;
    margin: 0 0 14px;
    font-size: clamp(1.45rem, 1.55vw, 1.7rem);
    font-weight: 600;
    line-height: 1.03;
}

.ng-method__steps p {
    margin: 0;
    color: var(--ng-muted);
    font-size: .9rem;
    line-height: 1.65;
}

.ng-locations {
    padding: 74px 0 !important;
    color: var(--ng-black) !important;
    background: var(--ng-gold) !important;
}

.ng-locations h2 {
    max-width: 850px;
    margin: 0 auto 36px;
    color: var(--ng-black) !important;
    font-size: clamp(2.7rem, 4vw, 4rem) !important;
    text-align: center;
}

.ng-locations__rail {
    gap: 16px;
}

.ng-locations__rail article {
    min-height: 0 !important;
    padding: 26px !important;
    border: 1px solid rgba(30, 30, 30, .16) !important;
    border-radius: 16px;
    background: rgba(255, 255, 255, .58) !important;
    box-shadow: 0 12px 28px rgba(70, 40, 10, .08);
    transition: transform .2s ease, background .2s ease;
}

.ng-locations__rail article:hover {
    transform: translateY(-5px);
    background: #fff !important;
}

.ng-locations__rail article>span {
    color: var(--ng-black) !important;
    border-color: rgba(30, 30, 30, .3) !important;
}

.ng-locations__rail h3 {
    color: var(--ng-black) !important;
    font-family: "BR Firma", sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
}

.ng-locations__rail p {
    color: #49351f !important;
    font-weight: 500;
}

.ng-carousel-head {
    max-width: 850px;
    margin: 0 auto 34px;
    text-align: center;
}

.ng-article-carousel {
    padding-bottom: 14px;
}

.ng-insight-card {
    flex-basis: min(420px, 82vw);
    border-radius: var(--ng-radius);
    overflow: hidden;
}

.ng-insight-card__media {
    height: 230px;
}

.ng-carousel-footer {
    margin-top: 22px;
}

.ng-trust__layout {
    grid-template-columns: .8fr 1.2fr;
    gap: 70px;
}

.ng-trust__grid article {
    padding: 24px 0;
}

.ng-urgent {
    padding: 62px 0 !important;
}

.ng-urgent__inner {
    align-items: center;
}

.ng-urgent h2 {
    font-size: clamp(2.6rem, 4.2vw, 4.25rem) !important;
}

.ng-contact__grid {
    position: relative;
    z-index: 1;
    gap: 56px;
}

.ng-contact__copy {
    position: relative;
    overflow: hidden;
    padding: 44px;
    border-radius: var(--ng-radius);
    background: #151515;
}

.ng-contact__copy::after {
    content: "";
    position: absolute;
    right: -70px;
    bottom: -160px;
    width: 330px;
    height: 500px;
    opacity: .16;
    background: url('../images/niliane-contato.webp') center/cover no-repeat;
    pointer-events: none;
}

.ng-contact__copy>* {
    position: relative;
    z-index: 1;
}

/* Internal page covers */
.inner-hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: var(--ng-black);
}

.inner-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .24;
    background: radial-gradient(circle at 15% 15%, rgba(203, 145, 71, .28), transparent 33%), linear-gradient(130deg, transparent 45%, rgba(203, 145, 71, .12));
}

.inner-hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(330px, .62fr);
    align-items: center;
    min-height: 560px;
    gap: 80px;
    padding-top: 122px;
}

.inner-hero__copy {
    padding: 64px 0;
}

.inner-hero__copy h1 {
    max-width: 920px;
    margin: 0;
    color: #fff;
    font-size: clamp(3.45rem, 5.8vw, 6.25rem);
    line-height: .92;
}

.inner-hero__copy h1 em {
    color: var(--ng-gold);
    font-weight: 500;
}

.inner-hero__copy>p:not(.kicker) {
    max-width: 730px;
    margin: 25px 0 0;
    color: #d7d3cd;
    font-size: 1.05rem;
    line-height: 1.8;
}

.inner-hero__copy .button {
    margin-top: 30px;
}

.inner-hero__portrait {
    align-self: end;
    height: 480px;
    overflow: hidden;
    border-radius: 32px 32px 0 0;
    background: #111;
    box-shadow: 0 0 0 1px rgba(203, 145, 71, .25);
}

.inner-hero__portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 17%;
}

.inner-hero--areas .inner-hero__portrait img,
.inner-hero--contact .inner-hero__portrait img {
    object-position: center 23%;
}

/* About */
.about-story {
    background: var(--ng-cream);
}

.about-story__grid {
    display: grid;
    grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
    align-items: center;
    gap: 78px;
}

.about-story__image {
    position: relative;
    height: 620px;
}

.about-story__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 15%;
    border-radius: var(--ng-radius);
    box-shadow: var(--ng-shadow);
}

.about-story__image span {
    position: absolute;
    right: -28px;
    bottom: 28px;
    max-width: 220px;
    padding: 18px 22px;
    border-radius: 12px;
    color: var(--ng-black);
    background: var(--ng-gold);
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.45;
}

.about-story__copy h2 {
    margin: 0 0 24px;
    color: var(--ng-black);
    font-size: clamp(2.65rem, 4.3vw, 4.55rem);
    line-height: .98;
}

.about-story__copy p {
    color: var(--ng-muted);
    line-height: 1.85;
}

.about-story__copy blockquote {
    margin: 28px 0 0;
    padding: 22px 26px;
    border-left: 3px solid var(--ng-gold);
    color: var(--ng-black);
    background: #fff;
    font-family: "Riccione Serial", Georgia, serif;
    font-size: 1.5rem;
    font-weight: 600;
}

.about-method {
    background: #fff;
}

.premium-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.premium-feature-grid article {
    padding: 30px;
    border: 1px solid var(--ng-line);
    border-radius: var(--ng-radius);
    background: var(--ng-cream);
    transition: transform .2s, box-shadow .2s;
}

.premium-feature-grid article:hover {
    transform: translateY(-5px);
    box-shadow: var(--ng-shadow);
}

.premium-feature-grid span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 34px;
    border-radius: 50%;
    background: var(--ng-gold);
    font-family: "Riccione Serial", Georgia, serif;
    font-weight: 700;
}

.premium-feature-grid h3 {
    margin: 0 0 10px;
    font-size: 1.8rem;
}

.premium-feature-grid p {
    margin: 0;
    color: var(--ng-muted);
    font-size: .9rem;
    line-height: 1.7;
}

.premium-cta {
    padding: 52px 0;
    color: #fff;
    background: var(--ng-black);
}

.premium-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 42px;
}

.premium-cta h2 {
    max-width: 920px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.25rem, 3.7vw, 3.8rem);
    line-height: 1;
}

/* Areas rebuilt */
.areas-premium-list {
    max-width: 1080px;
    margin: 0 auto;
    border-top: 1px solid var(--ng-line);
}

.areas-premium-item {
    border-bottom: 1px solid var(--ng-line);
    scroll-margin-top: 120px;
}

.areas-premium-item>button {
    display: grid;
    grid-template-columns: 60px 1fr 36px;
    align-items: center;
    width: 100%;
    min-height: 92px;
    padding: 15px 0;
    border: 0;
    color: var(--ng-black);
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.areas-premium-item>button span {
    color: var(--ng-gold-dark);
    font-family: "Riccione Serial", Georgia, serif;
    font-size: 1.15rem;
}

.areas-premium-item>button strong {
    font-family: "Riccione Serial", Georgia, serif;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    font-weight: 600;
}

.areas-premium-item>button i {
    position: relative;
    width: 34px;
    height: 34px;
    border: 1px solid var(--ng-line);
    border-radius: 50%;
}

.areas-premium-item>button i::before,
.areas-premium-item>button i::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 1px;
    background: var(--ng-black);
    transform: translate(-50%, -50%);
}

.areas-premium-item>button i::after {
    transform: translate(-50%, -50%) rotate(90deg);
    transition: transform .2s;
}

.areas-premium-item.is-open>button i {
    border-color: var(--ng-gold);
    background: var(--ng-gold);
}

.areas-premium-item.is-open>button i::after {
    transform: translate(-50%, -50%) rotate(0);
}

.areas-premium-item .ng-practice-panel>div {
    padding: 0 0 30px 60px;
}

.areas-premium-panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px 70px;
}

.areas-premium-panel p {
    margin: 0;
    color: var(--ng-muted);
    line-height: 1.8;
}

.areas-premium-panel ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.areas-premium-panel li {
    position: relative;
    padding-left: 16px;
    font-size: .88rem;
}

.areas-premium-panel li::before {
    content: "";
    position: absolute;
    top: .55em;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--ng-gold);
}

/* Articles catalog */
.articles-toolbar {
    padding: 17px 0;
    border-bottom: 1px solid var(--ng-line);
    background: #fff;
}

.filter-bar {
    gap: 9px;
}

.filter-bar a {
    padding: 9px 15px;
    border-radius: 999px;
}

.filter-bar a[aria-current="page"] {
    color: #fff;
    background: var(--ng-black);
}

.articles-catalog {
    background: var(--ng-cream);
}

.featured-article {
    margin-bottom: 28px;
}

.article-card {
    overflow: hidden;
    border: 1px solid var(--ng-line);
    border-radius: var(--ng-radius);
    background: #fff;
    box-shadow: none;
    transition: transform .22s, box-shadow .22s;
}

.article-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--ng-shadow);
}

.article-card__media {
    height: 245px;
}

.article-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.article-card__body {
    padding: 28px;
}

.article-card h3 {
    margin: 14px 0 12px;
    font-size: clamp(1.75rem, 2.4vw, 2.45rem);
    line-height: 1.05;
}

.article-card__body>p {
    color: var(--ng-muted);
    font-size: .9rem;
    line-height: 1.7;
}

.article-card--featured {
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    min-height: 430px;
}

.article-card--featured .article-card__media {
    height: 100%;
}

.article-card--featured .article-card__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 48px;
}

.article-card--featured h3 {
    font-size: clamp(2.5rem, 4vw, 4.4rem);
}

.articles-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.results-heading {
    margin: 0 0 24px;
    color: var(--ng-muted);
}

/* Article detail */
.article-detail {
    padding-top: 94px;
}

.article-detail__header {
    padding: 62px 0 46px;
    text-align: center;
    background: var(--ng-cream);
}

.container--article {
    max-width: 980px;
}

.article-detail__header .back-link {
    display: inline-block;
    margin-bottom: 28px;
    color: var(--ng-black);
    font-size: .78rem;
    font-weight: 700;
}

.article-detail__header .article-meta {
    justify-content: center;
}

.article-detail__header h1 {
    max-width: 960px;
    margin: 22px auto 0;
    color: var(--ng-black);
    font-size: clamp(3rem, 5.5vw, 6rem);
    line-height: .94;
}

.article-detail__header>.container>p {
    max-width: 750px;
    margin: 25px auto 0;
    color: var(--ng-muted);
    font-size: 1.05rem;
    line-height: 1.8;
}

.article-detail__cover {
    max-width: 1120px;
    margin-top: 52px;
}

.article-detail__cover img {
    width: 100%;
    max-height: 630px;
    object-fit: cover;
    border-radius: var(--ng-radius);
    box-shadow: var(--ng-shadow);
}

.article-detail__body {
    display: grid;
    grid-template-columns: 190px minmax(0, 760px);
    justify-content: center;
    gap: 70px;
    padding-top: 64px;
    padding-bottom: 76px;
}

.article-detail__body aside {
    position: sticky;
    top: 130px;
    align-self: start;
    padding-top: 14px;
    border-top: 2px solid var(--ng-gold);
    color: var(--ng-muted);
    font-size: .73rem;
    line-height: 1.6;
}

.article-detail__body aside span {
    color: var(--ng-gold-dark);
    font-weight: 700;
    text-transform: uppercase;
}

.article-detail__body aside a {
    color: var(--ng-black);
    font-weight: 700;
}

.article-content {
    color: #3f3b37;
    font-size: 1.02rem;
    line-height: 1.9;
}

.article-content h1,
.article-content h2,
.article-content h3 {
    color: var(--ng-black);
    line-height: 1.05;
}

.article-content h1 {
    font-size: 2.8rem;
}

.article-content h2 {
    margin-top: 2.2em;
    font-size: 2.35rem;
}

.article-content h3 {
    margin-top: 1.8em;
    font-size: 1.85rem;
}

.article-content img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
}

.article-content blockquote {
    margin: 2em 0;
    padding: 20px 26px;
    border-left: 3px solid var(--ng-gold);
    background: var(--ng-cream);
    font-family: "Riccione Serial", Georgia, serif;
    font-size: 1.45rem;
    font-weight: 600;
}

.article-inline-cta {
    padding: 48px 0;
    color: #fff;
    background: var(--ng-black);
}

.article-inline-cta .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 42px;
    max-width: 1120px;
}

.article-inline-cta h2 {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.2rem, 3.8vw, 3.8rem);
    line-height: 1;
}

.related-articles {
    background: var(--ng-cream);
}

/* Contact */
.contact-premium {
    background: var(--ng-cream);
}

.contact-premium__grid {
    display: grid;
    grid-template-columns: .86fr 1.14fr;
    align-items: start;
    gap: 32px;
}

.contact-premium__intro {
    position: relative;
    overflow: hidden;
    min-height: 760px;
    padding: 44px;
    border-radius: var(--ng-radius);
    color: #fff;
    background: var(--ng-black);
}

.contact-premium__intro h2 {
    position: relative;
    z-index: 2;
    margin: 0 0 20px;
    color: #fff;
    font-size: clamp(2.7rem, 4.5vw, 4.6rem);
    line-height: .98;
}

.contact-premium__intro>p {
    position: relative;
    z-index: 2;
    color: #ccc5bd;
    line-height: 1.8;
}

.contact-mini-cards {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 28px;
}

.contact-mini-cards article {
    padding: 15px;
    border: 1px solid rgba(203, 145, 71, .27);
    border-radius: 10px;
    background: rgba(0, 0, 0, .22);
}

.contact-mini-cards strong,
.contact-mini-cards span {
    display: block;
}

.contact-mini-cards strong {
    color: var(--ng-gold);
    font-family: "Riccione Serial", Georgia, serif;
    font-size: 1.3rem;
}

.contact-mini-cards span {
    margin-top: 6px;
    font-size: .68rem;
    font-weight: 600;
}

.contact-premium__intro>img {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 72%;
    height: 52%;
    object-fit: cover;
    object-position: center 18%;
    opacity: .42;
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 28%);
    mask-image: linear-gradient(to bottom, transparent, #000 28%);
}

.contact-premium .form-card {
    padding: 40px;
    border: 1px solid var(--ng-line);
    border-radius: var(--ng-radius);
    box-shadow: var(--ng-shadow);
}

.contact-premium .field input,
.contact-premium .field select,
.contact-premium .field textarea {
    border-radius: 10px;
    background: #fff;
}

/* Footer contrast and credit */
.site-footer {
    padding-top: 62px;
    background: #111;
}

.site-footer,
.site-footer p {
    color: #aaa49e;
}

.site-footer h2 {
    color: #fff;
}

.footer-cta {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    margin-top: 12px;
    padding-bottom: 5px;
    border-bottom: 1px solid var(--ng-gold);
    color: #fff !important;
    font-weight: 700;
}

.footer-cta:hover {
    color: var(--ng-gold) !important;
}

.footer-bottom {
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}

.footer-bottom p:last-child {
    text-align: right;
}

.impulse-credit {
    color: #fff !important;
    font-weight: 700;
}

.impulse-credit:hover {
    color: var(--ng-gold) !important;
}

@media (max-width: 1100px) {
    .site-nav {
        gap: 20px;
    }

    .site-nav>ul {
        gap: 20px;
    }

    .ng-method__steps,
    .premium-feature-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .inner-hero__grid {
        grid-template-columns: 1fr .55fr;
        gap: 35px;
    }

    .articles-grid {
        grid-template-columns: 1fr 1fr;
    }

    .contact-mini-cards {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {

    .site-nav>ul>li>a,
    .site-nav .nav-parent {
        width: 100%;
        min-height: 44px;
    }

    .nav-submenu {
        position: static;
        width: 100%;
        max-height: 0;
        padding: 0 10px !important;
        opacity: 1;
        visibility: visible;
        transform: none;
        overflow: hidden;
        border: 0;
        background: rgba(255, 255, 255, .04);
        box-shadow: none;
        transition: max-height .25s, padding .25s;
    }

    .nav-has-submenu.is-open .nav-submenu {
        max-height: 240px;
        padding: 8px 10px !important;
    }

    .inner-hero__grid {
        min-height: 0;
        padding-top: 96px;
    }

    .inner-hero__copy {
        padding: 54px 0;
    }

    .inner-hero__portrait {
        height: 390px;
    }

    .about-story__grid,
    .contact-premium__grid {
        grid-template-columns: 1fr;
    }

    .about-story__image {
        height: 560px;
    }

    .about-story__image span {
        right: 20px;
    }

    .ng-practice__header {
        position: static;
    }

    .ng-method__steps {
        grid-template-columns: 1fr 1fr !important;
    }

    .article-detail__body {
        grid-template-columns: minmax(0, 760px);
        gap: 25px;
    }

    .article-detail__body aside {
        position: static;
    }

    .contact-premium__intro {
        min-height: 650px;
    }
}

@media (max-width: 720px) {
    .compact-section {
        padding: 58px 0;
    }

    .center-heading {
        margin-bottom: 30px;
    }

    .site-header .header-inner {
        min-height: 78px;
    }

    .inner-hero__grid {
        display: block;
        padding-top: 80px;
    }

    .inner-hero__copy {
        position: relative;
        z-index: 2;
        padding: 48px 0 30px;
        text-align: center;
    }

    .inner-hero__copy h1 {
        font-size: clamp(3rem, 14vw, 4.6rem);
    }

    .inner-hero__copy>p:not(.kicker) {
        font-size: .94rem;
    }

    .inner-hero__portrait {
        height: 350px;
        max-width: 420px;
        margin: 0 auto;
    }

    .ng-hero {
        min-height: 700px;
    }

    .ng-hero__content {
        padding-top: 100px;
    }

    .ng-hero h1 {
        font-size: clamp(3rem, 13vw, 4.4rem);
    }

    .ng-about,
    .ng-practice,
    .ng-method,
    .ng-insights,
    .ng-trust,
    .ng-contact {
        padding: 58px 0 !important;
    }

    .ng-about__grid {
        gap: 38px;
    }

    .ng-about__visual,
    .ng-about__portrait {
        min-height: 460px;
    }

    .ng-method__steps,
    .premium-feature-grid,
    .articles-grid {
        grid-template-columns: 1fr !important;
    }

    .ng-method__steps li>span {
        margin-bottom: 22px;
    }

    .ng-locations {
        padding: 56px 0 !important;
    }

    .ng-trust__layout {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .about-story__grid {
        gap: 38px;
    }

    .about-story__image {
        height: 480px;
    }

    .about-story__image span {
        right: 12px;
        bottom: 12px;
    }

    .premium-cta__inner,
    .article-inline-cta .container {
        display: block;
        text-align: center;
    }

    .premium-cta .button,
    .article-inline-cta .button {
        margin-top: 25px;
    }

    .areas-premium-item>button {
        grid-template-columns: 40px 1fr 34px;
    }

    .areas-premium-item .ng-practice-panel>div {
        padding-left: 40px;
    }

    .areas-premium-panel {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .areas-premium-panel ul {
        grid-template-columns: 1fr;
    }

    .article-card--featured {
        display: block;
        min-height: 0;
    }

    .article-card--featured .article-card__media {
        height: 260px;
    }

    .article-card--featured .article-card__body {
        padding: 28px;
    }

    .article-detail {
        padding-top: 78px;
    }

    .article-detail__header {
        padding: 48px 0 38px;
    }

    .article-detail__header h1 {
        font-size: clamp(2.85rem, 13vw, 4.5rem);
    }

    .article-detail__cover {
        margin-top: 30px;
    }

    .article-detail__cover img {
        border-radius: 12px;
    }

    .article-detail__body {
        padding-top: 40px;
        padding-bottom: 55px;
    }

    .contact-premium__intro,
    .contact-premium .form-card {
        padding: 28px 22px;
    }

    .contact-premium__intro {
        min-height: 600px;
    }

    .footer-bottom {
        display: block;
        text-align: center;
    }

    .footer-bottom p:last-child {
        text-align: center;
    }
}

/* Atendimento unificado — chamada compacta e imagem lateral */
.ng-contact__unified,
.contact-unified {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr);
    overflow: hidden;
    border: 1px solid rgba(203, 145, 71, .42);
    border-radius: var(--ng-radius);
    color: #fff;
    background: linear-gradient(145deg, #1e1e1e 0%, #111 100%);
    box-shadow: var(--ng-shadow);
}

.ng-contact__unified-copy,
.contact-unified__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: clamp(38px, 5.5vw, 72px);
}

.ng-contact__unified .kicker,
.contact-unified .kicker {
    color: var(--ng-gold) !important;
}

.ng-contact__unified h2,
.contact-unified h2 {
    max-width: 720px;
    margin: 0 0 20px;
    color: #fff !important;
    font-size: clamp(2.15rem, 3.1vw, 3.35rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -.02em !important;
}

.ng-contact__unified p:not(.kicker),
.contact-unified__content>p:not(.kicker),
.contact-unified li {
    color: #d7d3cd;
    line-height: 1.72;
}

.ng-contact__unified-copy>p:not(.kicker),
.contact-unified__content>p:not(.kicker) {
    max-width: 720px;
    margin: 0;
}

.ng-contact__unified ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    margin: 28px 0;
    padding: 0;
    border-top: 1px solid rgba(255, 255, 255, .12);
    list-style: none;
}

.ng-contact__unified li {
    display: grid;
    gap: 5px;
    padding: 18px 16px 0 0;
    border: 0;
}

.ng-contact__unified li strong {
    color: var(--ng-gold);
    font-size: .78rem;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ng-contact__unified li span {
    color: #fff;
}

.ng-contact__unified small,
.contact-unified small {
    display: block;
    max-width: 650px;
    margin-top: 16px;
    color: #aaa49c;
    line-height: 1.5;
}

.ng-contact__unified-media,
.contact-unified__media {
    position: relative;
    min-height: 590px;
    background: #191919;
}

.ng-contact__unified-media::after,
.contact-unified__media::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #151515 0%, transparent 28%);
    content: "";
    pointer-events: none;
}

.ng-contact__unified-media img,
.contact-unified__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
}

.contact-unified__content ul {
    display: grid;
    gap: 10px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.contact-unified__content li {
    position: relative;
    padding-left: 20px;
}

.contact-unified__content li::before {
    position: absolute;
    top: .7em;
    left: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ng-gold);
    content: "";
}

.contact-unified .contact-mini-cards {
    width: 100%;
}

.contact-unified .button {
    margin-top: 26px;
}

@media (max-width: 900px) {
    .ng-contact__unified,
    .contact-unified {
        grid-template-columns: 1fr;
    }

    .ng-contact__unified-media,
    .contact-unified__media {
        min-height: 420px;
        order: -1;
    }

    .ng-contact__unified-media::after,
    .contact-unified__media::after {
        background: linear-gradient(0deg, #151515 0%, transparent 32%);
    }
}

@media (max-width: 560px) {
    .ng-contact__unified-copy,
    .contact-unified__content {
        padding: 34px 24px;
    }

    .ng-contact__unified h2,
    .contact-unified h2 {
        font-size: clamp(2rem, 10vw, 2.65rem) !important;
    }

    .ng-contact__unified ul,
    .contact-mini-cards {
        grid-template-columns: 1fr;
    }

    .ng-contact__unified-media,
    .contact-unified__media {
        min-height: 330px;
    }
}

/* Editorial refinement: balanced accordions, image credit and article layout. */
@media (min-width: 981px) {
    .ng-practice__layout {
        align-items: center !important;
    }

    .ng-practice__header {
        position: static !important;
        align-self: center !important;
    }

    .topic-process__layout {
        align-items: stretch !important;
    }

    .topic-process__intro {
        position: sticky !important;
        top: 50vh !important;
        align-self: start;
        transform: translateY(-50%);
    }
}

.ng-location-credit {
    position: absolute;
    z-index: 2;
    right: 12px;
    bottom: 7px;
    max-width: calc(100% - 24px);
    color: rgba(255, 255, 255, .46);
    font-size: .46rem;
    line-height: 1.2;
    text-align: right;
}

.ng-location-credit a {
    color: inherit;
}

.ng-location-credit a:hover {
    color: rgba(255, 255, 255, .82);
}

.ng-insight-card__media,
.article-card__media {
    display: block !important;
    width: 100% !important;
    overflow: hidden;
}

.ng-insight-card__media img,
.article-card__media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

.article-card {
    display: flex !important;
    min-width: 0;
    flex-direction: column;
}

.article-card__body {
    flex: 1;
}

.article-detail {
    padding-top: 0 !important;
}

.article-detail__header {
    padding: 38px 0 !important;
    text-align: left !important;
    background: var(--ng-cream);
}

.article-detail__hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
    gap: clamp(30px, 4vw, 62px);
    align-items: center;
}

.article-detail__intro {
    min-width: 0;
}

.article-detail__header .back-link {
    margin-bottom: 22px !important;
}

.article-detail__header .article-meta {
    justify-content: flex-start !important;
}

.article-detail__header h1 {
    max-width: 760px !important;
    margin: 16px 0 0 !important;
    font-size: clamp(2.75rem, 4.35vw, 4.75rem) !important;
    line-height: .96 !important;
}

.article-detail__intro>p {
    max-width: 680px;
    margin: 18px 0 0;
    color: var(--ng-muted);
    font-size: .95rem;
    line-height: 1.68;
}

.article-detail__cover {
    width: 100%;
    height: clamp(300px, 32vw, 440px);
    margin: 0 !important;
    overflow: hidden;
    border-radius: 20px;
    background: #e9e4dc;
    box-shadow: var(--ng-shadow);
}

.article-detail__cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.article-detail__hero-grid:not(:has(.article-detail__cover)) {
    grid-template-columns: minmax(0, 820px);
    justify-content: center;
}

.article-detail__hero-grid:not(:has(.article-detail__cover)) .article-detail__intro {
    text-align: center;
}

.article-detail__hero-grid:not(:has(.article-detail__cover)) .article-meta {
    justify-content: center !important;
}

.article-detail__hero-grid:not(:has(.article-detail__cover)) .article-detail__intro>p {
    margin-right: auto;
    margin-left: auto;
}

.article-detail__body {
    gap: 52px !important;
    padding-top: 48px !important;
    padding-bottom: 60px !important;
}

.article-content {
    line-height: 1.82 !important;
}

.article-content>h1:first-child {
    display: none;
}

.article-content h2 {
    margin-top: 1.6em !important;
}

.article-content h3 {
    margin-top: 1.4em !important;
}

@media (max-width: 980px) {
    .topic-process__intro {
        transform: none;
    }

    .article-detail__hero-grid {
        grid-template-columns: 1fr;
    }

    .article-detail__cover {
        height: min(58vw, 430px);
    }
}

@media (max-width: 720px) {
    .article-detail__header {
        padding: 28px 0 34px !important;
    }

    .article-detail__hero-grid,
    .article-detail__intro {
        width: 100%;
        min-width: 0;
    }

    .article-detail__hero-grid {
        gap: 24px;
    }

    .article-detail__header h1 {
        width: 100%;
        max-width: 100% !important;
        font-size: clamp(2.05rem, 9vw, 2.65rem) !important;
        overflow-wrap: anywhere;
    }

    .article-detail__cover {
        height: 62vw;
        min-height: 220px;
        border-radius: 14px;
    }

    .article-detail__body {
        gap: 22px !important;
        padding-top: 34px !important;
    }

    .ng-hero h1 {
        width: 100%;
        max-width: 100% !important;
        font-size: clamp(2.2rem, 10vw, 2.8rem) !important;
        overflow-wrap: anywhere;
    }
}

/* Alignment and mobile consistency pass. */
.ng-practice__layout,
.topic-process__layout {
    align-items: stretch !important;
}

.ng-practice__header,
.topic-process__intro {
    display: flex;
    position: static !important;
    flex-direction: column;
    align-self: stretch;
    justify-content: center;
    transform: none !important;
}

.ng-practice-item>button,
.areas-premium-item>button {
    box-sizing: border-box;
    align-items: center !important;
}

.ng-practice-item>button>span,
.ng-practice-item>button>strong,
.ng-practice-item>button>i,
.areas-premium-item>button>span,
.areas-premium-item>button>strong,
.areas-premium-item>button>i {
    align-self: center;
}

@media (max-width: 720px) {

    /* On phones, every editorial block uses one calm centered axis. */
    .ng-home section:not(.ng-proof),
    .premium-page section,
    .site-footer {
        text-align: center;
    }

    .ng-about__copy,
    .ng-practice__header,
    .ng-method__intro,
    .ng-trust__heading,
    .ng-contact__copy,
    .inner-hero__copy,
    .topic-process__intro,
    .center-heading,
    .premium-cta__inner,
    .article-detail__intro,
    .article-content,
    .footer-grid,
    .footer-bottom {
        text-align: center !important;
    }

    .ng-about__copy p,
    .ng-practice__header p,
    .ng-method__intro p,
    .ng-trust__heading p,
    .ng-contact__copy>p,
    .inner-hero__copy>p,
    .topic-process__intro>p,
    .article-detail__intro>p,
    .article-content p,
    .article-content ul,
    .article-content ol {
        margin-right: auto !important;
        margin-left: auto !important;
    }

    .ng-actions,
    .article-meta,
    .premium-cta__inner,
    .footer-bottom {
        justify-content: center !important;
    }

    .kicker,
    .ng-kicker {
        justify-content: center !important;
    }

    .ng-about__grid {
        gap: 20px !important;
    }

    .ng-about__visual {
        margin-bottom: 0 !important;
    }

    .ng-about__copy {
        padding-top: 0 !important;
    }

    .ng-practice__header,
    .topic-process__intro {
        align-items: center;
    }

    .ng-practice-item>button,
    .areas-premium-item>button {
        grid-template-columns: 38px minmax(0, 1fr) 34px !important;
        min-height: 72px !important;
        text-align: center !important;
    }

    .ng-practice-panel>div,
    .topic-accordion .ng-practice-panel>div {
        padding-right: 38px !important;
        padding-left: 38px !important;
        text-align: center;
    }

    .ng-practice-panel p,
    .ng-practice-panel a {
        margin-right: auto !important;
        margin-left: auto !important;
    }

    .ng-method__steps li,
    .topic-benefits article,
    .ng-trust__grid article,
    .ng-locations__rail article,
    .article-card__body {
        text-align: center !important;
    }

    .ng-method__steps li {
        grid-template-columns: 1fr !important;
        justify-items: center;
    }

    .ng-method__steps p {
        grid-column: 1;
    }

    .ng-trust__grid article {
        grid-template-columns: 1fr !important;
        justify-items: center;
    }

    .ng-contact__copy li {
        grid-template-columns: 1fr !important;
        gap: 5px;
    }

    .article-detail__header .article-meta {
        justify-content: center !important;
    }

    .article-content ul,
    .article-content ol {
        display: inline-block;
        text-align: left;
    }

    .footer-grid {
        justify-items: center;
    }

    .footer-links {
        padding: 0;
    }

    /* Hover-only movement has no purpose on touch screens. */
    .ng-method__steps li:hover,
    .topic-benefits article:hover,
    .ng-trust__grid article:hover,
    .ng-locations__rail article:hover,
    .article-card:hover,
    .ng-insight-card:hover {
        transform: none !important;
        box-shadow: none !important;
    }
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--ink);
    background: var(--paper);
    font-family: var(--sans);
    font-size: 16px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

html.menu-open,
body.menu-open {
    overflow: hidden;
    overscroll-behavior: none;
}

body.menu-open {
    position: fixed;
    right: 0;
    left: 0;
    width: 100%;
}

body.menu-open .site-header {
    position: fixed !important;
    top: 0 !important;
    right: 0;
    left: 0;
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

h1,
h2,
h3 {
    font-family: var(--serif);
    line-height: 1.14;
    font-weight: 600;
}

h1 {
    font-size: clamp(2.7rem, 6.3vw, 5.7rem);
    letter-spacing: -.045em;
}

h2 {
    font-size: clamp(2rem, 4vw, 3.55rem);
    letter-spacing: -.035em;
}

h3 {
    font-size: 1.45rem;
}

.container {
    width: min(1160px, calc(100% - 40px));
    margin-inline: auto;
}

.container--narrow {
    width: min(860px, calc(100% - 40px));
}

.section {
    padding: 112px 0;
}

.section--tint {
    background: var(--cream);
}

.eyebrow {
    margin-bottom: 22px;
    color: var(--wine-soft);
    font-size: .75rem;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.lead {
    max-width: 750px;
    color: var(--muted);
    font-size: clamp(1.08rem, 2vw, 1.35rem);
    line-height: 1.7;
}

.lead--small {
    font-size: 1.1rem;
}

.skip-link {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 12px;
    padding: 10px 16px;
    color: var(--white);
    background: var(--wine);
    transform: translateY(-160%);
    transition: transform .2s;
}

.skip-link:focus {
    transform: none;
}

.button {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    padding: 13px 25px;
    border: 1px solid var(--wine);
    border-radius: 2px;
    color: var(--white);
    background: var(--wine);
    font-size: .88rem;
    font-weight: 700;
    letter-spacing: .02em;
    cursor: pointer;
    transition: background .2s, color .2s, transform .2s;
}

.button:hover {
    background: var(--wine-deep);
    transform: translateY(-2px);
}

.button--small {
    min-height: 42px;
    padding: 9px 18px;
}

.button--ghost,
.button--outline {
    color: var(--wine);
    background: transparent;
}

.button--ghost {
    border-color: transparent;
}

.button--ghost:hover,
.button--outline:hover {
    color: var(--white);
    background: var(--wine);
}

.button--light {
    border-color: var(--white);
    color: var(--wine);
    background: var(--white);
}

.button--light:hover {
    color: var(--wine);
    background: var(--cream);
}

.button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 38px;
}

.text-link {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    padding-bottom: 3px;
    border-bottom: 1px solid rgba(61, 23, 33, .35);
    color: var(--wine);
    font-size: .9rem;
    font-weight: 700;
}

.text-link span {
    transition: transform .2s;
}

.text-link:hover span {
    transform: translateX(4px);
}

.text-link--light {
    border-color: rgba(255, 255, 255, .4);
    color: var(--white);
}

.site-header {
    position: relative;
    z-index: 100;
    height: 88px;
    border-bottom: 1px solid rgba(61, 23, 33, .1);
    background: rgba(255, 253, 249, .96);
}

.site-header.is-sticky {
    position: sticky;
    top: 0;
    box-shadow: 0 8px 30px rgba(43, 14, 22, .06);
}

.header-inner {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: space-between;
}

.brand {
    display: inline-flex;
    gap: 13px;
    align-items: center;
}

.brand-mark {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid var(--gold);
    border-radius: 50%;
    color: var(--wine);
    font-family: var(--serif);
    font-size: 1rem;
    letter-spacing: -.06em;
}

.brand-copy {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.brand-copy strong {
    color: var(--wine);
    font-family: var(--serif);
    font-size: 1.13rem;
    font-weight: 600;
}

.brand-copy small {
    margin-top: 4px;
    color: var(--muted);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.site-nav {
    display: flex;
    gap: 34px;
    align-items: center;
}

.site-nav ul {
    display: flex;
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-nav ul a {
    position: relative;
    display: block;
    padding: 12px 0;
    color: #463c3e;
    font-size: .86rem;
    font-weight: 600;
}

.site-nav ul a::after {
    position: absolute;
    right: 0;
    bottom: 5px;
    left: 0;
    height: 1px;
    background: var(--gold);
    content: "";
    transform: scaleX(0);
    transition: transform .2s;
}

.site-nav ul a:hover::after,
.site-nav ul a[aria-current="page"]::after {
    transform: scaleX(1);
}

.menu-toggle {
    display: none;
    border: 0;
    color: var(--wine);
    background: none;
    font-weight: 700;
}

.home-hero {
    overflow: hidden;
    padding: 82px 0 0;
    background: linear-gradient(135deg, var(--paper) 0 63%, var(--cream) 63%);
}

.home-hero__grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 70px;
    align-items: center;
    min-height: 570px;
    padding-bottom: 82px;
}

.home-hero h1 {
    max-width: 760px;
    margin-bottom: 28px;
    color: var(--wine);
}

.home-hero__content .lead {
    max-width: 650px;
}

.home-hero__visual {
    position: relative;
    display: grid;
    min-height: 500px;
    place-items: center;
    border-radius: 45% 45% 8px 8px;
    background: var(--wine);
}

.home-hero__visual::before,
.home-hero__visual::after {
    position: absolute;
    border: 1px solid rgba(185, 151, 91, .45);
    border-radius: 50%;
    content: "";
}

.home-hero__visual::before {
    width: 320px;
    height: 320px;
}

.home-hero__visual::after {
    width: 250px;
    height: 250px;
}

.hero-monogram {
    color: var(--gold);
    font-family: var(--serif);
    font-size: 5.8rem;
    letter-spacing: -.09em;
}

.hero-quote {
    position: absolute;
    right: -28px;
    bottom: 38px;
    width: 280px;
    padding: 24px 26px;
    color: var(--ink);
    background: var(--white);
    box-shadow: var(--shadow);
}

.hero-quote>span {
    float: left;
    margin: -13px 8px 0 0;
    color: var(--gold);
    font-family: var(--serif);
    font-size: 3rem;
    line-height: 1;
}

.hero-quote p {
    margin: 0;
    font-family: var(--serif);
    font-size: 1.02rem;
    line-height: 1.55;
}

.trust-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--line);
}

.trust-strip span {
    padding: 20px;
    text-align: center;
    color: var(--muted);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.trust-strip span+span {
    border-left: 1px solid var(--line);
}

.split-intro {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 90px;
    align-items: end;
    margin-bottom: 65px;
}

.section-heading h2 {
    max-width: 690px;
    margin: 0;
    color: var(--wine);
}

.practice-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
}

.practice-card {
    min-height: 330px;
    padding: 32px 28px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    transition: background .25s, transform .25s;
}

.practice-card:hover {
    z-index: 1;
    background: var(--cream);
    transform: translateY(-5px);
}

.card-number {
    display: block;
    margin-bottom: 65px;
    color: var(--gold);
    font-size: .8rem;
    font-weight: 700;
}

.practice-card h3 {
    color: var(--wine);
}

.practice-card p {
    margin-bottom: 0;
    color: var(--muted);
    font-size: .93rem;
}

.section-action {
    margin-top: 38px;
    text-align: center;
}

.method-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 100px;
    align-items: center;
}

.method-panel {
    padding: 55px;
    color: var(--white);
    background: var(--wine);
}

.method-panel .eyebrow {
    color: #d3ba8d;
}

.method-panel h2 {
    margin-bottom: 25px;
}

.method-panel p:last-child {
    margin-bottom: 0;
    color: #ddcfd2;
}

.steps {
    margin: 0;
    padding: 0;
    list-style: none;
}

.steps li {
    display: grid;
    grid-template-columns: 55px 1fr;
    gap: 20px;
    padding: 30px 0;
    border-bottom: 1px solid var(--line);
}

.steps li>span {
    color: var(--gold);
    font-size: .82rem;
    font-weight: 700;
}

.steps h3 {
    margin-bottom: 8px;
    color: var(--wine);
}

.steps p {
    margin: 0;
    color: var(--muted);
}

.section-title-row {
    display: flex;
    gap: 30px;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 48px;
}

.section-title-row h2 {
    max-width: 700px;
    margin: 0;
    color: var(--wine);
}

.articles-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.article-card {
    overflow: hidden;
    border: 1px solid var(--line);
    background: var(--white);
}

.article-card__media {
    display: block;
    overflow: hidden;
    aspect-ratio: 1.58;
    background: var(--cream);
}

.article-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s;
}

.article-card:hover .article-card__media img {
    transform: scale(1.035);
}

.article-card__placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    background: linear-gradient(135deg, var(--wine), #6e3946);
}

.article-card__placeholder span {
    color: var(--gold);
    font-family: var(--serif);
    font-size: 2.6rem;
}

.article-card__body {
    padding: 26px;
}

.article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    align-items: center;
    margin-bottom: 15px;
    color: var(--muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.article-meta span {
    color: var(--wine-soft);
}

.article-card h3 {
    margin-bottom: 13px;
    color: var(--wine);
}

.article-card h3 a:hover {
    color: var(--wine-soft);
}

.article-card p {
    color: var(--muted);
    font-size: .92rem;
}

.cta-section {
    padding: 0 0 80px;
    background: var(--paper);
}

.cta-box {
    display: flex;
    gap: 45px;
    align-items: center;
    justify-content: space-between;
    padding: 62px 70px;
    color: var(--white);
    background: var(--wine);
}

.cta-box .eyebrow {
    color: #d8bc89;
}

.cta-box h2 {
    max-width: 800px;
    margin-bottom: 0;
    font-size: clamp(1.8rem, 3.5vw, 3rem);
}

.page-hero {
    padding: 105px 0 95px;
    color: var(--white);
    background: var(--wine);
}

.page-hero .eyebrow {
    color: #d8bc89;
}

.page-hero h1 {
    max-width: 1000px;
    margin-bottom: 0;
    font-size: clamp(2.8rem, 5.7vw, 5rem);
}

.page-hero--split {
    position: relative;
    overflow: hidden;
}

.page-hero--split::after {
    position: absolute;
    top: -220px;
    right: -100px;
    width: 590px;
    height: 590px;
    border: 1px solid rgba(185, 151, 91, .25);
    border-radius: 50%;
    content: "";
}

.page-hero--split .lead {
    position: relative;
    z-index: 1;
    margin: 32px 0 0;
    color: #ddcfd2;
}

.about-grid {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 100px;
    align-items: center;
}

.portrait-placeholder {
    position: relative;
    display: grid;
    min-height: 590px;
    place-items: center;
    color: var(--gold);
    background: var(--wine);
}

.portrait-placeholder::after {
    position: absolute;
    inset: 25px;
    border: 1px solid rgba(185, 151, 91, .38);
    content: "";
}

.portrait-placeholder>span {
    font-family: var(--serif);
    font-size: 5rem;
    letter-spacing: -.08em;
}

.portrait-placeholder>img {
    position: relative;
    z-index: 1;
    width: min(300px, 68%);
    max-height: 430px;
    object-fit: contain;
}

.portrait-placeholder>img.is-photo {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    filter: grayscale(1);
}

.portrait-placeholder small {
    position: absolute;
    z-index: 1;
    right: -25px;
    bottom: 35px;
    padding: 18px 25px;
    color: var(--wine);
    background: var(--white);
    box-shadow: var(--shadow);
    font-family: var(--serif);
    font-size: 1rem;
}

.prose-block h2 {
    color: var(--wine);
}

.prose-block>p:not(.eyebrow) {
    color: var(--muted);
    font-size: 1.04rem;
}

.values-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 110px;
}

.value-list article {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 22px;
    padding: 26px 0;
    border-bottom: 1px solid var(--line);
}

.value-list span {
    color: var(--gold);
    font-size: .78rem;
    font-weight: 700;
}

.value-list h3 {
    margin-bottom: 7px;
    color: var(--wine);
}

.value-list p {
    margin: 0;
    color: var(--muted);
}

.areas-list {
    border-top: 1px solid var(--line);
}

.area-row {
    display: grid;
    grid-template-columns: 70px 1fr .8fr;
    gap: 45px;
    padding: 50px 0;
    border-bottom: 1px solid var(--line);
}

.area-row__number {
    color: var(--gold);
    font-weight: 700;
}

.area-row h2 {
    margin-bottom: 16px;
    color: var(--wine);
    font-size: clamp(1.7rem, 3vw, 2.45rem);
}

.area-row p {
    max-width: 560px;
    margin: 0;
    color: var(--muted);
}

.area-row ul {
    margin: 3px 0 0;
    padding: 0;
    list-style: none;
}

.area-row li {
    position: relative;
    padding: 9px 0 9px 20px;
    border-bottom: 1px solid #eee6df;
    color: #514749;
}

.area-row li::before {
    position: absolute;
    top: 19px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gold);
    content: "";
}

.info-banner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 90px;
    align-items: center;
}

.info-banner h2 {
    margin: 0;
    color: var(--wine);
}

.info-banner>div:last-child p {
    margin-bottom: 28px;
    color: var(--muted);
}

.articles-toolbar {
    border-bottom: 1px solid var(--line);
    background: var(--white);
}

.filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    padding-top: 18px;
    padding-bottom: 18px;
}

.filter-bar>span {
    margin-right: 7px;
    color: var(--muted);
    font-size: .8rem;
    font-weight: 700;
}

.filter-bar a {
    padding: 7px 13px;
    border: 1px solid transparent;
    border-radius: 30px;
    font-size: .8rem;
}

.filter-bar a:hover,
.filter-bar a[aria-current="page"] {
    border-color: var(--wine);
    color: var(--white);
    background: var(--wine);
}

.articles-section {
    padding-top: 75px;
}

.results-heading {
    margin-bottom: 35px;
    color: var(--muted);
}

.article-card--featured {
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    margin-bottom: 55px;
}

.article-card--featured .article-card__media {
    aspect-ratio: auto;
    min-height: 430px;
}

.article-card--featured .article-card__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 55px;
}

.article-card--featured h3 {
    font-size: clamp(1.8rem, 3vw, 2.65rem);
}

.articles-grid--below:empty {
    display: none;
}

.empty-state {
    max-width: 650px;
    margin-inline: auto;
    padding: 60px 25px;
    text-align: center;
}

.empty-state>span {
    display: grid;
    width: 82px;
    height: 82px;
    margin: 0 auto 25px;
    place-items: center;
    border: 1px solid var(--gold);
    border-radius: 50%;
    color: var(--wine);
    font-family: var(--serif);
    font-size: 1.6rem;
}

.empty-state h2 {
    margin-bottom: 15px;
    color: var(--wine);
}

.empty-state p {
    color: var(--muted);
}

.article-header {
    padding: 90px 0 65px;
    background: var(--cream);
    text-align: center;
}

.article-header .article-meta {
    justify-content: center;
    margin-top: 40px;
}

.article-header h1 {
    color: var(--wine);
    font-size: clamp(2.5rem, 5vw, 4.6rem);
}

.article-header .lead {
    margin: 25px auto 0;
}

.back-link {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    color: var(--wine);
    font-size: .85rem;
    font-weight: 700;
}

.article-cover {
    margin-top: 65px;
}

.article-cover img {
    width: 100%;
    max-height: 760px;
    object-fit: cover;
}

.article-layout {
    display: grid;
    grid-template-columns: 190px minmax(0, 760px);
    gap: 80px;
    justify-content: center;
    padding-top: 75px;
    padding-bottom: 110px;
}

.article-aside {
    position: sticky;
    top: 120px;
    align-self: start;
    padding-top: 18px;
    border-top: 1px solid var(--gold);
    color: var(--muted);
    font-size: .8rem;
}

.article-aside a {
    display: inline-block;
    margin-top: 12px;
    color: var(--wine);
    font-weight: 700;
}

.article-content {
    color: #403638;
    font-size: 1.08rem;
    line-height: 1.85;
}

.article-content h2,
.article-content h3 {
    margin-top: 2em;
    color: var(--wine);
}

.article-content h2 {
    font-size: 2rem;
}

.article-content h3 {
    font-size: 1.5rem;
}

.article-content a {
    color: var(--wine-soft);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.article-content blockquote {
    margin: 35px 0;
    padding: 12px 0 12px 28px;
    border-left: 3px solid var(--gold);
    color: var(--wine);
    font-family: var(--serif);
    font-size: 1.35rem;
}

.contact-section {
    background: linear-gradient(90deg, var(--cream) 0 42%, var(--paper) 42%);
}

.contact-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 90px;
    align-items: start;
}

.contact-intro {
    padding-top: 25px;
}

.contact-intro h2 {
    color: var(--wine);
}

.contact-intro>p:not(.eyebrow) {
    color: var(--muted);
}

.contact-points {
    margin-top: 45px;
}

.contact-points>div {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 15px;
    padding: 17px 0;
    border-bottom: 1px solid var(--line);
}

.contact-points span {
    color: var(--gold);
    font-size: .75rem;
    font-weight: 700;
}

.contact-points p {
    margin: 0;
    color: var(--muted);
    font-size: .88rem;
}

.contact-points strong {
    display: block;
    color: var(--wine);
}

.form-card {
    scroll-margin-top: 110px;
    padding: 45px;
    background: var(--white);
    box-shadow: var(--shadow);
}

.field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.field {
    margin-bottom: 20px;
}

.field label {
    display: block;
    margin-bottom: 7px;
    color: var(--wine);
    font-size: .8rem;
    font-weight: 700;
}

.field input,
.field select,
.field textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 0;
    outline: none;
    color: var(--ink);
    background: var(--paper);
    transition: border .2s, box-shadow .2s;
}

.field input,
.field select {
    height: 52px;
    padding: 0 15px;
}

.field textarea {
    min-height: 145px;
    padding: 14px 15px;
    resize: vertical;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
    border-color: var(--wine-soft);
    box-shadow: 0 0 0 3px rgba(109, 53, 67, .1);
}

.form-privacy {
    margin-bottom: 22px;
    color: var(--muted);
    font-size: .76rem;
}

.honeypot {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    clip: rect(0 0 0 0);
}

.form-notice {
    margin-bottom: 28px;
    padding: 20px 22px;
    border-left: 3px solid;
}

.form-notice p,
.form-notice ul {
    margin: 6px 0 0;
}

.form-notice--success {
    border-color: #547a5a;
    background: #eef5ed;
}

.form-notice--error {
    border-color: #a84646;
    background: #fff0ee;
}

.site-footer {
    padding: 80px 0 0;
    color: #d9cdd0;
    background: var(--wine-deep);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr .7fr 1fr;
    gap: 80px;
    padding-bottom: 65px;
}

.brand--light .brand-mark,
.brand--light .brand-copy strong {
    color: var(--white);
}

.brand--light .brand-copy small {
    color: #bbaeb1;
}

.footer-brand p {
    max-width: 430px;
    margin: 25px 0 0;
}

.site-footer h2 {
    margin-bottom: 18px;
    color: var(--white);
    font-family: var(--sans);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.site-footer p,
.footer-links {
    font-size: .88rem;
}

.footer-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-links li {
    margin-bottom: 9px;
}

.footer-links a:hover {
    color: var(--white);
}

.footer-bottom {
    display: flex;
    gap: 30px;
    justify-content: space-between;
    padding-top: 22px;
    padding-bottom: 22px;
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.footer-bottom p {
    margin: 0;
    color: #aa999e;
    font-size: .7rem;
}

.reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .65s ease, transform .65s ease;
}

.reveal.is-visible {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    * {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}

@media (max-width: 980px) {
    .section {
        padding: 85px 0;
    }

    .menu-toggle {
        display: flex;
        gap: 10px;
        align-items: center;
        padding: 10px;
        cursor: pointer;
    }

    .menu-toggle__icon,
    .menu-toggle__icon::before,
    .menu-toggle__icon::after {
        display: block;
        width: 22px;
        height: 2px;
        background: currentColor;
        transition: transform .2s;
        content: "";
    }

    .menu-toggle__icon {
        position: relative;
    }

    .menu-toggle__icon::before {
        position: absolute;
        top: -7px;
    }

    .menu-toggle__icon::after {
        position: absolute;
        top: 7px;
    }

    .menu-toggle[aria-expanded="true"] .menu-toggle__icon {
        background: transparent;
    }

    .menu-toggle[aria-expanded="true"] .menu-toggle__icon::before {
        top: 0;
        transform: rotate(45deg);
    }

    .menu-toggle[aria-expanded="true"] .menu-toggle__icon::after {
        top: 0;
        transform: rotate(-45deg);
    }

    .site-nav {
        position: fixed;
        inset: 88px 0 0;
        display: none;
        flex-direction: column;
        gap: 25px;
        align-items: stretch;
        padding: 35px 20px;
        background: var(--paper);
    }

    .site-nav.is-open {
        display: flex;
    }

    .site-nav ul {
        flex-direction: column;
        gap: 3px;
    }

    .site-nav ul a {
        padding: 13px 5px;
        border-bottom: 1px solid var(--line);
        font-family: var(--serif);
        font-size: 1.4rem;
    }

    .site-nav .button {
        align-self: flex-start;
    }

    .home-hero__grid {
        grid-template-columns: 1fr .7fr;
        gap: 40px;
    }

    .home-hero__visual {
        min-height: 420px;
    }

    .hero-quote {
        right: -5px;
    }

    .practice-grid {
        grid-template-columns: 1fr 1fr;
    }

    .method-grid,
    .about-grid,
    .values-grid,
    .contact-grid {
        gap: 60px;
    }

    .articles-grid {
        grid-template-columns: 1fr 1fr;
    }

    .area-row {
        grid-template-columns: 50px 1fr;
    }

    .area-row ul {
        grid-column: 2;
    }

    .footer-grid {
        gap: 45px;
    }
}

@media (max-width: 720px) {

    .container,
    .container--narrow {
        width: min(100% - 28px, 1160px);
    }

    .site-header {
        height: 76px;
    }

    .site-nav {
        inset: 76px 0 0;
    }

    .brand-mark {
        width: 41px;
        height: 41px;
    }

    .menu-toggle__label {
        display: none;
    }

    .home-hero {
        padding-top: 55px;
        background: var(--paper);
    }

    .home-hero__grid {
        grid-template-columns: 1fr;
        padding-bottom: 55px;
    }

    .home-hero__visual {
        min-height: 330px;
        margin-top: 20px;
    }

    .hero-quote {
        right: 15px;
        bottom: -25px;
        width: min(280px, 85%);
    }

    .trust-strip {
        grid-template-columns: 1fr;
        padding-top: 25px;
        padding-bottom: 15px;
    }

    .trust-strip span {
        padding: 12px;
    }

    .trust-strip span+span {
        border-left: 0;
    }

    .split-intro,
    .method-grid,
    .about-grid,
    .values-grid,
    .info-banner,
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .practice-grid,
    .articles-grid {
        grid-template-columns: 1fr;
    }

    .practice-card {
        min-height: auto;
    }

    .card-number {
        margin-bottom: 35px;
    }

    .method-panel {
        padding: 38px 28px;
    }

    .section-title-row {
        display: block;
    }

    .section-title-row .text-link {
        margin-top: 20px;
    }

    .cta-box {
        display: block;
        padding: 42px 28px;
    }

    .cta-box .button {
        margin-top: 28px;
    }

    .page-hero {
        padding: 75px 0 68px;
    }

    .page-hero h1 {
        font-size: clamp(2.55rem, 13vw, 4rem);
    }

    .portrait-placeholder {
        min-height: 430px;
    }

    .portrait-placeholder small {
        right: 14px;
    }

    .area-row {
        grid-template-columns: 35px 1fr;
        gap: 20px;
        padding: 38px 0;
    }

    .article-card--featured {
        grid-template-columns: 1fr;
    }

    .article-card--featured .article-card__media {
        min-height: 260px;
    }

    .article-card--featured .article-card__body {
        padding: 30px;
    }

    .article-layout {
        grid-template-columns: 1fr;
        gap: 30px;
        padding-top: 45px;
        padding-bottom: 80px;
    }

    .article-aside {
        position: static;
    }

    .contact-section {
        background: var(--cream);
    }

    .form-card {
        padding: 28px 20px;
    }

    .field-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        display: block;
    }

    .footer-bottom p+p {
        margin-top: 8px;
    }
}

/* --------------------------------------------------------------------------
   Niliâne Gomes — editorial black and gold theme
   -------------------------------------------------------------------------- */

body {
    background: #fff;
}

.brand-logo {
    width: 54px;
    height: 58px;
    object-fit: contain;
}

.site-header {
    height: 92px;
    border-color: rgba(203, 145, 71, .25);
    color: #fff;
    background: #0b0b0b;
}

.site-header.is-sticky {
    position: sticky;
    background: rgba(9, 9, 9, .97);
    box-shadow: 0 12px 40px rgba(0, 0, 0, .22);
}

.brand-copy strong {
    color: #fff;
    font-family: var(--serif);
    font-size: 1.25rem;
}

.brand-copy small {
    color: var(--gold);
    letter-spacing: .17em;
}

.site-nav ul a {
    color: #e9e9e9;
    font-size: .75rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.site-nav .button {
    border-color: var(--gold);
    color: #111;
    background: var(--gold);
}

.site-nav .button:hover {
    border-color: #fff;
    background: #fff;
}

.menu-toggle {
    color: #fff;
}

.page-home .site-header {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    border-bottom-color: rgba(255, 255, 255, .18);
    background: transparent;
}

.page-home .site-header.is-sticky {
    position: fixed;
    background: rgba(8, 8, 8, .96);
}

.site-footer {
    color: #aaa;
    background: #111;
}

.footer-grid {
    border-color: #282828;
}

.site-footer h2,
.site-footer .brand-copy strong {
    color: #fff;
}

.footer-bottom {
    border-top-color: #2c2c2c;
}

.page-hero {
    background: #111;
}

.page-hero .eyebrow {
    color: var(--gold);
}

.button {
    border-color: #1e1e1e;
    background: #1e1e1e;
}

.button:hover {
    background: #000;
}

.button--outline {
    color: #1e1e1e;
    background: transparent;
}

.text-link {
    color: #1e1e1e;
}

.ng-home {
    overflow: hidden;
    color: #f2f2f2;
    background: #090909;
}

.ng-home h1,
.ng-home h2,
.ng-home h3 {
    font-family: var(--serif);
    font-weight: 400;
}

.ng-home p {
    font-family: var(--sans);
}

.ng-kicker {
    display: flex;
    gap: 14px;
    align-items: center;
    margin: 0 0 23px;
    color: var(--gold);
    font-family: var(--sans);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .25em;
    text-transform: uppercase;
}

.ng-kicker span {
    width: 34px;
    height: 1px;
    background: var(--gold);
}

.ng-kicker--left {
    justify-content: flex-start;
}

.ng-button {
    display: inline-flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    padding: 16px 30px;
    border: 1px solid transparent;
    color: #fff;
    font-family: var(--sans);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
    transition: color .25s, background .25s, border-color .25s, transform .25s;
}

.ng-button:hover {
    transform: translateY(-3px);
}

.ng-button--gold {
    color: #111;
    background: var(--gold);
}

.ng-button--gold:hover {
    background: #e0ae6d;
}

.ng-button--glass {
    border-color: rgba(255, 255, 255, .55);
    background: rgba(0, 0, 0, .22);
    backdrop-filter: blur(10px);
}

.ng-button--glass:hover {
    color: #111;
    background: #fff;
}

.ng-button--dark {
    color: var(--gold);
    background: #0b0b0b;
}

.ng-button--dark:hover {
    color: #fff;
}

.ng-button--full {
    width: 100%;
}

.ng-hero {
    position: relative;
    display: grid;
    overflow: hidden;
    min-height: 100svh;
    place-items: center;
}

.ng-hero__background {
    position: absolute;
    inset: -4%;
    background: url('../images/hero-office.png') center/cover no-repeat;
    transform: translate3d(var(--hero-x, 0), var(--hero-y, 0), 0) scale(1.08);
    transition: transform .15s linear;
}

.ng-hero__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 5, 5, .73) 0%, rgba(5, 5, 5, .7) 60%, rgba(5, 5, 5, .92) 100%), linear-gradient(90deg, rgba(0, 0, 0, .55), transparent 70%);
}

.ng-hero__content {
    position: relative;
    z-index: 2;
    padding-top: 145px;
    text-align: center;
}

.ng-hero .ng-kicker {
    justify-content: center;
}

.ng-hero h1 {
    max-width: 1100px;
    margin: 0 auto 28px;
    font-size: clamp(3.6rem, 7.2vw, 7rem);
    line-height: .93;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.ng-hero h1 em {
    display: inline-block;
    min-width: 6ch;
    color: var(--gold);
    font-weight: 400;
    transition: opacity .25s, transform .25s;
}

.ng-hero h1 em.is-changing {
    opacity: 0;
    transform: translateY(10px);
}

.ng-hero__lead {
    max-width: 830px;
    margin: 0 auto;
    color: #d3d3d3;
    font-size: clamp(.98rem, 1.6vw, 1.15rem);
    line-height: 1.8;
}

.ng-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    justify-content: center;
    margin-top: 38px;
}

.ng-scroll-hint {
    position: absolute;
    z-index: 2;
    bottom: 24px;
    left: 50%;
    display: flex;
    flex-direction: column;
    gap: 9px;
    align-items: center;
    color: #ccc;
    font-family: var(--sans);
    font-size: .58rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    transform: translateX(-50%);
}

.ng-scroll-hint i {
    width: 1px;
    height: 32px;
    background: linear-gradient(var(--gold), transparent);
    animation: scrollLine 1.6s ease-in-out infinite;
}

@keyframes scrollLine {

    0%,
    100% {
        transform: scaleY(.45);
        transform-origin: top;
    }

    50% {
        transform: scaleY(1);
    }
}

.ng-proof {
    border-top: 1px solid #29251f;
    border-bottom: 1px solid #29251f;
    background: #151515;
}

.ng-proof__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.ng-proof__item {
    min-height: 180px;
    padding: 42px 25px;
    border-right: 1px solid #312a21;
    text-align: center;
}

.ng-proof__item:last-child {
    border-right: 0;
}

.ng-proof__item strong {
    display: block;
    color: var(--gold);
    font-family: var(--serif);
    font-size: clamp(2.6rem, 4vw, 4rem);
    font-weight: 500;
    line-height: 1;
}

.ng-proof__item span {
    display: block;
    margin-top: 13px;
    color: #a9a9a9;
    font-family: var(--sans);
    font-size: .65rem;
    font-weight: 600;
    letter-spacing: .19em;
    text-transform: uppercase;
}

.ng-marquee {
    overflow: hidden;
    color: #121212;
    background: var(--gold);
}

.ng-marquee__track {
    display: flex;
    width: max-content;
    align-items: center;
    animation: marqueeMove 28s linear infinite;
}

.ng-marquee span {
    padding: 15px 30px;
    font-family: var(--sans);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    white-space: nowrap;
}

.ng-marquee i {
    opacity: .55;
    font-style: normal;
}

@keyframes marqueeMove {
    to {
        transform: translateX(-50%);
    }
}

.ng-about {
    padding: 130px 0;
    background: #111;
}

.ng-about__grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 95px;
    align-items: center;
}

.ng-about__visual {
    position: relative;
    min-height: 680px;
}

.ng-about__portrait {
    display: grid;
    height: 680px;
    place-items: center;
    border: 1px solid #3b3023;
    background: radial-gradient(circle at 50% 42%, #2d2a26 0, #171717 55%, #0b0b0b 100%);
}

.ng-about__portrait::before,
.ng-about__portrait::after {
    position: absolute;
    border: 1px solid rgba(203, 145, 71, .2);
    border-radius: 50%;
    content: '';
}

.ng-about__portrait::before {
    width: 390px;
    height: 390px;
}

.ng-about__portrait::after {
    width: 300px;
    height: 300px;
}

.ng-about__portrait img {
    position: relative;
    z-index: 1;
    width: min(290px, 65%);
    max-height: 390px;
    object-fit: contain;
}

.ng-about__portrait img.is-photo {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    filter: grayscale(1);
}

.ng-about__credential {
    position: absolute;
    right: -30px;
    bottom: 42px;
    z-index: 2;
    min-width: 280px;
    padding: 22px 26px;
    color: #111;
    background: var(--gold);
    box-shadow: 0 22px 55px rgba(0, 0, 0, .3);
}

.ng-about__credential strong,
.ng-about__credential span {
    display: block;
}

.ng-about__credential strong {
    font-family: var(--serif);
    font-size: 1.25rem;
    font-weight: 600;
}

.ng-about__credential span {
    margin-top: 4px;
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .15em;
}

.ng-about__copy h2 {
    max-width: 720px;
    margin-bottom: 25px;
    color: #f2eee7;
    font-size: clamp(2.7rem, 4.7vw, 4.8rem);
    line-height: .98;
}

.ng-about__copy h3 {
    margin-bottom: 30px;
    color: var(--gold);
    font-size: clamp(1.55rem, 2.6vw, 2.3rem);
    font-style: italic;
    line-height: 1.25;
}

.ng-about__copy>p:not(.ng-kicker) {
    color: #aaa;
    line-height: 1.9;
}

.ng-about__copy blockquote {
    margin: 31px 0;
    padding: 14px 0 14px 25px;
    border-left: 2px solid var(--gold);
    color: #e7e1d9;
    font-family: var(--serif);
    font-size: 1.45rem;
    font-style: italic;
}

.ng-practice {
    padding: 125px 0;
    border-top: 1px solid #2c2822;
    background: #080808;
}

.ng-section-head {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 90px;
    align-items: end;
    margin-bottom: 65px;
}

.ng-section-head h2 {
    max-width: 760px;
    margin: 0;
    color: #eee9e2;
    font-size: clamp(2.8rem, 5vw, 5rem);
    line-height: 1;
}

.ng-section-head>p {
    margin: 0;
    color: #9a9a9a;
    line-height: 1.9;
}

.ng-practice__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid #302a22;
    border-left: 1px solid #302a22;
}

.ng-practice-card {
    min-height: 360px;
    padding: 38px 36px;
    border-right: 1px solid #302a22;
    border-bottom: 1px solid #302a22;
    background: #0d0d0d;
    transition: background .3s, transform .3s;
}

.ng-practice-card:hover {
    z-index: 1;
    background: #171512;
    transform: translateY(-5px);
}

.ng-practice-card>span {
    display: block;
    margin-bottom: 70px;
    color: #4f432f;
    font-family: var(--serif);
    font-size: 2rem;
}

.ng-practice-card h3 {
    margin-bottom: 16px;
    color: #f3eee7;
    font-size: 1.8rem;
}

.ng-practice-card p {
    color: #929292;
    font-size: .87rem;
    line-height: 1.8;
}

.ng-practice-card a {
    display: inline-block;
    margin-top: 10px;
    color: var(--gold);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ng-method {
    padding: 125px 0;
    background: #151515;
}

.ng-method__intro {
    max-width: 960px;
    margin-bottom: 65px;
}

.ng-method__intro h2 {
    margin-bottom: 27px;
    color: #f0ebe4;
    font-size: clamp(3rem, 5.5vw, 5.6rem);
    line-height: .98;
}

.ng-method__intro h2 em {
    color: var(--gold);
    font-weight: 400;
}

.ng-method__intro>p:last-child {
    max-width: 790px;
    color: #9c9c9c;
    line-height: 1.9;
}

.ng-method__steps {
    margin: 0;
    padding: 0;
    border: 1px solid #302a22;
    list-style: none;
}

.ng-method__steps li {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 30px;
    align-items: center;
    min-height: 145px;
    padding: 28px 45px;
    border-bottom: 1px solid #302a22;
    transition: background .25s;
}

.ng-method__steps li:last-child {
    border-bottom: 0;
}

.ng-method__steps li:hover {
    background: #1b1916;
}

.ng-method__steps>li>span {
    color: #554833;
    font-family: var(--serif);
    font-size: 2rem;
}

.ng-method__steps h3 {
    margin: 0 0 7px;
    color: #f0ebe4;
    font-size: 1.65rem;
}

.ng-method__steps p {
    margin: 0;
    color: #969696;
    font-size: .86rem;
}

.ng-locations {
    padding: 95px 0 110px;
    color: #111;
    background: #f1f0ed;
}

.ng-locations h2 {
    margin-bottom: 45px;
    color: #1e1e1e;
    font-size: clamp(2.7rem, 4.5vw, 4.2rem);
}

.ng-locations__rail {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    padding: 0 max(20px, calc((100vw - 1160px)/2)) 16px;
    scrollbar-color: var(--gold) #ddd;
    scroll-snap-type: x mandatory;
}

.ng-locations__rail article {
    display: flex;
    flex: 0 0 340px;
    gap: 22px;
    align-items: center;
    min-height: 145px;
    padding: 28px;
    border: 1px solid #d6d0c8;
    background: #fff;
    scroll-snap-align: start;
}

.ng-locations__rail article>span {
    display: grid;
    flex: 0 0 58px;
    height: 58px;
    place-items: center;
    border: 1px solid var(--gold);
    border-radius: 50%;
    color: #1e1e1e;
    font-family: var(--serif);
    font-size: 1.2rem;
}

.ng-locations__rail h3 {
    margin: 0 0 3px;
    color: #1e1e1e;
    font-family: var(--sans);
    font-size: 1.2rem;
    font-weight: 600;
}

.ng-locations__rail p {
    margin: 0;
    color: #777;
    font-size: .72rem;
}

.ng-insights {
    padding: 125px 0;
    border-top: 1px solid #2d2923;
    background: #080808;
}

.ng-carousel-head {
    display: flex;
    gap: 40px;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 55px;
}

.ng-carousel-head h2 {
    max-width: 900px;
    margin: 0;
    color: #f0ebe4;
    font-size: clamp(2.8rem, 5vw, 5rem);
    line-height: 1;
}

.ng-carousel-controls {
    display: flex;
    gap: 9px;
}

.ng-carousel-controls button {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid #4a3c2b;
    color: var(--gold);
    background: transparent;
    cursor: pointer;
    transition: color .2s, background .2s;
}

.ng-carousel-controls button:hover {
    color: #111;
    background: var(--gold);
}

.ng-article-carousel {
    display: flex;
    gap: 28px;
    overflow-x: auto;
    padding-bottom: 22px;
    scrollbar-width: none;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
}

.ng-article-carousel::-webkit-scrollbar {
    display: none;
}

.ng-insight-card {
    flex: 0 0 calc((100% - 56px)/3);
    min-width: 320px;
    border: 1px solid #302a22;
    background: #101010;
    scroll-snap-align: start;
}

.ng-insight-card__media {
    display: grid;
    overflow: hidden;
    aspect-ratio: 1.55;
    place-items: center;
    background: #191714;
}

.ng-insight-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1);
    transition: filter .35s, transform .4s;
}

.ng-insight-card:hover .ng-insight-card__media img {
    filter: grayscale(0);
    transform: scale(1.035);
}

.ng-insight-card__media>span {
    color: var(--gold);
    font-family: var(--serif);
    font-size: 3rem;
}

.ng-insight-card>div:last-child {
    padding: 30px;
}

.ng-card-label {
    color: var(--gold);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.ng-insight-card h3 {
    margin-bottom: 17px;
    color: #f4eee7;
    font-size: 2rem;
    line-height: 1.15;
}

.ng-insight-card>div:last-child>p:not(.ng-card-label) {
    color: #8f8f8f;
    font-size: .84rem;
}

.ng-card-link {
    color: var(--gold);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ng-trust {
    padding: 125px 0;
    background: #0e0e0e;
}

.ng-trust__heading {
    max-width: 970px;
    margin-bottom: 65px;
}

.ng-trust__heading h2 {
    margin: 0;
    color: #f0ebe4;
    font-size: clamp(3rem, 5.4vw, 5.5rem);
    line-height: .98;
}

.ng-trust__heading h2 em {
    color: var(--gold);
    font-weight: 400;
}

.ng-trust__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.ng-trust__grid article {
    min-height: 340px;
    padding: 40px;
    border: 1px solid #302a22;
    background: #151515;
}

.ng-trust__grid strong {
    display: block;
    margin-bottom: 75px;
    color: var(--gold);
    font-family: var(--serif);
    font-size: 1.7rem;
    font-weight: 400;
}

.ng-trust__grid h3 {
    margin-bottom: 15px;
    color: #f0ebe4;
    font-size: 1.7rem;
}

.ng-trust__grid p {
    color: #999;
    font-size: .86rem;
    line-height: 1.85;
}

.ng-urgent {
    padding: 100px 0;
    color: #111;
    background: var(--gold);
}

.ng-urgent__inner {
    display: flex;
    gap: 80px;
    align-items: center;
    justify-content: space-between;
}

.ng-urgent .ng-kicker {
    color: #2f281f;
}

.ng-urgent h2 {
    max-width: 910px;
    margin-bottom: 16px;
    font-size: clamp(2.7rem, 4.8vw, 4.8rem);
    line-height: 1;
}

.ng-urgent p {
    max-width: 720px;
    margin: 0;
    color: #4c3d2b;
}

.ng-urgent .ng-button {
    flex: 0 0 auto;
}

.ng-contact {
    padding: 125px 0;
    background: #111;
}

.ng-contact__grid {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 90px;
    align-items: start;
}

.ng-contact__copy h2 {
    margin-bottom: 28px;
    color: #f1ebe4;
    font-size: clamp(3rem, 5vw, 5rem);
    line-height: .98;
}

.ng-contact__copy>p:not(.ng-kicker) {
    color: #999;
    line-height: 1.9;
}

.ng-contact__copy ul {
    margin: 45px 0 0;
    padding: 0;
    border-top: 1px solid #302a22;
    list-style: none;
}

.ng-contact__copy li {
    display: grid;
    grid-template-columns: 110px 1fr;
    padding: 17px 0;
    border-bottom: 1px solid #302a22;
}

.ng-contact__copy li strong {
    color: var(--gold);
    font-size: .63rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.ng-contact__copy li span,
.ng-contact__copy li a {
    color: #d0d0d0;
    font-size: .78rem;
    word-break: break-word;
}

.ng-contact__form {
    padding: 44px;
    border: 1px solid #332b21;
    background: #151515;
}

.ng-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.ng-field {
    margin-bottom: 20px;
}

.ng-field label {
    display: block;
    margin-bottom: 8px;
    color: #aaa;
    font-size: .62rem;
    font-weight: 600;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.ng-field input,
.ng-field select,
.ng-field textarea {
    width: 100%;
    border: 1px solid #37322b;
    border-radius: 0;
    outline: none;
    color: #eee;
    background: #111;
}

.ng-field input,
.ng-field select {
    height: 56px;
    padding: 0 16px;
}

.ng-field textarea {
    min-height: 145px;
    padding: 15px 16px;
    resize: vertical;
}

.ng-field input:focus,
.ng-field select:focus,
.ng-field textarea:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 2px rgba(203, 145, 71, .1);
}

.ng-contact__form small {
    display: block;
    margin-top: 16px;
    color: #777;
    font-size: .66rem;
}

.ng-contact-float {
    position: fixed;
    z-index: 90;
    right: 24px;
    bottom: 24px;
    display: grid;
    width: 62px;
    height: 62px;
    place-items: center;
    border: 1px solid var(--gold);
    border-radius: 50%;
    color: #111;
    background: var(--gold);
    box-shadow: 0 12px 35px rgba(0, 0, 0, .4);
    font-size: 1.4rem;
    transition: transform .25s;
}

.ng-contact-float:hover {
    transform: scale(1.07);
}

.custom-cursor {
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(203, 145, 71, .8);
    border-radius: 50%;
    pointer-events: none;
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: width .2s, height .2s, opacity .2s, background .2s;
}

.custom-cursor span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gold);
    transform: translate(-50%, -50%);
}

.custom-cursor.is-visible {
    opacity: 1;
}

.custom-cursor.is-active {
    width: 52px;
    height: 52px;
    background: rgba(203, 145, 71, .1);
}

@media (pointer: fine) {

    .page-home,
    .page-home a,
    .page-home button,
    .page-home input,
    .page-home select,
    .page-home textarea {
        cursor: none;
    }
}

@media (max-width: 980px) {
    .page-home .site-header {
        height: 80px;
    }

    .site-nav {
        top: 0;
        inset: 80px 0 0;
        background: #0b0b0b;
    }

    .site-nav ul a {
        color: #fff;
    }

    .ng-hero h1 {
        font-size: clamp(3.4rem, 10vw, 6rem);
    }

    .ng-proof__grid {
        grid-template-columns: 1fr 1fr;
    }

    .ng-proof__item:nth-child(2) {
        border-right: 0;
    }

    .ng-proof__item:nth-child(-n+2) {
        border-bottom: 1px solid #312a21;
    }

    .ng-about__grid {
        gap: 55px;
    }

    .ng-about__visual,
    .ng-about__portrait {
        min-height: 560px;
        height: 560px;
    }

    .ng-section-head {
        gap: 45px;
    }

    .ng-practice__grid {
        grid-template-columns: 1fr 1fr;
    }

    .ng-insight-card {
        flex-basis: calc((100% - 28px)/2);
    }

    .ng-contact__grid {
        gap: 50px;
    }
}

@media (max-width: 720px) {
    .brand-logo {
        width: 44px;
        height: 48px;
    }

    .brand-copy strong {
        font-size: 1.05rem;
    }

    .brand-copy small {
        font-size: .5rem;
    }

    .ng-hero {
        min-height: 820px;
    }

    .ng-hero__content {
        padding-top: 120px;
    }

    .ng-hero h1 {
        font-size: clamp(3rem, 15vw, 4.6rem);
    }

    .ng-hero__lead {
        font-size: .9rem;
    }

    .ng-actions {
        display: grid;
    }

    .ng-button {
        width: 100%;
    }

    .ng-scroll-hint {
        display: none;
    }

    .ng-proof__item {
        min-height: 140px;
        padding: 30px 14px;
    }

    .ng-proof__item strong {
        font-size: 2.35rem;
    }

    .ng-proof__item span {
        font-size: .54rem;
    }

    .ng-about,
    .ng-practice,
    .ng-method,
    .ng-insights,
    .ng-trust,
    .ng-contact {
        padding: 85px 0;
    }

    .ng-about__grid,
    .ng-section-head,
    .ng-contact__grid {
        grid-template-columns: 1fr;
    }

    .ng-about__visual,
    .ng-about__portrait {
        min-height: 460px;
        height: 460px;
    }

    .ng-about__credential {
        right: 12px;
        bottom: 22px;
        min-width: 245px;
    }

    .ng-about__copy h2,
    .ng-section-head h2,
    .ng-method__intro h2,
    .ng-carousel-head h2,
    .ng-trust__heading h2,
    .ng-contact__copy h2 {
        font-size: 3rem;
    }

    .ng-practice__grid {
        grid-template-columns: 1fr;
    }

    .ng-practice-card {
        min-height: 300px;
        padding: 30px 25px;
    }

    .ng-practice-card>span {
        margin-bottom: 42px;
    }

    .ng-method__steps li {
        grid-template-columns: 55px 1fr;
        gap: 15px;
        min-height: 130px;
        padding: 25px 20px;
    }

    .ng-locations {
        padding: 75px 0;
    }

    .ng-locations__rail article {
        flex-basis: 300px;
    }

    .ng-carousel-head {
        display: block;
    }

    .ng-carousel-controls {
        margin-top: 25px;
    }

    .ng-insight-card {
        flex-basis: 88%;
        min-width: 280px;
    }

    .ng-trust__grid {
        grid-template-columns: 1fr;
    }

    .ng-trust__grid article {
        min-height: 280px;
        padding: 30px;
    }

    .ng-trust__grid strong {
        margin-bottom: 48px;
    }

    .ng-urgent {
        padding: 70px 0;
    }

    .ng-urgent__inner {
        display: block;
    }

    .ng-urgent h2 {
        font-size: 3rem;
    }

    .ng-urgent .ng-button {
        margin-top: 30px;
    }

    .ng-contact__form {
        padding: 28px 20px;
    }

    .ng-field-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .ng-contact__copy li {
        grid-template-columns: 85px 1fr;
    }

    .ng-contact-float {
        right: 15px;
        bottom: 15px;
        width: 54px;
        height: 54px;
    }

    .custom-cursor {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {

    .ng-marquee__track,
    .ng-scroll-hint i {
        animation: none;
    }

    .ng-hero__background {
        transform: scale(1.04);
    }
}

/* --------------------------------------------------------------------------
	Clarity refresh: lighter surfaces, compact typography and softer geometry
---------------------------------------------------------------------------- */

:root {
    --ng-soft: #f5f3ee;
    --ng-warm: #fbf8f2;
    --ng-border: #ddd7cd;
}

.section {
    padding: 88px 0;
}

.button,
.ng-button {
    border-radius: 8px;
}

.button {
    min-height: 48px;
}

.page-hero {
    padding: 82px 0 76px;
}

.page-hero h1 {
    max-width: 880px;
    font-size: clamp(2.5rem, 4.8vw, 4.35rem);
}

.page-hero--split .lead {
    margin-top: 24px;
}

.article-card {
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 14px 40px rgba(30, 30, 30, .05);
}

.article-card__placeholder {
    background: #1e1e1e;
}

.article-card h3,
.article-header h1,
.article-content h2,
.article-content h3 {
    color: #1e1e1e;
}

.ng-home {
    color: #1e1e1e;
    background: var(--ng-soft);
}

.ng-button {
    min-height: 54px;
    padding: 14px 27px;
}

.ng-button--gold {
    color: #151515;
}

.ng-button--dark {
    color: #fff;
    background: #1e1e1e;
}

.ng-hero {
    min-height: min(900px, 94svh);
}

.ng-hero__content {
    padding-top: 118px;
}

.ng-hero h1 {
    max-width: 1020px;
    margin-bottom: 24px;
    font-size: clamp(3.15rem, 6.2vw, 5.8rem);
    line-height: .98;
}

.ng-hero__lead {
    max-width: 770px;
}

.ng-actions {
    margin-top: 32px;
}

.ng-proof__item {
    min-height: 158px;
    padding: 36px 22px;
}

.ng-proof__item strong {
    font-size: clamp(2.35rem, 3.4vw, 3.55rem);
}

.ng-about {
    padding: 96px 0;
    color: #1e1e1e;
    background: #fff;
}

.ng-about__grid {
    grid-template-columns: .9fr 1.1fr;
    gap: 76px;
    align-items: stretch;
}

.ng-about__visual {
    height: 100%;
    min-height: 0;
}

.ng-about__portrait {
    height: 100%;
    min-height: 590px;
    border: 0;
    border-radius: 14px;
    background: #1e1e1e;
}

.ng-about__portrait::before,
.ng-about__portrait::after {
    display: none;
}

.ng-about__portrait img.is-photo {
    border-radius: 14px;
    filter: none;
    object-position: center 30%;
}

.ng-about__credential {
    right: -24px;
    bottom: 28px;
    border-radius: 10px;
    box-shadow: 0 18px 45px rgba(30, 30, 30, .17);
}

.ng-about__copy {
    align-self: center;
    padding: 20px 0;
}

.ng-about__copy h2 {
    margin-bottom: 20px;
    color: #1e1e1e;
    font-size: clamp(2.25rem, 3.65vw, 3.65rem);
    line-height: 1.04;
}

.ng-about__copy h3 {
    margin-bottom: 24px;
    font-size: clamp(1.35rem, 2vw, 1.85rem);
}

.ng-about__copy>p:not(.ng-kicker) {
    color: #595959;
    line-height: 1.75;
}

.ng-about__copy blockquote {
    margin: 25px 0 28px;
    color: #1e1e1e;
    font-size: 1.25rem;
}

.ng-practice {
    padding: 96px 0;
    border: 0;
    color: #1e1e1e;
    background: var(--ng-soft);
}

.ng-practice__layout {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 90px;
    align-items: start;
}

.ng-practice__header {
    position: sticky;
    top: 132px;
}

.ng-practice__header h2 {
    margin-bottom: 24px;
    color: #1e1e1e;
    font-size: clamp(2.35rem, 3.8vw, 3.75rem);
    line-height: 1.04;
}

.ng-practice__header p {
    max-width: 500px;
    margin: 0;
    color: #666;
    line-height: 1.75;
}

.ng-practice__accordion {
    border-top: 1px solid #cfc7bb;
}

.ng-practice-item {
    border-bottom: 1px solid #cfc7bb;
}

.ng-practice-item button {
    display: grid;
    width: 100%;
    grid-template-columns: 48px 1fr 28px;
    gap: 16px;
    align-items: center;
    padding: 25px 0;
    border: 0;
    color: #1e1e1e;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.ng-practice-item button>span {
    color: var(--gold);
    font-family: var(--serif);
    font-size: 1.35rem;
}

.ng-practice-item button>strong {
    font-family: var(--serif);
    font-size: clamp(1.45rem, 2vw, 1.85rem);
    font-weight: 600;
}

.ng-practice-item button>i {
    position: relative;
    display: block;
    width: 28px;
    height: 28px;
    border: 1px solid #bbb09f;
    border-radius: 50%;
}

.ng-practice-item button>i::before,
.ng-practice-item button>i::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 1px;
    background: #1e1e1e;
    content: '';
    transform: translate(-50%, -50%);
    transition: transform .25s;
}

.ng-practice-item button>i::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.ng-practice-item.is-open button>i {
    border-color: var(--gold);
    background: var(--gold);
}

.ng-practice-item.is-open button>i::after {
    transform: translate(-50%, -50%) rotate(0);
}

.ng-practice-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .35s ease;
}

.ng-practice-panel>div {
    overflow: hidden;
}

.ng-practice-item.is-open .ng-practice-panel {
    grid-template-rows: 1fr;
}

.ng-practice-panel p {
    max-width: 620px;
    margin: 0 0 15px 64px;
    color: #606060;
    line-height: 1.75;
}

.ng-practice-panel a {
    display: inline-block;
    margin: 0 0 28px 64px;
    color: #9b641f;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ng-method {
    padding: 96px 0;
    color: #1e1e1e;
    background: #fff;
}

.ng-method__intro {
    max-width: 820px;
    margin-bottom: 48px;
}

.ng-method__intro h2 {
    margin-bottom: 22px;
    color: #1e1e1e;
    font-size: clamp(2.45rem, 4.2vw, 4.2rem);
    line-height: 1.02;
}

.ng-method__intro>p:last-child {
    max-width: 720px;
    color: #626262;
    line-height: 1.75;
}

.ng-method__steps {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    border: 0;
}

.ng-method__steps li {
    display: block;
    min-height: 245px;
    padding: 30px;
    border: 1px solid var(--ng-border);
    border-radius: 12px;
    background: var(--ng-warm);
}

.ng-method__steps li:last-child {
    border-bottom: 1px solid var(--ng-border);
}

.ng-method__steps li:hover {
    background: #f5ecdd;
}

.ng-method__steps>li>span {
    display: grid;
    width: 44px;
    height: 44px;
    margin-bottom: 34px;
    place-items: center;
    border-radius: 50%;
    color: #1e1e1e;
    background: var(--gold);
    font-size: 1.05rem;
}

.ng-method__steps h3 {
    color: #1e1e1e;
    font-size: 1.55rem;
}

.ng-method__steps p {
    color: #666;
    line-height: 1.7;
}

.ng-locations {
    padding: 88px 0;
    color: #1e1e1e;
    background: var(--gold);
}

.ng-locations h2 {
    max-width: 760px;
    margin-bottom: 38px;
    color: #1e1e1e;
    font-size: clamp(2.35rem, 3.8vw, 3.7rem);
    line-height: 1.05;
}

.ng-locations__rail {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    overflow: visible;
    padding: 0;
}

.ng-locations__rail article {
    display: block;
    min-width: 0;
    min-height: 180px;
    padding: 25px;
    border: 1px solid rgba(30, 30, 30, .18);
    border-radius: 12px;
    background: rgba(255, 255, 255, .52);
}

.ng-locations__rail article>span {
    width: 48px;
    height: 48px;
    margin-bottom: 28px;
    border-color: rgba(30, 30, 30, .35);
}

.ng-locations__rail h3 {
    font-size: 1.05rem;
}

.ng-locations__rail p {
    color: #55422d;
}

.ng-insights {
    padding: 96px 0;
    border: 0;
    color: #1e1e1e;
    background: var(--ng-soft);
}

.ng-carousel-head {
    display: block;
    margin-bottom: 42px;
}

.ng-carousel-head h2 {
    max-width: 780px;
    color: #1e1e1e;
    font-size: clamp(2.35rem, 3.9vw, 3.8rem);
    line-height: 1.05;
}

.ng-insight-card {
    overflow: hidden;
    border-color: var(--ng-border);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 14px 45px rgba(30, 30, 30, .05);
}

.ng-insight-card__media {
    background: #e9e5dc;
}

.ng-insight-card__media img {
    filter: none;
}

.ng-insight-card h3 {
    color: #1e1e1e;
    font-size: 1.65rem;
}

.ng-insight-card>div:last-child>p:not(.ng-card-label) {
    color: #686868;
}

.ng-card-label,
.ng-card-link {
    color: #9b641f;
}

.ng-carousel-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 22px;
}

.ng-carousel-footer>a {
    color: #1e1e1e;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ng-carousel-controls button {
    width: 48px;
    height: 48px;
    border-color: #bcae99;
    border-radius: 8px;
    color: #1e1e1e;
    background: #fff;
}

.ng-trust {
    padding: 96px 0;
    color: #1e1e1e;
    background: #fff;
}

.ng-trust__layout {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 86px;
    align-items: start;
}

.ng-trust__heading {
    position: sticky;
    top: 132px;
    margin: 0;
}

.ng-trust__heading h2 {
    margin-bottom: 20px;
    color: #1e1e1e;
    font-size: clamp(2.4rem, 3.9vw, 3.8rem);
    line-height: 1.04;
}

.ng-trust__heading p {
    color: #686868;
}

.ng-trust__grid {
    grid-template-columns: 1fr;
    gap: 13px;
}

.ng-trust__grid article {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 24px;
    min-height: 0;
    padding: 28px;
    border-color: var(--ng-border);
    border-radius: 12px;
    background: var(--ng-warm);
}

.ng-trust__grid strong {
    margin: 0;
    color: #9b641f;
    font-size: 1.3rem;
}

.ng-trust__grid h3 {
    margin-bottom: 8px;
    color: #1e1e1e;
    font-size: 1.45rem;
}

.ng-trust__grid p {
    margin: 0;
    color: #656565;
    line-height: 1.7;
}

.ng-urgent {
    padding: 82px 0;
    color: #fff;
    background: #1e1e1e;
}

.ng-urgent__inner {
    gap: 70px;
}

.ng-urgent h2 {
    max-width: 770px;
    margin-bottom: 15px;
    color: #fff;
    font-size: clamp(2.35rem, 3.8vw, 3.75rem);
    line-height: 1.05;
}

.ng-urgent p {
    color: #bcbcbc;
}

.ng-contact {
    padding: 96px 0;
    color: #1e1e1e;
    background: var(--ng-soft);
}

.ng-contact__grid {
    gap: 75px;
}

.ng-contact__copy h2 {
    color: #1e1e1e;
    font-size: clamp(2.4rem, 3.9vw, 3.85rem);
    line-height: 1.04;
}

.ng-contact__copy>p:not(.ng-kicker) {
    color: #656565;
    line-height: 1.75;
}

.ng-contact__copy ul {
    margin-top: 36px;
    border-top-color: var(--ng-border);
}

.ng-contact__copy li {
    border-bottom-color: var(--ng-border);
}

.ng-contact__copy li strong {
    color: #9b641f;
}

.ng-contact__copy li span,
.ng-contact__copy li a {
    color: #343434;
}

.ng-contact__form {
    padding: 38px;
    border-color: var(--ng-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(30, 30, 30, .06);
}

.ng-field label {
    color: #575757;
}

.ng-field input,
.ng-field select,
.ng-field textarea {
    border-color: #d9d3c9;
    border-radius: 8px;
    color: #1e1e1e;
    background: #fbfaf7;
}

.ng-contact__form small {
    color: #737373;
}

@media (max-width: 980px) {

    .ng-about__grid,
    .ng-practice__layout,
    .ng-trust__layout {
        grid-template-columns: 1fr;
    }

    .ng-about__visual,
    .ng-about__portrait {
        height: 620px;
        min-height: 620px;
    }

    .ng-practice__header,
    .ng-trust__heading {
        position: static;
    }

    .ng-locations__rail {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 720px) {
    .section {
        padding: 72px 0;
    }

    .ng-hero {
        min-height: 740px;
    }

    .ng-hero__content {
        padding-top: 105px;
    }

    .ng-hero h1 {
        font-size: clamp(2.75rem, 13vw, 4.15rem);
    }

    .ng-about,
    .ng-practice,
    .ng-method,
    .ng-insights,
    .ng-trust,
    .ng-contact {
        padding: 72px 0;
    }

    .ng-about__visual,
    .ng-about__portrait {
        height: 500px;
        min-height: 500px;
    }

    .ng-about__credential {
        right: 10px;
        bottom: 16px;
    }

    .ng-about__copy h2,
    .ng-practice__header h2,
    .ng-method__intro h2,
    .ng-carousel-head h2,
    .ng-trust__heading h2,
    .ng-contact__copy h2 {
        font-size: clamp(2.2rem, 10vw, 3rem);
    }

    .ng-practice__layout,
    .ng-trust__layout {
        gap: 46px;
    }

    .ng-practice-item button {
        grid-template-columns: 36px 1fr 28px;
        gap: 10px;
    }

    .ng-practice-panel p,
    .ng-practice-panel a {
        margin-left: 46px;
    }

    .ng-method__steps {
        grid-template-columns: 1fr;
    }

    .ng-method__steps li {
        min-height: 225px;
    }

    .ng-locations {
        padding: 72px 0;
    }

    .ng-locations__rail {
        grid-template-columns: 1fr;
    }

    .ng-locations__rail article {
        min-height: 155px;
    }

    .ng-insight-card {
        flex-basis: 88%;
    }

    .ng-carousel-footer {
        align-items: flex-end;
    }

    .ng-trust__grid article {
        grid-template-columns: 38px 1fr;
        padding: 24px 20px;
    }

    .ng-urgent {
        padding: 68px 0;
    }

    .ng-urgent h2 {
        font-size: clamp(2.2rem, 10vw, 3rem);
    }

    .ng-contact__form {
        padding: 26px 18px;
    }
}

/* Final cascade guard: these are the deliberate 2026 visual decisions. */
.ng-hero h1 {
    color: #fff !important;
}

.ng-hero__background {
    background-image: url('../images/hero-office.webp') !important;
}

.ng-about,
.ng-practice,
.ng-method,
.ng-insights,
.ng-trust,
.ng-contact {
    padding-top: 78px !important;
    padding-bottom: 78px !important;
}

.ng-method__steps {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
    border: 0 !important;
}

.ng-method__steps li {
    min-height: 0 !important;
    padding: 28px !important;
    border: 1px solid var(--ng-line) !important;
    border-radius: var(--ng-radius) !important;
    background: var(--ng-cream) !important;
}

.ng-locations {
    padding: 74px 0 !important;
    color: var(--ng-black) !important;
    background: var(--ng-gold) !important;
}

.ng-locations__rail article {
    min-height: 0 !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, .62) !important;
}

.ng-locations__rail h3,
.ng-locations__rail p,
.ng-locations__rail article>span {
    color: var(--ng-black) !important;
}

.ng-insight-card {
    border-radius: var(--ng-radius) !important;
}

.ng-contact-float {
    display: grid !important;
    place-items: center;
    width: 66px !important;
    height: 66px !important;
    border-radius: 50% !important;
    background: #25D366 !important;
    border-color: #25D366 !important;
}

.ng-contact-float img {
    width: 40px;
    height: 40px;
    filter: brightness(0);
}

.footer-cta {
    color: #fff !important;
}

.inner-hero__copy .button {
    color: #1e1e1e !important;
    background: #cb9147 !important;
}

.inner-hero__copy .button:hover {
    color: #1e1e1e !important;
    background: #dfac69 !important;
}

.article-detail {
    padding-top: 82px !important;
}

.article-detail__header {
    padding-top: 48px !important;
}

.article-detail__header h1 {
    font-size: clamp(2.8rem, 4.6vw, 4.8rem) !important;
    line-height: 1 !important;
}

@media (max-width: 1100px) {
    .ng-method__steps {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 720px) {

    .ng-about,
    .ng-practice,
    .ng-method,
    .ng-insights,
    .ng-trust,
    .ng-contact {
        padding-top: 58px !important;
        padding-bottom: 58px !important;
    }

    .ng-method__steps {
        grid-template-columns: 1fr !important;
    }
}

/* --------------------------------------------------------------------------
	Precision pass: compact internal pages, contained photography and UI polish
---------------------------------------------------------------------------- */

/* Internal pages begin immediately after the non-overlay header. */
.premium-page>.inner-hero .inner-hero__grid {
    min-height: 500px !important;
    padding-top: 12px !important;
}

.premium-page>.inner-hero .inner-hero__copy {
    padding: 48px 0 !important;
}

.premium-page>.inner-hero .inner-hero__copy h1 {
    font-size: clamp(3.15rem, 5.15vw, 5.45rem) !important;
    line-height: .95 !important;
}

/* Every portrait is visibly contained by its own rounded frame. */
.inner-hero__portrait {
    align-self: center !important;
    height: 420px !important;
    margin: 28px 0 !important;
    padding: 10px !important;
    border: 1px solid rgba(203, 145, 71, .34) !important;
    border-radius: 28px !important;
    background: #0d1111 !important;
    box-shadow: 0 22px 55px rgba(0, 0, 0, .22) !important;
}

.inner-hero__portrait img,
.inner-hero--areas .inner-hero__portrait img,
.inner-hero--contact .inner-hero__portrait img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    border-radius: 20px !important;
}

.about-story__image {
    overflow: hidden;
    border: 1px solid rgba(203, 145, 71, .3);
    border-radius: 24px;
    background: #111515;
}

.about-story__image img {
    box-sizing: border-box;
    padding: 10px;
    object-fit: contain !important;
    object-position: center bottom !important;
    border-radius: 24px !important;
}

/* Animated CSS-only submenu arrow and polished dropdown. */
.nav-submenu-arrow {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 2px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform .28s ease, margin .28s ease;
}

.nav-has-submenu.is-open .nav-submenu-arrow {
    margin-top: 3px;
    transform: rotate(225deg);
}

@media (hover: hover) {
    .nav-has-submenu:hover .nav-submenu-arrow {
        margin-top: 3px;
        transform: rotate(225deg);
    }
}

.nav-submenu {
    top: calc(100% + 8px) !important;
    transform: translate(-50%, -9px) !important;
}

.nav-has-submenu:hover .nav-submenu,
.nav-has-submenu.is-open .nav-submenu {
    transform: translate(-50%, 0) !important;
}

.site-nav .nav-submenu a {
    transition: color .2s ease, background .2s ease, padding-left .2s ease !important;
}

.site-nav .nav-submenu a:hover {
    padding-left: 19px !important;
}

/* Compact home practice accordion: no panel content leaks while closed. */
.ng-practice__layout {
    grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr) !important;
    gap: 58px !important;
}

.ng-practice__header h2 {
    font-size: clamp(2.25rem, 3.35vw, 3.35rem) !important;
}

.ng-practice__accordion {
    align-self: start;
}

.ng-practice-item button {
    min-height: 68px !important;
    padding: 13px 0 !important;
}

.ng-practice-item button>strong {
    font-size: clamp(1.35rem, 1.75vw, 1.75rem) !important;
}

.ng-practice-panel {
    grid-template-rows: 0fr !important;
    opacity: 0;
    visibility: hidden;
    transition: grid-template-rows .3s ease, opacity .2s ease, visibility .3s ease !important;
}

.ng-practice-item.is-open .ng-practice-panel,
.areas-premium-item.is-open .ng-practice-panel {
    grid-template-rows: 1fr !important;
    opacity: 1;
    visibility: visible;
}

.ng-practice-panel>div {
    min-height: 0;
    overflow: hidden !important;
}

.ng-practice-panel p {
    margin: 4px 0 12px 48px !important;
    line-height: 1.65 !important;
}

.ng-practice-panel a {
    margin: 0 0 20px 48px !important;
}

/* Method cards: number and title share a row, with a more tactile hover. */
.ng-method__intro {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.ng-method__intro>p:last-child {
    margin-right: auto;
    margin-left: auto;
}

.ng-method__steps li {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: start !important;
    padding: 24px !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.ng-method__steps li:hover {
    z-index: 2;
    transform: translateY(-7px) scale(1.025);
    border-color: rgba(203, 145, 71, .7) !important;
    box-shadow: 0 22px 48px rgba(30, 30, 30, .12);
}

.ng-method__steps>li>span {
    width: auto !important;
    height: auto !important;
    margin: 3px 0 0 !important;
    padding: 5px 8px;
    border-radius: 8px !important;
    color: #8f5b1d !important;
    background: rgba(203, 145, 71, .14) !important;
    font-family: "BR Firma", sans-serif !important;
    font-size: .7rem !important;
    font-weight: 700;
    letter-spacing: .08em;
}

.ng-method__steps h3 {
    margin: 0 0 12px !important;
    font-size: 1.42rem !important;
    line-height: 1.15;
}

.ng-method__steps p {
    grid-column: 1/-1;
}

/* Regional section uses a real Ipatinga aerial view with attribution below. */
.ng-locations {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    color: #fff !important;
    background: #171717 url('../images/ipatinga-aerea.webp') center 46%/cover no-repeat !important;
}

.ng-locations::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: '';
    background: linear-gradient(110deg, rgba(10, 10, 10, .9), rgba(10, 10, 10, .66)), linear-gradient(rgba(203, 145, 71, .14), rgba(203, 145, 71, .14));
}

.ng-locations h2 {
    max-width: 980px !important;
    margin: 0 auto 34px !important;
    color: #fff !important;
    font-size: clamp(2.4rem, 3.5vw, 3.55rem) !important;
    text-align: center;
}

.ng-locations__rail article {
    min-height: 165px !important;
    border-color: rgba(255, 255, 255, .22) !important;
    color: #fff !important;
    background: rgba(20, 20, 20, .58) !important;
    backdrop-filter: blur(8px);
}

.ng-locations__rail article:hover {
    border-color: rgba(203, 145, 71, .9) !important;
    background: rgba(20, 20, 20, .78) !important;
}

.ng-locations__rail h3,
.ng-locations__rail p,
.ng-locations__rail article>span {
    color: #fff !important;
}

.ng-locations__rail article>span {
    border-color: rgba(203, 145, 71, .85) !important;
}

/* Blog cards remain compact even when only one article exists. */
.ng-insights {
    padding-top: 62px !important;
    padding-bottom: 62px !important;
}

.ng-carousel-head {
    margin-bottom: 28px !important;
    text-align: center;
}

.ng-carousel-head h2 {
    max-width: 760px !important;
    margin: 0 auto !important;
    font-size: clamp(2.2rem, 3.3vw, 3.25rem) !important;
}

.ng-article-carousel {
    gap: 20px !important;
}

.ng-article-carousel:has(.ng-insight-card:only-child) {
    justify-content: center;
}

.ng-insight-card {
    flex: 0 0 min(365px, 85vw) !important;
    min-width: 0 !important;
}

.ng-insight-card__media {
    height: 185px !important;
    aspect-ratio: auto !important;
}

.ng-insight-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover !important;
    object-position: center !important;
}

.ng-insight-card>div:last-child {
    padding: 21px !important;
}

.ng-insight-card h3 {
    margin: 8px 0 10px !important;
    font-size: 1.42rem !important;
    line-height: 1.15 !important;
}

.ng-insight-card>div:last-child>p:not(.ng-card-label) {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    margin: 0 0 14px;
    font-size: .82rem !important;
    line-height: 1.55;
}

.articles-catalog {
    min-height: 0 !important;
}

.articles-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

.articles-grid:has(> .article-card:only-child) {
    grid-template-columns: minmax(0, 410px) !important;
    justify-content: center;
}

.article-card__media {
    height: 200px !important;
}

.article-card__body {
    padding: 22px !important;
}

.article-card h3 {
    margin: 9px 0 10px !important;
    font-size: clamp(1.55rem, 2vw, 1.9rem) !important;
}

.article-card__body>p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    margin-bottom: 14px;
}

/* Trust block shares the same surface as the blog and uses visual icons. */
.ng-trust {
    padding-top: 62px !important;
    padding-bottom: 62px !important;
    background: var(--ng-soft) !important;
}

.ng-trust__layout {
    align-items: center !important;
    gap: 58px !important;
}

.ng-trust__heading {
    position: static !important;
    align-self: center;
    text-align: center;
}

.ng-trust__heading h2 {
    font-size: clamp(2.25rem, 3.35vw, 3.3rem) !important;
}

.ng-trust__grid article {
    grid-template-columns: 48px 1fr !important;
    padding: 23px !important;
    background: #fff !important;
    transition: transform .22s ease, box-shadow .22s ease;
}

.ng-trust__grid article:hover {
    transform: translateX(6px);
    box-shadow: 0 16px 38px rgba(30, 30, 30, .08);
}

.ng-trust__grid strong {
    position: relative;
    display: grid !important;
    width: 44px;
    height: 44px;
    margin: 0 !important;
    place-items: center;
    border-radius: 12px;
    color: transparent !important;
    background: rgba(203, 145, 71, .17);
    font-size: 0 !important;
}

.ng-trust__grid strong::after {
    width: 22px;
    height: 22px;
    content: "";
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.ng-trust__grid article:nth-child(1) strong::after {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTEyIDUxMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgY2xhc3M9IiI+PGc+PHBhdGggZD0iTTI1NSAxNkMxMTQuMzkgMTYgMCAxMTYuOTI4IDAgMjQxYzAgNTIuNDEyIDIwLjc0MiAxMDMuMTk4IDU4LjQ5MSAxNDMuNDUyIDcuNDcxIDMwLjgwNi0xLjU5NyA2My40NDItMjQuMDk3IDg1Ljk0MkMyNC45ODYgNDc5LjgwMyAzMS42MzkgNDk2IDQ1IDQ5NmM0Mi43NDQgMCA4My45NS0xNi43NDMgMTE0LjU2NS00Ni4yNzRDMTg5Ljg1OCA0NjAuNTM2IDIyMS45MDkgNDY2IDI1NSA0NjZjMTQwLjYxIDAgMjU3LTEwMC45MjggMjU3LTIyNVMzOTUuNjEgMTYgMjU1IDE2TTEzNyAyODZjLTI0LjgxNCAwLTQ1LTIwLjE4Ni00NS00NXMyMC4xODYtNDUgNDUtNDUgNDUgMjAuMTg2IDQ1IDQ1LTIwLjE4NiA0NS00NSA0NW0xMjAgMGMtMjQuODE0IDAtNDUtMjAuMTg2LTQ1LTQ1czIwLjE4Ni00NSA0NS00NSA0NSAyMC4xODYgNDUgNDUtMjAuMTg2IDQ1LTQ1IDQ1bTEyMCAwYy0yNC44MTQgMC00NS0yMC4xODYtNDUtNDVzMjAuMTg2LTQ1IDQ1LTQ1IDQ1IDIwLjE4NiA0NSA0NS0yMC4xODYgNDUtNDUgNDUiIGZpbGw9IiNjYjkxNDciIG9wYWNpdHk9IjEiIGRhdGEtb3JpZ2luYWw9IiMwMDAwMDAiIGNsYXNzPSIiPjwvcGF0aD48L2c+PC9zdmc+");
}

.ng-trust__grid article:nth-child(2) strong::after {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgOTYgOTYiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMiA1MTIiIHhtbDpzcGFjZT0icHJlc2VydmUiIGNsYXNzPSIiPjxnPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTkzLjk2MyA2Ni4zMjFjLS4wODYuNzM3LS4yODMgMS40NDYtLjY1MiAyLjA0MWE0LjcgNC43IDAgMCAxLTEuNDQ1IDEuNTZMNjMuNjMxIDkwLjA0OGMtMi4xODIgMS41NTktNC40NzkgMi42MzYtNi44ODcgMy4yODgtMi4zODEuNjIzLTQuOTA0Ljc5NC03LjU0MS41MzhMMy4wMjcgOTEuOTQ2aC0uMDI5Yy0uNTY2IDAtLjk5Mi0uNDUzLS45OTItMS4wMlY2Ny44ODFjMC0uMTEzIDAtLjIyNy4wNTctLjM0MWExLjk2IDEuOTYgMCAwIDAgMS44MTQgMS4xOTFoLjY1MmMxLjUzMSAwIDIuOTc3LS4xNzEgNC4zOTUtLjUxMWExOCAxOCAwIDAgMCA0LjEzOS0xLjU1OWMzLjQtMS43ODYgNy4xNDMtMi42MzcgMTAuODg1LTIuNjM3IDMuNzEzLjAyOCA3LjQyNi45MzYgMTAuODI4IDIuNzUuOTYzLjUxIDEuODk4LjkzNiAyLjg5MSAxLjIxOS45OTIuMzEyIDIuMDE0LjUxIDMuMDkuNjIzbDEyLjE4OSAxLjIyYTYuMTggNi4xOCAwIDAgMSAzLjgyNiAxLjg5OCA2LjA3IDYuMDcgMCAwIDEgMS42NDUgMy45NjljLjAyNy4zMTItLjAyOS41OTYtLjE0My44NTFzLS4yODMuNTEtLjUxLjcwOWExLjkgMS45IDAgMCAxLS43MzYuNDUzIDIuMiAyLjIgMCAwIDEtLjg3OS4wODVsLTI0LjA2Ni0yLjQzOGMtMS4wNzgtLjExMy0yLjA2OC43MDgtMi4xODQgMS43ODVhMi4wMjYgMi4wMjYgMCAwIDAgMS44MTQgMi4xODRsMjQuMDM5IDIuNDM4Yy45MDYuMTEzIDEuNzU4IDAgMi41NTEtLjI1NWE2LjUgNi41IDAgMCAwIDIuMTgyLTEuMzMzYy42NTItLjYyMyAxLjE2Mi0xLjMzMiAxLjQ3NS0yLjA5OC4zNC0uNzkzLjQ4Mi0xLjY0NC40NTMtMi41MjJhMTAgMTAgMCAwIDAtLjE0MS0xLjI3NUw4MC43MjUgNjEuMTlhOS4wOCA5LjA4IDAgMCAxIDYuMTUtMS42NDQgOS4yMyA5LjIzIDAgMCAxIDUuNzU2IDIuODM1Yy41MS41MzguODc5IDEuMTYyIDEuMTA1IDEuODEzLjIyNy42ODIuMzExIDEuMzkxLjIyNyAyLjEyN00zNS44ODEgNTAuNjE3YTI4LjM3IDI4LjM3IDAgMCAxLTguMzM0LTIwLjE1NCAyOC4zNiAyOC4zNiAwIDAgMSA4LjMzNC0yMC4xMjYgMjguMzcgMjguMzcgMCAwIDEgMjAuMTI1LTguMzM0IDI4LjM4IDI4LjM4IDAgMCAxIDIwLjE1NCA4LjMzNGM1LjEzMSA1LjE1OSA4LjMzNCAxMi4yNzQgOC4zMzQgMjAuMTI2IDAgNy44ODEtMy4yMDMgMTQuOTk2LTguMzM0IDIwLjE1NC01LjE1OCA1LjEzMS0xMi4yNzMgOC4zMzQtMjAuMTU0IDguMzM0LTcuODUyIDAtMTQuOTY3LTMuMjAzLTIwLjEyNS04LjMzNG0yMi44NDgtMy42MjhhMi43MjMgMi43MjMgMCAwIDAtMi43MjMtMi43MjJjLTEuNDczIDAtMi42OTEgMS4yMi0yLjY5MSAyLjcyMnMxLjIxOSAyLjY5M2gyLjY5MWMxLjUwNC4wMDEgMi43MjMtMS4xOTEgMi43MjMtMi42OTNtLTEyLjM2LTIyLjM5M2MwIDEuMTA1LjkwNiAyLjAxMyAyLjAxMiAyLjAxM3MxLjk4NC0uOTA3IDEuOTg0LTIuMDEzYzAtMS41Ni42NTItMi45NzcgMS42NzItMy45OTdhNS41NyA1LjU3IDAgMCAxIDMuOTY5LTEuNjQ0IDUuNjYxIDUuNjYxIDAgMCAxIDUuNjcgNS42NDEgNS40MyA1LjQzIDAgMCAxLS43OTMgMi44NjMgNS43IDUuNyAwIDAgMS0yLjE1NCAyLjA5OGMtMS40NzUuODIxLTIuNjY2IDEuOTU1LTMuNDU5IDMuMzE2LS44MjIgMS4zNi0xLjI0OCAyLjk0Ny0xLjI0OCA0LjYydjEuNjE2YzAgMS4xMDUuODc5IDEuOTgzIDEuOTg0IDEuOTgzczIuMDE0LS44NzggMi4wMTQtMS45ODN2LTEuNjE2YzAtLjk2NC4yMjctMS44NDMuNjgtMi41NzlxLjY4LTEuMTUgMS45NTUtMS44NzFhOS41MyA5LjUzIDAgMCAwIDMuNjU4LTMuNTQ0Yy44NS0xLjQ0NSAxLjM1OS0zLjExNyAxLjM1OS00LjkwM2E5LjYyIDkuNjIgMCAwIDAtMi44MzQtNi44MzIgOS43MSA5LjcxIDAgMCAwLTYuODMyLTIuODA2IDkuNiA5LjYgMCAwIDAtNi44MDMgMi44MDYgOS42MiA5LjYyIDAgMCAwLTIuODM0IDYuODMyIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiNjYjkxNDciIG9wYWNpdHk9IjEiIGRhdGEtb3JpZ2luYWw9IiMwMDAwMDAiIGNsYXNzPSIiPjwvcGF0aD48L2c+PC9zdmc+");
}

.ng-trust__grid article:nth-child(3) strong::after {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgNDI4LjE2IDQyOC4xNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTEyIDUxMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgY2xhc3M9IiI+PGc+PHBhdGggZD0iTTM5My44IDExMC4yMDhjLS41MTItMTEuMjY0LS41MTItMjIuMDE2LS41MTItMzIuNzY4IDAtOC43MDQtNi42NTYtMTUuMzYtMTUuMzYtMTUuMzYtNjQgMC0xMTIuNjQtMTguNDMyLTE1My4wODgtNTcuODU2LTYuMTQ0LTUuNjMyLTE1LjM2LTUuNjMyLTIxLjUwNCAwQzE2Mi44ODggNDMuNjQ4IDExNC4yNDggNjIuMDggNTAuMjQ4IDYyLjA4Yy04LjcwNCAwLTE1LjM2IDYuNjU2LTE1LjM2IDE1LjM2IDAgMTAuNzUyIDAgMjEuNTA0LS41MTIgMzIuNzY4LTIuMDQ4IDEwNy41Mi01LjEyIDI1NC45NzYgMTc0LjU5MiAzMTYuOTI4bDUuMTIgMS4wMjQgNS4xMi0xLjAyNGMxNzkuMi02MS45NTIgMTc2LjY0LTIwOC44OTYgMTc0LjU5Mi0zMTYuOTI4TTIwMS44IDI1OS4yYy0zLjA3MiAyLjU2LTYuNjU2IDQuMDk2LTEwLjc1MiA0LjA5NmgtLjUxMmMtNC4wOTYgMC04LjE5Mi0yLjA0OC0xMC43NTItNS4xMmwtNDcuNjE2LTUyLjczNiAyMy4wNC0yMC40OCAzNy4zNzYgNDEuNDcyIDgyLjk0NC03OC44NDggMjAuOTkyIDIyLjUyOHoiIGZpbGw9IiNjYjkxNDciIG9wYWNpdHk9IjEiIGRhdGEtb3JpZ2luYWw9IiMwMDAwMDAiIGNsYXNzPSIiPjwvcGF0aD48L2c+PC9zdmc+");
}

/* Home contact: correct contrast, larger atmospheric portrait, light form. */
.ng-contact__copy {
    color: #fff !important;
    background: #141414 !important;
}

.ng-contact__copy::after {
    right: -35px !important;
    bottom: -55px !important;
    width: 72% !important;
    height: 88% !important;
    opacity: .23 !important;
    filter: blur(4px);
    background-position: center top !important;
}

.ng-contact__copy h2 {
    color: #fff !important;
}

.ng-contact__copy>p:not(.ng-kicker) {
    color: #c9c5bf !important;
}

.ng-contact__copy ul {
    border-top-color: rgba(255, 255, 255, .28) !important;
}

.ng-contact__copy li {
    border-bottom-color: rgba(255, 255, 255, .28) !important;
}

.ng-contact__copy li span,
.ng-contact__copy li a {
    color: #f1eee9 !important;
}

.ng-contact__form {
    color: #1e1e1e !important;
    background: #fff !important;
    color-scheme: light;
}

.ng-contact__form .ng-field label {
    color: #4d4d4d !important;
}

.ng-contact__form input,
.ng-contact__form select,
.ng-contact__form textarea {
    color: #1e1e1e !important;
    background: #fbfaf7 !important;
}

.ng-contact__form option {
    color: #1e1e1e;
    background: #fff;
}

.contact-premium .form-card {
    color: #1e1e1e;
    background: #fff;
    color-scheme: light;
}

.contact-premium .field label {
    color: #474747 !important;
}

.contact-premium .field input,
.contact-premium .field select,
.contact-premium .field textarea {
    color: #1e1e1e !important;
    background: #fff !important;
}

.contact-premium__intro>img {
    width: 88% !important;
    height: 61% !important;
    opacity: .34 !important;
    filter: blur(3px);
}

/* About CTA never places a black button on the black panel. */
.premium-cta .button,
.premium-cta .button--light {
    border-color: var(--ng-gold) !important;
    color: #1e1e1e !important;
    background: var(--ng-gold) !important;
}

.premium-cta .button:hover,
.premium-cta .button--light:hover {
    border-color: #fff !important;
    background: #fff !important;
}

/* Article conversion panel: keep the call-to-action visible on the dark block. */
.article-inline-cta .button,
.article-inline-cta .button--light {
    border-color: var(--ng-gold) !important;
    border-radius: 999px !important;
    color: #1e1e1e !important;
    background: var(--ng-gold) !important;
}

.article-inline-cta .button:hover,
.article-inline-cta .button--light:hover {
    border-color: #fff !important;
    color: #1e1e1e !important;
    background: #fff !important;
}

/* Topic-specific practice page. */
.topic-overview {
    background: #fff;
}

.topic-overview .center-heading {
    max-width: 920px;
}

.topic-overview .center-heading h2 {
    font-size: clamp(2.45rem, 4vw, 4rem);
}

.topic-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 42px;
}

.topic-benefits article {
    padding: 28px;
    border: 1px solid var(--ng-line);
    border-radius: 18px;
    background: var(--ng-cream);
    transition: transform .22s ease, box-shadow .22s ease;
}

.topic-benefits article:hover {
    transform: translateY(-7px);
    box-shadow: var(--ng-shadow);
}

.topic-benefits span {
    color: var(--ng-gold-dark);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .12em;
}

.topic-benefits h3 {
    margin: 30px 0 10px;
    font-size: 1.75rem;
}

.topic-benefits p {
    margin: 0;
    color: var(--ng-muted);
    font-size: .88rem;
    line-height: 1.7;
}

.topic-process {
    background: var(--ng-soft);
}

.topic-process__layout {
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    align-items: start;
    gap: 68px;
}

.topic-process__intro {
    position: sticky;
    top: 126px;
}

.topic-process__intro h2 {
    margin: 8px 0 18px;
    font-size: clamp(2.35rem, 3.5vw, 3.5rem);
    line-height: 1;
}

.topic-process__intro>p:last-child {
    color: var(--ng-muted);
    line-height: 1.7;
}

.topic-accordion {
    border-top: 1px solid var(--ng-line);
}

.topic-accordion .areas-premium-item>button {
    min-height: 74px !important;
    padding: 12px 0 !important;
}

.topic-accordion .areas-premium-item>button strong {
    font-size: clamp(1.45rem, 2.2vw, 2rem) !important;
}

.topic-accordion .ng-practice-panel>div {
    padding: 0 0 22px 56px !important;
}

.topic-accordion .ng-practice-panel p,
.topic-accordion .ng-practice-panel a {
    margin-left: 0 !important;
}

/* Attribution remains discreet without hiding the required credit. */
.site-photo-credit {
    max-width: 1280px;
    margin: -20px auto 0;
    padding: 0 24px 25px;
    color: #777;
    font-size: .58rem;
    text-align: center;
}

.site-photo-credit a {
    color: inherit;
}

.site-photo-credit a:hover {
    color: var(--ng-gold);
}

/* The custom pointer owns every fine-pointer interaction. */
@media (pointer: fine) {

    html,
    body,
    a,
    button,
    input,
    select,
    textarea,
    label,
    summary,
    [role="button"] {
        cursor: none !important;
    }
}

@media (max-width: 980px) {
    .premium-page>.inner-hero .inner-hero__grid {
        padding-top: 8px !important;
    }

    .inner-hero__portrait {
        height: 370px !important;
    }

    .ng-practice__layout,
    .ng-trust__layout,
    .topic-process__layout {
        grid-template-columns: 1fr !important;
    }

    .topic-process__intro {
        position: static;
        text-align: center;
    }

    .topic-benefits {
        grid-template-columns: 1fr 1fr;
    }

    .articles-grid {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 720px) {

    html,
    body {
        max-width: 100%;
        overflow-x: clip;
    }

    img {
        max-width: 100%;
    }

    .container,
    .container--narrow {
        width: calc(100% - 32px) !important;
        min-width: 0;
    }

    .ng-hero__content,
    .ng-about__grid,
    .ng-practice__layout,
    .ng-method,
    .ng-trust__layout,
    .ng-contact__grid,
    .inner-hero__grid,
    .inner-hero__copy,
    .topic-process__layout {
        min-width: 0;
    }

    .ng-hero h1 {
        max-width: 100% !important;
        font-size: clamp(2.65rem, 12.5vw, 3.55rem) !important;
        letter-spacing: -.035em;
    }

    .ng-hero h1 em {
        display: inline;
        min-width: 0;
    }

    .premium-page>.inner-hero .inner-hero__grid {
        padding-top: 0 !important;
    }

    .premium-page>.inner-hero .inner-hero__copy {
        padding: 38px 0 20px !important;
    }

    .premium-page>.inner-hero .inner-hero__copy h1 {
        max-width: 100%;
        font-size: clamp(2.5rem, 11.5vw, 3.35rem) !important;
        line-height: .98 !important;
        overflow-wrap: anywhere;
    }

    .inner-hero__copy h1 em {
        display: inline;
    }

    .inner-hero__portrait {
        height: 330px !important;
        margin: 10px auto 28px !important;
    }

    .ng-about__grid {
        min-width: 0;
    }

    .ng-about__visual,
    .ng-about__portrait {
        width: 100%;
        min-width: 0;
    }

    .ng-about__credential {
        right: 8px !important;
        max-width: calc(100% - 16px);
        min-width: 0 !important;
    }

    .ng-about__copy h2,
    .ng-practice__header h2,
    .ng-method__intro h2,
    .ng-carousel-head h2,
    .ng-trust__heading h2,
    .ng-contact__copy h2,
    .ng-locations h2 {
        font-size: clamp(2.15rem, 10.5vw, 2.85rem) !important;
        overflow-wrap: anywhere;
    }

    .nav-submenu {
        transform: none !important;
    }

    .nav-has-submenu:hover .nav-submenu,
    .nav-has-submenu.is-open .nav-submenu {
        transform: none !important;
    }

    .ng-practice__layout {
        gap: 32px !important;
    }

    .ng-method__steps li {
        grid-template-columns: auto 1fr !important;
    }

    .ng-locations__rail {
        grid-template-columns: 1fr !important;
    }

    .ng-trust__layout {
        gap: 32px !important;
    }

    .topic-benefits,
    .articles-grid {
        grid-template-columns: 1fr !important;
    }

    .articles-grid:has(> .article-card:only-child) {
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100%;
    }

    .article-card,
    .ng-insight-card {
        width: 100%;
        max-width: 100%;
        min-width: 0 !important;
    }

    .topic-benefits article {
        padding: 24px;
    }

    .topic-accordion .ng-practice-panel>div {
        padding-left: 46px !important;
    }

    .article-card__media {
        height: 190px !important;
    }

    .ng-contact__copy {
        padding: 30px 24px !important;
    }

    .ng-contact__copy li {
        grid-template-columns: 78px minmax(0, 1fr) !important;
    }

    .footer-grid>*,
    .footer-bottom>* {
        min-width: 0;
        overflow-wrap: anywhere;
    }
}

/* Final article template overrides (kept last to win over legacy theme layers). */
.article-detail {
    padding-top: 0 !important;
}

.article-detail__header {
    padding: 38px 0 !important;
    text-align: left !important;
}

.article-detail__hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
    gap: clamp(30px, 4vw, 62px);
    align-items: center;
}

.article-detail__header .article-meta {
    justify-content: flex-start !important;
}

.article-detail__header h1 {
    max-width: 760px !important;
    margin: 16px 0 0 !important;
    font-size: clamp(2.75rem, 4.35vw, 4.75rem) !important;
    line-height: .96 !important;
}

.article-detail__intro>p {
    max-width: 680px;
    margin: 18px 0 0;
    color: var(--ng-muted);
    font-size: .95rem;
    line-height: 1.68;
}

.article-detail__cover {
    width: 100%;
    height: clamp(300px, 32vw, 440px);
    margin: 0 !important;
    overflow: hidden;
    border-radius: 20px;
    background: #e9e4dc;
    box-shadow: var(--ng-shadow);
}

.article-detail__cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.article-detail__body {
    gap: 52px !important;
    padding-top: 48px !important;
    padding-bottom: 60px !important;
}

.article-content>h1:first-child {
    display: none;
}

.article-content h2 {
    margin-top: 1.6em !important;
}

.article-content h3 {
    margin-top: 1.4em !important;
}

@media (max-width: 980px) {
    .article-detail__hero-grid {
        grid-template-columns: 1fr;
    }

    .article-detail__cover {
        height: min(58vw, 430px);
    }

    .topic-process__intro {
        position: static !important;
        transform: none !important;
    }
}

@media (max-width: 720px) {
    .article-detail__header {
        padding: 28px 0 34px !important;
    }

    .article-detail__hero-grid {
        gap: 24px;
    }

    .article-detail__header h1 {
        font-size: clamp(2.35rem, 11vw, 3.35rem) !important;
    }

    .article-detail__cover {
        height: 62vw;
        min-height: 220px;
        border-radius: 14px;
    }

    .article-detail__body {
        gap: 22px !important;
        padding-top: 34px !important;
    }
}

/* Definitive alignment pass: deliberately last in the cascade. */
.ng-practice__layout,
.topic-process__layout {
    align-items: stretch !important;
}

.ng-practice__header,
.topic-process__intro {
    display: flex !important;
    position: static !important;
    flex-direction: column;
    align-self: stretch !important;
    justify-content: center !important;
    transform: none !important;
}

.ng-practice-item>button,
.areas-premium-item>button {
    align-items: center !important;
}

@media (max-width: 720px) {
    .ng-hero {
        overflow: hidden;
    }

    .ng-hero__content {
        width: 100% !important;
        max-width: 100% !important;
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    .ng-hero h1 {
        width: 100% !important;
        max-width: 350px !important;
        margin-right: auto !important;
        margin-left: auto !important;
        font-size: clamp(2.25rem, 11vw, 3rem) !important;
        overflow-wrap: break-word;
    }

    .ng-hero__lead {
        width: 100% !important;
        max-width: 340px !important;
        margin-right: auto !important;
        margin-left: auto !important;
        text-align: center !important;
    }

    .ng-proof__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ng-proof__item {
        min-width: 0;
        text-align: center;
    }

    .ng-home section:not(.ng-proof),
    .premium-page section,
    .article-detail,
    .site-footer {
        text-align: center !important;
    }

    .ng-about__copy,
    .ng-practice__header,
    .ng-method__intro,
    .ng-trust__heading,
    .ng-contact__copy,
    .inner-hero__copy,
    .topic-process__intro,
    .center-heading,
    .premium-cta__inner,
    .article-detail__intro,
    .article-content,
    .footer-grid,
    .footer-bottom {
        text-align: center !important;
    }

    .ng-about__copy p,
    .ng-practice__header p,
    .ng-method__intro p,
    .ng-trust__heading p,
    .ng-contact__copy>p,
    .inner-hero__copy>p,
    .topic-process__intro>p,
    .article-detail__intro>p,
    .article-content p {
        margin-right: auto !important;
        margin-left: auto !important;
    }

    .ng-actions,
    .article-meta,
    .premium-cta__inner,
    .footer-bottom,
    .kicker,
    .ng-kicker {
        justify-content: center !important;
    }

    .ng-about__grid {
        gap: 18px !important;
    }

    .ng-about__visual {
        margin-bottom: 0 !important;
    }

    .ng-about__copy {
        padding-top: 0 !important;
    }

    .ng-practice__header,
    .topic-process__intro {
        align-items: center;
    }

    .ng-practice-item>button,
    .areas-premium-item>button {
        grid-template-columns: 38px minmax(0, 1fr) 34px !important;
        min-height: 72px !important;
        text-align: center !important;
    }

    .ng-practice-panel>div,
    .topic-accordion .ng-practice-panel>div {
        padding-right: 38px !important;
        padding-left: 38px !important;
        text-align: center !important;
    }

    .ng-practice-panel p,
    .ng-practice-panel a {
        margin-right: auto !important;
        margin-left: auto !important;
    }

    .ng-method__steps li,
    .topic-benefits article,
    .ng-trust__grid article,
    .ng-locations__rail article,
    .article-card__body {
        text-align: center !important;
    }

    .ng-method__steps li,
    .ng-trust__grid article {
        grid-template-columns: 1fr !important;
        justify-items: center;
    }

    .ng-method__steps p {
        grid-column: 1;
    }

    .ng-contact__copy li {
        grid-template-columns: 1fr !important;
        gap: 5px;
    }

    .article-detail__header .article-meta {
        justify-content: center !important;
    }

    .article-content ul,
    .article-content ol {
        display: inline-block;
        margin-right: auto !important;
        margin-left: auto !important;
        text-align: left;
    }

    .footer-grid {
        justify-items: center;
    }

    .footer-links {
        padding: 0;
    }

    .ng-method__steps li:hover,
    .topic-benefits article:hover,
    .ng-trust__grid article:hover,
    .ng-locations__rail article:hover,
    .article-card:hover,
    .ng-insight-card:hover {
        transform: none !important;
        box-shadow: none !important;
    }
}

@media (max-width: 420px) {
    .ng-proof__grid {
        grid-template-columns: 1fr !important;
    }
}

/* Mobile navigation: one centered visual axis for every menu element. */
@media (max-width: 980px) {

    .site-nav,
    .site-nav.is-open {
        align-items: center !important;
        text-align: center !important;
    }

    .site-nav>ul {
        width: min(100%, 340px) !important;
        margin: 0 auto !important;
        padding: 0 !important;
        align-items: stretch !important;
    }

    .site-nav>ul>li {
        width: 100% !important;
        margin: 0 !important;
        text-align: center !important;
    }

    .site-nav>ul>li>a,
    .site-nav .nav-parent {
        width: 100% !important;
        min-height: 44px !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .site-nav .nav-parent {
        position: relative;
    }

    .site-nav .nav-submenu-arrow {
        margin-left: 9px !important;
    }

    .site-nav .nav-submenu {
        width: 100% !important;
        margin-right: auto !important;
        margin-left: auto !important;
        text-align: center !important;
    }

    .site-nav .nav-submenu a,
    .site-nav .nav-submenu a:hover,
    .site-nav .nav-submenu a:focus {
        padding-right: 14px !important;
        padding-left: 14px !important;
        text-align: center !important;
    }

    .site-nav .button {
        align-self: center !important;
        width: auto !important;
        min-width: 185px;
        margin: 10px auto 0 !important;
        text-align: center !important;
    }
}

/* ========================================================================== */
/* FINAL OVERRIDES — METHOD CARDS AND HEADING FIXES                           */
/* Keep this block at the end of the stylesheet.                              */
/* ========================================================================== */

/* Exclusive title size for the About section. */
.ng-about__copy h2.ng-about__title {
    font-size: clamp(2.15rem, 3.45vw, 3.55rem) !important;
    line-height: 1.03 !important;
}

/* Method section: equal-height cards and aligned internal content. */
.ng-method__steps {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    list-style: none !important;
}

.ng-method__steps li {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    grid-template-rows: auto 1fr !important;
    align-content: start !important;
    align-items: start !important;
    gap: 0 18px !important;
    height: 100% !important;
    min-height: 350px !important;
    padding: 28px !important;
    border: 1px solid var(--ng-line) !important;
    border-radius: var(--ng-radius) !important;
    background: var(--ng-cream) !important;
    text-align: left !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.ng-method__steps li:hover {
    z-index: 2;
    transform: translateY(-5px) !important;
    border-color: rgba(203, 145, 71, .7) !important;
    box-shadow: 0 22px 48px rgba(30, 30, 30, .12) !important;
}

.ng-method__steps>li>span {
    display: grid !important;
    grid-row: 1 !important;
    grid-column: 1 !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    place-items: center !important;
    border-radius: 10px !important;
    color: #8f5b1d !important;
    background: rgba(203, 145, 71, .14) !important;
    font-family: "BR Firma", Arial, sans-serif !important;
    font-size: .76rem !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
}

.ng-method__steps li>div {
    display: flex !important;
    grid-row: 1 / 3 !important;
    grid-column: 2 !important;
    min-width: 0 !important;
    flex-direction: column !important;
}

.ng-method__steps h3 {
    min-height: 68px !important;
    margin: 0 0 18px !important;
    font-size: clamp(1.5rem, 1.65vw, 1.75rem) !important;
    font-weight: 600 !important;
    line-height: 1.05 !important;
}

.ng-method__steps p {
    grid-column: auto !important;
    margin: 0 !important;
    color: var(--ng-muted) !important;
    font-size: .94rem !important;
    line-height: 1.75 !important;
}

@media (max-width: 1100px) {
    .ng-method__steps {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ng-method__steps li {
        min-height: 300px !important;
    }
}

@media (max-width: 720px) {
    .ng-method__steps {
        grid-template-columns: 1fr !important;
    }

    .ng-method__steps li {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto !important;
        justify-items: center !important;
        gap: 18px !important;
        min-height: 0 !important;
        padding: 26px 22px !important;
        text-align: center !important;
    }

    .ng-method__steps>li>span {
        grid-row: auto !important;
        grid-column: auto !important;
    }

    .ng-method__steps li>div {
        display: block !important;
        grid-row: auto !important;
        grid-column: auto !important;
    }

    .ng-method__steps h3 {
        min-height: 0 !important;
        margin-bottom: 12px !important;
    }

    .ng-method__steps li:hover {
        transform: none !important;
        box-shadow: none !important;
    }
}

/* ==========================================================================
   AJUSTE FINAL — CARDS "COMO FUNCIONA"
   Conteúdo centralizado, mesma altura e aproveitamento total do card
   ========================================================================== */

.ng-method__steps {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    list-style: none !important;
}

.ng-method__steps>li {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 26px 24px !important;
    border: 1px solid var(--ng-line) !important;
    border-radius: var(--ng-radius) !important;
    background: var(--ng-cream) !important;
    text-align: center !important;
}

.ng-method__steps>li>span {
    display: grid !important;
    flex: 0 0 auto !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 0 18px !important;
    place-items: center !important;
    border-radius: 11px !important;
    color: var(--ng-gold-dark) !important;
    background: rgba(203, 145, 71, .13) !important;
    font-family: "BR Firma", Arial, sans-serif !important;
    font-size: .76rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.ng-method__steps>li>div {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

.ng-method__steps h3 {
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 12px !important;
    color: var(--ng-black) !important;
    font-size: clamp(1.42rem, 1.5vw, 1.65rem) !important;
    font-weight: 600 !important;
    line-height: 1.08 !important;
    text-align: center !important;
}

.ng-method__steps p {
    grid-column: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    color: var(--ng-muted) !important;
    font-size: .9rem !important;
    line-height: 1.62 !important;
    text-align: center !important;
}

.ng-method__steps>li:hover {
    transform: translateY(-3px) !important;
    background: #f5ecdd !important;
    box-shadow: var(--ng-shadow) !important;
}

@media (max-width: 1100px) {
    .ng-method__steps {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ng-method__steps>li {
        padding: 26px !important;
    }
}

@media (max-width: 720px) {
    .ng-method__steps {
        grid-template-columns: 1fr !important;
    }

    .ng-method__steps>li {
        min-height: 0 !important;
        padding: 24px 22px !important;
    }

    .ng-method__steps>li>span {
        margin-bottom: 15px !important;
    }

    .ng-method__steps h3 {
        margin-bottom: 10px !important;
        font-size: clamp(1.55rem, 7vw, 1.85rem) !important;
    }

    .ng-method__steps p {
        max-width: 440px !important;
        font-size: .9rem !important;
    }

    .ng-method__steps>li:hover {
        transform: none !important;
        box-shadow: none !important;
    }
}

/* ==========================================================================
   AJUSTE FINAL — HERO DA PÁGINA SOBRE
   Mantém a estrutura original e reduz o H1 com maior especificidade.
   ========================================================================== */

.about-page>.inner-hero .inner-hero__grid {
    grid-template-columns: minmax(0, 1.3fr) minmax(330px, .7fr) !important;
    align-items: center !important;
    min-height: 520px !important;
    gap: clamp(44px, 5vw, 76px) !important;
    padding-top: 18px !important;
}

.about-page>.inner-hero .inner-hero__copy {
    min-width: 0;
    padding: 52px 0 !important;
}

.about-page>.inner-hero .inner-hero__copy .kicker {
    margin-bottom: 18px !important;
}

.about-page>.inner-hero .inner-hero__copy h1 {
    width: 100%;
    max-width: 780px !important;
    margin: 0 !important;
    font-size: clamp(2.75rem, 3.45vw, 3.9rem) !important;
    line-height: .98 !important;
    letter-spacing: -.035em !important;
    text-wrap: balance;
}

.about-page>.inner-hero .inner-hero__copy>p:not(.kicker) {
    max-width: 690px !important;
    margin-top: 22px !important;
    font-size: 1rem !important;
    line-height: 1.72 !important;
}

.about-page>.inner-hero .inner-hero__copy .button {
    margin-top: 26px !important;
}

.about-page>.inner-hero .inner-hero__portrait {
    align-self: center !important;
    height: 420px !important;
    margin: 26px 0 !important;
}

@media (max-width: 1100px) {
    .about-page>.inner-hero .inner-hero__grid {
        grid-template-columns: minmax(0, 1.2fr) minmax(290px, .65fr) !important;
        gap: 36px !important;
    }

    .about-page>.inner-hero .inner-hero__copy h1 {
        font-size: clamp(2.55rem, 4.5vw, 3.45rem) !important;
    }
}

@media (max-width: 980px) {
    .about-page>.inner-hero .inner-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(250px, .52fr) !important;
        padding-top: 8px !important;
    }

    .about-page>.inner-hero .inner-hero__copy {
        padding: 42px 0 !important;
    }

    .about-page>.inner-hero .inner-hero__copy h1 {
        font-size: clamp(2.35rem, 5.4vw, 3.1rem) !important;
    }

    .about-page>.inner-hero .inner-hero__portrait {
        height: 370px !important;
    }
}

@media (max-width: 720px) {
    .about-page>.inner-hero .inner-hero__grid {
        display: block !important;
        min-height: 0 !important;
        padding-top: 0 !important;
    }

    .about-page>.inner-hero .inner-hero__copy {
        padding: 42px 0 28px !important;
        text-align: center !important;
    }

    .about-page>.inner-hero .inner-hero__copy h1 {
        max-width: 620px !important;
        margin-right: auto !important;
        margin-left: auto !important;
        font-size: clamp(2.15rem, 9.3vw, 2.85rem) !important;
        line-height: 1 !important;
    }

    .about-page>.inner-hero .inner-hero__copy>p:not(.kicker) {
        margin-right: auto !important;
        margin-left: auto !important;
        font-size: .94rem !important;
    }

    .about-page>.inner-hero .inner-hero__portrait {
        height: 330px !important;
        max-width: 420px !important;
        margin: 8px auto 28px !important;
    }
}

/* ==========================================================================
   AJUSTE FINAL — BLOCO SOBRE / HISTÓRIA
   Reduz o título, melhora a proporção com a imagem e compacta os espaçamentos.
   ========================================================================== */

.about-page .about-story {
    padding: 68px 0 !important;
}

.about-page .about-story__grid {
    grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr) !important;
    align-items: center !important;
    gap: clamp(48px, 5vw, 72px) !important;
}

.about-page .about-story__image {
    height: 560px !important;
}

.about-page .about-story__image img {
    object-position: center 14% !important;
}

.about-page .about-story__image span {
    right: -18px !important;
    bottom: 22px !important;
    max-width: 210px !important;
    padding: 16px 20px !important;
    font-size: .78rem !important;
    line-height: 1.42 !important;
}

.about-page .about-story__copy {
    min-width: 0;
}

.about-page .about-story__copy .kicker {
    margin-bottom: 16px !important;
}

.about-page .about-story__copy h2 {
    max-width: 720px !important;
    margin: 0 0 22px !important;
    font-size: clamp(2.35rem, 3.2vw, 3.55rem) !important;
    line-height: 1.01 !important;
    letter-spacing: -.03em !important;
    text-wrap: balance;
}

.about-page .about-story__copy p {
    max-width: 760px;
    margin-bottom: 18px !important;
    font-size: .98rem !important;
    line-height: 1.72 !important;
}

.about-page .about-story__copy blockquote {
    margin-top: 24px !important;
    padding: 20px 24px !important;
    font-size: 1.28rem !important;
    line-height: 1.35 !important;
}

@media (max-width: 1100px) {
    .about-page .about-story__grid {
        grid-template-columns: minmax(300px, .76fr) minmax(0, 1.24fr) !important;
        gap: 44px !important;
    }

    .about-page .about-story__image {
        height: 520px !important;
    }

    .about-page .about-story__copy h2 {
        font-size: clamp(2.2rem, 3.7vw, 3.2rem) !important;
    }
}

@media (max-width: 980px) {
    .about-page .about-story {
        padding: 58px 0 !important;
    }

    .about-page .about-story__grid {
        grid-template-columns: 1fr !important;
        gap: 38px !important;
    }

    .about-page .about-story__image {
        width: min(100%, 620px);
        height: 540px !important;
        margin: 0 auto;
    }

    .about-page .about-story__image span {
        right: 18px !important;
    }

    .about-page .about-story__copy {
        max-width: 780px;
        margin: 0 auto;
    }

    .about-page .about-story__copy h2 {
        max-width: 760px !important;
        font-size: clamp(2.35rem, 5vw, 3.25rem) !important;
    }
}

@media (max-width: 720px) {
    .about-page .about-story {
        padding: 52px 0 !important;
    }

    .about-page .about-story__grid {
        gap: 30px !important;
    }

    .about-page .about-story__image {
        height: 460px !important;
    }

    .about-page .about-story__image span {
        right: 12px !important;
        bottom: 12px !important;
        max-width: 190px !important;
        padding: 14px 16px !important;
        font-size: .72rem !important;
    }

    .about-page .about-story__copy h2 {
        max-width: 620px !important;
        margin-right: auto !important;
        margin-left: auto !important;
        font-size: clamp(2.05rem, 8.8vw, 2.65rem) !important;
        line-height: 1.03 !important;
    }

    .about-page .about-story__copy p {
        font-size: .94rem !important;
        line-height: 1.68 !important;
    }

    .about-page .about-story__copy blockquote {
        padding: 18px 20px !important;
        font-size: 1.16rem !important;
    }
}

/* =========================================
   CTA FINAL - PÁGINA SOBRE
========================================= */

.about-page .premium-cta {
    padding: 64px 0 !important;
}

.about-page .premium-cta__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1.45fr) auto;
    align-items: center !important;
    gap: 72px;
}

.about-page .premium-cta__inner>div {
    max-width: 980px;
}

.about-page .premium-cta .kicker {
    margin-bottom: 14px;
}

.about-page .premium-cta h2 {
    max-width: 760px;
    margin: 0 0 18px;
    font-size: clamp(2.3rem, 3.3vw, 3.35rem) !important;
    line-height: 1.02;
    letter-spacing: -.03em;
}

.about-page .premium-cta p {
    max-width: 840px;
    margin: 0;
    color: #d7d3cd;
    font-size: 1rem;
    line-height: 1.75;
}

.about-page .premium-cta .button {
    width: 210px;
    min-height: 58px;
    padding: 0 28px;
    border-radius: 14px;
    font-size: 1rem;
    white-space: nowrap;
}

@media(max-width:980px) {

    .about-page .premium-cta__inner {
        grid-template-columns: 1fr;
        gap: 34px;
        text-align: center;
    }

    .about-page .premium-cta h2 {
        max-width: 700px;
        margin-inline: auto;
    }

    .about-page .premium-cta p {
        margin-inline: auto;
    }

.about-page .premium-cta .button {
        margin: auto;
    }
}

/* Local body typography and deterministic navigation states. */
.site-nav a,
.site-nav button,
.site-nav .button {
    font-family: "BR Firma", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 700 !important;
}

.nav-submenu-arrow {
    margin-top: -4px;
    transform: rotate(45deg);
}

[data-submenu-toggle][aria-expanded="true"] .nav-submenu-arrow {
    margin-top: 3px;
    transform: rotate(225deg);
}

@media (max-width: 980px) {
    .site-nav {
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    .nav-has-submenu:not(.is-open) .nav-submenu {
        max-height: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* ========================================================================== */
/* FINAL 2026 — RICCIONE, WHATSAPP E ESCALA TIPOGRÁFICA                      */
/* ========================================================================== */

@font-face {
    font-family: "Riccione Serial";
    src: url("../fonts/riccione-serial-regular.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

:root {
    --serif: "Riccione Serial", Georgia, serif;
    --section-title-size: clamp(2.5rem, 4vw, 4rem);
}

h1,
h2,
h3,
h4,
h5,
h6,
blockquote {
    font-family: "Riccione Serial", Georgia, serif !important;
    font-weight: 400 !important;
}

/* A capa principal mantém sua escala exclusiva. Os demais títulos principais
   usam a mesma escala em todas as páginas. */
.ng-about__copy h2.ng-about__title,
.ng-practice__header h2,
.ng-method__intro h2,
.ng-locations>.container>h2,
.ng-carousel-head h2,
.ng-trust__heading h2,
.ng-contact__copy h2,
.ng-urgent h2,
.center-heading h2,
.topic-process__intro h2,
.about-story__copy h2,
.contact-premium__intro h2,
.contact-whatsapp-card h2,
.premium-cta h2,
.article-inline-cta h2,
.articles-hero h1,
.inner-hero__copy h1 {
    font-size: var(--section-title-size) !important;
    line-height: 1.02 !important;
    letter-spacing: -.025em !important;
}

.ng-contact__action,
.contact-whatsapp-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-height: 100%;
    padding: clamp(34px, 5vw, 58px);
    border: 1px solid rgba(203, 145, 71, .42);
    border-radius: var(--ng-radius);
    color: #fff;
    background: linear-gradient(145deg, #1e1e1e 0%, #111 100%);
    box-shadow: var(--ng-shadow);
}

.ng-contact__action>img,
.contact-whatsapp-card__icon {
    display: grid;
    place-items: center;
    width: 72px;
    height: 72px;
    margin: 0 0 24px;
    padding: 17px;
    border-radius: 50%;
    background: #25d366;
    box-shadow: 0 14px 28px rgba(37, 211, 102, .22);
    box-sizing: border-box;
}

.ng-contact__action>img,
.contact-whatsapp-card__icon img {
    object-fit: contain;
    filter: none !important;
}

.contact-whatsapp-card__icon img {
    width: 100%;
    height: 100%;
}

.ng-contact__action .kicker,
.contact-whatsapp-card .kicker {
    color: var(--ng-gold) !important;
}

.ng-contact__action h3,
.contact-whatsapp-card h2 {
    margin: 0 0 18px;
    color: #fff !important;
}

.ng-contact__action h3 {
    font-size: clamp(2.25rem, 3.5vw, 3.4rem);
    line-height: 1.02;
}

.ng-contact__action p:not(.kicker),
.contact-whatsapp-card>p:not(.kicker),
.contact-whatsapp-card li {
    color: #d7d3cd;
    line-height: 1.75;
}

.ng-contact__action .ng-button,
.contact-whatsapp-card .button {
    margin-top: 22px;
}

.ng-contact__action small {
    margin-top: 18px;
    color: #aaa49c;
    line-height: 1.55;
}

.contact-whatsapp-card ul {
    display: grid;
    gap: 10px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

.contact-whatsapp-card li {
    position: relative;
    padding-left: 22px;
}

.contact-whatsapp-card li::before {
    position: absolute;
    top: .72em;
    left: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ng-gold);
    content: "";
}

.ng-contact-float img {
    width: 34px !important;
    height: 34px !important;
    filter: none !important;
}

@media (max-width: 720px) {
    :root {
        --section-title-size: clamp(2.15rem, 10vw, 3.15rem);
    }

    .ng-contact__action,
    .contact-whatsapp-card {
        align-items: center;
        padding: 34px 24px;
        text-align: center;
    }

    .contact-whatsapp-card li {
        text-align: left;
    }
}
