/* The Verdict Room - boosterxtreviews.com
   palette "Dossier Plum" / archetype: consumer watchdog dossier
   sections: tokens, base, chrome, blocks, stats, form, rail, foot, responsive */

/* -- tokens ------------------------------------------------------------ */
/* size-adjust values measured in preview: Solway is 113.1% of Georgia, Golos Text 106.1% of Arial */
@font-face{font-family:"Solway fallback";src:local("Georgia");size-adjust:113%}
@font-face{font-family:"Golos fallback";src:local("Arial");size-adjust:106%}
:root{
	--paper:#f6f4f8;
	--band:#ece6f1;
	--card:#ffffff;
	--ink:#191320;
	--body:#3d3548;
	--muted:#5b5268;
	--line:#ddd5e4;
	--line2:#c6b8d1;
	--plum:#6a2a76;
	--plum-dk:#4a1c55;
	--plum-tint:#f3ebf6;
	--go:#0f6f5c;
	--go-dk:#0b5b4b;
	--flag:#cf1f3f;
	--warn:#a8324f;
	--head:"Solway","Solway fallback",Georgia,serif;
	--text:"Golos Text","Golos fallback",Arial,sans-serif;
	--wrap:1120px;
	--r:3px;
}

/* -- base -------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--body);font-family:var(--text);font-size:17px;line-height:1.68;
	font-weight:400;overflow-x:hidden}
body.has-rail{padding-bottom:78px}
h1,h2,h3,h4{font-family:var(--head);color:var(--ink);line-height:1.2;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(2rem,1.3rem + 2.6vw,3.05rem);letter-spacing:-.015em}
h2{font-size:clamp(1.45rem,1.15rem + 1.1vw,2.05rem);margin-top:0}
h3{font-size:1.18rem}
p{margin:0 0 1.05em}
a{color:var(--plum);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
a:hover{color:var(--plum-dk)}
img{max-width:100%;height:auto}
strong{color:var(--ink);font-weight:600}
:focus-visible{outline:3px solid var(--plum);outline-offset:2px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px;top:0;background:var(--plum-dk);color:#fff;padding:12px 18px;z-index:60}
.skip:focus{left:0}
.lede{font-size:1.1rem;color:var(--body)}
.sec{padding:44px 0;border-top:1px solid var(--line)}
.sec--band{background:var(--band);border-top:1px solid var(--line2)}
.sec--tint{background:var(--plum-tint)}
.eyebrow{font-family:var(--text);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
	color:var(--plum);margin:0 0 8px}
.note{font-size:.86rem;color:var(--muted);line-height:1.55}

/* -- chrome ------------------------------------------------------------ */
.top{background:var(--card);border-bottom:1px solid var(--line)}
.top__in{display:flex;align-items:center;gap:18px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.mark{text-decoration:none;display:block;margin-right:auto;line-height:1.05}
.mark__n{font-family:var(--head);font-weight:800;font-size:1.3rem;color:var(--ink)}
.mark__r{font-family:var(--head);font-weight:800;font-size:1.3rem;color:var(--plum);margin-left:.28em}
.mark__s{display:block;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}
.nav a{color:var(--body);text-decoration:none;font-weight:500;font-size:.95rem;padding:8px 2px;display:inline-block}
.nav a:hover,.nav a[aria-current]{color:var(--plum);box-shadow:inset 0 -2px 0 var(--plum)}
.burger{display:none;background:none;border:1px solid var(--line2);border-radius:var(--r);width:46px;height:44px;
	padding:11px 10px;cursor:pointer}
.burger span{display:block;height:2px;background:var(--ink);margin:4px 0}
.ftc{background:var(--plum-dk);color:#efe4f3;font-size:.855rem;line-height:1.55}
.ftc p{margin:0;padding:11px 20px}
.ftc strong{color:#fff}
.ftc a{color:#f4d9ff}
.crumbs{background:var(--card);border-bottom:1px solid var(--line);font-size:.83rem}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:9px 20px}
.crumbs li+li::before{content:"/";color:var(--line2);margin-right:8px}
.crumbs a{color:var(--muted)}
.crumbs span{color:var(--ink)}

/* -- buttons ----------------------------------------------------------- */
.btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
	background:var(--go);color:#fff;text-decoration:none;font-weight:600;font-size:1.02rem;
	padding:15px 30px;border-radius:var(--r);border:1px solid var(--go-dk);min-height:52px;text-align:center;
	transition:background .15s ease}
.btn:hover{background:var(--go-dk);color:#fff}
.btn--sm{font-size:.9rem;padding:11px 18px;min-height:44px}
.btn--plum{background:var(--plum);border-color:var(--plum-dk)}
.btn--plum:hover{background:var(--plum-dk)}
.btn--wide{width:100%}
.btn__s{font-size:.76rem;font-weight:500;opacity:.92}
.cta-note{font-size:.8rem;color:var(--muted);margin:9px 0 0;max-width:52ch}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:18px 0 0}
.reassure{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.85rem}
.reassure li{color:var(--muted)}
.reassure b{color:var(--go);font-weight:600}

/* -- hero + verdict ---------------------------------------------------- */
.hero{background:var(--card);padding:38px 0 10px}
.kicker{display:inline-block;background:var(--plum-tint);color:var(--plum-dk);border:1px solid var(--line2);
	border-radius:var(--r);font-size:.76rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
	padding:6px 11px;margin-bottom:14px}
.hero h1 em{font-style:normal;color:var(--plum)}
.sub{font-size:1.16rem;color:var(--body);max-width:62ch;margin-bottom:18px}
.byline{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font-size:.86rem;color:var(--muted);
	border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:0 0 26px}
.byline b{color:var(--ink);font-weight:600}
.verdict{display:grid;grid-template-columns:280px 1fr;gap:0;border:2px solid var(--plum-dk);border-radius:var(--r);
	background:var(--card);overflow:hidden;margin:0 0 8px}
.verdict__score{background:var(--plum-dk);color:#fff;padding:26px 22px;text-align:center}
.verdict__num{font-family:var(--head);font-weight:800;font-size:3.5rem;line-height:1;display:block}
.verdict__of{font-size:.9rem;opacity:.85;display:block;margin-top:4px}
.verdict__lbl{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;margin:14px 0 0;opacity:.9}
.verdict__art{margin:16px auto 0;display:block;max-width:190px}
.verdict__body{padding:24px 26px}
.verdict__body h2{font-size:1.15rem;margin-bottom:10px;letter-spacing:.02em}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:18px 0 0;border-top:1px solid var(--line)}
.facts>div{display:flex;flex-direction:column;padding:11px 14px 11px 0;border-bottom:1px solid var(--line)}
.facts dt{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);order:1}
.facts dd{margin:0 0 3px;font-weight:600;color:var(--ink);font-size:.99rem;order:0}
.tldr{background:var(--plum-tint);border-left:4px solid var(--plum);padding:20px 22px;border-radius:0 var(--r) var(--r) 0;
	margin:26px 0 0}
.tldr h2{font-size:1.05rem;letter-spacing:.03em}
.tldr p:last-child{margin-bottom:0}

/* -- stars ------------------------------------------------------------- */
.stars{display:inline-flex;gap:3px;vertical-align:middle}
.star{width:15px;height:15px;background:var(--line2);
	clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.star.is-on{background:var(--plum)}
.star.is-half{background:linear-gradient(90deg,var(--plum) 50%,var(--line2) 50%)}
.verdict__score .star{background:#8b6d96}
.verdict__score .star.is-on{background:#f0d9f7}

/* -- generic blocks ---------------------------------------------------- */
.two{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px}
.card--go{border-top:4px solid var(--go)}
.card--warn{border-top:4px solid var(--warn)}
.ticks{list-style:none;margin:0;padding:0}
.ticks li{position:relative;padding:0 0 10px 26px;font-size:.98rem}
.ticks li::before{position:absolute;left:0;top:0;font-weight:700;font-family:var(--text)}
.ticks--go li::before{content:"+";color:var(--go);font-size:1.15rem;line-height:1.4}
.ticks--no li::before{content:"\2212";color:var(--warn);font-size:1.15rem;line-height:1.4}
.bar{display:grid;grid-template-columns:1fr 130px 46px;align-items:center;gap:14px;padding:9px 0;
	border-bottom:1px solid var(--line)}
.bar__k{font-size:.95rem}
.bar__track{height:9px;background:var(--band);border-radius:9px;overflow:hidden}
.bar__fill{display:block;height:100%;background:var(--plum);border-radius:9px}
.bar--go .bar__fill{background:var(--go)}
.bar--warn .bar__fill{background:var(--warn)}
.bar__v{font-weight:600;color:var(--ink);text-align:right;font-size:.95rem}
table{width:100%;border-collapse:collapse;font-size:.95rem;background:var(--card);margin:0 0 8px}
caption{text-align:left;font-size:.85rem;color:var(--muted);padding:0 0 8px}
th,td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
thead th{background:var(--plum-dk);color:#fff;font-family:var(--text);font-weight:600;font-size:.83rem;
	letter-spacing:.06em;text-transform:uppercase;border-bottom:none}
tbody th{font-weight:600;color:var(--ink)}
.scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}
.pill{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.06em;padding:3px 8px;border-radius:2px}
.pill--save{background:var(--flag);color:#fff}
.pill--best{background:var(--go);color:#fff}
.was{color:var(--muted);text-decoration:line-through}
.row-best td,.row-best th{background:var(--plum-tint)}
.qa{border-top:1px solid var(--line);padding:20px 0 4px}
.qa h3{margin-bottom:8px}
.qa p:first-of-type{font-weight:500;color:var(--ink)}
.take{background:var(--card);border:2px solid var(--plum);border-radius:var(--r);padding:22px 26px}
.take ol{margin:0;padding-left:20px}
.take li{padding:0 0 9px}
.band{background:var(--plum-dk);color:#efe4f3;border-radius:var(--r);padding:28px 30px;margin:8px 0 0}
.band h2{color:#fff;font-size:1.4rem}
.band p{color:#e7d6ee}
.band .cta-note{color:#cdb5d6}
.deep{border-top:1px solid var(--line);padding:20px 0 2px}
.deep h3{margin-bottom:4px}
.deep__tag{font-size:.78rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px}
.toc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 22px;margin:26px 0 0}
.toc h2{font-size:1rem;margin-bottom:10px}
.toc ol{columns:2;column-gap:34px;margin:0;padding-left:20px;font-size:.93rem}
.toc li{padding:2px 0;break-inside:avoid}
.toc a,.byline a{display:inline-block;padding:4px 0}

/* -- stats ------------------------------------------------------------- */
.snap{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);
	border-radius:var(--r);overflow:hidden}
.snap>div{background:var(--card);padding:18px 16px;display:flex;flex-direction:column-reverse}
.snap dt{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);line-height:1.35}
.snap dd{margin:0 0 5px;font-family:var(--head);font-weight:800;font-size:1.75rem;color:var(--plum-dk);line-height:1}
.big{display:flex;flex-wrap:wrap;align-items:center;gap:22px;background:var(--card);border:1px solid var(--line);
	border-radius:var(--r);padding:22px 26px;margin:0 0 22px}
.big__n{font-family:var(--head);font-weight:800;font-size:3.1rem;color:var(--plum-dk);line-height:1}
.big__t{flex:1 1 260px}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.quote{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--plum);border-radius:var(--r);
	padding:18px 20px;font-size:.95rem}
.quote--crit{border-left-color:var(--warn)}
.quote__h{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.quote__av{width:38px;height:38px;border-radius:50%;background:var(--plum-tint);color:var(--plum-dk);
	display:grid;place-items:center;font-weight:700;font-size:.9rem;flex:none;border:1px solid var(--line2)}
.quote__who{font-weight:600;color:var(--ink);font-size:.92rem;line-height:1.25}
.quote__meta{font-size:.78rem;color:var(--muted)}
.quote__tag{display:inline-block;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:var(--go);
	font-weight:700;margin-top:2px}
.quote p{margin:0 0 8px}
.quote__t{font-weight:600;color:var(--ink)}

/* -- review form ------------------------------------------------------- */
.form{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--plum);border-radius:var(--r);
	padding:26px 28px}
.field{margin:0 0 16px}
.field label{display:block;font-weight:600;color:var(--ink);font-size:.92rem;margin:0 0 6px}
.field input[type=text],.field input[type=email],.field textarea,.field select{width:100%;font:inherit;
	font-size:.97rem;padding:11px 12px;border:1px solid var(--line2);border-radius:var(--r);background:#fff;
	color:var(--ink)}
.field textarea{min-height:132px;resize:vertical}
.field .hint{font-size:.8rem;color:var(--muted);margin:5px 0 0}
.rate{display:flex;gap:4px;border:0;padding:0;margin:0}
.rate legend{font-weight:600;color:var(--ink);font-size:.92rem;margin:0 0 6px;padding:0}
.rate__opt{position:relative}
.rate__opt input{position:absolute;opacity:0;width:44px;height:44px;margin:0;cursor:pointer}
.rate__opt span{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line2);
	border-radius:var(--r);font-weight:600;color:var(--muted);background:#fff}
.rate__opt input:checked+span{background:var(--plum);border-color:var(--plum-dk);color:#fff}
.rate__opt input:focus-visible+span{outline:3px solid var(--plum);outline-offset:2px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.9rem}
.check input{width:20px;height:20px;margin:2px 0 0;flex:none}
.pot{position:absolute;left:-9999px}
.form__ok{background:#e8f4ef;border:1px solid var(--go);color:#0a4c3f;border-radius:var(--r);padding:16px 18px;
	font-size:.94rem;margin:0 0 16px}
.form__err{color:var(--warn);font-size:.84rem;margin:5px 0 0;font-weight:600}
.rules{font-size:.85rem;color:var(--muted)}

/* -- references -------------------------------------------------------- */
.refs ol{font-size:.9rem;padding-left:22px}
.refs li{padding:0 0 9px;word-break:break-word}
.refs a{color:var(--plum-dk)}

/* -- rail -------------------------------------------------------------- */
.rail{position:fixed;left:0;right:0;bottom:0;background:var(--plum-dk);border-top:2px solid var(--flag);z-index:50;
	box-shadow:0 -2px 14px rgba(25,19,32,.22)}
.rail__in{display:flex;align-items:center;gap:12px;padding-top:9px;padding-bottom:9px}
.rail__go{flex:1;display:flex;align-items:center;gap:14px;text-decoration:none;color:#f0e5f4;min-height:52px}
.rail__chip{background:var(--flag);color:#fff;font-weight:800;font-size:.82rem;letter-spacing:.06em;padding:7px 11px;
	border-radius:2px;flex:none;animation:pulse 2.6s ease-in-out infinite}
.rail__txt{font-size:.9rem;line-height:1.35}
.rail__txt strong{color:#fff}
.rail__btn{margin-left:auto;background:var(--go);color:#fff;font-weight:700;font-size:.95rem;padding:13px 22px;
	border-radius:var(--r);flex:none;white-space:nowrap;min-height:46px;display:grid;place-items:center}
.rail__x{background:none;border:1px solid #7d5a89;color:#e7d6ee;width:38px;height:38px;border-radius:var(--r);
	font-size:1.2rem;line-height:1;cursor:pointer;flex:none}
.rail__x:hover{background:#5c2a68}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@media (prefers-reduced-motion:reduce){.rail__chip{animation:none}*{transition:none!important}}

/* -- footer ------------------------------------------------------------ */
.foot{background:var(--plum-dk);color:#dccfe3;margin-top:44px;padding:40px 0 26px;font-size:.92rem}
.foot__grid{display:grid;grid-template-columns:2.2fr 1fr 1fr;gap:32px}
.foot__mark{font-family:var(--head);font-weight:800;font-size:1.25rem;color:#fff;margin:0 0 12px}
.foot__mark em{font-style:normal;color:#e6b8f2}
.foot h3{color:#fff;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;font-family:var(--text);
	font-weight:700;margin-bottom:12px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{padding:0 0 4px}
.foot a{color:#f0dcf6}
.foot__col a{display:inline-block;padding:5px 0}
.foot__meta{font-size:.85rem;color:#c4b2cd;margin:14px 0 0}
.foot__fine{border-top:1px solid #6a4a76;margin-top:30px;padding-top:20px;font-size:.83rem;color:#c4b2cd;
	line-height:1.6}
.foot__fine strong{color:#fff}
.foot__cr{margin:16px 0 0}

/* -- responsive -------------------------------------------------------- */
@media (max-width:1000px){
	.verdict{grid-template-columns:1fr}
	.verdict__art{max-width:150px}
	.quotes{grid-template-columns:1fr 1fr}
	.snap{grid-template-columns:repeat(2,1fr)}
	.foot__grid{grid-template-columns:1fr 1fr}
	.foot__col--wide{grid-column:1/-1}
}
@media (max-width:860px){
	.burger{display:block;order:2}
	.nav{order:4;flex-basis:100%;display:none}
	.nav.is-open{display:block}
	.nav ul{flex-direction:column;gap:0;border-top:1px solid var(--line);padding-top:8px}
	.nav a{padding:11px 0;display:block;width:100%}
	.top .btn--sm{order:3}
	.facts{grid-template-columns:1fr 1fr}
	.two{grid-template-columns:1fr}
	.toc ol{columns:1}
	.rail__txt{display:none}
	body.has-rail{padding-bottom:74px}
}
@media (max-width:640px){
	body{font-size:16px}
	.sec{padding:32px 0}
	.quotes{grid-template-columns:1fr}
	.verdict__body{padding:20px 18px}
	.card{padding:18px 18px}
	.bar{grid-template-columns:1fr 74px 42px;gap:9px}
	.big__n{font-size:2.5rem}
	.rail__btn{padding:12px 15px;font-size:.9rem}
	.form{padding:20px 18px}
	.foot__grid{grid-template-columns:1fr}
}
