
.f-col .f-h{font-size:.8125rem;font-weight:600;margin-bottom:14px;color:var(--ink)}
@media(min-width:821px){.f-top{grid-template-columns:1.3fr repeat(4,1fr)}}
.hero-img{height:300px;border-radius:var(--r-lg);margin:0 0 28px}
.cost-note{font-size:.8125rem;color:var(--mute)}
.author-hero{display:grid;grid-template-columns:180px 1fr;gap:32px;align-items:center}
.author-hero .ph{width:180px;height:180px;border-radius:50%}
@media(max-width:700px){.author-hero{grid-template-columns:1fr}.author-hero .ph{width:130px;height:130px}}
.page-hero{padding:56px 0 64px;background:linear-gradient(180deg,#fff 0%,var(--soft) 100%);overflow:hidden}
.crumbs{font-size:.8125rem;color:var(--mute);margin-bottom:22px}
.crumbs a{color:var(--body)}
.crumbs a:hover{color:var(--purple)}
.crumbs span{margin:0 8px}
.ph-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:center}
.page-hero h1{font-size:clamp(2.1rem,4.4vw,3.2rem);margin-bottom:18px}
.page-hero h1 .tone{color:var(--purple)}
.page-hero .intro{font-size:1.125rem;margin-bottom:22px}
.byline{display:flex;align-items:center;gap:10px;font-size:.8125rem;color:var(--body);margin-bottom:24px;flex-wrap:wrap}
.byline b{color:var(--ink);font-weight:600}
.byline .dotsep{width:4px;height:4px;border-radius:50%;background:var(--mute)}
.facts{background:#fff;border-radius:var(--r-lg);padding:24px 26px;box-shadow:0 24px 60px rgba(29,27,46,.1);position:relative}
.facts::before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:var(--mint);right:-80px;top:-80px;z-index:-1}
.facts::after{content:"";position:absolute;width:90px;height:45px;border-radius:90px 90px 0 0;background:var(--purple);left:-30px;bottom:-1px;z-index:-1}
.ph-grid{position:relative;z-index:0}
.facts h2{font-size:1rem;font-weight:600;letter-spacing:-.01em;margin-bottom:8px}
.facts .kv b{text-align:right}
.page-body{padding:72px 0}
.pb-grid>*,.ph-grid>*{min-width:0}
.rv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 26px}
@media(max-width:1100px){.rv-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.rv-grid{grid-template-columns:1fr}.tp-widget{grid-template-columns:1fr}}
.pb-grid{display:grid;grid-template-columns:1fr 300px;gap:56px;align-items:start}
.prose h2{font-size:clamp(1.5rem,2.6vw,1.9rem);margin:48px 0 14px;scroll-margin-top:96px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.1875rem;font-weight:600;letter-spacing:-.01em;margin:28px 0 8px}
.prose p{margin-bottom:14px;font-size:1rem;line-height:1.7}
.prose ul.list,.prose ol.list{margin:6px 0 18px 0;padding-left:0;list-style:none}
.prose ul.list li,.prose ol.list li{position:relative;padding:6px 0 6px 26px;color:var(--body);line-height:1.6}
.prose ul.list li::before{content:"";position:absolute;left:4px;top:15px;width:7px;height:7px;border-radius:50%;background:var(--purple)}
.prose ol.list{counter-reset:o}
.prose ol.list li{counter-increment:o}
.prose ol.list li::before{content:counter(o);position:absolute;left:0;top:7px;width:19px;height:19px;border-radius:50%;background:var(--purple-lt);color:var(--purple);font-size:.6875rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.prose li b,.prose p b{color:var(--ink);font-weight:600}
.prose a{color:var(--purple);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.prose .table-box{margin:18px 0 26px}
.callout{border-radius:var(--r-lg);padding:20px 22px;margin:22px 0;font-size:.9375rem}
.callout.mint{background:var(--mint-lt);border-left:4px solid var(--mint-dk)}
.callout.purple{background:var(--purple-lt);border-left:4px solid var(--purple)}
.callout.peach{background:var(--peach-lt);border-left:4px solid var(--peach)}
.callout b{color:var(--ink)}
.callout p{margin:0;color:var(--ink)}
.cards2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 26px}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 26px}
.mini{background:var(--soft);border-radius:var(--r);padding:20px}
.mini h3{margin:0 0 6px;font-size:1.0625rem}
.mini p{font-size:.875rem;margin:0}
.mini .tag{display:inline-block;font-size:.6875rem;font-weight:600;padding:3px 9px;border-radius:20px;margin-bottom:10px;background:var(--mint);color:var(--ink)}
.mini.pro{background:var(--mint-lt)}
.mini.con{background:var(--peach-lt)}
.mini ul{list-style:none;margin-top:6px}
.mini li{font-size:.875rem;padding:5px 0 5px 22px;position:relative;color:var(--ink)}
.mini.pro li::before{content:"✓";position:absolute;left:0;color:var(--mint-dk);font-weight:700}
.mini.con li::before{content:"–";position:absolute;left:2px;color:#B45309;font-weight:700}
.side{position:sticky;top:96px;display:grid;gap:16px}
.toc{background:var(--soft);border-radius:var(--r-lg);padding:20px 22px}
.toc .toc-h{font-size:.875rem;font-weight:600;margin-bottom:10px;letter-spacing:0}
.toc ol{list-style:none;counter-reset:t}
.toc li{counter-increment:t;font-size:.84rem;padding:6px 0;border-bottom:1px solid var(--line)}
.toc li:last-child{border-bottom:0}
.toc li a{color:var(--body);display:flex;gap:8px}
.toc li a::before{content:counter(t);color:var(--purple);font-weight:600}
.toc li a:hover{color:var(--purple)}
.side-cta{background:var(--purple);color:#fff;border-radius:var(--r-lg);padding:22px;position:relative;overflow:hidden}
.side-cta::after{content:"";position:absolute;width:90px;height:45px;border-radius:90px 90px 0 0;background:var(--mint);right:16px;bottom:0}
.side-cta b{font-size:1.125rem;font-weight:600;display:block;margin-bottom:6px}
.side-cta p{color:rgba(255,255,255,.82);font-size:.84rem;margin-bottom:16px}
.side-cta .btn{position:relative;z-index:1}
.related{background:var(--soft);padding:72px 0}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.rel{background:#fff;border-radius:var(--r-lg);padding:22px;border:1px solid var(--line);transition:border-color .2s,transform .2s;display:block}
.rel:hover{border-color:var(--purple);transform:translateY(-3px)}
.rel span{font-size:.6875rem;font-weight:600;color:var(--purple)}
.rel h3{font-size:1.0625rem;font-weight:600;letter-spacing:-.01em;margin:6px 0}
.rel p{font-size:.84rem}
.page-faq{padding:72px 0;background:#fff}
.page-faq .faq-wrap{max-width:820px}
.author.inline{margin:40px 0 0}
.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 26px}
.score{background:var(--soft);border-radius:var(--r);padding:16px;text-align:center}
.score b{display:block;font-size:1.5rem;font-weight:600;color:var(--purple)}
.score small{font-size:.75rem;color:var(--body)}
.rv.star3 .stars i:nth-child(n+4),.rv.star4 .stars i:nth-child(5){background:#DCDCE6}
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:10px 0 30px}
.contact-card{background:var(--soft);border-radius:var(--r-lg);padding:22px}
.contact-card .ic{width:40px;height:40px;border-radius:10px;background:var(--purple-lt);color:var(--purple);display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.contact-card .ic svg{width:20px;height:20px}
.contact-card h3{margin:0 0 6px}
.contact-card p{font-size:.875rem;margin:0 0 10px}
.legal .prose h2{font-size:1.375rem;margin-top:36px}
@media(max-width:980px){.pb-grid{grid-template-columns:1fr}.side{position:static}.ph-grid{grid-template-columns:1fr;gap:30px}.rel-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.cards2,.cards3,.contact-cards,.rel-grid{grid-template-columns:1fr}.score-grid{grid-template-columns:1fr 1fr}}
