/* Focus 2.0 compositions: only these route-owned ancestors are affected. */
.fcg-platform{color:var(--fcg-ink);background:var(--fcg-paper);font-family:var(--fcg-font-ui);padding-bottom:var(--fcg-space-5)}
.fcg-platform .fcg-wrap{width:var(--fcg-width-main);margin-inline:auto;min-width:0}
.fcg-platform :is(h1,h2,h3){font-family:var(--fcg-font-editorial);font-weight:400;color:var(--fcg-ink);letter-spacing:var(--fcg-tracking-title);line-height:1.12;margin:0 0 1rem}
.fcg-platform h1{font-size:var(--fcg-type-h1)}
.fcg-platform h2{font-size:var(--fcg-type-h2)}
.fcg-platform h3{font-size:var(--fcg-type-h3)}
.fcg-platform :is(p,a,button){overflow-wrap:anywhere}
.fcg-platform :is(a,button){color:inherit}
.fcg-platform h2 a,.fcg-platform h3 a{text-decoration:none}
.fcg-platform :is(a,button,input,select):focus-visible{outline:var(--fcg-focus-ring);outline-offset:var(--fcg-focus-offset)}
.fcg-platform-heading{padding:var(--fcg-space-5) 0 32px;max-width:900px}
.fcg-platform .fcg-label,.fcg-platform .fcg-meta{font:400 12px/1.6 var(--fcg-font-ui);color:var(--fcg-muted);letter-spacing:.04em}
.fcg-platform .fcg-label{text-transform:uppercase}
.fcg-platform-lead{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--fcg-space-4);align-items:center}
.fcg-platform-lead:not(:has(>a)){grid-template-columns:1fr;max-width:var(--fcg-container-reading)}
.fcg-platform-lead h2{font-size:clamp(2rem,3.5vw,3.5rem)}
.fcg-platform :is(.fcg-platform-lead-photo,.fcg-platform-photo){display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.fcg-platform-section{margin-top:var(--fcg-space-5);padding-top:var(--fcg-space-4);border-top:1px solid var(--fcg-rule)}
.fcg-platform-section>header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:24px}
.fcg-platform .fcg-platform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}
.fcg-platform-grid>*{min-width:0}
.fcg-platform-card .fcg-meta{margin:16px 0 8px}
.fcg-platform-card p{font-size:15px;line-height:1.6}
.fcg-platform .fcg-link{display:inline-block;min-height:44px;font:400 14px/1.5 var(--fcg-font-ui);text-decoration:underline;text-underline-offset:5px;padding:10px 0}
.fcg-platform-guide{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.fcg-platform :is(input,select,button){font-family:var(--fcg-font-ui);font-size:16px;max-width:100%;border-radius:0;min-height:44px}
.fcg-platform :is(input,select){background:var(--fcg-paper);color:var(--fcg-ink);border:1px solid var(--fcg-rule);padding:10px;min-width:0}
.fcg-platform button{background:var(--fcg-green);color:var(--fcg-paper);border:0;padding:10px 18px;cursor:pointer}
.fcg-platform-search label{display:block;font-size:14px;margin-bottom:12px}
.fcg-platform-search>div{display:flex;gap:8px}
.fcg-platform-search input{flex:1}
.fcg-platform-filter{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 40px}
.fcg-platform-filter select{width:auto;max-width:100%}
.fcg-platform-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:24px;padding:32px 0;margin-top:32px;border-top:1px solid var(--fcg-rule)}
.fcg-platform-pagination a{min-height:44px;display:inline-flex;align-items:center}
.fcg-platform-issue-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.65fr);gap:48px;padding-block:var(--fcg-space-5);align-items:center}
.fcg-platform-issue-opening:not(:has(figure)){grid-template-columns:1fr;max-width:var(--fcg-container-reading)}
.fcg-platform-issue-opening figure{margin:0}
.fcg-platform .fcg-platform-cover,.fcg-platform-card--issue .fcg-platform-photo{width:100%;height:auto;aspect-ratio:var(--fcg-platform-cover-ratio);object-fit:contain;max-height:none;max-width:480px}
.fcg-platform-issue-teaser{max-width:360px}
.fcg-platform-empty{padding:32px 0;max-width:var(--fcg-container-reading)}
.fcg-platform .fcg-result-photo{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.fcg-platform .fcg-result-actions{display:flex;flex-wrap:wrap;gap:12px}
.fcg-platform .fcg-result-actions :is(a,button){min-height:44px;display:inline-flex;align-items:center;gap:6px}
.fcg-platform .fcg-icon{width:20px;height:20px}
/* Same protected footer wrapper as City Guide; expose its compact variant on these routes. */
.fcg-public-body:has(.fcg-platform) .fcg-r2-aux.fcg-footer-container{display:block;position:static;inset:auto;transform:none;z-index:auto}
@media(max-width:1000px){.fcg-platform .fcg-platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fcg-platform-lead{gap:24px}}
@media(max-width:600px){
 .fcg-platform .fcg-wrap{width:calc(100% - 40px)}
 .fcg-platform-heading{padding:32px 0 24px}
 .fcg-platform :is(.fcg-platform-lead,.fcg-platform-grid,.fcg-platform-guide,.fcg-platform-issue-opening){grid-template-columns:1fr}
 .fcg-platform-section{margin-top:40px;padding-top:24px}
 .fcg-platform-search>div{flex-wrap:wrap}
 .fcg-platform-search input{flex-basis:100%}
 .fcg-platform-search button{width:100%}
 .fcg-platform-issue-opening{padding-block:32px;gap:24px}
 .fcg-platform-issue-opening figure{max-width:300px;margin:auto}
}

/* R1: presentation opt-in on Focus, Lire and Magazine only.
 * The Issue template and the locked City Guide surfaces do not opt in. */
.fcg-platform--polish {
 --fcg-green:var(--fcg-brand-green);
 padding-bottom: clamp(40px, 4vw, 64px);
}
.fcg-public-body .fcg-platform--polish > .fcg-wrap {
 width:var(--fcg-width-editorial); max-width:none; padding-inline:0;
}
.fcg-platform--polish .fcg-platform-heading {padding:clamp(32px,3.4vw,56px) 0 28px;max-width:64rem}
.fcg-platform--polish .fcg-platform-heading h1 {font-size:var(--fcg-type-h1-editorial);line-height:1.06;margin-bottom:0}
.fcg-platform--polish .fcg-platform-heading > .fcg-label {margin:0 0 14px}
.fcg-platform--polish .fcg-platform-heading > p:not(.fcg-label) {max-width:40em;line-height:1.65;margin:18px 0 0}
.fcg-platform--polish .fcg-meta {font-size:var(--fcg-type-meta);line-height:1.6;letter-spacing:var(--fcg-tracking-label)}
.fcg-platform--polish .fcg-platform-lead {
 grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--fcg-grid-editorial-gap);align-items:center;
}
.fcg-platform--polish .fcg-platform-lead > div {max-width:38rem}
.fcg-platform--polish .fcg-platform-lead h2 {font-size:clamp(30px,3.15vw,52px);line-height:1.12;max-width:19ch;text-wrap:pretty;margin-bottom:20px}
.fcg-platform--polish .fcg-platform-lead > div > p:not(.fcg-meta) {font-size:16px;line-height:1.65;max-width:48ch;margin-bottom:16px}
.fcg-platform--polish .fcg-platform-lead-photo {aspect-ratio:3/2}
.fcg-platform--polish .fcg-platform-lead:not(:has(>a)) {grid-template-columns:1fr;max-width:var(--fcg-container-reading)}
.fcg-platform--polish .fcg-platform-section {margin-top:var(--fcg-section-compact);padding-top:28px}
.fcg-platform--polish .fcg-platform-section > header {margin-bottom:28px}
.fcg-platform--polish .fcg-platform-section > header > h2 {font-size:clamp(28px,2.3vw,38px);margin:0}
.fcg-platform--polish .fcg-platform-grid {gap:48px var(--fcg-grid-editorial-gap);align-items:stretch}
.fcg-platform--polish .fcg-platform-reading {grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr))}
.fcg-platform--polish .fcg-platform-reading > .fcg-platform-card:first-child h3 {font-size:var(--fcg-type-card-feature)}
.fcg-platform--polish .fcg-platform-reading > .fcg-platform-card:first-child .fcg-platform-photo {aspect-ratio:8/5}
.fcg-platform--polish .fcg-platform-card {display:flex;flex-direction:column;align-items:flex-start;margin:0;padding-bottom:8px}
.fcg-platform--polish .fcg-platform-card > a:has(img) {display:block;width:100%}
.fcg-platform--polish .fcg-platform-card :is(h2,h3) {font-size:var(--fcg-type-card);line-height:1.15;max-width:26ch;margin:0 0 14px}
.fcg-platform--polish .fcg-platform-card > p:not(.fcg-meta) {max-width:48ch;font-size:var(--fcg-type-body-small);line-height:var(--fcg-line-body);margin:0 0 14px}
.fcg-platform--polish .fcg-platform-card .fcg-meta {margin:18px 0 10px}
.fcg-platform--polish .fcg-platform-card > .fcg-link {margin-top:auto;align-self:flex-start}
/* A text article is a typographic card, with a rule, not a missing photograph. */
.fcg-platform--polish .fcg-platform-card--article.fcg-platform-card--text {
 border-top:1px solid var(--fcg-ink);padding-top:20px;min-height:240px;
}
.fcg-platform--polish .fcg-platform-card--text .fcg-meta {margin-top:0}
.fcg-platform--polish .fcg-platform-card--text > :is(h2,h3) {max-width:22ch}
.fcg-platform--polish .fcg-platform-card--text > .fcg-link {margin-top:auto}
/* public.css + public-foundations.css own a bottom border; beta added underline.
 * Keep exactly one underline on Platform CTAs, including wrapped link text. */
.fcg-public-body .fcg-platform--polish .fcg-link {
 display:inline-flex;min-height:44px;border:0;background-image:none;box-shadow:none;
 font:500 14px/1.5 var(--fcg-font-ui);padding:10px 0;text-decoration:underline;
 text-decoration-thickness:1px;text-underline-offset:6px;color:var(--fcg-ink);
}
.fcg-platform--polish .fcg-platform-filter {
 gap:8px 20px;padding:12px 0 20px;margin-bottom:32px;border-bottom:1px solid var(--fcg-rule);
}
.fcg-platform--polish .fcg-platform-filter label {font:500 12px/1.5 var(--fcg-font-ui);letter-spacing:.04em}
.fcg-public-body .fcg-platform--polish .fcg-platform-filter select {
 border:0;border-bottom:1px solid var(--fcg-rule);background-color:transparent;
 padding:10px 28px 10px 0;font:400 16px/1.5 var(--fcg-font-ui);min-height:44px;
}
.fcg-public-body .fcg-platform--polish .fcg-platform-filter button {
 background:none;color:var(--fcg-ink);border:0;border-bottom:1px solid var(--fcg-ink);
 font:500 13px/1.5 var(--fcg-font-ui);letter-spacing:.02em;text-transform:none;padding:10px 0;
}
.fcg-platform--polish .fcg-platform-empty--magazine {
 grid-column:1 / -1;width:100%;max-width:none;display:flex;align-items:baseline;justify-content:space-between;
 gap:24px;padding:40px 0 32px;border-block:1px solid var(--fcg-rule);
}
.fcg-platform--polish .fcg-platform-empty--magazine p {
 font:400 clamp(23px,2vw,30px)/1.35 var(--fcg-font-editorial);max-width:32ch;margin:0;
}
.fcg-platform--polish .fcg-platform-empty--magazine .fcg-link {flex-shrink:0}
/* Preserve the existing compact footer, aligned to the shared editorial measure. */
.fcg-public-body:has(.fcg-platform--polish) .fcg-footer-container .fcg-city-footer {
 width:var(--fcg-width-editorial);max-width:none;margin-inline:auto;
}
@media(hover:hover) {
 .fcg-platform--polish :is(.fcg-platform-card h2 a,.fcg-platform-card h3 a,.fcg-link):hover {color:var(--fcg-green);opacity:1;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
}
@media(prefers-reduced-motion:no-preference) {
 .fcg-platform--polish :is(.fcg-platform-card h2 a,.fcg-platform-card h3 a,.fcg-link) {transition:color var(--fcg-motion-fast) var(--fcg-ease)}
}
@media(max-width:1100px) {
 .fcg-platform--polish .fcg-platform-lead h2 {font-size:clamp(30px,3.5vw,40px)}
 .fcg-platform--polish .fcg-platform-reading {grid-template-columns:repeat(2,minmax(0,1fr))}
 .fcg-platform--polish .fcg-platform-reading > .fcg-platform-card:first-child {grid-column:1 / -1;max-width:100%}
 .fcg-platform--polish .fcg-platform-reading > .fcg-platform-card:first-child > a:has(img) {max-width:75%}
}
@media(max-width:600px) {
 .fcg-platform--polish .fcg-platform-heading {padding:28px 0 24px}
 .fcg-platform--polish .fcg-platform-lead,.fcg-platform--polish .fcg-platform-grid {grid-template-columns:1fr}
 .fcg-platform--polish .fcg-platform-lead {gap:20px}
 .fcg-platform--polish .fcg-platform-lead h2 {font-size:30px}
 .fcg-platform--polish .fcg-platform-reading > .fcg-platform-card:first-child > a:has(img) {max-width:none}
 .fcg-platform--polish .fcg-platform-card :is(h2,h3) {font-size:28px}
 .fcg-platform--polish .fcg-platform-card--article.fcg-platform-card--text {min-height:0}
 .fcg-platform--polish .fcg-platform-card--text > .fcg-link {margin-top:12px}
 .fcg-platform--polish .fcg-platform-empty--magazine {flex-direction:column;gap:16px;padding:28px 0}
 .fcg-platform--polish .fcg-platform-empty--magazine .fcg-link {flex-shrink:1}
 .fcg-platform--polish .fcg-platform-filter {gap:6px 16px}
}

/* Editorial expression of the shared form/action vocabulary. */
.fcg-platform--polish .fcg-link {gap:var(--fcg-space-1)}
.fcg-platform--polish .fcg-link .fcg-icon {width:18px;height:18px;flex-shrink:0;stroke-width:1.25}
.fcg-platform--polish .fcg-platform-search {padding-top:var(--fcg-space-2)}
.fcg-platform--polish .fcg-platform-search label {font:500 var(--fcg-type-meta)/1.5 var(--fcg-font-ui);letter-spacing:var(--fcg-tracking-label);margin-bottom:var(--fcg-space-2)}
.fcg-public-body .fcg-platform--polish .fcg-platform-search input {background:var(--fcg-paper);border:0;border-bottom:var(--fcg-hairline) solid var(--fcg-ink);font:400 var(--fcg-type-body)/1.5 var(--fcg-font-ui);min-height:var(--fcg-control-height);padding:var(--fcg-space-1) 0}
.fcg-public-body .fcg-platform--polish .fcg-platform-search button {font:500 var(--fcg-type-ui-body)/1.5 var(--fcg-font-ui);letter-spacing:0;text-transform:none;background:var(--fcg-green);color:var(--fcg-paper);min-height:var(--fcg-control-height);padding:var(--fcg-space-1) var(--fcg-space-3);box-shadow:none}
