:root {
	--ss-primary: #5F6F65;
	--ss-primary-hover: #4D5B52;
	--ss-sand: #E9E2D8;
	--ss-charcoal: #2D2A26;
	--ss-muted: #66716C;
	--ss-rose: #CFAFA3;
	--ss-gold: #C5A46D;
	--ss-background: #FAF8F5;
	--ss-card: #FFFFFF;
	--ss-border: #E5DED4;
	--ss-radius: 14px;
	--ss-content-width: 760px;
	--ss-wide-width: 1200px;
}

html { scroll-behavior: smooth; }
body { background: var(--ss-background); color: var(--ss-charcoal); }
a { text-underline-offset: 0.16em; }
a:hover { color: var(--ss-primary-hover); }
:focus-visible { outline: 3px solid var(--ss-gold); outline-offset: 3px; }

.ss-site-header {
	position: relative;
	z-index: 10;
	background: rgba(250, 248, 245, 0.97);
	border-bottom: 1px solid var(--ss-border);
}
.ss-header-inner { min-height: 76px; gap: 1rem; padding-block: 0.65rem; }
.ss-brand { min-width: 190px; gap: 0.7rem; }
.ss-brand .wp-block-site-logo img { max-height: 48px; width: auto; }
.ss-site-title { margin: 0; font-family: Georgia, 'Times New Roman', serif; letter-spacing: 0.04em; text-transform: uppercase; font-size: 1rem; }
.ss-site-title a { color: var(--ss-charcoal); text-decoration: none; }
.ss-site-header .wp-block-navigation { font-size: 0.82rem; font-weight: 700; }
.ss-site-header .wp-block-navigation-item__content { color: var(--ss-charcoal); text-decoration: none; }
.ss-site-header .wp-block-navigation-item__content:hover { color: var(--ss-primary); }
.ss-header-search { margin: 0; min-width: 145px; }
.ss-header-search .wp-block-search__inside-wrapper { border-color: var(--ss-border); border-radius: 999px; background: var(--ss-card); padding: 0.15rem 0.35rem 0.15rem 0.85rem; }
.ss-header-search .wp-block-search__input { border: 0; background: transparent; min-width: 0; }
.ss-header-search .wp-block-search__button { border-radius: 999px; padding: 0.5rem; }

.ss-home-main, .ss-archive-main, .ss-page-main, .ss-single-main, .ss-404-main { padding-block: clamp(2.25rem, 5vw, 5rem); }
.ss-home-main > .ss-section, .ss-home-main > .ss-methodology { margin-block: 0; }
.ss-hero { background: var(--ss-card); border-bottom: 1px solid var(--ss-border); }
.ss-hero-inner { min-height: min(580px, 70vh); padding-block: clamp(3rem, 7vw, 7rem); gap: clamp(2rem, 5vw, 5rem); }
.ss-hero-copy { flex: 1 1 430px; max-width: 660px; }
.ss-hero h1 { max-width: 12ch; margin-block: 0.6rem 1.25rem; }
.ss-hero-lede { max-width: 58ch; color: var(--ss-muted); font-size: clamp(1.05rem, 2vw, 1.25rem); }
.ss-hero-art { flex: 1 1 300px; min-height: 290px; max-width: 470px; display: grid; place-items: center; background: linear-gradient(135deg, var(--ss-sand), #F4EEE7); border-radius: 26px; overflow: hidden; position: relative; }
.ss-hero-art::before, .ss-hero-art::after { content: ''; position: absolute; width: 125px; height: 235px; border-radius: 14px; background: var(--ss-primary); opacity: 0.92; }
.ss-hero-art::before { transform: translate(-90px, 15px); }
.ss-hero-art::after { background: var(--ss-rose); transform: translate(95px, -20px); }
.ss-hero-art-mark { position: relative; z-index: 1; margin: 0; color: var(--ss-card); font: 600 3rem Georgia, serif; letter-spacing: 0.08em; }
.ss-eyebrow, .ss-card-label { color: var(--ss-primary); font-size: 0.77rem; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.ss-section { padding-block: clamp(2.5rem, 5vw, 5rem); }
.ss-section h2 { margin-bottom: 0.6rem; }
.ss-section-intro { max-width: 65ch; color: var(--ss-muted); }
.ss-pill-grid { gap: 0.65rem; margin-top: 1.75rem; }
.ss-pill-grid .wp-block-column { flex: 1 1 150px; }
.ss-pill-grid p { margin: 0; }
.ss-pill-grid a { display: block; padding: 0.9rem 1rem; background: var(--ss-sand); border-radius: 999px; color: var(--ss-charcoal); font-size: 0.82rem; font-weight: 800; text-align: center; text-decoration: none; }
.ss-pill-grid a:hover { background: var(--ss-primary); color: #fff; }
.ss-brand-pills { gap: 0.75rem; margin-top: 1.5rem; }
.ss-brand-pills .wp-block-column { flex: 1 1 145px; }
.ss-brand-pills p { margin: 0; }
.ss-brand-pills a { display: block; padding: 0.85rem 1rem; border: 1px solid var(--ss-border); border-radius: 999px; background: var(--ss-card); color: var(--ss-charcoal); font-size: 0.85rem; font-weight: 800; text-align: center; text-decoration: none; }
.ss-brand-pills a:hover { border-color: var(--ss-primary); color: var(--ss-primary); }
.ss-comparison-links { padding-top: 0; }
.ss-comparison-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; padding: 0; list-style: none; }
.ss-comparison-list li { padding: 1.25rem; background: var(--ss-card); border: 1px solid var(--ss-border); border-radius: var(--ss-radius); }
.ss-comparison-list a { color: var(--ss-charcoal); font-weight: 700; text-decoration: none; }
.ss-comparison-list a:hover { color: var(--ss-primary); }
.ss-section-heading { margin-bottom: 1.5rem; }
.ss-section-heading h2 { margin: 0; }
.ss-section-heading p { margin: 0; }

.ss-card { height: 100%; overflow: hidden; background: var(--ss-card); border: 1px solid var(--ss-border); border-radius: var(--ss-radius); box-shadow: 0 5px 20px rgba(45, 42, 38, 0.04); }
.ss-card-image { margin: 0 !important; }
.ss-card-image img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--ss-sand); }
.ss-card-body { padding: 1.2rem 1.25rem 1.3rem; }
.ss-card-label { margin-bottom: 0.65rem; }
.ss-card-label a { color: inherit; text-decoration: none; }
.ss-card-title { margin: 0 0 0.55rem; font-size: 1.25rem; }
.ss-card-title a { color: var(--ss-charcoal); text-decoration: none; }
.ss-card-title a:hover { color: var(--ss-primary); }
.ss-card-excerpt { margin: 0 0 0.8rem; color: var(--ss-muted); font-size: 0.94rem; }
.ss-card-excerpt p { margin: 0; }
.ss-card-date { margin: 0; color: var(--ss-muted); font-size: 0.8rem; }
.ss-latest { padding-top: 1rem; }

.ss-methodology { background: var(--ss-sand); }
.ss-methodology-inner { padding-block: clamp(2.5rem, 6vw, 5rem); }
.ss-methodology-inner > * { max-width: 65ch; }
.ss-methodology-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem 1.5rem; padding-left: 1.2rem; }
.ss-methodology-steps li::marker { color: var(--ss-gold); }

.ss-archive-title { margin: 0 0 2rem; font-size: clamp(2.2rem, 5vw, 3.6rem); }
.ss-archive-main > .wp-block-query > .wp-block-post-template { gap: 1.5rem; }
.ss-archive-main .wp-block-query-pagination { margin-top: 2.5rem; }
.ss-archive-main .wp-block-query-pagination a, .ss-archive-main .wp-block-query-pagination .page-numbers { padding: 0.5rem 0.8rem; border: 1px solid var(--ss-border); border-radius: 8px; text-decoration: none; }
.ss-empty-state { padding: 2rem; background: var(--ss-card); border: 1px solid var(--ss-border); border-radius: var(--ss-radius); }
.ss-page-main > .wp-block-post-title, .ss-single-main > .wp-block-post-title { max-width: 900px; margin-bottom: 0.75rem; font-size: clamp(2.25rem, 6vw, 4rem); }
.ss-single-main > .wp-block-post-excerpt { max-width: 70ch; color: var(--ss-muted); font-size: 1.2rem; }
.ss-single-main > .wp-block-post-featured-image, .ss-page-main > .wp-block-post-featured-image { margin-top: 2rem; margin-bottom: 2.5rem; }
.ss-single-main > .wp-block-post-featured-image img, .ss-page-main > .wp-block-post-featured-image img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--ss-radius); }
.ss-single-main > .wp-block-post-content { font-size: 1.125rem; }
.ss-single-main > .wp-block-post-content > * { max-width: var(--ss-content-width); margin-inline: auto; }
.ss-single-main > .wp-block-post-content > .alignwide { max-width: var(--ss-wide-width); }
.ss-single-main > .wp-block-post-content h2 { margin-top: 3rem; }
.ss-single-main > .wp-block-post-content h3 { margin-top: 2rem; }
.ss-post-meta { color: var(--ss-muted); font-size: 0.86rem; gap: 0.5rem; margin-block: 1rem 1.5rem; }
.ss-post-meta p { margin: 0; }
.ss-post-meta a { color: inherit; }

.ss-callout, .ss-notice, .ss-where-to-buy, .ss-comparison-wrap, .ss-sources, .ss-author-box { margin-block: 2rem; padding: clamp(1.25rem, 3vw, 2rem); border-radius: var(--ss-radius); }
.ss-callout h2, .ss-callout h3, .ss-where-to-buy h2, .ss-comparison-wrap h2, .ss-sources h2, .ss-author-box h3 { margin-top: 0; }
.ss-quick-verdict { border-left: 5px solid var(--ss-gold); background: #F4EFE8; }
.ss-takeaways { background: #EEF6F1; }
.ss-takeaways li::marker { color: var(--ss-primary); }
.ss-verdict-details { margin-top: 1.25rem; }
.ss-verdict-details .wp-block-column { padding: 1rem; background: rgba(255,255,255,0.55); border-radius: 10px; }
.ss-verdict-details h3 { font-size: 1rem; }
.ss-notice { font-size: 0.95rem; }
.ss-notice p { margin: 0; }
.ss-research-note { background: #EEF6F1; border-left: 4px solid var(--ss-primary); }
.ss-affiliate-note { background: #FFF7E4; border-left: 4px solid var(--ss-gold); }
.ss-pros-cons { gap: 1rem; }
.ss-pros-cons .wp-block-column { padding: 1.25rem; border-radius: var(--ss-radius); }
.ss-pros { background: #EEF6F1; }
.ss-cons { background: #FBEEED; }
.ss-pros-cons h3 { margin-top: 0; font-size: 1.05rem; }
.ss-pros-cons ul { margin-bottom: 0; }
.ss-where-to-buy { background: var(--ss-sand); }
.ss-comparison-wrap { padding-inline: 0; }
.ss-comparison-wrap h2 { padding-inline: 1rem; }
.ss-comparison-wrap .wp-block-table { overflow-x: auto; margin: 0; }
.ss-comparison-wrap table { min-width: 620px; border-collapse: collapse; background: var(--ss-card); }
.ss-comparison-wrap th, .ss-comparison-wrap td { padding: 0.85rem; border: 1px solid var(--ss-border); text-align: left; vertical-align: top; }
.ss-comparison-wrap thead th { background: var(--ss-primary); color: #fff; }
.ss-comparison-wrap tbody th { background: #F8F4EE; }
.ss-sources { background: var(--ss-card); border: 1px solid var(--ss-border); }
.ss-author-box { margin-top: 3rem; background: var(--ss-sand); }
.ss-author-box p { max-width: 70ch; }
.ss-newsletter { margin-block: 1rem 2rem; padding: clamp(1.5rem, 4vw, 3rem); background: var(--ss-primary); border-radius: var(--ss-radius); color: #fff; }
.ss-newsletter h2 { max-width: 18ch; margin-top: 0; color: #fff; }
.ss-newsletter p { max-width: 60ch; color: #F0ECE6; }
.ss-newsletter .is-style-outline .wp-block-button__link { border-color: #fff; color: #fff; }
.ss-newsletter .is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--ss-primary); }
.ss-404-main { min-height: 50vh; }

.ss-site-footer { background: var(--ss-charcoal); color: #F5F1EB; padding-block: 3rem 1.25rem; }
.ss-footer-inner { gap: 2rem 4rem; }
.ss-site-footer a { color: #F5F1EB; }
.ss-site-footer a:hover { color: var(--ss-gold); }
.ss-footer-brand { flex: 1 1 280px; max-width: 430px; }
.ss-footer-brand .wp-block-site-title { font-family: Georgia, serif; letter-spacing: 0.05em; text-transform: uppercase; }
.ss-footer-description { color: #D9D2C8; }
.ss-footer-links { flex: 1 1 420px; justify-content: flex-end; gap: 3rem; }
.ss-footer-links .wp-block-navigation { min-width: 145px; }
.ss-footer-links .wp-block-navigation-item__content { text-decoration: none; }
.ss-footer-rule { border-color: rgba(245, 241, 235, 0.25); margin-block: 2rem 1rem; }
.ss-footer-meta { color: #C9C1B6; font-size: 0.82rem; }

.is-style-outline .wp-block-button__link { background: transparent; color: var(--ss-primary); border: 1px solid var(--ss-primary); }
.is-style-outline .wp-block-button__link:hover { background: var(--ss-primary); color: #fff; }
.wp-block-button__link { text-decoration: none; }
.wp-block-separator { border-color: var(--ss-border); }
.wp-block-quote { border-left-color: var(--ss-gold); }
.wp-block-list li + li { margin-top: 0.45rem; }

@media (max-width: 1100px) {
	.ss-header-inner { flex-wrap: wrap !important; }
	.ss-header-inner > .wp-block-navigation { order: 3; flex-basis: 100%; justify-content: center; }
	.ss-header-search { margin-left: auto; }
}

@media (max-width: 781px) {
	.ss-header-inner { min-height: 60px; }
	.ss-header-inner > .wp-block-navigation { order: initial; flex-basis: auto; margin-left: auto; }
	.ss-header-search { min-width: 0; width: auto !important; }
	.ss-header-search .wp-block-search__input { display: none; }
	.ss-header-search .wp-block-search__inside-wrapper { border: 0; padding: 0; background: transparent; }
	.ss-header-search .wp-block-search__button { background: transparent; color: var(--ss-charcoal); }
	.ss-hero-inner { min-height: 0; }
	.ss-hero-art { min-height: 210px; }
	.ss-hero-art::before, .ss-hero-art::after { width: 85px; height: 170px; }
	.ss-hero-art::before { transform: translate(-60px, 12px); }
	.ss-hero-art::after { transform: translate(65px, -15px); }
	.ss-methodology-steps { grid-template-columns: 1fr; }
	.ss-footer-links { justify-content: flex-start; gap: 1.5rem; }
	.ss-comparison-list { grid-template-columns: 1fr; }
	.ss-single-main > .wp-block-post-content { font-size: 1.0625rem; }
}

@media (max-width: 600px) {
	.ss-card-body { padding: 1rem; }
	.ss-card-title { font-size: 1.15rem; }
	.ss-pill-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ss-pill-grid .wp-block-column { width: auto !important; }
	.ss-where-to-buy .wp-block-buttons, .ss-where-to-buy .wp-block-button { width: 100%; }
	.ss-where-to-buy .wp-block-button__link { width: 100%; text-align: center; }
	.ss-comparison-wrap { margin-inline: 0; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
*, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}
