:root{--c-brand:#1893CC;--c-brand-deep:#0F6A99;--c-brand-ink:#0C3A55;--c-brand-pale:#E1F2F9;--c-badge-black:#010101;--c-paper:#F8FAFC;--c-card:#FFFFFF;--c-rule:#E2E8F0;--c-rule-strong:#CBD5E1;--c-ink:#0F172A;--c-ink-mute:#334155;--c-ink-soft:#64748B;--c-ink-faint:#94A3B8;--c-urgent:#EA580C;--c-fresh:#16A34A;--c-gold:#CA8A04;--c-rotten:#B91C1C;--f-display:'Fraunces','Times New Roman',serif;--f-body:'Inter',system-ui,-apple-system,sans-serif;--f-mono:'JetBrains Mono','Courier New',monospace;--s-1:0.25rem;--s-2:0.5rem;--s-3:0.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--s-9:6rem;--r-sm:4px;--r-md:8px;--r-lg:16px;--sh-sm:0 1px 2px rgba(15,23,42,.06);--sh-md:0 4px 12px rgba(15,23,42,.08);--sh-lg:0 12px 32px rgba(15,23,42,.12);--container-narrow:720px;--container-wide:1280px;--t-fast:150ms ease;--t-base:250ms ease}*,::after,::before{box-sizing:border-box}blockquote,body,dd,dl,figure,h1,h2,h3,h4,h5,h6,html,ol,p,ul{margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}body{font-family:var(--f-body);color:var(--c-ink);background:var(--c-paper);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg,video{max-width:100%;height:auto;display:block}a{color:var(--c-brand);text-decoration:none;transition:color var(--t-fast)}a:hover{color:var(--c-brand-deep);text-decoration:underline;text-underline-offset:3px}a:focus-visible{outline:2px solid var(--c-brand);outline-offset:2px;border-radius:var(--r-sm)}h1,h2,h3,h4,h5,h6{font-family:var(--f-display);font-weight:600;line-height:1.2;color:var(--c-ink);margin-bottom:var(--s-4)}h1{font-size:clamp(2rem, 4vw, 3rem);letter-spacing:-.02em}h2{font-size:clamp(1.5rem, 3vw, 2rem);letter-spacing:-.01em}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem;text-transform:uppercase;letter-spacing:.05em}p{margin-bottom:var(--s-5)}p:last-child{margin-bottom:0}ol,ul{padding-left:var(--s-5);margin-bottom:var(--s-5)}li+li{margin-top:var(--s-2)}blockquote{font-style:italic;border-left:3px solid var(--c-brand);padding-left:var(--s-4);margin:var(--s-6) 0;color:var(--c-ink-mute);font-family:var(--f-display);font-size:1.125rem}code,kbd,pre,samp{font-family:var(--f-mono);font-size:.875em}code{background:var(--c-brand-pale);color:var(--c-brand-ink);padding:.125rem .375rem;border-radius:var(--r-sm)}pre{background:var(--c-ink);color:#f8fafc;padding:var(--s-5);border-radius:var(--r-md);overflow-x:auto;margin-bottom:var(--s-5)}pre code{background:0 0;color:inherit;padding:0}hr{border:0;border-top:1px solid var(--c-rule);margin:var(--s-6) 0}.container{max-width:var(--container-wide);margin:0 auto;padding:0 var(--s-5);width:100%}.container--narrow{max-width:var(--container-narrow)}.stack>*+*{margin-top:var(--s-5)}.stack--sm>*+*{margin-top:var(--s-3)}.stack--lg>*+*{margin-top:var(--s-6)}.grid{display:grid;gap:var(--s-5)}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-wrap{flex-wrap:wrap}.flex-col{flex-direction:column}.gap-2{gap:var(--s-2)}.gap-3{gap:var(--s-3)}.gap-4{gap:var(--s-4)}.gap-5{gap:var(--s-5)}main{display:block;min-height:60vh;padding:var(--s-6) 0}.site-header{position:sticky;background:var(--c-card);border-bottom:1px solid var(--c-rule);box-shadow:var(--sh-sm)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-5);max-width:var(--container-wide);margin:0 auto;gap:var(--s-5)}.site-logo{font-family:var(--f-display);font-weight:700;font-size:1.5rem;color:var(--c-ink);letter-spacing:-.02em}.site-logo a{color:inherit}.site-logo a:hover{color:var(--c-brand);text-decoration:none}.site-nav{display:flex;align-items:center;gap:var(--s-5)}.site-nav ul{list-style:none;padding:0;margin:0;display:flex;gap:var(--s-5)}.site-nav li{margin:0}.site-nav a{position:relative;color:var(--c-ink);font-weight:500;font-size:.9375rem;padding:var(--s-2) 0;transition:color var(--t-fast)}.site-nav a::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--c-brand);transition:width var(--t-base)}.site-nav a:hover{color:var(--c-brand);text-decoration:none}.site-nav a.active::after,.site-nav a:hover::after{width:100%}.site-header__actions{display:flex;align-items:center;gap:var(--s-3)}.nav-toggle,.search-toggle{background:0 0;border:0;color:var(--c-ink);width:40px;height:40px;border-radius:var(--r-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--t-fast)}.nav-toggle:hover,.search-toggle:hover{background:var(--c-brand-pale);color:var(--c-brand-deep)}.nav-toggle{display:none}.hp-ticker{background:var(--c-badge-black)}.hp-ticker__inner{display:flex;align-items:stretch;max-width:var(--container-wide);margin:0 auto}.hp-ticker__label{background:var(--c-urgent);font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.1em;padding:var(--s-3) var(--s-4);align-items:center;flex-shrink:0}.hp-ticker__track{flex:1;overflow:hidden;padding:var(--s-3) var(--s-4);white-space:nowrap;position:relative}.hp-ticker__items{display:inline-flex;gap:var(--s-5)}.hp-ticker__items a:hover{color:var(--c-brand);text-decoration:none}.hp-ticker__items span.sep{color:var(--c-ink-soft);margin:0 var(--s-3)}@keyframes ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}.hero{background:var(--c-card);border-bottom:1px solid var(--c-rule);padding:var(--s-7) 0}.hero__grid{display:grid;grid-template-columns:60% 40%;gap:var(--s-7);align-items:center}.hero__media{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg);aspect-ratio:16/9;background:var(--c-rule)}.hero__media img{width:100%;height:100%;object-fit:cover}.hero__content{padding:var(--s-4) 0}.hero__kicker{font-family:var(--f-mono);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--c-brand);margin-bottom:var(--s-3);display:inline-block}.hero__title{font-family:var(--f-display);font-size:clamp(2rem, 4.5vw, 3.25rem);font-weight:700;line-height:1.1;letter-spacing:-.025em;margin-bottom:var(--s-4);color:var(--c-ink)}.hero__title a{color:inherit}.hero__title a:hover{color:var(--c-brand-deep);text-decoration:none}.hero__excerpt{font-size:1.125rem;color:var(--c-ink-mute);margin-bottom:var(--s-5);line-height:1.5}.hero__byline{font-family:var(--f-body);font-size:.875rem;color:var(--c-ink-soft);display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.hero__byline strong{color:var(--c-ink);font-weight:600}.hero__byline .dot{color:var(--c-ink-faint)}.card{background:var(--c-card);border:1px solid var(--c-rule-strong);border-radius:var(--r-md);overflow:hidden;transition:box-shadow var(--t-base),border-color var(--t-base),transform var(--t-base);display:flex;flex-direction:column;height:100%}.card:hover{box-shadow:var(--sh-md);border-color:var(--c-brand);transform:translateY(-2px)}.card__media{display:block;aspect-ratio:16/9;background:var(--c-rule);overflow:hidden}.card__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-base)}.card:hover .card__media img{transform:scale(1.04)}.card__body{padding:var(--s-5);display:flex;flex-direction:column;flex:1;gap:var(--s-3)}.card__category{display:inline-block;background:var(--c-brand);color:#fff;font-family:var(--f-mono);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.25rem .625rem;border-radius:var(--r-sm);align-self:flex-start;text-decoration:none}.card__category:hover{background:var(--c-brand-deep);color:#fff;text-decoration:none}.card__title{font-family:var(--f-display);font-size:1.375rem;font-weight:600;line-height:1.25;color:var(--c-ink);margin:0}.card__title a{color:inherit}.card__title a:hover{color:var(--c-brand-deep);text-decoration:none}.card__excerpt{color:var(--c-ink-mute);font-size:.9375rem;line-height:1.55;margin:0}.card__meta{margin-top:auto;padding-top:var(--s-3);border-top:1px solid var(--c-rule);color:var(--c-ink-soft);font-size:.8125rem;display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.card__meta strong{color:var(--c-ink-mute);font-weight:600}.score{display:inline-flex;align-items:center;gap:var(--s-2);padding:.375rem .75rem;border-radius:999px;font-family:var(--f-mono);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff}.score--fresh{background:var(--c-fresh)}.score--rotten{background:var(--c-rotten)}.score--gold{background:var(--c-gold)}.score--neutral{background:var(--c-ink-mute)}.score-num{font-family:var(--f-mono);font-size:2.5rem;line-height:1;letter-spacing:-.02em;color:var(--c-ink)}.score-num--fresh{color:var(--c-fresh)}.score-num--rotten{color:var(--c-rotten)}.score-num--gold{color:var(--c-gold)}.section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-5);padding-bottom:var(--s-3);border-bottom:1px solid var(--c-rule)}.section-header__title{font-family:var(--f-display);font-size:1.75rem;font-weight:700;letter-spacing:-.015em;color:var(--c-ink);margin:0;padding-left:var(--s-4);border-left:4px solid var(--c-brand);line-height:1.1}.section-header__link{font-family:var(--f-body);font-size:.9375rem;font-weight:600;color:var(--c-brand);white-space:nowrap;display:inline-flex;align-items:center;gap:var(--s-2)}.section-header__link:hover{color:var(--c-brand-deep);text-decoration:none;gap:var(--s-3)}.section-header__link::after{content:'→';transition:transform var(--t-fast)}.section-header__link:hover::after{transform:translateX(2px)}.layout-with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--s-7);align-items:start}.sidebar{position:sticky;top:100px;display:flex;flex-direction:column;gap:var(--s-5)}.widget{background:var(--c-card);border:1px solid var(--c-rule);border-radius:var(--r-md);padding:var(--s-5)}.widget__title{font-family:var(--f-display);font-size:1.125rem;font-weight:700;color:var(--c-ink);margin:0 0 var(--s-4);padding-bottom:var(--s-2);border-bottom:2px solid var(--c-brand);display:inline-block}.trending-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s-3)}.trending-list li{display:flex;align-items:flex-start;gap:var(--s-3);padding-bottom:var(--s-3);border-bottom:1px solid var(--c-rule);margin:0}.trending-list li:last-child{border-bottom:0;padding-bottom:0}.trending-list__rank{font-family:var(--f-mono);font-size:1.25rem;font-weight:700;color:var(--c-brand);flex-shrink:0;line-height:1.2;min-width:1.5rem}.trending-list__title{font-family:var(--f-display);font-size:.9375rem;font-weight:600;line-height:1.3;color:var(--c-ink)}.trending-list__title a{color:inherit}.trending-list__title a:hover{color:var(--c-brand-deep);text-decoration:none}.trending-list__meta{display:block;margin-top:var(--s-1);font-size:.75rem;color:var(--c-ink-soft);font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.05em}.site-footer{background:var(--c-badge-black);margin-top:var(--s-9);padding:var(--s-8) 0 var(--s-5)}.site-footer__top{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:var(--s-6);padding-bottom:var(--s-7);border-bottom:1px solid #1f2937}.site-footer__brand .site-logo{color:#fff;font-size:1.75rem;margin-bottom:var(--s-3);display:block}.site-footer__tagline{color:var(--c-ink-faint);font-size:.875rem;margin-bottom:var(--s-4);line-height:1.5}.site-footer__col h4{color:#fff;font-family:var(--f-mono);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:var(--s-4)}.site-footer__col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s-3)}.site-footer__col li{margin:0}.site-footer__col a{color:#cbd5e1;font-size:.9375rem;transition:color var(--t-fast)}.site-footer__col a:hover{color:var(--c-brand);text-decoration:none}.site-footer__social{display:flex;gap:var(--s-3);margin-top:var(--s-4)}.site-footer__social a{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:#1f2937;border-radius:var(--r-sm);color:#fff;transition:background var(--t-fast),transform var(--t-fast)}.site-footer__social a:hover{background:var(--c-brand);transform:translateY(-2px);text-decoration:none}.site-footer__bottom{display:flex;align-items:center;justify-content:space-between;padding-top:var(--s-5);flex-wrap:wrap;gap:var(--s-3)}.site-footer__copy{color:var(--c-ink-faint);font-size:.8125rem;font-family:var(--f-mono)}.site-footer__legal{display:flex;gap:var(--s-4);list-style:none;padding:0;margin:0}.site-footer__legal a{color:var(--c-ink-faint);font-size:.8125rem}.site-footer__legal a:hover{color:#fff;text-decoration:none}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--s-2);margin:var(--s-7) 0;flex-wrap:wrap}.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--s-3);background:var(--c-card);color:var(--c-ink);border:1px solid var(--c-rule-strong);border-radius:var(--r-sm);font-family:var(--f-mono);transition:all var(--t-fast)}.pagination a:hover{background:var(--c-brand-pale);border-color:var(--c-brand);color:var(--c-brand-deep);text-decoration:none}.pagination .current{background:var(--c-brand);border-color:var(--c-brand)}.pagination .dots{border:0;background:0 0;color:var(--c-ink-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:.75rem 1.5rem;font-family:var(--f-body);font-size:.9375rem;font-weight:600;line-height:1;border-radius:var(--r-sm);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast),transform var(--t-fast);white-space:nowrap}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:2px solid var(--c-brand);outline-offset:2px}.btn--primary{background:var(--c-brand);color:#fff;border-color:var(--c-brand)}.btn--primary:hover{background:var(--c-brand-deep);border-color:var(--c-brand-deep);color:#fff}.btn--ghost{background:0 0;color:var(--c-brand);border-color:var(--c-brand)}.btn--ghost:hover{background:var(--c-brand);color:#fff}.btn--dark{background:var(--c-badge-black);color:#fff;border-color:var(--c-badge-black)}.btn--dark:hover{background:var(--c-ink);border-color:var(--c-ink);color:#fff}.btn--sm{padding:.5rem 1rem;font-size:.8125rem}.btn--lg{padding:1rem 2rem;font-size:1rem}.btn--block{display:flex;width:100%}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{width:100%;padding:.75rem 1rem;font-family:var(--f-body);font-size:.9375rem;color:var(--c-ink);background:var(--c-card);border:1px solid var(--c-rule-strong);border-radius:var(--r-sm);transition:border-color var(--t-fast),box-shadow var(--t-fast);line-height:1.4}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--c-brand-deep);box-shadow:0 0 0 2px rgba(24,147,204,.25)}input::placeholder,textarea::placeholder{color:var(--c-ink-faint)}textarea{min-height:120px;resize:vertical}label{display:block;font-size:.875rem;font-weight:600;color:var(--c-ink-mute);margin-bottom:var(--s-2)}.form-row{margin-bottom:var(--s-4)}.form-row:last-child{margin-bottom:0}.search-box{position:relative;display:flex;align-items:center}.search-box input[type=search]{padding-left:2.75rem}.search-box::before{content:"";position:absolute;left:1rem;top:50%;width:16px;height:16px;transform:translateY(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none}.text-brand{color:var(--c-brand)}.text-ink-mute{color:var(--c-ink-mute)}.text-ink-soft{color:var(--c-ink-soft)}.text-ink-faint{color:var(--c-ink-faint)}.text-urgent{color:var(--c-urgent)}.text-fresh{color:var(--c-fresh)}.text-gold{color:var(--c-gold)}.text-rotten{color:var(--c-rotten)}.text-white{color:#fff}.bg-paper{background:var(--c-paper)}.bg-card{background:var(--c-card)}.bg-brand{background:var(--c-brand);color:#fff}.bg-brand-pale{background:var(--c-brand-pale)}.bg-dark{background:var(--c-badge-black);color:#fff}.font-display{font-family:var(--f-display)}.font-body{font-family:var(--f-body)}.font-mono{font-family:var(--f-mono)}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.font-medium{font-weight:500}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:.05em}.tracking-wider{letter-spacing:.1em}.text-center{text-align:center}.text-right{text-align:right}.mt-3{margin-top:var(--s-3)}.mt-4{margin-top:var(--s-4)}.mt-5{margin-top:var(--s-5)}.mt-6{margin-top:var(--s-6)}.mb-3{margin-bottom:var(--s-3)}.mb-4{margin-bottom:var(--s-4)}.mb-5{margin-bottom:var(--s-5)}.mb-6{margin-bottom:var(--s-6)}.p-4{padding:var(--s-4)}.p-5{padding:var(--s-5)}.rounded-sm{border-radius:var(--r-sm)}.rounded-md{border-radius:var(--r-md)}.rounded-lg{border-radius:var(--r-lg)}.shadow-sm{box-shadow:var(--sh-sm)}.shadow-md{box-shadow:var(--sh-md)}.shadow-lg{box-shadow:var(--sh-lg)}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:1023.98px){.container{padding:0 var(--s-4)}.layout-with-sidebar{grid-template-columns:1fr;gap:var(--s-6)}.sidebar{position:static;top:auto}.hero__grid{gap:var(--s-5)}.hero__title{font-size:clamp(1.75rem, 4vw, 2.5rem)}.grid--4{grid-template-columns:repeat(3,1fr)}.site-footer__top{grid-template-columns:1fr 1fr;gap:var(--s-5)}}@media (max-width:767.98px){.container{padding:0 var(--s-4)}.hero,main{padding:var(--s-5) 0}.hero__grid{grid-template-columns:1fr;gap:var(--s-5)}.hero__title{font-size:clamp(1.5rem, 6vw, 2rem)}.hero__excerpt{font-size:1rem}.site-header__inner{padding:var(--s-3) var(--s-4)}.site-nav ul{display:none}.nav-toggle{display:inline-flex}.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:var(--s-3)}.section-header__title{font-size:1.375rem}.hp-ticker__inner{flex-direction:column}.hp-ticker__label{width:100%;justify-content:center;padding:var(--s-2) var(--s-3)}.site-footer{padding:var(--s-6) 0 var(--s-4)}.site-footer__top{grid-template-columns:1fr;gap:var(--s-5);padding-bottom:var(--s-5)}.site-footer__bottom{flex-direction:column;align-items:flex-start}.site-footer__legal{flex-wrap:wrap}.pagination a,.pagination span{min-width:36px;height:36px;font-size:.8125rem}.card__title{font-size:1.25rem}.card__body{padding:var(--s-4)}.btn{padding:.625rem 1.125rem;font-size:.875rem}}@media (min-width:1280px){.container{padding:0 var(--s-6)}}.ft-col__a{color:var(--c-ink-soft);display:block;padding:.25rem 0;text-decoration:none;transition:color 150ms}.ft-col__a:hover{color:var(--c-brand)}.ft-col__hd{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#fff;margin-bottom:1rem}.ft-col__hd-dot{display:inline-block;width:6px;height:6px;background:var(--c-brand);margin-right:.5rem;vertical-align:middle}.ft-col__list{list-style:none;padding:0;margin:0}.ft-bot__sep{display:inline-block;width:1px;height:1em;background:rgba(255,255,255,.2);margin:0 .5rem;vertical-align:middle}.ft-sl{display:inline-flex;align-items:center;gap:.5rem;color:var(--c-ink-soft);text-decoration:none;transition:color 150ms}.ft-sl:hover{color:var(--c-brand)}.ft-sl__ico{width:1.25rem;height:1.25rem}.ft-sl__lbl{font-size:.875rem}.site-footer{background:var(--c-badge-black);padding:4rem 0 2rem}.site-footer a{color:var(--c-ink-soft);text-decoration:none;transition:color 150ms}.site-header{background:var(--c-card);border-bottom:1px solid var(--c-rule-strong);position:sticky;top:0;z-index:50;padding:.75rem 0}.site-logo{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--c-ink)}.site-nav{display:flex;gap:1.5rem}.nav-link{color:var(--c-ink);padding:.5rem 0;transition:color 150ms}.nav-link::after{content:'';background:var(--c-brand);transition:width 150ms}.hp-ticker{background:var(--c-badge-black);color:#fff;font-size:.75rem}.hp-ticker__label{display:inline-block;background:var(--c-urgent);letter-spacing:.08em;text-transform:uppercase;font-family:var(--f-mono)}.hp-ticker__items{display:inline-flex;gap:2rem;animation:60s linear infinite ticker}@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}.hp-news-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--s-6);margin:var(--s-7) 0}.hp-feat{display:block}.hp-feat__img{aspect-ratio:16/10;object-fit:cover;border-radius:var(--r-md)}.hp-feat__cat{display:inline-block;color:var(--c-brand);font-family:var(--f-mono);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:var(--s-4) 0 var(--s-2)}.hp-feat__title{font-family:var(--f-display);color:var(--c-ink);margin-bottom:var(--s-3)}.hp-feat__meta{color:var(--c-ink-soft)}.hp-sh{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--c-brand);padding-bottom:var(--s-3);margin:var(--s-7) 0 var(--s-5)}.hp-sh h2{font-family:var(--f-display);font-size:1.5rem;font-weight:700;color:var(--c-ink);margin:0}.hp-sh__all{color:var(--c-brand);font-weight:600;text-decoration:none}.hp-rv{background:var(--c-card);border:1px solid var(--c-rule-strong);border-radius:var(--r-md);padding:var(--s-5)}.hp-rv:hover{border-color:var(--c-brand);box-shadow:0 4px 12px rgba(15,23,42,.08)}.hp-cta__perk{display:flex;align-items:center;gap:var(--s-2);color:var(--c-ink-mute);font-size:.875rem;padding:var(--s-2) 0}.sw{background:var(--c-card);border:1px solid var(--c-rule);border-radius:var(--r-md);padding:var(--s-5);margin-bottom:var(--s-5)}.sw__head{display:flex;align-items:center;gap:var(--s-2);font-family:var(--f-display);font-size:1.125rem;font-weight:700;color:var(--c-ink);margin:0 0 var(--s-4)}.sw__head-dot{width:8px;height:8px;background:var(--c-brand);border-radius:50%;display:inline-block}.sw__body{font-size:.875rem;color:var(--c-ink-mute)}.sw-sh-btn{background:var(--c-brand-pale);color:var(--c-brand-deep);border:none;border-radius:var(--r-sm);padding:var(--s-2) var(--s-3);font-size:.75rem;font-weight:600;cursor:pointer}.sw-follow__card{background:linear-gradient(135deg,var(--c-brand) 0,var(--c-brand-deep) 100%);color:#fff;padding:var(--s-5);border-radius:var(--r-md);text-align:center}.sw-follow__ico{width:48px;height:48px;background:rgba(255,255,255,.2);border-radius:50%;margin:0 auto var(--s-3);display:flex;align-items:center;justify-content:center}.sw-follow__name{font-weight:700;font-size:1rem;margin-bottom:var(--s-2)}.sw-follow__cta{display:inline-block;background:#fff;color:var(--c-brand);padding:var(--s-2) var(--s-4);border-radius:var(--r-sm);font-weight:600;font-size:.875rem;text-decoration:none;margin-top:var(--s-3)}.sidebar-widget{background:var(--c-card);border:1px solid var(--c-rule);border-radius:var(--r-md);padding:var(--s-5);margin-bottom:var(--s-5)}.sidebar-widget-title{display:flex;align-items:center;gap:var(--s-2);font-family:var(--f-display);font-size:1.125rem;font-weight:700;color:var(--c-ink);margin:0 0 var(--s-4)}.sp-sh-btn{display:inline-flex;align-items:center;gap:var(--s-2);background:var(--c-paper);color:var(--c-ink);padding:var(--s-2) var(--s-4);border-radius:var(--r-sm);font-size:.875rem;border:1px solid var(--c-rule-strong);text-decoration:none;transition:150ms}.sp-sh-btn:hover{background:var(--c-brand-pale);border-color:var(--c-brand);color:var(--c-brand-deep)}.tdw-score-circle{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-weight:700;color:#fff;font-size:1.125rem}.tdw-score-circle.score-fresh{background:var(--c-fresh)}.tdw-score-circle.score-mid{background:var(--c-gold)}.tdw-score-circle.score-rotten{background:var(--c-rotten)}.tdw-score-number{font-family:var(--f-mono);font-size:1.5rem;color:var(--c-ink)}.tdw-pc-heading{font-family:var(--f-display);font-size:1.25rem;font-weight:700;color:var(--c-ink);margin-bottom:var(--s-4)}.tdw-pc-list{list-style:none;padding:0;margin:0}.tdw-pc-list li{padding:var(--s-3) 0;border-bottom:1px solid var(--c-rule)}.tag-pill{display:inline-block;background:var(--c-brand-pale);color:var(--c-brand-deep);padding:var(--s-1) var(--s-3);border-radius:9999px;font-size:.75rem;font-weight:600;margin:0 var(--s-1) var(--s-1) 0;text-decoration:none;transition:150ms}.tag-pill:hover{background:var(--c-brand)}.genre-pill{display:inline-block;background:var(--c-brand-pale);color:var(--c-brand-deep);padding:var(--s-1) var(--s-3);border-radius:9999px;font-size:.75rem;font-weight:600;margin:0 var(--s-1) var(--s-1) 0;text-decoration:none;transition:150ms}.genre-pill:hover{background:var(--c-brand)}.cast-name{font-family:var(--f-body);font-weight:600;color:var(--c-ink);font-size:.875rem}.profile-stat{display:inline-block;color:var(--c-ink-mute);font-size:.875rem}.profile-stat-sep{color:var(--c-ink-faint);margin:0 var(--s-2)}.mega-title{text-transform:uppercase;letter-spacing:.1em;color:var(--c-ink-soft);margin-bottom:var(--s-3)}.section-heading-inline{display:inline-flex;align-items:center;gap:var(--s-3);font-family:var(--f-display);font-size:1.25rem;font-weight:700;color:var(--c-ink)}.article-body{font-family:var(--f-body);font-size:1.0625rem;line-height:1.7;color:var(--c-ink-mute);max-width:720px}.article-body p{margin-bottom:var(--s-5)}.article-body h2{font-family:var(--f-display);font-size:1.75rem;font-weight:700;color:var(--c-ink);margin:var(--s-7) 0 var(--s-4)}.article-body h3{font-family:var(--f-display);font-size:1.375rem;font-weight:700;color:var(--c-ink);margin:var(--s-6) 0 var(--s-3)}.article-body a{color:var(--c-brand);border-bottom:1px solid var(--c-brand-pale);text-decoration:none;transition:border-color 150ms}.article-body a:hover{border-bottom-color:var(--c-brand)}.article-body blockquote{border-left:3px solid var(--c-brand);padding-left:var(--s-5);margin:var(--s-6) 0;color:var(--c-ink-mute)}.article-body img{border-radius:var(--r-md);margin:var(--s-6) 0}.article-body ol,.article-body ul{margin-bottom:var(--s-5);padding-left:var(--s-5)}.article-body li{margin-bottom:var(--s-2)}.cky-consent-container,.cky-modal-container{z-index:9999}.cky-btn-accept{background:var(--c-brand)!important}.cky-btn-reject{color:var(--c-ink-mute)!important}.cky-btn-customize{color:var(--c-ink)!important}svg:not([width]):not([class*=logo]):not([class*=badge]):not([class*=brand]){width:1em;height:1em;vertical-align:middle;display:inline-block}.site-header{padding:0 var(--s-5)}.site-header>.container,.site-header>.site-container{display:flex;align-items:center;justify-content:space-between;gap:var(--s-5)}.site-nav{display:flex;align-items:center}.nav-list{display:flex;align-items:center;gap:var(--s-6);list-style:none;margin:0;padding:0}.nav-item{position:relative;display:inline-block}.nav-link{display:inline-block;color:var(--c-ink);font-weight:600;font-size:.875rem;padding:var(--s-4) 0;position:relative;transition:color var(--t-fast);text-decoration:none}.nav-link:hover{color:var(--c-brand)}.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--c-brand);transition:width var(--t-fast)}.nav-link:hover::after{width:100%}.mega-menu{position:absolute;top:100%;left:0;background:var(--c-card);border:1px solid var(--c-rule-strong);border-top:3px solid var(--c-brand);padding:var(--s-6);display:none;z-index:100;min-width:560px;box-shadow:var(--sh-lg);border-radius:0 0 var(--r-md) var(--r-md)}.mega-inner{display:flex;gap:var(--s-7);align-items:flex-start}.mega-col{flex:1;min-width:0}.mega-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--c-ink-soft);margin-bottom:var(--s-3);border-bottom:1px solid var(--c-rule);padding-bottom:var(--s-2)}.mega-col a{display:block;padding:var(--s-2) 0;color:var(--c-ink-mute);font-size:.875rem;transition:color var(--t-fast)}.mega-col a:hover{color:var(--c-brand)}.nav-item.has-mega:focus-within .mega-menu,.nav-item.has-mega:hover .mega-menu{display:block}.site-logo{display:inline-flex;align-items:center;gap:var(--s-3)}.site-logo__img{width:46px;height:46px;object-fit:contain}.ft-brand__logo-img{width:80px;height:80px;object-fit:contain}.skip-to-main,[class*=skip-to],a.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}a.skip-link:focus{left:var(--s-3);top:var(--s-3);width:auto;height:auto;background:var(--c-brand);color:#fff;padding:var(--s-3);z-index:9999}.site-container{max-width:var(--container-wide);margin:0 auto;padding:0 var(--s-5)}[class*=date-bar],[class*=dateline]{font-size:.75rem;color:var(--c-ink-soft);font-family:var(--f-mono);letter-spacing:.05em;padding:var(--s-3) 0;border-bottom:1px solid var(--c-rule)}.hp-ticker__items{display:flex!important;flex-direction:row!important;gap:var(--s-7)!important;white-space:nowrap}.hp-ticker__items>*{display:inline-flex;align-items:center}.cky-consent-container[data-cky-tag=notice]{bottom:var(--s-4)!important;left:var(--s-4)!important}.mobile-nav-drawer,.mobile-nav-overlay{display:none}.mobile-nav-drawer.is-open,.mobile-nav-overlay.is-open{display:block}.mobile-menu-toggle,.nav-hamburger,[class*=hamburger]{display:none}@media (max-width:1023.98px){.nav-list{gap:var(--s-4);flex-wrap:wrap}.mega-menu{position:static;min-width:0;box-shadow:none;border:none}.site-header>.container,.site-header>.site-container{flex-wrap:wrap}.mobile-menu-toggle,.nav-hamburger{display:inline-flex;align-items:center;justify-content:center;background:0 0;border:1px solid var(--c-rule-strong);border-radius:var(--r-sm);padding:var(--s-2);cursor:pointer;color:var(--c-ink)}.site-nav{display:none}}.hp-nav{background:var(--c-card);border-bottom:1px solid var(--c-rule);padding:var(--s-3) 0;overflow-x:auto;white-space:nowrap}.hp-nav__inner{display:flex;gap:var(--s-6);align-items:center;max-width:var(--container-wide);margin:0 auto;padding:0 var(--s-5)}.hp-nav a{color:var(--c-ink-mute);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-family:var(--f-mono);white-space:nowrap;transition:color var(--t-fast)}.hp-nav a:hover{color:var(--c-brand)}.hp-hero{padding:var(--s-7) 0;max-width:var(--container-wide);margin:0 auto;padding-left:var(--s-5);padding-right:var(--s-5)}.hp-hero>.container,.hp-hero>.hp-hero__inner,.hp-hero__grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--s-7);align-items:start}@media (max-width:1023.98px){.hp-hero>.container,.hp-hero>.hp-hero__inner,.hp-hero__grid{grid-template-columns:1fr}}.hp-feat__img-wrap,.hp-feat__media{overflow:hidden;border-radius:var(--r-md);margin-bottom:var(--s-4)}.hp-feat__img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;transition:transform var(--t-base)}.hp-feat:hover .hp-feat__img{transform:scale(1.02)}.hp-feat__kicker{display:inline-block;color:var(--c-brand);font-family:var(--f-mono);font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--s-3)}.hp-feat__title{font-family:var(--f-display);font-weight:700;color:var(--c-ink);margin-bottom:var(--s-3);letter-spacing:-.015em}.hp-feat__title a{color:inherit}.hp-feat__title a:hover{color:var(--c-brand)}.hp-feat__dek,.hp-feat__excerpt{color:var(--c-ink-mute);margin-bottom:var(--s-4)}.hp-feat__meta{font-size:.8rem;color:var(--c-ink-soft)}.hp-ticker__items>*{font-size:.85rem!important;color:rgba(255,255,255,.9)!important;padding:0!important}.hp-ticker__items a{color:rgba(255,255,255,.9);text-decoration:none}.hp-ticker__items a:hover{color:#fff}.hp-news-grid{display:grid;grid-template-columns:1fr;gap:var(--s-4)}.hp-news{display:flex;gap:var(--s-4);align-items:flex-start;padding:var(--s-4) 0;border-bottom:1px solid var(--c-rule)}.hp-news:last-child{border-bottom:none}.hp-news__img{width:96px;height:64px;object-fit:cover;border-radius:var(--r-sm);flex-shrink:0}.hp-news__body{flex:1;min-width:0}.hp-news__title{font-family:var(--f-display);font-size:.95rem;font-weight:700;color:var(--c-ink);line-height:1.3;margin-bottom:var(--s-2)}.hp-news__title a{color:inherit}.hp-news__title a:hover{color:var(--c-brand)}.hp-news__meta{font-size:.7rem;color:var(--c-ink-soft);font-family:var(--f-mono)}.hp-just-in__label,.hp-news-strip__label{display:inline-block;font-family:var(--f-mono);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--c-brand);border-bottom:2px solid var(--c-brand);padding-bottom:var(--s-2);margin-bottom:var(--s-4)}.dateline,.hp-dateline,.site-dateline{background:var(--c-card);color:var(--c-ink-soft);font-family:var(--f-mono);padding:var(--s-3) 0;border-bottom:1px solid var(--c-rule)}.dateline>.container,.dateline>.site-container,.hp-dateline>.container,.hp-dateline>.site-container{display:flex;justify-content:space-between;align-items:center}.hp-cta,.hp-newsletter{background:linear-gradient(135deg,var(--c-brand) 0,var(--c-brand-deep) 100%);color:#fff;padding:var(--s-7);border-radius:var(--r-lg);margin:var(--s-7) 0}.hp-cta h2,.hp-newsletter h2{color:#fff;font-family:var(--f-display);font-size:1.75rem;margin-bottom:var(--s-3)}.hp-cta input[type=email],.hp-newsletter input[type=email]{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;padding:var(--s-3) var(--s-5);border-radius:var(--r-sm);min-width:280px;font-size:.95rem}.hp-cta input::placeholder,.hp-newsletter input::placeholder{color:rgba(255,255,255,.7)}.hp-cta button,.hp-newsletter button{background:#fff;color:var(--c-brand);border:none;padding:var(--s-3) var(--s-5);border-radius:var(--r-sm);font-weight:700;cursor:pointer;transition:transform var(--t-fast)}.hp-cta button:hover,.hp-newsletter button:hover{transform:translateY(-1px)}.ft-gn-badge svg,.ft-gn-badge__g,.gn-follow-badge svg,[class*=gn-badge] svg,svg.ft-gn-badge__g{width:20px!important;height:20px!important;display:inline-block;flex-shrink:0}.ft-gn-badge,.gn-follow-badge,[class*=google-news]{display:inline-flex;align-items:center;gap:.5rem;background:var(--c-card);border:1px solid var(--c-rule-strong);border-radius:var(--r-sm);padding:.5rem 1rem;color:var(--c-ink);font-size:.85rem;font-weight:600;text-decoration:none;transition:all var(--t-fast);max-width:max-content}.ft-gn-badge:hover,.gn-follow-badge:hover{border-color:var(--c-brand);color:var(--c-brand)}svg:not([width]):not([height]):not(.site-logo__img):not(.ft-brand__logo-img):not([class*=hero]):not([class*=poster]){max-width:24px;max-height:24px}.archive-grid,.hp-movie-grid,.hp-tv-grid,.movie-grid,.movies-grid,.tv-grid,.tv-shows-grid,[class*=archive-list]{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-6);margin-top:var(--s-6)}@media (max-width:1199.98px){.archive-grid,.hp-movie-grid,.hp-tv-grid,.movie-grid,.movies-grid,.tv-grid,.tv-shows-grid{grid-template-columns:repeat(3,1fr)}}.movie-card,.tv-card,[class*=archive-card]{background:var(--c-card);border-radius:var(--r-md);overflow:hidden;transition:transform var(--t-base),box-shadow var(--t-base)}.movie-card:hover,.tv-card:hover{transform:translateY(-2px);box-shadow:var(--sh-md)}.archive-card img,.movie-card__poster,.tv-card__poster{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:var(--r-sm)}.movie-card__title,.tv-card__title{font-family:var(--f-display);font-weight:700;font-size:1.05rem;color:var(--c-brand);margin:var(--s-3) 0 var(--s-1);line-height:1.3}.movie-card__meta,.tv-card__meta{font-size:.75rem;color:var(--c-ink-soft);font-family:var(--f-mono);letter-spacing:.04em}.movie-card__score,.tv-card__score{display:inline-block;background:var(--c-ink);color:#fff;font-family:var(--f-mono);font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:3px;position:absolute;top:var(--s-3);right:var(--s-3)}.movie-hero img,.show-hero,.show-hero__img,.single-movie-hero img,.single-tv-hero img,.sp-hero,.sp-hero__img,.tv-show-hero img,[class*=sp-hero] img{max-height:480px;width:100%;object-fit:cover;border-radius:var(--r-md)}@media (max-width:767.98px){.archive-grid,.hp-movie-grid,.hp-tv-grid,.movie-grid,.movies-grid,.tv-grid,.tv-shows-grid{grid-template-columns:repeat(2,1fr);gap:var(--s-4)}.movie-hero img,.show-hero,.single-movie-hero img,.single-tv-hero img,.sp-hero,.tv-show-hero img,[class*=sp-hero] img{max-height:280px}}.entry-layout,.single-layout,.single-post-layout,.sp-layout,[class*=single-grid]{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--s-7);max-width:var(--container-wide);margin:var(--s-6) auto;padding:0 var(--s-5);align-items:start}.entry-sidebar,.sp-sidebar,[class*=single-sidebar]{position:sticky;top:88px;display:flex;flex-direction:column;gap:var(--s-5)}@media (max-width:1023.98px){.entry-layout,.single-layout,.single-post-layout,.sp-layout,[class*=single-grid]{grid-template-columns:1fr}.entry-sidebar,.sp-sidebar,[class*=single-sidebar]{position:static}}.entry-content,.sp-content,.sp-main{max-width:720px}.dateline,.hp-dateline,.site-dateline,.site-top-bar,[class*=date-strip]{background:var(--c-card);font-size:.8125rem!important;color:var(--c-ink-mute)!important;font-family:var(--f-mono);letter-spacing:.02em;padding:var(--s-3) 0!important;border-bottom:1px solid var(--c-rule)}.dateline a,.hp-dateline a{color:var(--c-ink);font-weight:600}.dateline a:hover,.hp-dateline a:hover{color:var(--c-brand)}.cky-consent-container,.cky-consent-container[data-cky-tag=notice]{max-width:360px!important;bottom:16px!important;left:16px!important;right:auto!important;border-radius:var(--r-md)!important;box-shadow:var(--sh-lg)!important;font-size:.85rem!important}.cky-notice-des,.cky-title{font-family:var(--f-body)!important;font-size:.85rem!important;line-height:1.5!important}.cky-btn-accept{background:var(--c-brand)!important;border-color:var(--c-brand)!important;font-family:var(--f-body)!important;font-weight:600!important}.cky-btn-customize,.cky-btn-reject{font-family:var(--f-body)!important;font-weight:600!important}@media (max-width:600px){.cky-consent-container{max-width:calc(100vw - 32px)!important;left:16px!important;right:16px!important}}.archive-header,.category-header,.page-header,.taxonomy-header{padding:var(--s-7) 0 var(--s-5);border-bottom:1px solid var(--c-rule);margin-bottom:var(--s-6)}.archive-header h1,.archive-title,.category-header h1,.category-title,.page-header h1,.page-title,.taxonomy-title{font-family:var(--f-display);font-size:clamp(2rem, 4vw, 3rem);font-weight:700;color:var(--c-ink);margin:0;letter-spacing:-.02em}.archive-description,.category-description,.taxonomy-description{font-size:1rem;color:var(--c-ink-mute);margin-top:var(--s-3);max-width:600px}.about-list,.article-body ul,.entry-content ul,.page-content ul,.tdw-bullet-list{list-style:disc;padding-left:1.5rem;margin-bottom:var(--s-5)}.about-list li,.article-body ul li,.entry-content ul li,.page-content ul li,.tdw-bullet-list li{margin-bottom:var(--s-2);color:var(--c-ink-mute);line-height:1.6}.article-body ol,.entry-content ol,.page-content ol{list-style:decimal;padding-left:1.5rem;margin-bottom:var(--s-5)}.article-body ol li,.entry-content ol li,.page-content ol li{margin-bottom:var(--s-2)}.entry-content li::marker,.page-content li::marker{color:var(--c-brand)}.hp-hero{padding:var(--s-7) 0 var(--s-8)!important}.hp-feat__title{margin:var(--s-3) 0 var(--s-4)!important;font-size:clamp(1.875rem, 4vw, 3rem)!important;line-height:1.05!important;letter-spacing:-.02em!important}.hp-feat__kicker{font-size:.72rem!important;letter-spacing:.18em!important}.hp-feat__dek,.hp-feat__excerpt{font-size:1.05rem!important;line-height:1.6!important;color:var(--c-ink-mute)!important;margin-bottom:var(--s-5)!important;max-width:60ch}.site-footer{background:var(--c-badge-black);color:rgba(255,255,255,.85);padding:var(--s-8) 0 var(--s-5);margin-top:var(--s-9);z-index:5}.site-footer .container,.site-footer .site-container{max-width:var(--container-wide);margin:0 auto;padding:0 var(--s-5)}.site-footer h3,.site-footer h4{color:#fff;font-family:var(--f-display);font-size:1rem;margin:0 0 var(--s-4)}.site-footer a{color:rgba(255,255,255,.7);transition:color var(--t-fast)}.site-footer a:hover{color:var(--c-brand)}.site-footer p{color:rgba(255,255,255,.7);margin:0}.ft-bot{padding-top:var(--s-5);border-top:1px solid rgba(255,255,255,.1);margin-top:var(--s-6)}.ft-bot__legal a{color:rgba(255,255,255,.6);font-size:.85rem}.ft-bot__legal a:hover{color:rgba(255,255,255,.9)}.score-num,.score-value,.tdw-score-number{font-family:var(--f-mono);font-weight:700;font-variant-numeric:tabular-nums}.movie-browse-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s-5);margin:var(--s-6) 0}@media (max-width:1199.98px){.movie-browse-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:899.98px){.movie-browse-grid{grid-template-columns:repeat(3,1fr);gap:var(--s-4)}}.browse-card{background:var(--c-card);border-radius:var(--r-md);overflow:hidden;position:relative;transition:transform var(--t-base),box-shadow var(--t-base);display:flex;flex-direction:column}.browse-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}.browse-card-poster-link{display:block;position:relative;overflow:hidden;border-radius:var(--r-md);background:var(--c-rule)}.browse-card-poster{width:100%;aspect-ratio:2/3;object-fit:cover;transition:transform var(--t-base)}.browse-card:hover .browse-card-poster{transform:scale(1.04)}.browse-card .browse-card-title,.browse-card h2,.browse-card h3{font-family:var(--f-display);font-size:1rem;font-weight:700;line-height:1.3;margin:var(--s-3) 0 var(--s-1);color:var(--c-brand);padding:0}.browse-card .browse-card-title a,.browse-card h2 a,.browse-card h3 a{color:inherit}.browse-card .browse-card-title a:hover,.browse-card h2 a:hover,.browse-card h3 a:hover{color:var(--c-brand-deep)}.browse-card .meta,.browse-card-meta,.browse-card-platform,.browse-card-year{font-size:.75rem;color:var(--c-ink-soft);font-family:var(--f-mono);letter-spacing:.02em;padding:0 0 var(--s-3)}.browse-card .score-badge,.browse-card-score{position:absolute;top:var(--s-3);right:var(--s-3);background:rgba(15,23,42,.92);color:#fff;font-family:var(--f-mono);font-weight:700;font-size:.75rem;padding:3px 8px;border-radius:3px;backdrop-filter:blur(4px)}.profile-backdrop{position:relative;width:100%;height:480px;max-height:55vh;overflow:hidden;background-size:cover!important;background-position:center!important}@media (max-width:1023.98px){.profile-backdrop{height:360px}}@media (max-width:599.98px){.movie-browse-grid{grid-template-columns:repeat(2,1fr);gap:var(--s-4)}.profile-backdrop{height:240px}}.profile-backdrop img,.profile-backdrop-img{width:100%;height:100%;object-fit:cover}.profile-backdrop-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.2) 0,rgba(15,23,42,.55) 50%,rgba(15,23,42,.92) 100%);pointer-events:none}.profile-hero-content{position:absolute;bottom:0;left:0;right:0;padding:var(--s-7) var(--s-5);color:#fff;z-index:2;max-width:var(--container-wide);margin:0 auto;display:flex;align-items:flex-end;gap:var(--s-6)}.profile-poster-wrap{flex-shrink:0;width:200px;border-radius:var(--r-md);overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.4)}@media (max-width:599.98px){.profile-poster-wrap{width:110px}.profile-hero-content{padding:var(--s-4)}}.profile-poster{width:100%;height:auto;display:block}.profile-hero-content h1{font-family:var(--f-display);font-size:clamp(1.75rem, 4vw, 3rem);color:#fff;margin:0 0 var(--s-2);letter-spacing:-.015em;line-height:1.1;text-shadow:0 2px 12px rgba(0,0,0,.4)}.profile-hero-content .tagline,.profile-hero-content p{color:rgba(255,255,255,.85);font-size:1rem;margin:0 0 var(--s-3);text-shadow:0 1px 4px rgba(0,0,0,.3)}.tdw-score-hero-wrap{display:flex;align-items:center;gap:var(--s-3);margin-top:var(--s-3)}.btn-hero-primary{display:inline-flex;align-items:center;gap:var(--s-2);background:var(--c-brand);color:#fff!important;padding:var(--s-3) var(--s-5);border-radius:var(--r-sm);font-weight:700;font-size:.875rem;text-decoration:none;transition:background var(--t-fast);border:none;cursor:pointer}.btn-hero-primary:hover{background:var(--c-brand-deep);color:#fff}.similar-poster{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:var(--r-sm)}.site-footer .footer-grid,.site-footer .ft-cols,.site-footer .ft-grid,.site-footer>.container>.ft-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-6);margin-bottom:var(--s-6)}@media (max-width:899.98px){.site-footer .footer-grid,.site-footer .ft-cols,.site-footer .ft-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:599.98px){.site-footer .footer-grid,.site-footer .ft-cols,.site-footer .ft-grid{grid-template-columns:1fr}}.site-footer .ft-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-6);margin-bottom:var(--s-6)}@media (max-width:899.98px){.site-footer .ft-nav{grid-template-columns:repeat(2,1fr)}}@media (max-width:599.98px){.site-footer .ft-nav{grid-template-columns:1fr}}.hp-ticker{background:linear-gradient(90deg,var(--c-badge-black) 0,#1a2238 100%);padding:.875rem 0;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);overflow:hidden}.hp-ticker::before{content:'';position:absolute;inset:0 0 0 0;background:linear-gradient(90deg,var(--c-badge-black) 0,transparent 8%,transparent 92%,var(--c-badge-black) 100%);pointer-events:none;z-index:2}.hp-ticker__label{position:relative;z-index:3;background:var(--c-urgent);color:#fff;font-family:var(--f-mono);font-weight:800;font-size:.72rem;padding:.3rem .75rem;letter-spacing:.16em;text-transform:uppercase;border-radius:2px;margin-right:1.25rem;box-shadow:0 0 0 0 var(--c-urgent);animation:2s ease-in-out infinite pulse-urgent}@keyframes pulse-urgent{0%,100%{box-shadow:0 0 0 0 rgba(234,88,12,.5)}50%{box-shadow:0 0 0 8px rgba(234,88,12,0)}}.hp-ticker__items{animation-duration:90s}.hp-ticker__items a{font-size:.875rem;font-weight:500;letter-spacing:.01em;padding:0 var(--s-2)}.browse-card,.card,.hp-feat,.hp-rv,[class*=article-card]{border:1px solid transparent;transition:transform 250ms,box-shadow 250ms,border-color 250ms}.browse-card:hover,.card:hover,.hp-feat:hover,.hp-rv:hover{border-color:var(--c-brand-pale);box-shadow:0 8px 24px rgba(15,23,42,.08)}.hp-sh{position:relative;padding-bottom:var(--s-4)}.hp-sh::after{content:'';position:absolute;bottom:-2px;left:0;width:60px;height:3px;background:var(--c-brand);border-radius:2px}.hp-sh__all{font-family:var(--f-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;gap:var(--s-2)}.hp-sh__all::after{content:'\2192';transition:transform var(--t-fast)}.hp-sh__all:hover::after{transform:translateX(3px)}.score-badge[data-score],.tdw-score-circle[data-score]{font-weight:700}.score-badge{background:var(--c-ink-mute);color:#fff}.score-badge--fresh,.score-fresh,.tdw-score-circle.score-fresh,[data-score-tier=fresh]{background:var(--c-fresh)!important;color:#fff!important}.score-badge--mid,.score-mid,.tdw-score-circle.score-mid,[data-score-tier=mid]{background:var(--c-gold)!important;color:var(--c-ink)!important}.score-badge--rotten,.score-rotten,.tdw-score-circle.score-rotten,[data-score-tier=rotten]{background:var(--c-rotten)!important;color:#fff!important}.hp-feat__cta,.hp-feat__readmore,[class*=read-more]{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--c-brand);font-weight:600;font-size:.875rem;text-decoration:none;font-family:var(--f-body)}.hp-feat__cta::after,[class*=read-more]::after{content:'\2192';transition:transform var(--t-fast)}.hp-feat__cta:hover::after,[class*=read-more]:hover::after{transform:translateX(4px)}img[loading=lazy]{opacity:0;transition:opacity .4s}img[loading=lazy].loaded,img[loading=lazy]:not([src=""]){opacity:1}:focus-visible{outline:2px solid var(--c-brand);outline-offset:2px;border-radius:2px}a:focus-visible,button:focus-visible{outline-color:var(--c-brand)}::selection{background:var(--c-brand);color:#fff}.hp-ticker,.site-footer{position:relative}.site-footer::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.03) 1px,transparent 0);background-size:24px 24px;pointer-events:none}.site-footer>*{position:relative;z-index:1}img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.article-body figure,.entry-content figure{margin:var(--s-6) 0}.article-body figcaption,.entry-content figcaption{margin-top:var(--s-2);font-size:.8125rem;color:var(--c-ink-soft);font-style:italic;text-align:center;line-height:1.5}.page-numbers-wrap,.pagination,nav.navigation.pagination{display:flex;justify-content:center;gap:var(--s-2);margin:var(--s-7) 0}.page-numbers,.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 var(--s-3);background:var(--c-card);border:1px solid var(--c-rule-strong);border-radius:var(--r-sm);color:var(--c-ink);font-weight:600;font-size:.875rem;text-decoration:none;transition:all var(--t-fast)}.page-numbers:hover,.pagination a:hover{background:var(--c-brand-pale);border-color:var(--c-brand);color:var(--c-brand-deep)}.page-numbers.current,.pagination .current{background:var(--c-brand);border-color:var(--c-brand);color:#fff}.genre-pill,.tag-pill{background:var(--c-brand-pale);color:var(--c-brand-deep);transition:all var(--t-fast);border:1px solid transparent}.genre-pill:hover,.tag-pill:hover{background:var(--c-brand);color:#fff;border-color:var(--c-brand-deep);transform:translateY(-1px)}.article-body blockquote,.entry-content blockquote{position:relative;padding:var(--s-5) var(--s-5) var(--s-5) var(--s-7);background:var(--c-brand-pale);border-left:4px solid var(--c-brand);border-radius:0 var(--r-md) var(--r-md) 0;margin:var(--s-6) 0;font-size:1.0625rem;line-height:1.6;color:var(--c-ink);font-style:italic}.article-body blockquote::before,.entry-content blockquote::before{content:'"';position:absolute;top:var(--s-1);left:var(--s-3);font-family:var(--f-display);font-size:3rem;color:var(--c-brand);line-height:1;opacity:.4}.back-to-top{position:fixed;bottom:var(--s-5);right:var(--s-5);width:44px;height:44px;border-radius:50%;background:var(--c-brand);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:var(--sh-md);opacity:0;pointer-events:none;transition:all var(--t-base);z-index:90}.back-to-top.is-visible{opacity:1;pointer-events:auto}.back-to-top:hover{background:var(--c-brand-deep);transform:translateY(-2px)}.cast-grid-section{margin:var(--s-6) 0}.cast-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--s-4);margin:var(--s-4) 0 0}.cast-card{background:var(--c-card,#fff);border:1px solid var(--c-rule);border-radius:var(--r-md,8px);overflow:hidden;text-align:center;transition:transform 150ms,box-shadow 150ms}.cast-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.08)}.cast-card .cast-avatar,.cast-card .cast-photo{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:var(--c-rule)}.cast-card .cast-avatar-placeholder,.cast-card .cast-photo--placeholder{width:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;font-family:var(--f-display, inherit);font-size:2.25rem;color:var(--c-ink-soft);background:var(--c-brand-pale)}.cast-card .cast-info{padding:var(--s-3);display:flex;flex-direction:column;align-items:center;gap:var(--s-1)}.cast-card .cast-name{font-family:var(--f-body);font-weight:700;color:var(--c-ink);font-size:.875rem;line-height:1.3;text-decoration:none}.cast-card a.cast-name:hover{color:var(--c-brand-deep);text-decoration:underline}.cast-card .cast-char,.cast-card .cast-role{font-family:var(--f-body);font-size:.75rem;color:var(--c-ink-soft,var(--c-ink-mute));font-style:italic;line-height:1.3}

/* ============== LAYER 14: REAL CLASS NAMES (hp-hero__*, hp-ticker__*) ============== */
.hp-ticker{background:var(--c-badge-black);border-top:1px solid rgba(255,255,255,0.06);border-bottom:1px solid rgba(255,255,255,0.06);color:white;overflow:hidden;position:relative}
.hp-ticker__wrap{display:flex;align-items:stretch;max-width:var(--container-wide);margin:0 auto;padding:0 var(--s-5);position:relative}
.hp-ticker__label{display:inline-flex;align-items:center;gap:var(--s-2);background:var(--c-urgent);color:white;font-family:var(--f-mono);font-weight:800;font-size:.72rem;padding:.5rem .9rem;letter-spacing:.18em;text-transform:uppercase;flex-shrink:0;z-index:2}
.hp-ticker__dot{width:8px;height:8px;background:white;border-radius:50%;animation:pulse-dot 1.4s ease-in-out infinite}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}
.hp-ticker__scroll{flex:1;overflow:hidden;position:relative;display:flex;align-items:center}
.hp-ticker__scroll::before,.hp-ticker__scroll::after{content:'';position:absolute;top:0;bottom:0;width:48px;z-index:3;pointer-events:none}
.hp-ticker__scroll::before{left:0;background:linear-gradient(90deg,var(--c-badge-black) 0%,transparent 100%)}
.hp-ticker__scroll::after{right:0;background:linear-gradient(90deg,transparent 0%,var(--c-badge-black) 100%)}
.hp-ticker__inner{display:inline-flex!important;flex-wrap:nowrap!important;align-items:center;gap:var(--s-4);white-space:nowrap;animation:ticker-scroll 80s linear infinite;padding-left:var(--s-5)}
.hp-ticker:hover .hp-ticker__inner{animation-play-state:paused}
@keyframes ticker-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.hp-ticker__item{color:rgba(255,255,255,.92);font-size:.85rem;font-weight:500;text-decoration:none;flex-shrink:0;transition:color var(--t-fast)}
.hp-ticker__item:hover{color:var(--c-brand)}
.hp-ticker__sep{color:var(--c-brand);font-size:.7rem;flex-shrink:0;opacity:.6}

.hp-hero{padding:var(--s-7) 0 var(--s-8);max-width:var(--container-wide);margin:0 auto}
.hp-hero__inner{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--s-7);padding:0 var(--s-5);align-items:stretch}
@media (max-width:1023.98px){.hp-hero__inner{grid-template-columns:1fr;gap:var(--s-6)}}
.hp-hero__lead{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:480px;display:flex;align-items:flex-end;background:var(--c-ink);box-shadow:0 8px 30px rgba(15,23,42,.12)}
.hp-hero__lead-wrap{position:absolute;inset:0;z-index:0}
.hp-hero__lead-img{width:100%;height:100%;object-fit:cover;transition:transform 700ms ease}
.hp-hero__lead:hover .hp-hero__lead-img{transform:scale(1.03)}
.hp-hero__grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,0) 0%,rgba(15,23,42,.2) 40%,rgba(15,23,42,.92) 100%);z-index:1}
.hp-hero__body{position:relative;z-index:2;padding:var(--s-7) var(--s-6) var(--s-6);color:white;width:100%}
.hp-hero__kicker{display:inline-flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3)}
.hp-hero__kicker-bar{width:32px;height:3px;background:var(--c-brand);display:inline-block}
.hp-hero__badge{background:var(--c-brand);color:white;font-family:var(--f-mono);font-size:.65rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:.25rem .6rem;border-radius:2px}
.hp-hero__badge-cat{font-family:var(--f-mono);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.hp-hero__title{font-family:var(--f-display);font-size:clamp(1.875rem,4vw,3rem);font-weight:700;line-height:1.05;letter-spacing:-.02em;margin:0 0 var(--s-3);color:white;text-shadow:0 2px 8px rgba(0,0,0,.3)}
.hp-hero__title a{color:inherit;text-decoration:none}
.hp-hero__title a:hover{color:var(--c-brand-pale)}
.hp-hero__excerpt{font-size:1rem;line-height:1.55;color:rgba(255,255,255,.9);margin:0 0 var(--s-4);max-width:56ch;text-shadow:0 1px 4px rgba(0,0,0,.3)}
.hp-hero__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap}
.hp-hero__meta{display:inline-flex;align-items:center;gap:var(--s-2);font-size:.8rem;color:rgba(255,255,255,.75);font-family:var(--f-mono)}
.hp-hero__meta-sep{display:inline-block;width:3px;height:3px;background:rgba(255,255,255,.5);border-radius:50%}
.hp-hero__cta{display:inline-flex;align-items:center;gap:var(--s-2);color:white;font-weight:700;font-size:.85rem;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:2px;transition:all var(--t-fast)}
.hp-hero__cta:hover{color:var(--c-brand);border-bottom-color:var(--c-brand)}
.hp-hero__cta svg{width:12px;height:12px;transition:transform var(--t-fast)}
.hp-hero__cta:hover svg{transform:translateX(3px)}

.hp-hero__stack{display:flex;flex-direction:column;background:var(--c-card);border:1px solid var(--c-rule);border-radius:var(--r-lg);padding:var(--s-5);gap:var(--s-3)}
.hp-hero__stack-hd{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--s-4);margin-bottom:var(--s-2);border-bottom:2px solid var(--c-brand)}
.hp-hero__stack-left{display:inline-flex;align-items:center;gap:var(--s-2)}
.hp-hero__stack-pulse{width:8px;height:8px;background:var(--c-urgent);border-radius:50%;animation:pulse-dot 1.4s ease-in-out infinite}
.hp-hero__stack-label{font-family:var(--f-mono);font-weight:700;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--c-ink)}
.hp-hero__stack-all{font-family:var(--f-mono);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--c-brand);text-decoration:none;transition:color var(--t-fast)}
.hp-hero__stack-all:hover{color:var(--c-brand-deep)}
.hp-hero__sec{display:grid;grid-template-columns:24px 80px 1fr;gap:var(--s-3);align-items:center;padding:var(--s-3) 0;border-bottom:1px solid var(--c-rule);text-decoration:none;color:inherit;transition:transform var(--t-fast)}
.hp-hero__sec:last-child{border-bottom:none}
.hp-hero__sec:hover{transform:translateX(2px)}
.hp-hero__sec-n{font-family:var(--f-mono);font-weight:700;font-size:.75rem;color:var(--c-brand);text-align:center}
.hp-hero__sec-thumb{width:80px;height:56px;border-radius:var(--r-sm);overflow:hidden;background:var(--c-rule);flex-shrink:0}
.hp-hero__sec-thumb img{width:100%;height:100%;object-fit:cover}
.hp-hero__sec-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.hp-hero__sec-cat{font-family:var(--f-mono);font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-brand)}
.hp-hero__sec-title{font-family:var(--f-body);font-size:.875rem;font-weight:600;line-height:1.3;color:var(--c-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hp-hero__sec:hover .hp-hero__sec-title{color:var(--c-brand)}
.hp-hero__sec-date{font-family:var(--f-mono);font-size:.66rem;color:var(--c-ink-soft);letter-spacing:.04em;margin-top:2px}

.hp-hero-strip{background:var(--c-card);border-top:1px solid var(--c-rule);border-bottom:1px solid var(--c-rule);padding:var(--s-3) 0;margin-bottom:var(--s-6)}
.hp-hero-strip__in{max-width:var(--container-wide);margin:0 auto;padding:0 var(--s-5);display:flex;align-items:center;gap:var(--s-5);overflow-x:auto;scrollbar-width:none}
.hp-hero-strip__in::-webkit-scrollbar{display:none}
.hp-hero-strip__lbl{font-family:var(--f-mono);font-weight:700;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--c-urgent);flex-shrink:0;padding-right:var(--s-4);border-right:1px solid var(--c-rule)}
.hp-hero-strip__items{display:flex;align-items:center;gap:var(--s-5);white-space:nowrap}
.hp-hero-strip__item{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--c-ink-mute);font-size:.8rem;font-weight:600;text-decoration:none;transition:color var(--t-fast);flex-shrink:0}
.hp-hero-strip__item:hover{color:var(--c-brand)}
.hp-hero-strip__n{font-family:var(--f-mono);color:var(--c-brand);font-weight:700;font-size:.7rem}

.hp-sh{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-4);padding-bottom:var(--s-3);margin:var(--s-7) 0 var(--s-5);border-bottom:3px solid var(--c-brand);position:relative}
.hp-sh--red{border-bottom-color:var(--c-brand)}
.hp-sh h2,.hp-sh__title{font-family:var(--f-display);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;color:var(--c-ink);margin:0;letter-spacing:-.015em}
.hp-sh__all{font-family:var(--f-mono);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-brand);text-decoration:none;transition:color var(--t-fast);white-space:nowrap}
.hp-sh__all:hover{color:var(--c-brand-deep)}

.hp-news__feat{display:block;position:relative;border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--c-ink);margin-bottom:var(--s-5);background:var(--c-card);border:1px solid var(--c-rule);transition:transform var(--t-base),box-shadow var(--t-base)}
.hp-news__feat:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(15,23,42,.08)}
/* ============== END LAYER 14 ============== */


/* ============== LAYER 15: AGGRESSIVE SVG CONSTRAINTS (final word) ============== */
/* This rule is INTENTIONALLY last so it wins specificity ties */

/* RULE A: Any inline SVG with a viewBox but no width AND no height — cap to 24px */
svg[viewBox]:not([width]):not([height]) {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  flex-shrink: 0;
}

/* RULE B: Explicit overrides for known SVG classes */
.ft-gn-badge__g,
svg.ft-gn-badge__g,
.ft-gn-badge svg,
[class*="gn-badge"] svg {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
}
.ft-sl__ico svg,
.ft-sl svg {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
}
.share-btn svg,
.sp-sh-btn svg {
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
}
.cast-avatar-placeholder svg,
.cast-avatar svg {
  width: 32px !important;
  height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  opacity: 0.4;
}
.btn-hero-primary svg,
.sidebar-play-btn svg,
.trailer-modal-close svg {
  width: 18px !important;
  height: 18px !important;
}

/* RULE C: EXEMPTIONS — logos and large hero images keep their declared size */
/* Logo images — keep their declared width/height attrs (which are already correct) */
.site-logo__img {
  width: 46px !important;
  height: 46px !important;
  max-width: 46px !important;
  max-height: 46px !important;
  object-fit: contain !important;
}
.ft-brand__logo-img {
  width: 80px !important;
  height: 80px !important;
  max-width: 80px !important;
  max-height: 80px !important;
  object-fit: contain !important;
}
/* Large content images — allow natural sizing but cap to container */
.hp-hero__lead-img,
.profile-poster,
.profile-backdrop img,
.browse-card-poster,
.similar-poster {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
}

/* RULE D: Tailwind sizing classes MUST WIN if present (some safelists may miss them) */
svg.w-3, svg.h-3 { width: 0.75rem !important; height: 0.75rem !important; }
svg.w-4, svg.h-4 { width: 1rem !important;    height: 1rem !important; }
svg.w-5, svg.h-5 { width: 1.25rem !important; height: 1.25rem !important; }
svg.w-6, svg.h-6 { width: 1.5rem !important;  height: 1.5rem !important; }
svg.w-8, svg.h-8 { width: 2rem !important;    height: 2rem !important; }
svg.w-10, svg.h-10 { width: 2.5rem !important;  height: 2.5rem !important; }
svg.w-12, svg.h-12 { width: 3rem !important;    height: 3rem !important; }

/* ============== LAYER 16: MISSING FOOTER CLASS STYLES (.ft-*) ============== */

.ft-foot {
  background: var(--c-badge-black);
  color: rgba(255,255,255,0.85);
  padding: var(--s-7) 0 var(--s-5);
  margin-top: var(--s-9);
  position: relative;
}
.ft-foot__body {
  max-width: var(--container-wide);
  margin: 0 auto;
  padding: 0 var(--s-5);
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: var(--s-6);
}
@media (max-width: 899.98px) { .ft-foot__body { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599.98px) { .ft-foot__body { grid-template-columns: 1fr; } }

.ft-brand { display: flex; flex-direction: column; gap: var(--s-3); }
.ft-brand__logo { display: inline-block; }
.ft-brand__eyebrow {
  font-family: var(--f-mono);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-brand);
}
.ft-brand__desc {
  font-size: 0.875rem;
  line-height: 1.55;
  color: rgba(255,255,255,0.7);
  max-width: 36ch;
}
.ft-brand__rule {
  width: 32px;
  height: 2px;
  background: var(--c-brand);
  margin: var(--s-3) 0;
}

/* Footer column links */
.ft-col__a--gold { color: var(--c-gold) !important; }
.ft-col__a--red { color: var(--c-urgent) !important; }

/* Social icons */
.ft-sl {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  color: rgba(255,255,255,0.7);
  font-size: 0.85rem;
  text-decoration: none;
  padding: var(--s-2) 0;
  transition: color var(--t-fast);
}
.ft-sl:hover { color: var(--c-brand); }
.ft-sl__ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: var(--r-sm);
  background: rgba(255,255,255,0.06);
  flex-shrink: 0;
}
.ft-sl--x:hover .ft-sl__ico { background: rgba(255,255,255,0.15); color: white; }
.ft-sl--ig:hover .ft-sl__ico { background: linear-gradient(45deg, #FD1D1D, #C13584, #833AB4); color: white; }
.ft-sl--yt:hover .ft-sl__ico { background: #FF0000; color: white; }
.ft-sl--lb:hover .ft-sl__ico { background: var(--c-brand); color: white; }
.ft-sl__lbl { font-weight: 500; }

/* Google News badge container */
.ft-gn-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  padding: var(--s-2) var(--s-3);
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--r-sm);
  color: white;
  font-size: 0.8rem;
  text-decoration: none;
  transition: all var(--t-fast);
  max-width: max-content;
}
.ft-gn-badge:hover {
  background: rgba(255,255,255,0.12);
  border-color: var(--c-brand);
}
.ft-gn-badge__sup { font-size: 0.65rem; opacity: 0.7; letter-spacing: 0.08em; }
.ft-gn-badge__btm { font-weight: 600; }
.ft-gn-badge__txt { display: flex; flex-direction: column; line-height: 1.2; }

/* Footer bottom */
.ft-bot { padding-top: var(--s-5); border-top: 1px solid rgba(255,255,255,0.08); margin-top: var(--s-6); }
.ft-bot__in {
  max-width: var(--container-wide);
  margin: 0 auto;
  padding: 0 var(--s-5);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--s-4);
}
.ft-bot__copy { color: rgba(255,255,255,0.5); font-size: 0.8rem; }
.ft-bot__tm { color: rgba(255,255,255,0.5); font-size: 0.8rem; font-family: var(--f-mono); }

/* ============== LAYER 17: SINGLE POST/TV LAYOUT ============== */
.article-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: var(--s-7);
  max-width: var(--container-wide);
  margin: var(--s-6) auto;
  padding: 0 var(--s-5);
  align-items: start;
}
@media (max-width: 1023.98px) {
  .article-layout { grid-template-columns: 1fr; }
}
.article-main { max-width: 760px; min-width: 0; }
.article-sidebar {
  position: sticky;
  top: 96px;
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
}
@media (max-width: 1023.98px) { .article-sidebar { position: static; } }

/* Content section spacing */
.content-section {
  margin: var(--s-7) 0;
  padding: 0;
}
.content-section h2,
.content-section h3 {
  font-family: var(--f-display);
  color: var(--c-ink);
  margin-bottom: var(--s-4);
}

/* Excellent verdict label */
.excellent,
.score-excellent {
  display: inline-block;
  background: var(--c-fresh);
  color: white;
  font-family: var(--f-mono);
  font-weight: 700;
  font-size: 0.75rem;
  padding: 0.25rem 0.6rem;
  border-radius: 2px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* Facts list */
.facts-list { list-style: none; padding: 0; margin: 0; }
.facts-list li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: var(--s-3) 0;
  border-bottom: 1px solid var(--c-rule);
  font-size: 0.875rem;
}
.facts-list li:last-child { border-bottom: none; }
.facts-list li strong { color: var(--c-ink-soft); font-weight: 500; }

/* ============== END LAYERS 15-17 ============== */


/* ============== LAYER 19: BELOW-FOLD EDITORIAL ============== */
/* Generated 2026-05-23 — restores editorial structure for below-fold sections */

/* -------- 19.1: hp-rv section wrapper (override prior card-wrap) -------- */
.hp-rv{
  max-width:1280px;
  margin:4rem auto;
  padding:0 1.5rem;
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
}
.hp-rv:hover{border:none;box-shadow:none}
.hp-rv + .hp-rv{margin-top:4rem}
@media (max-width:768px){
  .hp-rv{margin:2.5rem auto;padding:0 1rem}
}

/* Alternating editorial rhythm — even sections get a soft card panel */
.hp-rv:nth-of-type(even){
  background:var(--c-card);
  border:1px solid var(--c-rule);
  border-radius:var(--r-lg);
  padding:2.5rem 2rem;
  box-shadow:var(--sh-sm);
}
@media (max-width:768px){
  .hp-rv:nth-of-type(even){padding:1.75rem 1.25rem}
}

/* -------- 19.2: hp-sh modifier colors + accent dot -------- */
.hp-sh{border-bottom:3px solid var(--c-brand)}
.hp-sh--red{border-bottom-color:var(--c-urgent)}
.hp-sh--gold{border-bottom-color:var(--c-gold)}
.hp-sh--blue{border-bottom-color:var(--c-brand)}
.hp-sh--green{border-bottom-color:var(--c-fresh)}

.hp-sh h2,.hp-sh__title{
  position:relative;
  padding-left:1.25rem;
}
.hp-sh h2::before,.hp-sh__title::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:10px;
  height:10px;
  border-radius:2px;
  background:var(--c-brand);
}
.hp-sh--red h2::before,.hp-sh--red .hp-sh__title::before{background:var(--c-urgent)}
.hp-sh--gold h2::before,.hp-sh--gold .hp-sh__title::before{background:var(--c-gold)}
.hp-sh--blue h2::before,.hp-sh--blue .hp-sh__title::before{background:var(--c-brand)}
.hp-sh--green h2::before,.hp-sh--green .hp-sh__title::before{background:var(--c-fresh)}

/* The bottom accent stripe under .hp-sh — recolor per modifier */
.hp-sh::after{background:var(--c-brand)}
.hp-sh--red::after{background:var(--c-urgent)}
.hp-sh--gold::after{background:var(--c-gold)}
.hp-sh--blue::after{background:var(--c-brand)}
.hp-sh--green::after{background:var(--c-fresh)}

/* hp-sh "All →" link color per modifier */
.hp-sh--red .hp-sh__all{color:var(--c-urgent)}
.hp-sh--gold .hp-sh__all{color:var(--c-gold)}
.hp-sh--green .hp-sh__all{color:var(--c-fresh)}

/* -------- 19.3: hp-news__feat — featured news hero -------- */
.hp-news__feat{
  display:grid;
  grid-template-columns:5fr 4fr;
  gap:2rem;
  align-items:stretch;
  margin-bottom:2.5rem;
  text-decoration:none;
  color:inherit;
  background:var(--c-card);
  border:1px solid var(--c-rule);
  border-radius:var(--r-lg);
  overflow:hidden;
  transition:box-shadow var(--t-base),transform var(--t-base),border-color var(--t-base);
}
.hp-news__feat:hover{
  text-decoration:none;
  border-color:var(--c-brand-pale);
  box-shadow:var(--sh-md);
  transform:translateY(-2px);
}
.hp-news__feat-img{
  position:relative;
  overflow:hidden;
  background:var(--c-rule);
  aspect-ratio:16/10;
}
.hp-news__feat-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform 500ms ease;
}
.hp-news__feat:hover .hp-news__feat-img img{transform:scale(1.03)}
.hp-news__feat-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:0.75rem;
  padding:2rem 2rem 2rem 0;
}
.hp-news__feat-cat{
  font-family:var(--f-mono);
  font-size:0.7rem;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--c-brand);
}
.hp-news__feat-title{
  font-family:var(--f-display);
  font-size:clamp(1.5rem,2.5vw,2rem);
  font-weight:700;
  line-height:1.15;
  letter-spacing:-0.015em;
  color:var(--c-ink);
  transition:color var(--t-fast);
}
.hp-news__feat:hover .hp-news__feat-title{color:var(--c-brand)}
.hp-news__feat-exc{
  font-family:var(--f-body);
  font-size:1rem;
  line-height:1.55;
  color:var(--c-ink-mute);
  max-width:56ch;
  margin:0;
}
.hp-news__feat-meta{
  font-family:var(--f-mono);
  font-size:0.72rem;
  letter-spacing:0.05em;
  color:var(--c-ink-soft);
  margin-top:0.25rem;
}
@media (max-width:768px){
  .hp-news__feat{grid-template-columns:1fr}
  .hp-news__feat-body{padding:1.5rem}
}

/* -------- 19.4: hp-news__grid — 3-col secondary cards -------- */
.hp-news__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  margin-bottom:2.5rem;
}
@media (max-width:1024px){.hp-news__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.hp-news__grid{grid-template-columns:1fr}}

.hp-news__card{
  display:flex;
  flex-direction:column;
  background:var(--c-card);
  border:1px solid var(--c-rule);
  border-radius:var(--r-md);
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  transition:transform var(--t-base),box-shadow var(--t-base),border-color var(--t-base);
}
.hp-news__card:hover{
  transform:translateY(-3px);
  border-color:var(--c-brand-pale);
  box-shadow:var(--sh-md);
  text-decoration:none;
}
.hp-news__card-img{
  position:relative;
  overflow:hidden;
  aspect-ratio:16/10;
  background:var(--c-rule);
}
.hp-news__card-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform 400ms ease;
}
.hp-news__card:hover .hp-news__card-img img{transform:scale(1.04)}
.hp-news__card-cat{
  font-family:var(--f-mono);
  font-size:0.65rem;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--c-brand);
  padding:1rem 1rem 0;
  display:block;
}
.hp-news__card-title{
  font-family:var(--f-display);
  font-size:1.05rem;
  font-weight:700;
  line-height:1.25;
  color:var(--c-ink);
  padding:0.4rem 1rem 0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.hp-news__card:hover .hp-news__card-title{color:var(--c-brand)}
.hp-news__card-date{
  font-family:var(--f-mono);
  font-size:0.7rem;
  letter-spacing:0.05em;
  color:var(--c-ink-soft);
  padding:0.6rem 1rem 1rem;
  margin-top:auto;
}

/* -------- 19.5: hp-news__list — numbered vertical list -------- */
.hp-news__list{
  display:flex;
  flex-direction:column;
  background:var(--c-card);
  border:1px solid var(--c-rule);
  border-radius:var(--r-md);
  padding:0.5rem 1.25rem;
}
.hp-news__li{
  display:grid;
  grid-template-columns:36px 1fr auto;
  align-items:baseline;
  gap:1rem;
  padding:0.85rem 0;
  border-bottom:1px solid var(--c-rule);
  text-decoration:none;
  color:inherit;
  transition:padding-left var(--t-fast);
}
.hp-news__li:last-child{border-bottom:none}
.hp-news__li:hover{padding-left:6px;text-decoration:none}
.hp-news__li-n{
  font-family:var(--f-mono);
  font-size:1.05rem;
  font-weight:700;
  color:var(--c-brand);
  letter-spacing:-0.02em;
}
.hp-news__li-title{
  font-family:var(--f-body);
  font-size:0.95rem;
  font-weight:600;
  color:var(--c-ink);
  line-height:1.4;
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.hp-news__li:hover .hp-news__li-title{color:var(--c-brand)}
.hp-news__li-date{
  font-family:var(--f-mono);
  font-size:0.7rem;
  letter-spacing:0.05em;
  color:var(--c-ink-soft);
  white-space:nowrap;
}

/* -------- 19.6: Top Movies — hp-movies__rail (5-col grid) -------- */
.hp-movies__rail{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1.25rem;
}
@media (max-width:1100px){.hp-movies__rail{grid-template-columns:repeat(4,1fr)}}
@media (max-width:820px){.hp-movies__rail{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.hp-movies__rail{grid-template-columns:repeat(2,1fr);gap:1rem}}

.hp-movies__card{
  display:flex;
  flex-direction:column;
  background:var(--c-card);
  border:1px solid var(--c-rule);
  border-radius:var(--r-md);
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  transition:transform var(--t-base),box-shadow var(--t-base),border-color var(--t-base);
}
.hp-movies__card:hover{
  transform:translateY(-4px);
  border-color:var(--c-brand);
  box-shadow:var(--sh-md);
  text-decoration:none;
}
.hp-movies__poster{
  position:relative;
  aspect-ratio:2/3;
  overflow:hidden;
  background:var(--c-rule);
}
.hp-movies__poster img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform 500ms ease;
}
.hp-movies__card:hover .hp-movies__poster img{transform:scale(1.06)}
.hp-movies__badge{
  position:absolute;
  top:0.5rem;
  right:0.5rem;
  font-family:var(--f-mono);
  font-weight:700;
  font-size:0.78rem;
  padding:4px 8px;
  border-radius:3px;
  color:#fff;
  letter-spacing:0.02em;
  backdrop-filter:blur(4px);
  background:rgba(15,23,42,.92);
}
.hp-movies__badge.be{background:var(--c-fresh)}
.hp-movies__badge.bg{background:var(--c-gold)}
.hp-movies__badge.bp{background:var(--c-rotten)}
.hp-movies__body{
  display:flex;
  flex-direction:column;
  gap:0.25rem;
  padding:0.75rem 0.85rem 1rem;
}
.hp-movies__yr{
  font-family:var(--f-mono);
  font-size:0.7rem;
  letter-spacing:0.06em;
  color:var(--c-ink-soft);
  font-weight:600;
}
.hp-movies__title{
  font-family:var(--f-display);
  font-size:0.98rem;
  font-weight:700;
  line-height:1.25;
  color:var(--c-brand);
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.hp-movies__card:hover .hp-movies__title{color:var(--c-brand-deep)}

/* -------- 19.7: Entertainment — hp-ent__grid (2-col) + hp-rev__ -------- */
.hp-ent__grid{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:2.5rem;
}
@media (max-width:900px){.hp-ent__grid{grid-template-columns:1fr;gap:2rem}}

.hp-ent__col-label{
  font-family:var(--f-mono);
  font-size:0.7rem;
  font-weight:700;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--c-gold);
  padding-bottom:0.65rem;
  margin-bottom:1rem;
  border-bottom:1px solid var(--c-rule);
}

.hp-ent__list{display:flex;flex-direction:column;gap:1rem}

.hp-ent__item{
  display:grid;
  grid-template-columns:100px 1fr;
  gap:1rem;
  align-items:flex-start;
  padding:0.85rem;
  border:1px solid var(--c-rule);
  border-radius:var(--r-md);
  background:var(--c-card);
  text-decoration:none;
  color:inherit;
  transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast);
}
.hp-ent__item:hover{
  border-color:var(--c-brand-pale);
  box-shadow:var(--sh-sm);
  text-decoration:none;
  transform:translateX(2px);
}
.hp-ent__thumb{
  width:100px;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:var(--r-sm);
  background:var(--c-rule);
  flex-shrink:0;
}
.hp-ent__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.hp-ent__body{
  display:flex;
  flex-direction:column;
  gap:0.35rem;
  min-width:0;
}
.hp-ent__cat{
  font-family:var(--f-mono);
  font-size:0.62rem;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--c-gold);
}
.hp-ent__title{
  font-family:var(--f-display);
  font-size:0.98rem;
  font-weight:700;
  line-height:1.3;
  color:var(--c-ink);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.hp-ent__item:hover .hp-ent__title{color:var(--c-brand)}
.hp-ent__date{
  font-family:var(--f-mono);
  font-size:0.68rem;
  letter-spacing:0.04em;
  color:var(--c-ink-soft);
}

/* Reviewed Films sub-list inside Entertainment */
.hp-rev__item{
  display:grid;
  grid-template-columns:54px 1fr auto;
  gap:0.85rem;
  align-items:center;
  padding:0.7rem 0;
  border-bottom:1px solid var(--c-rule);
  text-decoration:none;
  color:inherit;
  transition:padding-left var(--t-fast);
}
.hp-rev__item:last-of-type{border-bottom:none}
.hp-rev__item:hover{padding-left:4px;text-decoration:none}
.hp-rev__poster{
  width:54px;
  aspect-ratio:2/3;
  overflow:hidden;
  border-radius:var(--r-sm);
  background:var(--c-rule);
}
.hp-rev__poster img{width:100%;height:100%;object-fit:cover;display:block}
.hp-rev__body{display:flex;flex-direction:column;gap:0.2rem;min-width:0}
.hp-rev__title{
  font-family:var(--f-display);
  font-size:0.92rem;
  font-weight:700;
  line-height:1.25;
  color:var(--c-ink);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.hp-rev__item:hover .hp-rev__title{color:var(--c-brand)}
.hp-rev__yr{
  font-family:var(--f-mono);
  font-size:0.68rem;
  letter-spacing:0.05em;
  color:var(--c-ink-soft);
}
.hp-rev__score{
  font-family:var(--f-mono);
  font-weight:700;
  font-size:0.78rem;
  color:#fff;
  background:var(--c-fresh);
  padding:3px 7px;
  border-radius:3px;
  white-space:nowrap;
}
.hp-rev__score.rm{background:var(--c-gold)}
.hp-rev__score.rl{background:var(--c-rotten)}

/* -------- 19.8: TV — hp-tv__grid (4-col) -------- */
.hp-tv__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.5rem;
}
@media (max-width:1024px){.hp-tv__grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:768px){.hp-tv__grid{grid-template-columns:repeat(2,1fr);gap:1rem}}
@media (max-width:480px){.hp-tv__grid{grid-template-columns:1fr}}

.hp-tv__card{
  display:flex;
  flex-direction:column;
  background:var(--c-card);
  border:1px solid var(--c-rule);
  border-radius:var(--r-md);
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  transition:transform var(--t-base),box-shadow var(--t-base),border-color var(--t-base);
}
.hp-tv__card:hover{
  transform:translateY(-3px);
  border-color:var(--c-brand);
  box-shadow:var(--sh-md);
  text-decoration:none;
}
.hp-tv__img{
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--c-rule);
}
.hp-tv__img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform 500ms ease;
}
.hp-tv__card:hover .hp-tv__img img{transform:scale(1.05)}
.hp-tv__label{
  display:inline-block;
  font-family:var(--f-mono);
  font-size:0.62rem;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--c-brand);
  padding:0.9rem 1rem 0;
}
.hp-tv__title{
  font-family:var(--f-display);
  font-size:1rem;
  font-weight:700;
  line-height:1.25;
  color:var(--c-ink);
  padding:0.4rem 1rem 1rem;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-top:auto;
}
.hp-tv__card:hover .hp-tv__title{color:var(--c-brand)}

/* -------- 19.9: Sports — hp-sports__grid (3-col overlay cards) -------- */
.hp-sports__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
@media (max-width:900px){.hp-sports__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.hp-sports__grid{grid-template-columns:1fr}}

.hp-sports__card{
  position:relative;
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:var(--r-md);
  background:var(--c-ink);
  text-decoration:none;
  color:#fff;
  isolation:isolate;
  transition:transform var(--t-base),box-shadow var(--t-base);
}
.hp-sports__card:hover{
  transform:translateY(-3px);
  box-shadow:var(--sh-lg);
  text-decoration:none;
  color:#fff;
}
.hp-sports__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  z-index:1;
  transition:transform 600ms ease;
}
.hp-sports__card:hover .hp-sports__img{transform:scale(1.06)}
.hp-sports__ov{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(15,23,42,0) 35%,rgba(15,23,42,.55) 65%,rgba(15,23,42,.92) 100%);
  z-index:2;
  pointer-events:none;
}
.hp-sports__body{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:3;
  display:flex;
  flex-direction:column;
  gap:0.4rem;
  padding:1.25rem;
}
.hp-sports__cat{
  display:inline-block;
  font-family:var(--f-mono);
  font-size:0.62rem;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--c-fresh);
  align-self:flex-start;
  background:rgba(0,0,0,.4);
  padding:3px 7px;
  border-radius:3px;
  backdrop-filter:blur(4px);
}
.hp-sports__title{
  font-family:var(--f-display);
  font-size:1.15rem;
  font-weight:700;
  line-height:1.2;
  color:#fff;
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-shadow:0 1px 2px rgba(0,0,0,.4);
}
.hp-sports__date{
  font-family:var(--f-mono);
  font-size:0.68rem;
  letter-spacing:0.05em;
  color:rgba(255,255,255,.82);
}

/* -------- 19.10: Sidebar — hp-trend + hp-crit -------- */
.hp-sidebar{
  display:flex;
  flex-direction:column;
  gap:2rem;
}

.hp-trend,.hp-crit{
  background:var(--c-card);
  border:1px solid var(--c-rule);
  border-radius:var(--r-md);
  padding:1.25rem;
}
.hp-trend__hd,.hp-crit__hd{
  display:flex;
  align-items:center;
  gap:0.5rem;
  padding-bottom:0.75rem;
  margin-bottom:0.75rem;
  border-bottom:2px solid var(--c-urgent);
}
.hp-crit__hd{border-bottom-color:var(--c-gold)}
.hp-trend__hd h3,.hp-crit__hd h3{
  font-family:var(--f-display);
  font-size:1.1rem;
  font-weight:700;
  margin:0;
  color:var(--c-ink);
}
.hp-trend__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:4px;
  background:var(--c-urgent);
  color:#fff;
  font-family:var(--f-mono);
  font-weight:800;
  font-size:0.85rem;
}

.hp-trend__item{
  display:grid;
  grid-template-columns:32px 1fr;
  gap:0.85rem;
  padding:0.7rem 0;
  border-bottom:1px solid var(--c-rule);
  text-decoration:none;
  color:inherit;
  align-items:start;
}
.hp-trend__item:last-of-type{border-bottom:none}
.hp-trend__item:hover{text-decoration:none}
.hp-trend__n{
  font-family:var(--f-mono);
  font-size:1.05rem;
  font-weight:700;
  color:var(--c-urgent);
  letter-spacing:-0.02em;
  line-height:1.2;
}
.hp-trend__body{display:flex;flex-direction:column;gap:0.2rem;min-width:0}
.hp-trend__cat{
  font-family:var(--f-mono);
  font-size:0.6rem;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--c-urgent);
}
.hp-trend__title{
  font-family:var(--f-display);
  font-size:0.92rem;
  font-weight:700;
  line-height:1.3;
  color:var(--c-ink);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.hp-trend__item:hover .hp-trend__title{color:var(--c-brand)}
.hp-trend__date{
  font-family:var(--f-mono);
  font-size:0.65rem;
  letter-spacing:0.04em;
  color:var(--c-ink-soft);
}

.hp-crit__item{
  display:grid;
  grid-template-columns:60px 1fr;
  gap:0.85rem;
  padding:0.7rem 0;
  border-bottom:1px solid var(--c-rule);
  text-decoration:none;
  color:inherit;
  align-items:center;
}
.hp-crit__item:last-of-type{border-bottom:none}
.hp-crit__item:hover{text-decoration:none}
.hp-crit__img{
  width:60px;
  aspect-ratio:2/3;
  overflow:hidden;
  border-radius:var(--r-sm);
  background:var(--c-rule);
}
.hp-crit__img img{width:100%;height:100%;object-fit:cover;display:block}
.hp-crit__body{display:flex;flex-direction:column;gap:0.25rem;min-width:0}
.hp-crit__score{
  font-family:var(--f-mono);
  font-size:0.7rem;
  font-weight:700;
  letter-spacing:0.05em;
  color:var(--c-gold);
}
.hp-crit__title{
  font-family:var(--f-display);
  font-size:0.9rem;
  font-weight:700;
  line-height:1.3;
  color:var(--c-ink);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.hp-crit__item:hover .hp-crit__title{color:var(--c-brand)}
.hp-crit__ft{
  padding-top:0.85rem;
  margin-top:0.5rem;
  border-top:1px solid var(--c-rule);
  text-align:right;
}
.hp-crit__ft a{
  font-family:var(--f-mono);
  font-size:0.7rem;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--c-gold);
  text-decoration:none;
}
.hp-crit__ft a:hover{color:var(--c-ink)}

/* -------- 19.11: Top Rated — hp-toprated -------- */
.hp-toprated{
  background:linear-gradient(135deg,var(--c-ink) 0%,#1e293b 100%);
  color:#fff;
  padding:3.5rem 1.5rem;
  margin:4rem 0;
}
.hp-toprated__inner{
  max-width:1280px;
  margin:0 auto;
}
.hp-toprated__hd{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  border-bottom:2px solid rgba(255,255,255,.15);
  padding-bottom:1rem;
  margin-bottom:2rem;
  gap:1rem;
  flex-wrap:wrap;
}
.hp-toprated__hd h2{
  font-family:var(--f-display);
  font-size:clamp(1.5rem,2.5vw,2rem);
  font-weight:700;
  margin:0;
  color:#fff;
  letter-spacing:-0.015em;
  display:flex;
  align-items:center;
  gap:0.6rem;
}
.hp-toprated__star{
  color:var(--c-gold);
  font-size:1.1em;
  line-height:1;
}
.hp-toprated__all{
  font-family:var(--f-mono);
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--c-gold);
  text-decoration:none;
}
.hp-toprated__all:hover{color:#fff}
.hp-toprated__grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1.25rem;
}
@media (max-width:1024px){.hp-toprated__grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:820px){.hp-toprated__grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.hp-toprated__grid{grid-template-columns:repeat(2,1fr);gap:1rem}}

.hp-toprated__card{
  display:flex;
  flex-direction:column;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-md);
  overflow:hidden;
  text-decoration:none;
  color:#fff;
  transition:transform var(--t-base),background var(--t-base),border-color var(--t-base);
}
.hp-toprated__card:hover{
  transform:translateY(-4px);
  background:rgba(255,255,255,.08);
  border-color:var(--c-gold);
  text-decoration:none;
  color:#fff;
}
.hp-toprated__img{
  position:relative;
  aspect-ratio:2/3;
  overflow:hidden;
  background:rgba(255,255,255,.05);
}
.hp-toprated__img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform 500ms ease;
}
.hp-toprated__card:hover .hp-toprated__img img{transform:scale(1.06)}
.hp-toprated__body{
  display:flex;
  flex-direction:column;
  gap:0.3rem;
  padding:0.8rem 0.9rem 1rem;
}
.hp-toprated__score{
  display:inline-block;
  font-family:var(--f-mono);
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.04em;
  color:var(--c-gold);
  align-self:flex-start;
}
.hp-toprated__title{
  font-family:var(--f-display);
  font-size:0.95rem;
  font-weight:700;
  line-height:1.25;
  color:#fff;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.hp-toprated__type{
  font-family:var(--f-mono);
  font-size:0.65rem;
  letter-spacing:0.06em;
  color:rgba(255,255,255,.55);
  text-transform:uppercase;
  margin-top:0.15rem;
}

/* -------- 19.12: CTA — newsletter -------- */
.hp-cta{
  margin:4rem 1.5rem;
  background:linear-gradient(135deg,var(--c-brand) 0%,var(--c-brand-deep) 60%,var(--c-brand-ink) 100%);
  color:#fff;
  border-radius:var(--r-lg);
  overflow:hidden;
  position:relative;
}
.hp-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.10),transparent 50%);
  pointer-events:none;
}
.hp-cta__inner{
  max-width:1180px;
  margin:0 auto;
  padding:3.5rem 2.5rem;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:3rem;
  align-items:center;
  position:relative;
  z-index:1;
}
@media (max-width:900px){
  .hp-cta__inner{grid-template-columns:1fr;padding:2.5rem 1.5rem;gap:2rem}
}

.hp-cta__left{position:relative}
.hp-cta__issue{
  font-family:var(--f-mono);
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:rgba(255,255,255,.75);
  margin-bottom:0.85rem;
}
.hp-cta__title{
  font-family:var(--f-display);
  font-size:clamp(1.85rem,3.5vw,3rem);
  font-weight:700;
  line-height:1.05;
  color:#fff;
  letter-spacing:-0.02em;
  margin:0 0 1rem;
}
.hp-cta__title em{
  font-style:italic;
  color:#fff;
  font-weight:400;
}
.hp-cta__sub{
  font-family:var(--f-body);
  font-size:1.05rem;
  line-height:1.55;
  color:rgba(255,255,255,.88);
  max-width:46ch;
  margin:0;
}
.hp-cta__ghost{
  position:absolute;
  bottom:-0.5rem;
  right:-1rem;
  font-family:var(--f-display);
  font-size:7rem;
  line-height:1;
  color:rgba(255,255,255,.08);
  pointer-events:none;
  user-select:none;
  font-style:italic;
}

.hp-cta__right{
  display:flex;
  flex-direction:column;
  gap:0.85rem;
}
.hp-cta__form-lbl{
  font-family:var(--f-mono);
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.7);
}
.hp-cta__row{
  display:flex;
  gap:0.5rem;
  background:rgba(255,255,255,.10);
  padding:0.4rem;
  border-radius:50px;
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.15);
}
@media (max-width:560px){
  .hp-cta__row{flex-direction:column;border-radius:var(--r-md);padding:0.6rem}
}

.hp-cta__input{
  flex:1;
  border:none;
  outline:none;
  background:transparent;
  font-family:var(--f-body);
  font-size:1rem;
  color:#fff;
  padding:0.85rem 1.2rem;
  min-width:0;
}
.hp-cta__input::placeholder{color:rgba(255,255,255,.6)}

.hp-cta__btn{
  border:none;
  outline:none;
  background:#fff;
  color:var(--c-brand-deep);
  font-family:var(--f-body);
  font-size:0.95rem;
  font-weight:700;
  letter-spacing:0.02em;
  padding:0.85rem 1.65rem;
  border-radius:50px;
  cursor:pointer;
  transition:transform var(--t-fast),background var(--t-fast),color var(--t-fast);
  white-space:nowrap;
}
.hp-cta__btn:hover{
  background:var(--c-ink);
  color:#fff;
  transform:translateY(-1px);
}

.hp-cta__perks{
  display:flex;
  flex-wrap:wrap;
  gap:0.4rem 1rem;
  margin-top:0.5rem;
}
.hp-cta__perk{
  font-family:var(--f-mono);
  font-size:0.7rem;
  letter-spacing:0.04em;
  color:rgba(255,255,255,.75);
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
}
.hp-cta__perk::before{
  content:"";
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(255,255,255,.55);
  display:inline-block;
}

/* -------- 19.13: Editorial flourish — blockquote (if any) -------- */
.hp-quote,
.hp-rv blockquote{
  border-left:4px solid var(--c-brand);
  padding:0.5rem 0 0.5rem 1.5rem;
  font-family:var(--f-display);
  font-size:1.4rem;
  font-style:italic;
  line-height:1.4;
  color:var(--c-ink-mute);
  margin:2rem 0;
}

/* -------- 19.14: Intersection-observer reveal animation -------- */
.hp-rv{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .hp-rv:not(.vis){opacity:0;transform:translateY(20px);transition:opacity 600ms ease, transform 600ms ease}
  .hp-rv.vis{opacity:1;transform:translateY(0)}
}

/* ============== END LAYER 19 ============== */


/* ============== LAYER 20: BULLETPROOF SVG SIZING (defensive) ============== */

/* Every direct-child SVG inside known icon containers gets sized */
.sp-sh-btn > svg,
.sw-sh-btn > svg,
.sw-follow__ico > svg,
.ft-sl__ico > svg,
.ft-sl > svg,
.ft-gn-badge > svg,
.ft-gn-badge__g,
button.sp-sh-btn svg,
button.sw-sh-btn svg,
a.sp-sh-btn svg,
a.sw-sh-btn svg,
.share-btn svg,
.copy-btn svg,
.sp-copy svg,
.sw-copy svg,
.nav-hamburger svg,
.mobile-menu-toggle svg,
.search-toggle svg,
.menu-toggle svg,
.site-header button svg,
.site-header a svg,
.tdw-pc-heading svg,
.tdw-pros-heading svg,
.tdw-cons-heading svg,
.cast-avatar-placeholder svg,
.cast-avatar svg,
.btn-hero-primary svg,
.sidebar-play-btn svg,
.trailer-modal-close svg {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Even more aggressive: cap any SVG inside a span/button/a that has no width */
button > svg:not([width]),
a > svg:not([width]),
span > svg:not([width]),
li > svg:not([width]) {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
}

/* Final fallback for any rogue SVG with viewBox but no sizing */
svg[viewBox]:not([width]):not([height]):not(.site-logo__img):not(.ft-brand__logo-img) {
  width: 1.25rem !important;
  height: 1.25rem !important;
  max-width: 24px !important;
  max-height: 24px !important;
  flex-shrink: 0 !important;
}

/* SKIP LINK — ensure always hidden until focused */
.skip-to-content,
.skip-link,
a[href="#main-content"]:first-child,
a[href="#content"]:first-child {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  z-index: -1 !important;
}
.skip-to-content:focus,
.skip-link:focus {
  position: fixed !important;
  left: 1rem !important;
  top: 1rem !important;
  width: auto !important;
  height: auto !important;
  z-index: 99999 !important;
  background: var(--c-brand) !important;
  color: white !important;
  padding: 0.75rem 1rem !important;
  border-radius: 4px !important;
}

/* SP-SHARE container — make sure share buttons render as inline icons not blocks */
.sp-share {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}
.sp-share__lbl {
  font-family: var(--f-mono);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--c-ink-soft);
  margin-right: 0.25rem;
}
.sp-sh-btn,
.sw-sh-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  background: var(--c-paper);
  border: 1px solid var(--c-rule);
  border-radius: 4px !important;
  color: var(--c-ink-mute);
  text-decoration: none;
  transition: all 0.15s ease;
  padding: 0 !important;
  cursor: pointer;
}
.sp-sh-btn:hover,
.sw-sh-btn:hover {
  background: var(--c-brand-pale);
  border-color: var(--c-brand);
  color: var(--c-brand-deep);
}

/* SW-FOLLOW icons — circular branded icons */
.sw-follow__ico {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  color: white !important;
  flex-shrink: 0 !important;
}

/* FT-SL footer social icons */
.ft-sl__ico {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 4px !important;
  background: rgba(255,255,255,0.06);
  flex-shrink: 0 !important;
}

/* Single post layout safety net */
.sp-body,
.sp-layout {
  max-width: var(--container-wide);
  margin: 0 auto;
  padding: 0 var(--s-5);
}
.sp-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: var(--s-7);
  margin: var(--s-6) auto;
}
@media (max-width: 1023.98px) {
  .sp-layout { grid-template-columns: 1fr; }
}
.sp-article {
  max-width: 760px;
  min-width: 0;
}
.sp-entry article p {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: var(--c-ink-mute);
  margin-bottom: 1.5rem;
}
.sp-entry article h2 {
  font-family: var(--f-display);
  font-size: 1.875rem;
  font-weight: 700;
  color: var(--c-ink);
  margin: 3rem 0 1rem;
  line-height: 1.2;
}
.sp-entry article h3 {
  font-family: var(--f-display);
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--c-ink);
  margin: 2rem 0 0.75rem;
}
.sp-entry article a {
  color: var(--c-brand);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.sp-entry article a:hover {
  color: var(--c-brand-deep);
  text-decoration-thickness: 2px;
}
.sp-entry article img {
  width: 100%;
  height: auto;
  border-radius: var(--r-md);
  margin: 2rem 0;
}

/* Progress bar at top */
#sp-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  background: var(--c-brand);
  z-index: 9999;
  width: 0%;
  transition: width 0.05s ease;
}

/* Mobile drawer must be HIDDEN by default (only show when .is-open) */
.mobile-nav-overlay,
.mobile-nav-drawer {
  display: none !important;
}
.mobile-nav-overlay.is-open,
.mobile-nav-drawer.is-open {
  display: block !important;
}

/* ============== END LAYER 20 ============== */


/* ============== LAYER 21: TOPBAR + FOOTER GRID + CRITICS' PICKS ============== */

/* ---------- TOP BAR (date + trending + newsletter + search) ---------- */
.site-topbar {
  background: var(--c-card);
  border-bottom: 1px solid var(--c-rule);
  font-family: var(--f-mono);
  font-size: 0.75rem;
  color: var(--c-ink-mute);
  padding: 0.5rem 0;
}
.site-topbar .container,
.topbar-inner {
  display: flex;
  align-items: center;
  gap: var(--s-5);
  max-width: var(--container-wide);
  margin: 0 auto;
  padding: 0 var(--s-5);
  flex-wrap: wrap;
}
.topbar-date {
  display: inline-flex;
  align-items: center;
  color: var(--c-ink-mute);
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
  flex-shrink: 0;
  padding-right: var(--s-4);
  border-right: 1px solid var(--c-rule);
}
.topbar-trending {
  display: inline-flex;
  align-items: center;
  gap: var(--s-3);
  flex: 1;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
}
.trending-label {
  font-family: var(--f-mono);
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-urgent);
  flex-shrink: 0;
}
.trending-tag {
  display: inline-flex;
  align-items: center;
  color: var(--c-ink);
  font-family: var(--f-body);
  font-weight: 500;
  font-size: 0.8rem;
  text-decoration: none;
  padding: 0;
  margin: 0;
  transition: color var(--t-fast);
  flex-shrink: 0;
  position: relative;
}
.trending-tag:not(:last-child)::after {
  content: '·';
  margin-left: var(--s-3);
  color: var(--c-ink-faint);
}
.trending-tag:hover {
  color: var(--c-brand);
}

.topbar-right {
  display: inline-flex;
  align-items: center;
  gap: var(--s-4);
  margin-left: auto;
  flex-shrink: 0;
}
.topbar-newsletter,
.topbar-search {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2);
  color: var(--c-ink-mute);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  transition: color var(--t-fast);
}
.topbar-newsletter:hover,
.topbar-search:hover {
  color: var(--c-brand);
}
.topbar-newsletter svg,
.topbar-search svg {
  width: 14px !important;
  height: 14px !important;
}

/* Hide on tight mobile, show again on tablet+ */
@media (max-width: 767.98px) {
  .topbar-trending { display: none; }
  .topbar-date { border-right: none; padding-right: 0; }
}

/* ---------- HEADER (search bar should be HIDDEN until search icon clicked) ---------- */
/* The 'searchform' that's showing huge in the header — collapse it */
.site-header form[role="search"],
.site-header .search-form,
.header-search-form,
#header-search,
.site-header > form,
.site-search,
.header-inner .search-form {
  display: none !important;
}
.site-search.is-open,
.header-search-form.is-open,
#header-search.is-open {
  display: flex !important;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--c-card);
  padding: var(--s-4);
  border-bottom: 1px solid var(--c-rule);
  box-shadow: var(--sh-md);
  z-index: 100;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-5);
  max-width: var(--container-wide);
  margin: 0 auto;
  padding: 0 var(--s-5);
}
.header-inner > .site-nav {
  flex: 1;
  display: flex;
  justify-content: center;
}

/* Header search icon (when needed) */
.header-search-toggle {
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--c-ink);
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-sm);
  transition: background var(--t-fast);
}
.header-search-toggle:hover {
  background: var(--c-paper);
}

/* ---------- FOOTER GRID (4 columns, not stacked) ---------- */
.ft-foot__body {
  max-width: var(--container-wide);
  margin: 0 auto;
  padding: var(--s-7) var(--s-5) var(--s-6);
  display: grid;
  grid-template-columns: 1.4fr 2.4fr;
  gap: var(--s-7);
}
@media (max-width: 899.98px) {
  .ft-foot__body { grid-template-columns: 1fr; gap: var(--s-6); }
}

/* The .ft-nav contains 4 columns — make IT a grid */
.ft-nav {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: var(--s-5) !important;
}
@media (max-width: 899.98px) {
  .ft-nav { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 499.98px) {
  .ft-nav { grid-template-columns: 1fr !important; }
}

/* Each column inside .ft-nav */
.ft-nav > div {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}

.ft-col__hd {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  font-family: var(--f-mono);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: white;
  margin: 0 0 var(--s-3);
  padding-bottom: var(--s-2);
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.ft-col__hd-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: var(--c-brand);
  flex-shrink: 0;
}
.ft-col__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}
.ft-col__list li { margin: 0; }
.ft-col__list a {
  color: rgba(255,255,255,0.7);
  font-size: 0.85rem;
  font-family: var(--f-body);
  text-decoration: none;
  transition: color var(--t-fast);
  display: inline-block;
  padding: 0.125rem 0;
}
.ft-col__list a:hover {
  color: var(--c-brand);
}

.ft-social {
  display: flex;
  gap: var(--s-3);
  margin-top: var(--s-4);
  flex-wrap: wrap;
}

/* ---------- CRITICS' PICKS — fix title truncation ---------- */
.hp-crit {
  background: var(--c-card);
  border: 1px solid var(--c-rule);
  border-radius: var(--r-md);
  padding: var(--s-5);
  margin-bottom: var(--s-5);
}
.hp-crit__hd {
  border-bottom: 2px solid var(--c-gold);
  padding-bottom: var(--s-3);
  margin-bottom: var(--s-4);
}
.hp-crit__hd h3 {
  font-family: var(--f-display);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0;
}
.hp-crit__item {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: var(--s-3);
  align-items: center;
  padding: var(--s-3) 0;
  border-bottom: 1px solid var(--c-rule);
  text-decoration: none;
}
.hp-crit__item:last-child { border-bottom: none; }
.hp-crit__img {
  width: 64px;
  height: 90px;
  object-fit: cover;
  border-radius: var(--r-sm);
  flex-shrink: 0;
}
.hp-crit__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
}
.hp-crit__score {
  font-family: var(--f-mono);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--c-gold);
}
.hp-crit__title {
  font-family: var(--f-display);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--c-ink);
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: normal;
  overflow-wrap: break-word;
  white-space: normal;
  text-overflow: clip;
}
.hp-crit__item:hover .hp-crit__title { color: var(--c-brand); }
.hp-crit__ft {
  font-family: var(--f-mono);
  font-size: 0.65rem;
  color: var(--c-ink-soft);
  letter-spacing: 0.04em;
}

/* ============== END LAYER 21 ============== */


/* === LAYER 21B: Critics' Picks title fix (override any -webkit-line-clamp:2 from earlier layers) === */
.hp-crit__title,
.hp-crit__item .hp-crit__title,
.hp-sidebar .hp-crit__title {
  -webkit-line-clamp: 4 !important;
  line-clamp: 4 !important;
  font-size: 0.875rem !important;
  line-height: 1.3 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.hp-crit__item {
  grid-template-columns: 56px minmax(0, 1fr) !important;
  align-items: flex-start !important;
  gap: 0.75rem !important;
}
.hp-crit__img {
  width: 56px !important;
  height: 78px !important;
}


/* === LAYER 22: Team page avatar fix (hide broken placeholder image, show initial letter) === */
.team-avatar { 
  width: 96px !important;
  height: 96px !important;
  border-radius: 50% !important;
  background: var(--c-brand-pale) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto var(--s-4) !important;
  position: relative !important;
  overflow: hidden;
}
.team-avatar img[src*="avatar-placeholder"],
.team-avatar img[src*="placeholder.jpg"] {
  display: none !important;
}
.team-avatar img[src*="/team/"] {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}
/* If you later upload real avatars, remove the [src*="placeholder"] selector above and they'll show */

.team-card,
.team-card-inner {
  text-align: center;
  background: var(--c-card);
  border: 1px solid var(--c-rule);
  border-radius: var(--r-md);
  padding: var(--s-5);
  transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.team-card:hover,
.team-card-inner:hover {
  transform: translateY(-2px);
  box-shadow: var(--sh-md);
  border-color: var(--c-brand-pale);
}
.team-name {
  font-family: var(--f-display) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--c-ink) !important;
  margin: 0 0 var(--s-1) !important;
  line-height: 1.3 !important;
}
.team-role {
  font-family: var(--f-mono) !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--c-brand-deep) !important;
  margin: 0 0 var(--s-3) !important;
}
.team-bio {
  font-family: var(--f-body) !important;
  font-size: 0.85rem !important;
  line-height: 1.5 !important;
  color: var(--c-ink-mute) !important;
  margin: 0 !important;
}
.team-grid {
  gap: var(--s-5) !important;
}

/* Show initial letter as fallback when image is hidden */
.team-card .team-avatar::before {
  content: attr(data-initial);
  font-family: var(--f-display);
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--c-brand-deep);
  line-height: 1;
}
/* === END LAYER 22 === */


/* ============== LAYER 23: ARCHIVE + AUTHOR + SEARCH GRID CSS ============== */
/* Archive grid (category, tag, author, date archives) */
.news-archive-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-6);
  margin: var(--s-6) 0;
}

.news-archive-card {
  background: var(--c-card);
  border: 1px solid var(--c-rule);
  border-radius: var(--r-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform var(--t-base), box-shadow var(--t-base);
}
.news-archive-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--sh-md);
}

.news-archive-thumb {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--c-brand-pale);
}
.news-archive-thumb img,
.news-archive-thumb .wp-post-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--t-slow);
}
.news-archive-card:hover .news-archive-thumb img { transform: scale(1.04); }

.news-archive-body {
  padding: var(--s-4);
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: var(--s-2);
}

.news-archive-title {
  font-family: var(--f-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--c-ink);
  line-height: 1.3;
  text-decoration: none;
  display: block;
}
.news-archive-title:hover { color: var(--c-brand); }

@media (max-width: 899.98px) {
  .news-archive-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 599.98px) {
  .news-archive-grid { grid-template-columns: 1fr; }
}

/* ============== AUTHOR HERO ============== */
.author-hero {
  background: var(--c-card);
  border-radius: var(--r-lg);
  padding: var(--s-7);
  margin: var(--s-6) auto;
  max-width: var(--container-wide);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--s-6);
  align-items: center;
  border: 1px solid var(--c-rule);
  box-shadow: var(--sh-sm);
}
@media (max-width: 767.98px) {
  .author-hero {
    grid-template-columns: 1fr;
    text-align: center;
    padding: var(--s-5);
  }
}

.author-avatar-lg {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--c-brand-pale);
  flex-shrink: 0;
  display: block;
  margin: 0 auto;
  border: 3px solid var(--c-card);
  box-shadow: var(--sh-md);
}

.author-hero-body {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}

.author-hero-name {
  font-family: var(--f-display);
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 700;
  color: var(--c-ink);
  margin: 0;
  line-height: 1.1;
}

.author-hero-role {
  font-family: var(--f-mono);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-brand);
  margin: 0;
}

.author-hero-bio {
  font-family: var(--f-body);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--c-ink-mute);
  margin: var(--s-2) 0 0;
  max-width: 60ch;
}

.author-hero-stats {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-5);
  margin-top: var(--s-3);
  font-family: var(--f-mono);
  font-size: 0.75rem;
  color: var(--c-ink-soft);
}

/* ============== SEARCH RESULTS ============== */
.search-header,
.search-results__header {
  margin: var(--s-6) auto var(--s-5);
  max-width: var(--container-wide);
  padding: 0 var(--s-5);
}
.search-header h1,
.search-results__header h1 {
  font-family: var(--f-display);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 0 var(--s-2);
}
.search-results__count,
.search-count {
  font-family: var(--f-mono);
  font-size: 0.85rem;
  color: var(--c-ink-soft);
}

/* ============== END LAYER 23 ============== */
