:root {
    --woming-navy: #10213f;
    --woming-blue: #24456e;
    --woming-coral: #e04f36;
    --woming-coral-dark: #c93f2b;
    --woming-rose: #f8e9e5;
    --woming-cloud: #f6f8fb;
    --woming-line: #dfe6ef;
    --woming-text: #152033;
    --woming-trail: url('../img/woming-trail.svg');
}

body {
    background: var(--woming-cloud);
    color: var(--woming-text);
}

a { color: #b93625; }

.site-header.nav-layout-split {
    background: rgba(255, 255, 255, .97);
    border-bottom: 1px solid rgba(16, 33, 63, .1);
    box-shadow: 0 8px 30px rgba(16, 33, 63, .05);
}

.site-logo img,
.custom-logo {
    width: auto;
    max-width: 210px;
    max-height: 58px;
}

.hero,
.hero-section,
.block-hero {
    position: relative;
    min-height: min(640px, 70vh);
}

.hero::after,
.hero-section::after,
.block-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 8px;
    background: linear-gradient(90deg, var(--woming-coral) 0 18%, rgba(224, 79, 54, 0) 18%);
    pointer-events: none;
}

.hero h1,
.hero-section h1,
.block-hero h1 {
    max-width: 780px;
    letter-spacing: -.035em;
    line-height: 1.02;
}

.hero p,
.hero-section p,
.block-hero p { max-width: 690px; }

.hero .btn,
.hero-section .btn,
.block-hero .btn,
.woming-button-link,
.product-feed-card-cta {
    border-radius: 999px !important;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}

.woming-shell {
    width: min(1160px, calc(100% - 40px));
    margin: 0 auto;
}

.woming-narrow { max-width: 880px; }

.woming-kicker {
    margin: 0 0 12px;
    color: var(--woming-coral-dark);
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.woming-shell > h2,
.woming-split h2 {
    margin: 0 0 28px;
    color: var(--woming-navy);
    font-size: clamp(1.8rem, 4vw, 3rem);
    line-height: 1.08;
    letter-spacing: -.03em;
}

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

.woming-topic-grid + h2 { margin-top: 48px; }

.woming-route-grid > a,
.woming-topic-grid > a,
.woming-check-card {
    display: block;
    padding: 30px;
    color: var(--woming-text);
    text-decoration: none;
    background: #fff;
    border: 1px solid var(--woming-line);
    border-radius: 22px;
    box-shadow: 0 14px 38px rgba(16, 33, 63, .06);
}

.woming-route-grid > a {
    min-height: 270px;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.woming-route-grid > a:hover,
.woming-topic-grid > a:hover {
    transform: translateY(-4px);
    border-color: rgba(224, 79, 54, .5);
    box-shadow: 0 22px 48px rgba(16, 33, 63, .1);
}

.woming-route-grid span {
    display: inline-grid;
    width: 44px;
    height: 44px;
    place-items: center;
    margin-bottom: 30px;
    color: #fff;
    background: var(--woming-navy);
    border-radius: 50%;
    font-weight: 850;
}

.woming-route-grid h3,
.woming-topic-grid h3,
.woming-check-card h3 {
    margin: 0 0 12px;
    color: var(--woming-navy);
    font-size: 1.3rem;
}

.woming-route-grid p,
.woming-topic-grid p { margin: 0 0 18px; color: #566174; }
.woming-route-grid strong { color: var(--woming-coral-dark); }

.woming-split {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    align-items: center;
    gap: clamp(40px, 7vw, 92px);
}

.woming-button-link {
    display: inline-flex;
    margin-top: 16px;
    padding: 13px 22px;
    color: #fff;
    background: var(--woming-coral-dark);
    text-decoration: none;
}

.woming-check-card { background: var(--woming-navy); color: #f8fbff; }
.woming-check-card h3 { color: #fff; }
.woming-check-card li { margin: .72rem 0; }

.woming-safety-note,
.woming-next-step {
    margin: 2rem 0;
    padding: 1.15rem 1.25rem;
    border-left: 5px solid var(--woming-coral);
    border-radius: 0 14px 14px 0;
    background: var(--woming-rose);
}

.woming-next-step {
    border-left-color: var(--woming-blue);
    background: #eaf0f7;
}

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

.article-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
}

.article-content th,
.article-content td { padding: .7rem; border: 1px solid var(--woming-line); }

.woming-legal h1 {
    margin: 0 0 1.4rem;
    color: var(--woming-navy);
    font-size: clamp(2rem, 5vw, 3.3rem);
}

.woming-legal h2 {
    margin: 2rem 0 .65rem;
    color: var(--woming-navy);
    font-size: 1.35rem;
}

.woming-small { font-size: .92rem; color: #5a6578; }

@media (max-width: 820px) {
    .woming-route-grid,
    .woming-topic-grid,
    .woming-split { grid-template-columns: 1fr; }

    .woming-route-grid > a { min-height: auto; }
    .hero, .hero-section, .block-hero { min-height: 520px; }
    .site-logo img, .custom-logo { max-width: 160px; max-height: 48px; }
}

@media (prefers-reduced-motion: reduce) {
    .woming-route-grid > a,
    .woming-topic-grid > a { transition: none; }
}

/* Woming homepage: scoped editorial layout; no shared block overrides. */
.wm-home { --wm-ink:#10213f; --wm-accent:#c33f29; color:var(--wm-ink); background:#fffdf9; }
.wm-home * { box-sizing:border-box; }
.wm-home .wm-wrap { width:min(1240px,calc(100% - 64px)); margin-inline:auto; }
.wm-home h1,.wm-home h2,.wm-home h3 { color:var(--wm-ink); letter-spacing:-.035em; text-wrap:balance; }
.wm-home h1 { font-size:clamp(2rem,3.5vw,3rem)!important; line-height:1.12!important; margin:16px 0 22px; }
.wm-home h2 { font-size:clamp(1.65rem,2.65vw,2.4rem); line-height:1.15; margin:0 0 20px; }
.wm-home h3 { font-size:1.3rem; line-height:1.25; margin:0 0 14px; }
.wm-home p { line-height:1.65; margin:0 0 18px; }
.wm-home a { text-decoration:none; }
.wm-home a:focus-visible { outline:3px solid var(--wm-accent); outline-offset:5px; }
.wm-home .wm-eyebrow { color:var(--wm-accent); text-transform:uppercase; letter-spacing:.13em; font-size:.72rem; font-weight:800; margin-bottom:15px; }
.wm-home .wm-section { padding-block:72px; scroll-margin-top:110px; }
.wm-home .wm-intro { background:#f6f0e8; padding-block:48px; }
.wm-home .wm-intro-grid { display:grid; grid-template-columns:1fr 1.15fr; align-items:center; gap:42px; }
.wm-home .wm-intro-copy { animation:wm-arrive .6s ease-out both; }
.wm-home .wm-lead { max-width:440px; font-size:1.12rem; color:#45536a; }
.wm-home .wm-intro-photo { margin:0; min-width:0; animation:wm-arrive .8s ease-out both; }
.wm-home .wm-intro-photo img { display:block; width:100%; height:auto; border-radius:4px; }
.wm-home figcaption { font-size:.8rem; color:#5c6370; margin-top:12px; }
.wm-home .wm-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px 24px; margin-block:26px 20px; }
.wm-home .wm-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:13px 22px; background:var(--wm-accent); color:white; border-radius:5px; font-size:.9rem; font-weight:750; transition:background .18s,transform .18s; }
.wm-home .wm-button:hover { background:#9f3020; transform:translateY(-2px); }
.wm-home .wm-text-link { color:var(--wm-ink); font-size:.9rem; font-weight:750; text-underline-offset:5px; }
.wm-home a.wm-text-link:hover,.wm-home a:hover .wm-text-link { text-decoration:underline; color:var(--wm-accent); }
.wm-home .wm-intro-note { font-size:.78rem; color:#586477; margin:0; }
.wm-home .wm-brand-promise { color:#10213f; font-size:.78rem; font-weight:650; text-transform:none; letter-spacing:0; }
.wm-home .wm-brand-title::after { content:""; display:block; width:144px; height:24px; margin-top:15px; background:var(--woming-trail) left center/contain no-repeat; }
.wm-home .wm-photo-signature { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.wm-home .wm-photo-signature strong { color:#10213f; font-size:.8rem; letter-spacing:-.02em; white-space:nowrap; }
.wm-home .wm-photo-signature strong span { color:#c33f29; }
.site-brand-signature { color:var(--woming-navy); font-weight:750; line-height:1.5; }
.site-brand-signature::before { content:""; display:block; width:110px; height:20px; margin-bottom:10px; background:var(--woming-trail) left center/contain no-repeat; }
.site-footer .site-brand-signature { max-width:280px; font-size:1rem; margin-bottom:16px; }
.site-brand-signature--product { font-size:.84rem; padding-top:18px; margin-top:22px; border-top:1px solid var(--woming-line); }
.site-brand-signature--product::before { width:80px; height:16px; margin-bottom:8px; }
.product-hero:has(.site-brand-signature--product) .product-hero-shell { background:#fffdf9; border-radius:8px; box-shadow:none; }
.product-hero:has(.site-brand-signature--product) > .container { width:min(1240px,calc(100% - 64px)); max-width:none; padding-inline:0; }
.product-hero:has(.site-brand-signature--product) .product-hero-title { font-family:inherit; font-size:clamp(2rem,3.5vw,3rem); line-height:1.15; letter-spacing:-.035em; }
.product-hero:has(.site-brand-signature--product) .product-decision-box { border-radius:8px; box-shadow:none; background:#f6f8fb; }
.wm-home .wm-section-head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:8px; }
.wm-home .wm-section-head > a { flex-shrink:0; margin-bottom:24px; }
.wm-home .wm-section-description { max-width:720px; color:#566176; font-size:.95rem; margin-bottom:30px; }
.wm-home .wm-product-path { padding:0 0 72px; background:#fffdf9; }
.wm-home .wm-product-path-inner { display:flex; align-items:end; justify-content:space-between; gap:42px; padding-top:34px; border-top:1px solid #dce0e4; }
.wm-home .wm-product-path-inner > div { max-width:760px; }
.wm-home .wm-product-path h2 { margin-bottom:12px; }
.wm-home .wm-product-path p:not(.wm-eyebrow) { margin:0; color:#566176; }
.wm-home .wm-product-path .wm-button { flex:0 0 auto; }
/* Native product feed on the homepage: inherit the editorial measure and type. */
main:has(.wm-home) .block-product-feed > .container { width:min(1240px,calc(100% - 64px)); max-width:none; padding-inline:0; }
main:has(.wm-home) .block-product-feed .section-header h2 { font-family:inherit; color:#10213f; font-size:clamp(1.65rem,2.65vw,2.4rem); line-height:1.15; letter-spacing:-.035em; text-wrap:balance; }
main:has(.wm-home) .block-product-feed .product-feed-intro { max-width:720px; }
main:has(.wm-home) .block-product-feed .product-feed-intro p { color:#566176; font-size:.95rem; line-height:1.65; }
main:has(.wm-home) .block-product-feed .product-feed-grid { gap:24px; }
main:has(.wm-home) .block-product-feed .official-affilizz-catalog-card { display:flex; flex-direction:column; padding:22px; border-color:#dce0e4; border-radius:8px; box-shadow:none; }
main:has(.wm-home) .block-product-feed .official-affilizz-catalog-card h3 a { color:#10213f; }
main:has(.wm-home) .block-product-feed .official-affilizz-catalog-card > a { margin-top:auto; padding-top:18px; min-height:44px; color:#c33f29; font-weight:750; }
.wm-home .wm-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-block:1px solid #dce0e4; }
.wm-home .wm-product { padding:30px 30px 28px; display:flex; flex-direction:column; min-width:0; }
.wm-home .wm-product + .wm-product { border-left:1px solid #dce0e4; }
.wm-home .wm-product:first-child { padding-left:0; }
.wm-home .wm-product:last-child { padding-right:0; }
.wm-home .wm-product-use { color:var(--wm-accent); font-size:.8rem; font-weight:750; }
.wm-home .wm-product h3 { font-size:1.7rem; min-height:68px; }
.wm-home .wm-product > p:not(.wm-product-use) { font-size:.94rem; color:#566176; min-height:76px; }
.wm-home dl { margin:0 0 25px; }
.wm-home dl > div { margin-bottom:15px; }
.wm-home dt { font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; font-weight:800; margin-bottom:4px; }
.wm-home dd { margin:0; font-size:.9rem; line-height:1.6; }
.wm-home .wm-product > .wm-text-link { margin-top:auto; min-height:30px; }
.wm-home .wm-source { font-size:.72rem; color:#586477; text-decoration:underline; margin-top:10px; }
.wm-home .wm-safety { font-size:.82rem; color:#566176; max-width:940px; margin:20px 0 0; }
.wm-home .wm-safety a { text-decoration:underline; color:inherit; }
.wm-home .wm-tools { background:var(--wm-ink); color:#e1e6ef; }
.wm-home .wm-tools-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; }
.wm-home .wm-tools h2,.wm-home .wm-tools h3 { color:#fff; }
.wm-home .wm-tools .wm-eyebrow { color:#ffb1a1; }
.wm-home .wm-tools-grid > div > p:not(.wm-eyebrow) { max-width:340px; }
.wm-home .wm-tool-links a { display:block; padding:24px 0; border-top:1px solid #48566d; color:#e1e6ef; transition:padding-left .2s; }
.wm-home .wm-tool-links a:hover { padding-left:10px; }
.wm-home .wm-tool-links a:last-child { border-bottom:1px solid #48566d; }
.wm-home .wm-tool-links p { font-size:.92rem; margin-bottom:12px; }
.wm-home .wm-tool-links strong { font-size:.88rem; color:#ffb1a1; }
.wm-home .wm-tool-label { display:block; margin-bottom:8px; font-size:.75rem; color:#b1bfd3; }
.wm-home .wm-routes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; margin-top:35px; }
.wm-home .wm-routes > a { padding-top:22px; border-top:2px solid #d9dfe7; color:#566176; }
.wm-home .wm-routes > a:hover { border-color:var(--wm-accent); }
.wm-home .wm-routes p { font-size:.94rem; }
.wm-home .wm-reading { background:#f0f3f7; }
.wm-home .wm-guides { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:25px; }
.wm-home .wm-guides img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; display:block; margin-bottom:22px; border-radius:3px; }
.wm-home .wm-guides h3 { max-width:320px; }
.wm-home .wm-method-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.wm-home .wm-method-grid p:not(.wm-eyebrow) { color:#566176; font-size:.95rem; }
.wm-home .wm-final { display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid #dce0e4; padding-top:32px; margin-top:42px; }
.wm-home .wm-final p { margin:0; font-weight:650; }
@keyframes wm-arrive { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:900px) {
    .wm-home .wm-intro-grid { gap:28px; }
    .wm-home .wm-section-head { align-items:start; flex-direction:column; gap:0; }
    .wm-home .wm-tools-grid { gap:35px; }
    .wm-home .wm-product { padding-inline:18px; }
}
@media (max-width:680px) {
    .wm-home .wm-wrap { width:calc(100% - 40px); }
    .wm-home .wm-intro { padding-block:28px; }
    .wm-home .wm-intro-grid,.wm-home .wm-tools-grid,.wm-home .wm-method-grid { grid-template-columns:1fr; gap:28px; }
    .wm-home h1 { font-size:2rem!important; }
    .wm-home .wm-lead { font-size:1rem; }
    .wm-home .wm-brand-title::after { width:110px; height:20px; margin-top:12px; }
    .wm-home .wm-photo-signature { align-items:start; }
    .product-hero:has(.site-brand-signature--product) .product-hero-title { font-size:2rem; }
    .product-hero:has(.site-brand-signature--product) > .container { width:calc(100% - 40px); }
    .wm-home .wm-intro-note { display:none; }
    .wm-home .wm-actions { margin-block:20px 0; gap:16px; }
    .wm-home .wm-intro-photo figcaption { margin-top:8px; }
    .wm-home .wm-section { padding-block:44px; }
    .wm-home .wm-products,.wm-home .wm-routes,.wm-home .wm-guides { grid-template-columns:1fr; gap:26px; }
    .wm-home .wm-products { gap:0; }
    .wm-home .wm-product,.wm-home .wm-product:first-child,.wm-home .wm-product:last-child { padding:26px 0; }
    .wm-home .wm-product + .wm-product { border-left:0; border-top:1px solid #dce0e4; }
    .wm-home .wm-product h3,.wm-home .wm-product > p:not(.wm-product-use) { min-height:0; }
    .wm-home .wm-product h3 br { display:none; }
    .wm-home .wm-guides img { aspect-ratio:16/9; }
    .wm-home .wm-final { align-items:start; flex-direction:column; }
    .wm-home .wm-product-path { padding-bottom:44px; }
    .wm-home .wm-product-path-inner { align-items:start; flex-direction:column; gap:22px; padding-top:28px; }
    main:has(.wm-home) .block-product-feed { padding-top:44px!important; padding-bottom:32px!important; }
    main:has(.wm-home) .block-product-feed > .container { width:calc(100% - 40px); }
    main:has(.wm-home) .block-product-feed .official-affilizz-catalog-card { padding:18px; }
}
@media (prefers-reduced-motion:reduce) {
    .wm-home .wm-intro-copy,.wm-home .wm-intro-photo { animation:none; }
    .wm-home a { transition:none!important; }
}

/* Shared footer: same centered measure and gutters as the Woming homepage. */
.site-footer { padding-block:56px 24px; }
.site-footer > .container {
    width:calc(100% - 64px);
    max-width:1240px;
    margin-inline:auto;
    padding-inline:0;
}
.site-footer .footer-grid {
    grid-template-columns:1.2fr repeat(3,minmax(0,1fr));
    gap:48px;
    margin-bottom:36px;
    text-align:left;
}
.site-footer .footer-col { min-width:0; margin-bottom:0; }
.site-footer .footer-col h3 { margin-bottom:16px; font-size:1.05rem; }
.site-footer .footer-col p { max-width:280px; font-size:.92rem; line-height:1.75; }
.site-footer .footer-col ul { margin:0; padding:0; list-style:none; }
.site-footer .footer-col li { margin-bottom:6px; }
.site-footer .footer-col a { display:inline-block; padding-block:5px; font-size:.9rem; }
.site-footer .footer-col a:hover { text-decoration:underline; text-underline-offset:4px; }
.site-footer .footer-col a:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.site-footer .footer-bottom { padding-top:22px; text-align:center; }
.site-footer .footer-bottom p { margin:0; font-size:.8rem; }
@media (max-width:900px) {
    .site-footer .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
}
@media (max-width:680px) {
    .site-footer { padding-block:36px 24px; }
    .site-footer > .container { width:calc(100% - 40px); }
}
@media (max-width:480px) {
    .site-footer .footer-grid { grid-template-columns:1fr; gap:26px; }
    .site-footer .footer-col p { max-width:100%; }
    .site-footer .footer-col a { padding-block:9px; }
}
