:root {
    --fdi-red: #e41f3f;
    --fdi-blue: #173b7a;
    --fdi-ink: #171717;
    --fdi-muted: #65625d;
    --fdi-cream: #f7f3ec;
    --fdi-paper: #fffdf9;
    --fdi-line: #ded8cd;
    --fdi-radius-sm: 14px;
    --fdi-radius: 22px;
    --fdi-radius-lg: 32px;
    --fdi-page: 1240px;
    --fdi-shadow: 0 18px 48px rgba(26, 24, 20, .10);
}

html { scroll-behavior: smooth; }
body.femag-fdi26-body {
    margin: 0;
    background: var(--fdi-cream);
    color: var(--fdi-ink);
    font-family: "Roboto Flex", Roboto, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body.femag-fdi26-body * { box-sizing: border-box; }
body.femag-fdi26-body img { max-width: 100%; height: auto; }
body.femag-fdi26-body a { color: inherit; }

.fdi-skip-link {
    position: fixed;
    left: 12px;
    top: 12px;
    transform: translateY(-160%);
    z-index: 99999;
    background: #fff;
    color: #111;
    padding: 12px 16px;
    border-radius: 8px;
}
.fdi-skip-link:focus { transform: none; }

.fdi-page-shell { overflow: clip; }
.fdi-topbar,
.fdi-hero,
.fdi-recipes,
.fdi-brand-close,
.fdi-footer {
    width: min(calc(100% - 32px), var(--fdi-page));
    margin-inline: auto;
}

.fdi-topbar {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-block: 14px;
    border-bottom: 1px solid rgba(23, 23, 23, .12);
}
.fdi-brand { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; }
.fdi-brand img { display: block; width: 112px; height: auto; }
.fdi-event-mark {
    font-size: 12px;
    line-height: 1;
    font-weight: 750;
    letter-spacing: .12em;
    color: var(--fdi-blue);
    border: 1px solid rgba(23,59,122,.28);
    border-radius: 999px;
    padding: 9px 11px;
}

.fdi-hero {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    padding-block: clamp(48px, 11vw, 108px) 76px;
}
.fdi-hero-copy { max-width: 720px; position: relative; z-index: 2; }
.fdi-eyebrow,
.fdi-kicker {
    margin: 0 0 18px;
    color: var(--fdi-red);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.fdi-hero h1 {
    margin: 0;
    max-width: 12ch;
    font-size: clamp(43px, 12vw, 88px);
    line-height: .92;
    letter-spacing: -.055em;
    font-weight: 760;
    text-wrap: balance;
}
.fdi-lead {
    margin: 26px 0 0;
    max-width: 570px;
    color: var(--fdi-muted);
    font-size: clamp(17px, 4.7vw, 21px);
    line-height: 1.45;
}
.fdi-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.fdi-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 48px;
    padding: 13px 18px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.1;
    text-decoration: none;
    transition: transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}
.fdi-button-primary { background: var(--fdi-red); color: #fff !important; }
.fdi-button-quiet { border: 1px solid var(--fdi-line); background: rgba(255,255,255,.55); color: var(--fdi-ink) !important; }
.fdi-button-light { background: #fff; color: var(--fdi-blue) !important; }
.fdi-button:hover { transform: translateY(-1px); }
.fdi-button:focus-visible,
.fdi-recipe-link:focus-visible,
.fdi-brand:focus-visible,
.fdi-brand-close a:focus-visible {
    outline: 3px solid var(--fdi-blue);
    outline-offset: 4px;
}

.fdi-hero-visual {
    position: relative;
    min-height: 360px;
    margin-top: 8px;
}
.fdi-hero-card {
    position: absolute;
    margin: 0;
    overflow: hidden;
    border-radius: var(--fdi-radius);
    background: #ddd;
    box-shadow: var(--fdi-shadow);
}
.fdi-hero-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fdi-hero-card figcaption {
    position: absolute;
    inset: auto 10px 10px 10px;
    color: #fff;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.2;
    background: rgba(0,0,0,.46);
    backdrop-filter: blur(6px);
    padding: 8px 10px;
    border-radius: 999px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.fdi-hero-card-1 { width: 68%; aspect-ratio: 4/5; left: 0; top: 0; z-index: 3; transform: rotate(-2deg); }
.fdi-hero-card-2 { width: 46%; aspect-ratio: 4/5; right: 0; top: 34px; z-index: 2; transform: rotate(5deg); }
.fdi-hero-card-3 { width: 43%; aspect-ratio: 4/5; right: 10%; bottom: -34px; z-index: 4; transform: rotate(-5deg); }

.fdi-recipes {
    padding-block: 72px 96px;
    border-top: 1px solid rgba(23,23,23,.12);
}
.fdi-section-head {
    display: grid;
    grid-template-columns: 40px minmax(0,1fr);
    gap: 10px;
    margin-bottom: 30px;
}
.fdi-section-number { margin: 5px 0 0; color: var(--fdi-red); font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.fdi-section-head h2,
.fdi-download h2 {
    margin: 0;
    font-size: clamp(34px, 9vw, 64px);
    line-height: .98;
    letter-spacing: -.045em;
    font-weight: 730;
}
.fdi-section-head p:not(.fdi-section-number) { margin: 14px 0 0; max-width: 560px; color: var(--fdi-muted); font-size: 16px; line-height: 1.5; }

.fdi-recipe-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.fdi-recipe-card { min-width: 0; }
.fdi-recipe-link {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--fdi-paper);
    border: 1px solid rgba(23,23,23,.08);
    border-radius: var(--fdi-radius-sm);
    overflow: hidden;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.fdi-recipe-media { overflow: hidden; background: #e8e2d8; aspect-ratio: 4/5; }
.fdi-recipe-image { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.fdi-recipe-copy { display: flex; flex: 1; flex-direction: column; justify-content: space-between; gap: 16px; padding: 13px 12px 14px; }
.fdi-recipe-copy h3 { margin: 0; font-size: 15px; line-height: 1.14; letter-spacing: -.018em; font-weight: 720; overflow-wrap: anywhere; }
.fdi-recipe-copy span { color: var(--fdi-blue); font-size: 12px; font-weight: 750; }
.fdi-recipe-link:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(23,23,23,.09); border-color: rgba(23,59,122,.18); }
.fdi-recipe-link:hover .fdi-recipe-image { transform: scale(1.025); }
.fdi-empty { color: var(--fdi-muted); }

.fdi-download {
    width: min(calc(100% - 20px), 1180px);
    margin-inline: auto;
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 40px 26px;
    border-radius: var(--fdi-radius-lg);
    background: var(--fdi-blue);
    color: #fff;
}
.fdi-download .fdi-eyebrow { color: #fff; opacity: .68; }
.fdi-download-copy { position: relative; z-index: 2; max-width: 720px; }
.fdi-download-copy > p:not(.fdi-eyebrow) { max-width: 580px; margin: 20px 0 26px; color: rgba(255,255,255,.82); font-size: 17px; line-height: 1.5; }
.fdi-download-mark {
    position: absolute;
    right: -22px;
    bottom: -82px;
    font-size: 310px;
    line-height: .7;
    font-weight: 900;
    letter-spacing: -.1em;
    color: rgba(255,255,255,.06);
    user-select: none;
}

.fdi-brand-close {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding-block: 84px 62px;
}
.fdi-brand-close p { margin: 0; max-width: 10ch; font-size: clamp(40px, 12vw, 76px); line-height: .94; letter-spacing: -.05em; font-weight: 760; }
.fdi-brand-close a { width: fit-content; min-height: 44px; display: inline-flex; align-items: center; color: var(--fdi-blue); font-size: 15px; font-weight: 750; text-decoration: none; }

.fdi-footer {
    min-height: 110px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid rgba(23,23,23,.12);
    color: var(--fdi-muted);
}
.fdi-footer img { width: 76px; height: auto; }
.fdi-footer p { margin: 0; font-size: 12px; }

@media (max-width: 339px) {
    .fdi-recipe-grid { grid-template-columns: 1fr; }
    .fdi-recipe-copy h3 { font-size: 16px; }
}

@media (min-width: 768px) {
    .fdi-topbar,
    .fdi-hero,
    .fdi-recipes,
    .fdi-brand-close,
    .fdi-footer { width: min(calc(100% - 64px), var(--fdi-page)); }
    .fdi-topbar { min-height: 92px; }
    .fdi-brand img { width: 132px; }
    .fdi-hero { grid-template-columns: minmax(0,1.05fr) minmax(340px,.8fr); align-items: center; gap: 56px; padding-block: 80px 110px; }
    .fdi-hero-visual { min-height: 520px; margin: 0; }
    .fdi-recipe-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
    .fdi-recipe-copy { padding: 18px; }
    .fdi-recipe-copy h3 { font-size: 18px; }
    .fdi-recipe-copy span { font-size: 13px; }
    .fdi-section-head { grid-template-columns: 54px minmax(0,1fr); margin-bottom: 42px; }
    .fdi-download { width: min(calc(100% - 64px), 1180px); padding: 68px 70px; }
    .fdi-brand-close { flex-direction: row; justify-content: space-between; align-items: flex-end; }
}

@media (min-width: 1120px) {
    .fdi-recipe-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
    .fdi-recipes { padding-block: 110px 140px; }
    .fdi-hero { min-height: calc(100svh - 92px); }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .fdi-button,
    .fdi-recipe-link,
    .fdi-recipe-image { transition: none !important; }
}

/* v0.1.1 editorial enhancements */
.fdi-badges { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:8px; }
.fdi-badge { display:inline-flex; align-items:center; min-height:22px; padding:4px 7px; border-radius:999px; background:rgba(228,31,63,.08); color:var(--fdi-red) !important; font-size:9px !important; line-height:1; font-weight:800 !important; letter-spacing:.045em; text-transform:uppercase; }
.fdi-brand-close-copy { max-width:760px; }
.fdi-brand-close-title { margin:0; max-width:10ch; font-size:clamp(40px,12vw,76px); line-height:.94; letter-spacing:-.05em; font-weight:760; }
.fdi-brand-close-text { margin:24px 0 0; max-width:560px; color:var(--fdi-muted); font-size:17px; line-height:1.5; }
.fdi-brand-close-actions { display:flex; flex-wrap:wrap; gap:8px 22px; align-items:center; }
.fdi-brand-close-actions a { width:fit-content; min-height:44px; display:inline-flex; align-items:center; color:var(--fdi-blue); font-size:15px; font-weight:750; text-decoration:none; }
.fdi-brand-close-actions .fdi-brand-secondary { color:var(--fdi-muted); }
.fdi-mobile-dock { position:fixed; z-index:9990; left:12px; right:12px; bottom:max(12px, env(safe-area-inset-bottom)); display:none; }
.fdi-mobile-dock a { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:58px; padding:10px 14px 10px 16px; border-radius:18px; color:#fff !important; background:rgba(23,59,122,.96); box-shadow:0 14px 34px rgba(16,30,58,.26); backdrop-filter:blur(10px); text-decoration:none; }
.fdi-mobile-dock span { font-size:11px; opacity:.72; }
.fdi-mobile-dock strong { font-size:13px; white-space:nowrap; }
@media (max-width:767px) {
    .fdi-mobile-dock { display:block; }
    .fdi-footer { padding-bottom:86px; }
}
@media (min-width:768px) {
    .fdi-brand-close { align-items:flex-end; }
    .fdi-brand-close-actions { flex-direction:column; align-items:flex-end; }
}
.fdi-brand-close-text { font-weight:400 !important; letter-spacing:normal !important; }
.fdi-pdf-inline { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:104px; padding:20px; border-radius:var(--fdi-radius-sm); background:var(--fdi-blue); color:#fff; }
.fdi-pdf-inline div { display:grid; gap:4px; }
.fdi-pdf-inline span { font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; opacity:.7; }
.fdi-pdf-inline strong { font-size:20px; line-height:1.05; letter-spacing:-.025em; }
.fdi-pdf-inline a { flex:0 0 auto; display:inline-flex; min-height:44px; align-items:center; padding:10px 13px; border-radius:999px; background:#fff; color:var(--fdi-blue) !important; font-size:12px; font-weight:800; text-decoration:none; }
@media(max-width:420px){.fdi-pdf-inline{align-items:flex-start;flex-direction:column}.fdi-pdf-inline a{width:100%;justify-content:center}}
