*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
margin: 0; background: var(--bg); color: var(--text);
font-family: var(--font-sans); font-size: var(--fs-md); line-height: var(--lh-base);
-webkit-font-smoothing: antialiased;
}
a, a:visited, a:active { color: var(--link); text-decoration: none; transition: color var(--dur) var(--ease); }
a:hover, a:focus { color: var(--link-hover); text-decoration: underline; } .site-header a:visited, .site-header a:active { color: var(--header-fg); }
.site-footer a:visited, .site-footer a:active { color: var(--footer-fg); }
.cc-name:visited, .cc-name:active, .cc-ranked__name:visited, .cc-ranked__name:active, .cc-card-sm__title a:visited, .cc-top3__title a:visited, h1 a:visited, h2 a:visited, h3 a:visited { color: var(--text); }
.cc-link-review:visited, .cc-link-review:active, .cc-muted a:visited { color: var(--text-muted); }
.cc-chip:visited, .cc-chip:active { color: var(--primary); }
.cc-chip--muted:visited { color: var(--text-muted); }
h1, h2, h3, h4 { color: var(--text); line-height: var(--lh-tight); font-weight: var(--fw-bold); margin: 0 0 var(--space-4); letter-spacing: -.01em; }
h1 { font-size: var(--fs-3xl); } h2 { font-size: var(--fs-2xl); } h3 { font-size: var(--fs-xl); } h4 { font-size: var(--fs-lg); }
p { margin: 0 0 var(--space-4); }
img { max-width: 100%; height: auto; display: block; }
.container { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }
.container--narrow { max-width: var(--container-narrow); } .site-header { background: var(--header-bg); color: var(--header-fg); }
.site-header a { color: var(--header-fg); }
.site-header a:hover { color: var(--header-fg-muted); text-decoration: none; }
.site-header .container { display: flex; align-items: center; justify-content: space-between; min-height: 64px; gap: var(--space-5); }
.site-branding { display: flex; align-items: center; gap: var(--space-3); }
.site-title { font-size: var(--fs-xl); font-weight: var(--fw-bold); margin: 0; letter-spacing: -.02em; }
.site-title a { color: var(--header-fg); }
.site-description { display: none; }
.main-navigation ul { display: flex; gap: var(--space-5); list-style: none; margin: 0; padding: 0; }
.main-navigation a { font-weight: var(--fw-medium); font-size: var(--fs-sm); }
.menu-toggle { display: none; } .site-main { padding: var(--space-7) 0; }
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: var(--space-5); } .btn, .wp-block-button__link, button, input[type="submit"] {
display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
background: var(--primary); color: var(--primary-fg); border: 1px solid var(--primary);
border-radius: var(--radius-md); padding: .65rem 1.25rem; font: inherit; font-weight: var(--fw-semibold);
cursor: pointer; transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.btn:hover, button:hover { background: var(--primary-hover); border-color: var(--primary-hover); color: var(--primary-fg); text-decoration: none; }
.btn:active, button:active { background: var(--primary-active); border-color: var(--primary-active); }
.btn--secondary { background: var(--surface); color: var(--primary); }
.btn--secondary:hover { background: var(--surface-alt); color: var(--primary-hover); } .site-footer { background: var(--footer-bg); color: var(--footer-fg); padding: var(--space-6) 0; font-size: var(--fs-sm); margin-top: var(--space-8); }
.site-footer a { color: var(--footer-fg); } .screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; } .market-switcher { display: flex; gap: var(--space-2); font-size: var(--fs-xs); font-weight: var(--fw-semibold); }
.market-switcher a { white-space: nowrap; padding: .25rem .5rem; border: 1px solid rgba(255,255,255,.25); border-radius: var(--radius-sm); color: var(--header-fg-muted); }
.market-switcher a.is-current, .market-switcher a:hover { background: rgba(255,255,255,.12); color: var(--header-fg); text-decoration: none; }
.site-footer .menu { display: flex; flex-wrap: wrap; gap: var(--space-4); list-style: none; margin: 0 0 var(--space-5); padding: 0; }
.footer-disclaimer { color: var(--text-disabled); font-size: var(--fs-xs); max-width: 70ch; }
.age-badge { display: inline-block; border: 2px solid var(--footer-fg); border-radius: 50%; width: 32px; height: 32px; line-height: 28px; text-align: center; font-size: var(--fs-xs); font-weight: var(--fw-bold); margin-right: var(--space-3); } .entry-title { font-size: var(--fs-3xl); margin: var(--space-2) 0 var(--space-3); }
.entry-lead { font-size: var(--fs-lg); color: var(--text-muted); max-width: 70ch; }
.entry-header--hero { padding: var(--space-6) 0 var(--space-4); }
.entry-header--hero .entry-title { font-size: var(--fs-4xl); max-width: 22ch; } .home-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: var(--space-6); align-items: center; padding: var(--space-6) var(--space-6); margin-bottom: var(--space-6); border-radius: var(--hero-radius, 24px); background: var(--hero-bg, var(--surface)); border: 1px solid var(--border); overflow: hidden; }
.home-hero:not(.has-image) { grid-template-columns: 1fr; }
.home-hero__body { min-width: 0; }
.home-hero .entry-title { font-size: var(--fs-3xl); max-width: none; margin: 0 0 var(--space-3); letter-spacing: -.02em; }
.home-hero .entry-lead { font-size: var(--fs-md); margin: 0 0 var(--space-4); max-width: 60ch; color: var(--text-muted); }
.home-hero__meta { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2); font-size: var(--fs-sm); color: var(--text); }
.home-hero__meta li { display: inline-flex; align-items: center; gap: var(--space-2); border: 1px solid var(--border); border-radius: var(--radius-pill); padding: .3rem .75rem; font-weight: var(--fw-medium); }
.home-hero__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--secondary); display: inline-block; }
.home-hero__image { position: relative; order: 2; }
.home-hero__image img { width: 100%; height: auto; border-radius: var(--radius-lg); }
.home-hero + .entry-content > .cc-list:first-child { margin-top: 0; }
@media (max-width: 960px) { .home-hero { grid-template-columns: minmax(0, 1fr) 300px; padding: var(--space-5); } }
@media (max-width: 820px) { .home-hero, .home-hero.has-image { grid-template-columns: 1fr; } .home-hero__image { display: none; } }
@media (max-width: 600px) { .home-hero { padding: var(--space-4); border-radius: 16px; margin-bottom: var(--space-5); } .home-hero .entry-title { font-size: var(--fs-2xl); } .home-hero .entry-lead { font-size: var(--fs-sm); } .site-main { padding-top: var(--space-4); } }
.entry-hero { border-radius: var(--radius-lg); margin-bottom: var(--space-5); width: 100%; }
.layout-article__grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--space-7); align-items: start; }
.layout-article__main, .layout-article__aside, .layout-landing, .site-main .container { min-width: 0; }
.cc-prose table, .cc-prose pre { max-width: 100%; overflow-x: auto; display: block; }
.cc-prose table { display: table; }
@media (max-width: 600px) { .cc-prose table { display: block; } }
.layout-article__aside .sticky-aside { position: sticky; top: var(--space-4); display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.layout-article__aside .cc-list, .layout-article__aside .cc-toc, .layout-article__aside .cc-quickfacts { margin: 0; }
.layout-article__aside .cc-quickfacts dl { grid-template-columns: 1fr; }
@media (max-width: 1000px) { .layout-article__grid { grid-template-columns: minmax(0, 1fr); } .layout-article__aside .sticky-aside { position: static; } }
.author-hero { display: flex; gap: var(--space-5); align-items: center; margin: var(--space-4) 0 var(--space-6); }
.author-hero__avatar { width: 160px; height: 160px; border-radius: 50%; object-fit: cover; flex: none; }
.author-hero__links a { margin-right: var(--space-3); } .cc-prose { max-width: 76ch; font-size: var(--fs-md); }
.layout-landing .cc-prose { max-width: none; }
.layout-landing .cc-prose > p, .layout-landing .cc-prose > ul, .layout-landing .cc-prose > ol, .layout-landing .cc-prose > h2, .layout-landing .cc-prose > h3, .layout-landing .cc-prose > blockquote { max-width: 76ch; }
.cc-prose h2 { margin-top: var(--space-7); scroll-margin-top: var(--space-5); }
.cc-prose h3 { margin-top: var(--space-6); scroll-margin-top: var(--space-5); }
.cc-prose img { border-radius: var(--radius-lg); }
.cc-prose table { width: 100%; border-collapse: collapse; margin: var(--space-5) 0; font-size: var(--fs-sm); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; }
.cc-prose th, .cc-prose td { padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--border); text-align: left; }
.cc-prose th { background: var(--bg); font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted); }
.cc-prose blockquote { margin: var(--space-5) 0; padding: var(--space-3) var(--space-5); border-left: 4px solid var(--primary); background: var(--surface); border-radius: var(--radius-md); color: var(--text-muted); }
.cc-prose ul, .cc-prose ol { padding-left: 1.4em; }
.cc-prose li { margin: .3em 0; }
.cc-prose a { text-decoration: underline; text-decoration-color: var(--border-strong); text-underline-offset: 2px; }
.cc-prose a:hover { text-decoration-color: var(--primary); } @media (max-width: 820px) {
.menu-toggle { display: inline-flex; background: transparent; border: 1px solid rgba(255,255,255,.3); color: var(--header-fg); padding: .4rem .75rem; font-size: var(--fs-sm); }
.main-navigation ul { display: none; position: absolute; left: 0; right: 0; top: 64px; background: var(--header-bg); flex-direction: column; gap: 0; padding: var(--space-2) var(--gutter) var(--space-4); z-index: 40; }
.main-navigation.toggled ul { display: flex; }
.main-navigation li a { display: block; padding: var(--space-3) 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.site-header .container { position: relative; }
.market-switcher { order: -1; }
}
.main-navigation ul ul { display: none; }
.search-form { display: flex; gap: var(--space-2); justify-content: center; margin-top: var(--space-4); }
.search-form input[type=search] { padding: .6rem .9rem; border: 1px solid var(--border); border-radius: var(--radius-md); font: inherit; }