/* Kingfisher Isle preview. Same portal identity and editorial dials as New horizons. */
.kingfisher-isle { color-scheme: dark; --article-width: 1180px; }
.kf-heading,.kf-cover,.kf-nav,.kf-story { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.kf-heading { padding:44px 0 30px; }
.kf-heading h1 { margin:10px 0 14px; color:var(--gold-hi); font:400 clamp(52px,7vw,88px)/1.05 var(--display); }
.kf-deck { max-width:640px; font-size:clamp(18px,2vw,22px); line-height:1.6; color:#d0c5dd; margin:0 0 16px; }
.kf-upcoming { max-width:46rem; padding:1rem 1.2rem; border-left:3px solid var(--gold,#ddb465); background:#ddb46512; color:#eddbb7; }
.kf-link { display:inline-flex; align-items:center; min-height:44px; font-weight:600; text-underline-offset:5px; }
.kf-shot { margin:24px 0; min-width:0; background:#08060d; border:1px solid var(--article-rule); border-radius:10px; overflow:hidden; }
.kf-shot a { display:block; }
.kf-shot img { display:block; width:100%; height:auto; object-fit:contain; }
.kf-shot a:focus-visible { outline-offset:-4px; }
.kf-shot figcaption { padding:12px 16px; color:#bdb1cd; font-size:13px; line-height:1.55; }
.kf-cover .kf-shot { margin:0; }
.kf-cover img { max-height:490px; object-fit:cover; object-position:50% 40%; }
.kf-nav { display:flex; gap:8px 26px; flex-wrap:wrap; padding:22px 0; border-bottom:1px solid var(--article-rule); }
.kf-nav a { display:flex; align-items:center; min-height:44px; font-size:14px; text-decoration:none; }
.kf-nav a:hover { color:var(--gold-hi); text-decoration:underline; }
.kf-section { padding:58px 0; border-bottom:1px solid var(--article-rule); scroll-margin-top:90px; }
.kf-section h2 { margin:0 0 22px; font:400 clamp(32px,4vw,48px)/1.15 var(--display); }
.kf-section h3 { font:600 18px/1.4 var(--body); margin:0 0 10px; }
.kf-section p { max-width:74ch; font-size:16px; line-height:1.8; color:#c2b7cf; margin:0 0 20px; }
.kf-section strong { color:var(--text); }
.kf-section .kf-lead { font-size:20px; color:#e1d7eb; max-width:64ch; }
.kf-copy-columns,.kf-photo-grid,.kf-compare { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin:28px 0; align-items:start; }
.kf-photo-grid .kf-shot,.kf-compare .kf-shot { margin:0; }
.kf-map img { background:#0d1f3a; }
.kf-home-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; margin:32px 0; }
.kf-home-grid .kf-shot { margin:0 0 14px; }
.kf-home-grid img { aspect-ratio:4/3; object-fit:cover; }
.kf-home-grid h3 { margin-bottom:4px; }
.kf-home-grid p { font-size:14px; line-height:1.65; margin:0 0 8px; }
.kf-section .kf-price { color:var(--text); font-size:15px; }
.kf-price strong { color:var(--gold-hi); font-weight:600; }
.kf-was,.kf-same { display:block; color:#a99cb9; font-size:13px; }
.kf-was s { text-decoration-thickness:1px; }
.kf-tag { display:inline-block; margin-left:6px; padding:1px 8px; border:1px solid var(--gold); border-radius:999px; color:var(--gold-hi); font-size:12px; font-weight:600; vertical-align:2px; }
.kf-callout { margin:28px 0; padding:20px 24px; background:var(--void-2); border-left:3px solid var(--purple); }
.kf-callout h3 { color:var(--gold-hi); }
.kf-section .kf-callout p { margin:0; }
.kf-narrow { max-width:720px; }
.kf-facts { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; margin:28px 0; }
.kf-facts div { padding:16px 18px; background:var(--void-2); border:1px solid var(--article-rule); border-radius:10px; }
.kf-facts dt { color:#a99cb9; font-size:13px; margin:0 0 6px; }
.kf-facts dd { margin:0; color:var(--gold-hi); font:400 24px/1.2 var(--display); }
.kf-label { margin:0 0 10px; color:var(--gold-hi); font-weight:600; font-size:14px; letter-spacing:.06em; text-transform:uppercase; }
.kf-list { max-width:74ch; margin:8px 0 28px; padding:0; list-style:none; }
.kf-list li { padding:14px 0 14px 22px; border-left:2px solid var(--purple); color:#c2b7cf; line-height:1.75; }
.kf-list li + li { margin-top:10px; }
.kf-feature { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:40px; align-items:center; margin:28px 0 36px; }
.kf-feature .kf-shot { margin:0; }
.kf-fixes { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-bottom:24px; }
.kf-fixes article { padding-left:22px; border-left:2px solid var(--purple); }
.kf-parts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; width:min(1180px,calc(100% - 48px)); margin:26px auto 0; }
.kf-parts a { display:block; text-decoration:none; color:inherit; background:var(--void-2); border:1px solid var(--article-rule); border-radius:10px; overflow:hidden; }
.kf-parts a:hover { border-color:var(--purple-hi); }
.kf-parts img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; object-position:50% 50%; background:#09050b; }
.kf-parts img.kf-part-upper { object-position:50% 40%; }
.kf-parts img.kf-part-fit { object-fit:contain; }
.kf-parts strong { display:block; padding:14px 16px 4px; color:var(--gold-hi); font:400 22px/1.2 var(--display); }
.kf-parts span { display:block; padding:0 16px 16px; color:#bdb1cd; font-size:14px; line-height:1.55; }
.kf-part { margin:0; padding:64px 0 0; color:#a99cb9; font:600 13px/1.4 var(--body); letter-spacing:.12em; text-transform:uppercase; }
.kf-part + .kf-section { padding-top:18px; }
.kf-capes { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; margin:24px 0 28px; }
.kf-cape { padding:16px 18px; background:var(--void-2); border:1px solid var(--article-rule); border-radius:10px; }
.kf-cape header { display:flex; align-items:center; gap:14px; margin:0 0 12px; }
.kf-cape img { flex:none; display:block; width:88px; height:56px; image-rendering:pixelated; }
.kf-cape h4 { margin:0; color:var(--gold-hi); font:400 21px/1.2 var(--display); }
.kf-section .kf-cape p { margin:0 0 8px; font-size:14px; line-height:1.65; }
.kf-section .kf-cape p:last-child { margin:0; }
.kf-section .kf-cape .kf-cape-note { color:#a99cb9; }
.kf-section .kf-cape .kf-fx { color:#c9b6ea; }
.kf-section .kf-cape .kf-fx strong { color:var(--gold-hi); font-weight:600; }
.kf-fx-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; margin:24px 0 28px; }
.kf-fx-grid figure { margin:0; padding:12px 8px; background:radial-gradient(circle at 50% 40%,#2a1f3d,var(--void-2) 72%); border:1px solid var(--article-rule); border-radius:10px; text-align:center; }
.kf-fx-grid img { display:block; width:100%; max-width:192px; height:auto; margin:0 auto 8px; }
.kf-fx-grid figcaption { color:#bdb1cd; font-size:13px; line-height:1.4; }
.kf-section .kf-fx-grid figcaption strong { display:block; color:var(--gold-hi); font:400 18px/1.3 var(--display); }
.kf-pending { margin:20px 0; padding:14px 18px; border:1px dashed var(--article-rule); border-radius:10px; color:#a99cb9; font-size:14px; }
#preview { padding-bottom:48px; }
#preview h2 { font-size:30px; }
#preview p { font-size:14px; }
.kf-lightbox { color:var(--text); background:var(--void); border:1px solid var(--article-rule); border-radius:10px; padding:20px; width:fit-content; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); }
.kf-lightbox::backdrop { background:rgba(0,0,0,.88); }
.kf-lightbox form { display:flex; justify-content:flex-end; margin-bottom:12px; }
.kf-lightbox button { background:var(--void-2); color:var(--text); border:1px solid var(--purple-hi); border-radius:6px; min-height:44px; padding:8px 18px; font:600 14px var(--body); cursor:pointer; }
.kf-lightbox img { max-width:100%; max-height:calc(100dvh - 180px); width:auto; height:auto; display:block; margin:auto; }
.kf-lightbox p { font-size:14px; line-height:1.6; margin:16px 0 0; max-width:80ch; }
@media(max-width:1000px) { .kf-home-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .kf-facts { grid-template-columns:repeat(3,minmax(0,1fr)); } .kf-fx-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:640px) { .kf-parts { width:calc(100% - 32px); grid-template-columns:1fr; } .kf-heading,.kf-cover,.kf-nav,.kf-story { width:calc(100% - 32px); } .kf-heading { padding-top:28px; } .kf-heading h1 { font-size:54px; } .kf-cover img { aspect-ratio:4/3; object-fit:cover; } .kf-nav { gap:0 22px; padding-block:14px; } .kf-section { padding:38px 0; } .kf-copy-columns,.kf-photo-grid,.kf-compare,.kf-fixes,.kf-feature { grid-template-columns:1fr; gap:22px; } .kf-home-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } .kf-home-grid h3 { font-size:17px; } .kf-facts { grid-template-columns:repeat(2,minmax(0,1fr)); } .kf-facts dd { font-size:20px; } .kf-section .kf-lead { font-size:18px; } .kf-fx-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; } .kf-fx-grid figure { padding:8px 4px; } .kf-section .kf-fx-grid figcaption strong { font-size:15px; } .kf-fx-grid figcaption { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .kingfisher-isle *, .kingfisher-isle *::before, .kingfisher-isle *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

.kingfisher-isle .vs-nav-play { color:#211624; }
