.fdw-growth-page .page-head {
    padding-bottom: clamp(34px, 5vw, 60px);
}

.fdw-growth-page .page-head__title {
    max-width: 15em;
    font-size: clamp(2rem, 5.8vw, 4.2rem);
    line-height: 1.18;
    letter-spacing: .035em;
}

.fdw-growth-page .section {
    padding-top: 0 !important;
}

.fdw-growth-page .prose {
    max-width: none;
    line-height: 1.9;
}

.fdw-growth-page .prose h2,
.fdw-growth-page .prose h3,
.fdw-growth-page .prose p,
.fdw-growth-page .prose ul,
.fdw-growth-page .prose ol,
.fdw-growth-page .prose table {
    margin-top: 0;
}

.fdw-growth-page .prose a {
    text-decoration: none;
}

.fdw-growth {
    --g-accent: var(--accent, #ef4e23);
    --g-ink: var(--ink, #161616);
    --g-muted: var(--ink-2, #62625f);
    --g-line: var(--line, rgba(20, 20, 20, .15));
    --g-soft: #f2f1ed;
    padding: 0 0 clamp(96px, 12vw, 170px);
    color: var(--g-ink);
}

.fdw-g-hero {
    display: grid;
    grid-template-columns: minmax(180px, .42fr) minmax(0, 1fr);
    gap: clamp(28px, 6vw, 84px);
    align-items: start;
    padding: 28px 0 clamp(52px, 8vw, 92px);
    border-top: 1px solid var(--g-line);
}

.fdw-g-kicker {
    margin: 0 !important;
    color: var(--g-accent);
    font-family: var(--font-en, sans-serif);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .18em;
    line-height: 1.5;
    text-transform: uppercase;
}

.fdw-g-lead {
    max-width: 39em;
    margin: 0 !important;
    font-size: clamp(1.1rem, 2vw, 1.55rem);
    font-weight: 500;
    letter-spacing: .025em;
    line-height: 1.85;
}

.fdw-g-hero-media {
    position: relative;
    width: 100%;
    aspect-ratio: 1672 / 941;
    margin: 0 0 clamp(72px, 10vw, 132px) !important;
    overflow: hidden;
    background: var(--g-soft);
}

.fdw-g-hero-media img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    animation: fdw-g-hero-breathe 16s ease-in-out infinite alternate;
    object-fit: cover;
}

@keyframes fdw-g-hero-breathe {
    from { transform: scale(1); }
    to { transform: scale(1.035); }
}

.fdw-g-answer {
    position: relative;
    margin: 0 0 clamp(82px, 11vw, 148px);
    padding: clamp(30px, 5vw, 62px);
    overflow: hidden;
    background: var(--g-ink);
    color: #fff;
}

.fdw-g-answer::after {
    content: "AEO";
    position: absolute;
    right: -.03em;
    bottom: -.28em;
    color: rgba(255, 255, 255, .055);
    font-family: var(--font-en, sans-serif);
    font-size: clamp(6rem, 18vw, 14rem);
    font-weight: 700;
    letter-spacing: -.07em;
    line-height: 1;
    pointer-events: none;
}

.fdw-contact-visual {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 2;
    margin: 30px 0 34px;
    overflow: hidden;
    border: 1px solid var(--line, rgba(20, 20, 20, .14));
    background: #eee9df;
}

.fdw-contact-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22);
    pointer-events: none;
}

.fdw-contact-visual img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    object-fit: cover;
    animation: fdw-contact-breathe 18s ease-in-out infinite alternate;
}

@keyframes fdw-contact-breathe {
    from { transform: scale(1); }
    to { transform: scale(1.025); }
}

.fdw-g-answer .fdw-g-kicker {
    color: #ff805f;
}

.fdw-g-answer h2 {
    position: relative;
    z-index: 1;
    max-width: 22em;
    margin: 18px 0 18px !important;
    color: #fff;
    font-size: clamp(1.45rem, 3.1vw, 2.65rem);
    line-height: 1.55;
}

.fdw-g-answer > p:last-child {
    position: relative;
    z-index: 1;
    max-width: 58em;
    margin: 0 !important;
    color: rgba(255, 255, 255, .78);
}

.fdw-g-section {
    padding: clamp(72px, 10vw, 132px) 0;
    border-top: 1px solid var(--g-line);
}

.fdw-g-section > h2,
.fdw-g-cta > h2 {
    max-width: 19em;
    margin: 16px 0 clamp(30px, 5vw, 54px) !important;
    font-size: clamp(1.65rem, 3.6vw, 3rem);
    line-height: 1.45;
}

.fdw-g-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.fdw-g-grid > :only-child {
    grid-column: span 2;
}

.fdw-g-card {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex-direction: column;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--g-line);
    background: #fff;
    color: var(--g-ink) !important;
    transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

a.fdw-g-card:hover {
    border-color: var(--g-accent);
    box-shadow: 0 18px 44px rgba(17, 17, 17, .07);
    transform: translateY(-3px);
}

.fdw-g-card__media {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--g-soft);
}

.fdw-g-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    border-bottom: 1px solid rgba(20, 20, 20, .08);
    pointer-events: none;
}

.fdw-g-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    object-fit: cover;
    transition: transform .75s cubic-bezier(.2, .75, .25, 1), filter .35s ease;
}

a.fdw-g-card:hover .fdw-g-card__media img,
a.fdw-g-card:focus-visible .fdw-g-card__media img {
    filter: contrast(1.025);
    transform: scale(1.045);
}

.fdw-g-card__body {
    display: flex;
    min-height: 172px;
    flex: 1;
    flex-direction: column;
    padding: clamp(22px, 2.4vw, 30px);
}

.fdw-g-card:not(.fdw-g-card--media) .fdw-g-card__body {
    min-height: 190px;
}

.fdw-g-card__eyebrow {
    margin: 0 0 26px !important;
    color: var(--g-accent);
    font-family: var(--font-en, sans-serif);
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .16em;
}

.fdw-g-card h3 {
    margin: 0 0 10px !important;
    font-size: clamp(1.08rem, 1.7vw, 1.35rem);
    line-height: 1.55;
}

.fdw-g-card__body > p:not(.fdw-g-card__eyebrow) {
    margin: 0 !important;
    color: var(--g-muted);
    font-size: .9rem;
    line-height: 1.85;
}

.fdw-g-card__more {
    display: inline-block;
    margin-top: auto;
    padding-top: 20px;
    color: var(--g-accent);
    font-size: .78rem;
    font-weight: 700;
    transition: transform .25s ease;
}

a.fdw-g-card:hover .fdw-g-card__more,
a.fdw-g-card:focus-visible .fdw-g-card__more {
    transform: translateX(5px);
}

.fdw-g-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    border-top: 2px solid var(--g-ink);
}

.fdw-growth .fdw-g-table-wrap table {
    width: 100%;
    min-width: 680px;
    margin: 0 !important;
    border-collapse: collapse;
}

.fdw-growth .fdw-g-table-wrap th,
.fdw-growth .fdw-g-table-wrap td {
    padding: 20px 18px;
    border-right: 0;
    border-bottom: 1px solid var(--g-line);
    border-left: 0;
    text-align: left;
    vertical-align: top;
}

.fdw-growth .fdw-g-table-wrap th {
    color: var(--g-muted);
    font-size: .72rem;
    letter-spacing: .08em;
}

.fdw-g-note {
    margin: 18px 0 0 !important;
    color: var(--g-muted);
    font-size: .78rem;
}

.fdw-g-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 0 !important;
    padding: 0;
    list-style: none;
    counter-reset: none;
}

.fdw-g-steps li {
    padding: 28px 22px 24px;
    border-top: 2px solid var(--g-ink);
    border-right: 1px solid var(--g-line);
    list-style: none !important;
}

.fdw-g-steps li:last-child {
    border-right: 0;
}

.fdw-g-steps span {
    display: block;
    margin-bottom: 48px;
    color: var(--g-accent);
    font-family: var(--font-en, sans-serif);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .12em;
}

.fdw-g-steps strong {
    display: block;
    margin-bottom: 12px;
    font-size: 1.02rem;
}

.fdw-g-steps p {
    margin: 0 !important;
    color: var(--g-muted);
    font-size: .84rem;
    line-height: 1.8;
}

.fdw-g-steps--vertical {
    grid-template-columns: 1fr;
}

.fdw-g-steps--vertical li {
    display: grid;
    grid-template-columns: 80px minmax(150px, .45fr) 1fr;
    gap: 22px;
    align-items: start;
    border-right: 0;
    border-top-width: 1px;
}

.fdw-g-steps--vertical li:first-child {
    border-top-width: 2px;
}

.fdw-g-steps--vertical span,
.fdw-g-steps--vertical strong {
    margin: 0;
}

.fdw-g-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-bottom: 32px;
    border-top: 2px solid var(--g-ink);
    border-bottom: 1px solid var(--g-line);
}

.fdw-g-points article {
    min-height: 190px;
    padding: 28px 24px;
    border-right: 1px solid var(--g-line);
}

.fdw-g-points article:last-child {
    border-right: 0;
}

.fdw-g-points strong {
    display: block;
    margin-bottom: 24px;
    font-size: 1.05rem;
}

.fdw-g-points p {
    margin: 0 !important;
    color: var(--g-muted);
    font-size: .86rem;
}

.fdw-g-story {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(28px, 6vw, 80px);
    max-width: 980px;
}

.fdw-g-story p {
    margin: 0 !important;
}

.fdw-g-checklist {
    display: grid;
    gap: 0;
    margin: 0 0 34px !important;
    padding: 0;
    border-top: 2px solid var(--g-ink);
    list-style: none;
}

.fdw-g-checklist li {
    margin: 0;
    padding: 20px 10px;
    border-bottom: 1px solid var(--g-line);
    list-style: none !important;
}

.fdw-g-faq {
    border-top: 2px solid var(--g-ink);
}

.fdw-g-faq details {
    border-bottom: 1px solid var(--g-line);
}

.fdw-g-faq summary {
    position: relative;
    padding: 24px 54px 24px 4px;
    cursor: pointer;
    font-weight: 700;
    line-height: 1.65;
    list-style: none;
}

.fdw-g-faq summary::-webkit-details-marker {
    display: none;
}

.fdw-g-faq summary::after {
    content: "+";
    position: absolute;
    top: 19px;
    right: 8px;
    color: var(--g-accent);
    font-family: var(--font-en, sans-serif);
    font-size: 1.6rem;
    font-weight: 400;
}

.fdw-g-faq details[open] summary::after {
    content: "−";
}

.fdw-g-faq details > div {
    max-width: 780px;
    padding: 0 54px 25px 4px;
}

.fdw-g-faq details p {
    margin: 0 !important;
    color: var(--g-muted);
}

.fdw-g-cta {
    margin-top: clamp(78px, 11vw, 150px);
    padding: clamp(34px, 6vw, 70px);
    background: var(--g-soft);
}

.fdw-g-cta > p:not(.fdw-g-kicker) {
    max-width: 52em;
    color: var(--g-muted);
}

.fdw-g-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.fdw-g-btn {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    padding: 15px 24px;
    border: 1px solid var(--g-ink);
    border-radius: 0;
    background: var(--g-ink);
    color: #fff !important;
    font: inherit;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .04em;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.fdw-g-btn:hover,
.fdw-g-btn:focus-visible {
    border-color: var(--g-accent);
    background: var(--g-accent);
}

.fdw-g-btn--ghost {
    background: transparent;
    color: var(--g-ink) !important;
}

.fdw-g-btn--ghost:hover,
.fdw-g-btn--ghost:focus-visible {
    color: #fff !important;
}

.fdw-g-answer::after {
    transition: opacity 1.1s ease, transform 1.4s cubic-bezier(.2, .75, .25, 1);
}

.footer__nav ul {
    gap: 6px !important;
    row-gap: 6px !important;
}

.footer__nav li {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 1.2 !important;
}

.footer__nav a {
    line-height: 1.2 !important;
}

@media (max-width: 900px) {
    .fdw-g-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fdw-g-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fdw-g-steps li:nth-child(2) {
        border-right: 0;
    }
}

/* ============================================================
 * Motion. These pages are driven by the theme engine (fdw2026 main.js):
 *   .js-fade / [data-stagger] / .img-reveal / [data-plx] / [data-magnetic]
 * The rules below only make the plugin's own blocks cooperate with it.
 * Never re-disable .js-fade globally here: that is what removed all motion
 * from the dedicated pages in v1.5.7-1.5.9.
 * ============================================================ */

/* the theme wraps content in one very tall .prose.js-fade; keep it visible */
html.js body.fdw-growth-page .prose.js-fade {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

.fdw-growth {
    overflow-x: clip;
}

/* hero image: curtain reveal + parallax handled by the theme (data-plx),
   so the CSS breathing animation must not fight it for `transform` */
html.js body.fdw-growth-page .fdw-g-hero-media img {
    animation: none;
}

/* card images keep their hover zoom on top of the curtain reveal */
html.js body.fdw-growth-page .fdw-g-card__media.img-reveal img {
    transform: scale(1.16);
}

html.js body.fdw-growth-page .fdw-g-card__media.img-reveal.in img {
    transform: scale(1.01);
}

html.js body.fdw-growth-page a.fdw-g-card:hover .fdw-g-card__media.img-reveal.in img,
html.js body.fdw-growth-page a.fdw-g-card:focus-visible .fdw-g-card__media.img-reveal.in img {
    transform: scale(1.06);
}

/* section rule draws itself left to right when the section arrives */
body.fdw-growth-page .fdw-g-section--motion {
    position: relative;
}

html.js body.fdw-growth-page .fdw-g-section--motion {
    border-top-color: rgba(20, 20, 20, .08);
}

html.js body.fdw-growth-page .fdw-g-section--motion::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--g-ink);
    transform: scaleX(.06);
    transform-origin: left center;
    transition: transform 1.15s cubic-bezier(.22, 1, .36, 1);
}

html.js body.fdw-growth-page .fdw-g-section--motion:has(.js-fade.is-visible)::before {
    transform: scaleX(1);
}

/* browsers without :has() must show the full rule, never a stub */
@supports not (selector(:has(*))) {
    html.js body.fdw-growth-page .fdw-g-section--motion::before {
        transform: scaleX(1);
        transition: none;
    }
}

/* giant outlined word drifting behind each section (theme .sec-ghost) */
body.fdw-growth-page .fdw-g-section--motion > .sec-ghost {
    right: 0;
    top: -.3em;
    font-size: clamp(3.2rem, 10vw, 8rem);
}

/* the black answer block: accent bar slides in with the fade */
.fdw-g-answer::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: clamp(58px, 10vw, 120px);
    height: 3px;
    background: var(--g-accent);
    transform: translateX(-42%);
    transition: transform 1.2s cubic-bezier(.22, 1, .36, 1);
}

.fdw-g-answer.is-visible::before {
    transform: translateX(0);
}

.fdw-g-answer__title .w {
    display: inline-block;
    overflow: hidden;
    vertical-align: bottom;
}

/* closing CTA: photo band like the theme's .cta-band--photo */
.fdw-g-cta--photo {
    position: relative;
    padding: clamp(58px, 9vw, 116px) clamp(26px, 5vw, 64px);
    overflow: hidden;
    background: var(--g-ink);
    color: #fff;
}

.fdw-g-cta__bg {
    position: absolute;
    inset: 0;
}

.fdw-g-cta__bg img {
    width: 100%;
    height: 100%;
    margin: 0 !important;
    object-fit: cover;
}

.fdw-g-cta__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, rgba(9, 12, 20, .88) 0%, rgba(9, 12, 20, .62) 52%, rgba(9, 12, 20, .34) 100%);
}

.fdw-g-cta__inner {
    position: relative;
    z-index: 2;
    max-width: 44em;
}

.fdw-g-cta--photo .fdw-g-kicker {
    color: #ff9d80;
}

.fdw-g-cta__title {
    max-width: 19em;
    margin: 16px 0 clamp(18px, 3vw, 26px) !important;
    color: #fff;
    font-size: clamp(1.65rem, 3.6vw, 3rem);
    line-height: 1.45;
}

.fdw-g-cta--photo > .fdw-g-cta__inner > p:not(.fdw-g-kicker) {
    max-width: 46em;
    color: rgba(255, 255, 255, .8);
}

.fdw-g-cta--photo .fdw-g-btn {
    border-color: rgba(255, 255, 255, .82);
    background: transparent;
    color: #fff !important;
}

.fdw-g-cta--photo .fdw-g-btn:hover,
.fdw-g-cta--photo .fdw-g-btn:focus-visible {
    border-color: var(--g-accent);
    background: var(--g-accent);
}

@media (max-width: 680px) {

    .fdw-growth-page .page-head__title {
        font-size: clamp(1.75rem, 8.8vw, 2.65rem);
    }

    .fdw-g-hero,
    .fdw-g-story {
        grid-template-columns: 1fr;
    }

    .fdw-g-grid,
    .fdw-g-points,
    .fdw-g-steps {
        grid-template-columns: 1fr;
    }

    .fdw-g-grid > :only-child {
        grid-column: auto;
    }

    .fdw-g-card {
        min-height: 0;
    }

    .fdw-g-card__body,
    .fdw-g-card:not(.fdw-g-card--media) .fdw-g-card__body {
        min-height: 150px;
    }

    .fdw-g-steps li,
    .fdw-g-steps li:nth-child(2),
    .fdw-g-points article {
        border-right: 0;
        border-bottom: 1px solid var(--g-line);
    }

    .fdw-g-steps--vertical li {
        grid-template-columns: 54px 1fr;
    }

    .fdw-g-steps--vertical li p {
        grid-column: 2;
    }

    .fdw-g-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .fdw-g-btn {
        width: 100%;
    }

    .fdw-g-table-wrap {
        overflow: visible;
        border-top: 0;
    }

    .fdw-growth .fdw-g-table-wrap table {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .fdw-growth .fdw-g-table-wrap thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .fdw-growth .fdw-g-table-wrap tbody {
        display: grid;
        gap: 12px;
    }

    .fdw-growth .fdw-g-table-wrap tr {
        display: block;
        overflow: hidden;
        border: 1px solid var(--g-line);
        border-top: 2px solid var(--g-ink);
        background: rgba(255, 255, 255, .72);
    }

    .fdw-growth .fdw-g-table-wrap td {
        display: grid;
        grid-template-columns: minmax(82px, .32fr) minmax(0, 1fr);
        gap: 14px;
        align-items: start;
        padding: 13px 14px;
        border-bottom: 1px solid var(--g-line);
        font-size: .86rem;
        line-height: 1.65;
    }

    .fdw-growth .fdw-g-table-wrap td:last-child {
        border-bottom: 0;
    }

    .fdw-growth .fdw-g-table-wrap td::before {
        content: attr(data-label);
        padding-top: .18em;
        color: var(--g-accent);
        font-family: var(--font-en, sans-serif);
        font-size: .62rem;
        font-weight: 700;
        letter-spacing: .1em;
        line-height: 1.5;
    }

    .fdw-growth .fdw-g-table-wrap td:first-child {
        font-weight: 700;
    }

    .fdw-growth .fdw-g-table-wrap td small {
        display: inline-block;
        grid-column: 2;
        margin-top: 3px;
        color: var(--g-muted);
    }

    .footer__nav ul {
        align-items: stretch !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        gap: 0 !important;
        width: 100% !important;
    }

    .footer__nav li {
        display: block !important;
        width: 100% !important;
    }

    .footer__nav a {
        box-sizing: border-box;
        display: block !important;
        padding: 7px 0 !important;
        width: 100% !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fdw-g-hero-media img,
    .fdw-contact-visual img {
        animation: none !important;
    }

    .fdw-g-card,
    .fdw-g-card__media img,
    .fdw-g-card__more,
    .fdw-g-btn {
        animation: none !important;
        transition: none !important;
    }

    /* the theme already skips its own motion under reduced-motion; make sure
       nothing the plugin adds is left mid-animation */
    body.fdw-growth-page .fdw-g-card__media.img-reveal img,
    body.fdw-growth-page .fdw-g-answer::after {
        transform: none !important;
        transition: none !important;
    }

    html.js body.fdw-growth-page .fdw-g-section--motion::before {
        transform: scaleX(1) !important;
        transition: none !important;
    }

    body.fdw-growth-page .fdw-g-answer::before {
        transform: none !important;
        transition: none !important;
    }

    body.fdw-growth-page .fdw-g-cta__bg img {
        transform: none !important;
    }
}

/* ============================================================
 * Header submenu under SERVICES (injected by growth.js).
 * Desktop: dropdown on hover/focus. Mobile: indented list inside the
 * theme's fullscreen menu. Applies site-wide, not only on managed pages.
 * ============================================================ */

.header .nav .fdw-has-sub {
    position: relative;
}

.header .nav .fdw-subnav {
    display: none;
    margin: 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 901px) {
    .header .nav .fdw-subnav {
        position: absolute;
        top: 100%;
        left: 50%;
        z-index: 5;
        min-width: 268px;
        flex-direction: column;
        gap: 0;
        padding: 10px 0;
        transform: translateX(-50%) translateY(6px);
        border: 1px solid var(--line);
        background: color-mix(in srgb, var(--paper) 96%, transparent);
        box-shadow: 0 20px 46px rgba(17, 17, 17, .10);
        opacity: 0;
        pointer-events: none;
        transition: opacity .22s ease, transform .28s cubic-bezier(.22, 1, .36, 1);
    }

    .header .nav .fdw-has-sub:hover .fdw-subnav,
    .header .nav .fdw-has-sub:focus-within .fdw-subnav {
        display: flex;
        opacity: 1;
        pointer-events: auto;
        transform: translateX(-50%) translateY(0);
    }

    /* keep the pointer inside the menu while travelling from label to list */
    .header .nav .fdw-has-sub::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        width: 300px;
        height: 22px;
        transform: translateX(-50%);
    }

    .header .nav .fdw-subnav a {
        display: block;
        padding: 9px 22px;
        font-size: .8rem;
        font-weight: 500;
        letter-spacing: .04em;
        line-height: 1.5;
        white-space: nowrap;
        transition: background .2s ease, color .2s ease;
    }

    .header .nav .fdw-subnav a::after {
        display: none;
    }

    .header .nav .fdw-subnav a:hover,
    .header .nav .fdw-subnav a[aria-current="page"] {
        background: color-mix(in srgb, var(--accent) 8%, transparent);
        color: var(--ink);
    }
}

@media (max-width: 900px) {
    .header .nav .fdw-subnav {
        display: block;
        margin: 6px 0 14px;
        padding: 0 0 0 2px;
        border-left: 1px solid var(--line);
    }

    .header .nav .fdw-subnav li {
        margin: 0;
    }

    .header .nav .fdw-subnav a {
        display: block;
        padding: 7px 0 7px 14px;
        font-size: 1rem;
        font-weight: 500;
        letter-spacing: .02em;
        line-height: 1.4;
    }

    .header .nav .fdw-subnav a::after {
        display: none;
    }

    .header .nav .fdw-subnav a[aria-current="page"] {
        color: var(--accent);
    }
}

.fdw-g-service-links {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) repeat(2, minmax(190px, 1fr));
    gap: 0;
    margin-top: 34px;
    border-top: 1px solid var(--g-line, var(--line));
    border-bottom: 1px solid var(--g-line, var(--line));
}

.fdw-g-service-links p,
.fdw-g-service-links a {
    margin: 0 !important;
    padding: 18px 16px;
    font-size: .8rem;
}

.fdw-g-service-links p {
    color: var(--ink-2);
}

.fdw-g-service-links a {
    display: flex;
    justify-content: space-between;
    border-left: 1px solid var(--line);
    color: var(--ink) !important;
    font-weight: 700;
    text-decoration: none !important;
}

.fdw-g-service-links a span {
    color: var(--accent);
}

@media (max-width: 680px) {
    .fdw-g-service-links {
        grid-template-columns: 1fr;
    }

    .fdw-g-service-links a {
        border-top: 1px solid var(--line);
        border-left: 0;
    }
}

/* ============================================================
 * v1.8.0 パンくず・同じ分類のページ・執筆者・サイト索引
 * ============================================================ */
.fdw-crumbs{margin:0 0 18px;color:var(--ink-2,#62625f);font-size:.72rem;letter-spacing:.04em;line-height:1.7}
.fdw-crumbs:not(.is-placed){max-width:1200px;margin:24px auto;padding:0 24px}
.fdw-crumbs ol{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.fdw-crumbs li{display:inline-flex;align-items:center;min-width:0;margin:0}
.fdw-crumbs li+li::before{content:"/";margin:0 .6em;opacity:.45}
.fdw-crumbs a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.fdw-crumbs a:hover,.fdw-crumbs a:focus-visible{color:var(--accent,#0b63d6);border-bottom-color:currentColor}
.fdw-crumbs [aria-current]{max-width:26em;overflow:hidden;color:var(--ink,#161616);text-overflow:ellipsis;white-space:nowrap}

.fdw-related__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 32px;margin:22px 0 0!important;padding:0!important;list-style:none;border-top:1px solid var(--g-line)}
.fdw-related__list li{margin:0!important;border-bottom:1px solid var(--g-line)}
.fdw-related__list a{display:flex;justify-content:space-between;gap:12px;padding:16px 2px;color:var(--g-ink);font-size:.92rem;text-decoration:none;transition:color .2s}
.fdw-related__list a::after{content:"→";color:var(--g-accent)}
.fdw-related__list a:hover,.fdw-related__list a:focus-visible{color:var(--g-accent)}
.fdw-related__back{margin:24px 0 0!important;font-size:.88rem}
.fdw-related__back a{color:var(--g-accent);text-decoration:none}
.fdw-related__back a:hover{text-decoration:underline;text-underline-offset:3px}

.fdw-author{display:grid;grid-template-columns:minmax(120px,.3fr) minmax(0,1fr);gap:clamp(18px,4vw,56px);align-items:start}
.fdw-author__name{margin:0 0 10px!important;color:var(--g-ink);font-size:1.05rem;font-weight:600}
.fdw-author__name span{display:block;margin-top:4px;color:var(--g-muted);font-size:.76rem;font-weight:400}
.fdw-author__body p{margin:0 0 10px!important;color:var(--g-muted);font-size:.9rem;line-height:1.9}
.fdw-author__body .fdw-author__meta{font-size:.8rem}
.fdw-author__meta a{color:var(--g-accent);text-decoration:none}
@media (max-width:760px){.fdw-author{grid-template-columns:1fr}}

.fdw-site-index{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px 24px;margin:48px 0 0;padding:36px 0 12px;border-top:1px solid rgba(127,127,127,.28)}
.fdw-site-index:not(.is-placed){max-width:1200px;margin:48px auto;padding:36px 24px}
.fdw-site-index__h{margin:0 0 12px;font-size:.7rem;font-weight:700;letter-spacing:.14em;opacity:.6}
.fdw-site-index ul{margin:0;padding:0;list-style:none}
.fdw-site-index li{margin:0 0 9px;font-size:.8rem;line-height:1.6}
.fdw-site-index a{color:inherit;opacity:.85;text-decoration:none}
.fdw-site-index a:hover,.fdw-site-index a:focus-visible{opacity:1;text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){.fdw-site-index{grid-template-columns:repeat(2,minmax(0,1fr))}}
