/* TP-001 */
:root{--primary-color:#111827;--primary-light:#eef2ff;--secondary-color:#334155;--accent-color:#2563eb;--dark-color:#111827;--text-color:#172033;--muted-color:#64748b;--bg-color:#f7f8fa;--surface-color:#ffffff;--surface-alt-color:#eef1f5;--border-color:#cfd6df;--radius-sm:0;--radius-md:0;--radius-lg:0;--shadow-soft:none;--shadow-strong:none;--content-width:1120px;--text-column-width:720px;--section-space:42px;--heading-weight:600;--body-weight:400;--body-line-height:1.62;--header-height:64px;--logo-height:34px;--hero-max-height:72vh}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg-color);color:var(--text-color);font-weight:var(--body-weight);line-height:var(--body-line-height)}a{color:inherit}img,svg{max-width:100%}.site-header{min-height:var(--header-height);display:flex;align-items:center;border-bottom:1px solid var(--border-color);background:#fff;position:sticky;top:0;z-index:20}.header-inner{width:min(calc(100% - 32px),var(--content-width));margin:auto;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center}.brand img{height:var(--logo-height);width:auto;display:block}.main-nav{display:flex;justify-content:center;gap:20px;font-size:14px}.main-nav a{text-decoration:none;padding:8px 0;border-bottom:1px solid transparent}.main-nav a:hover{border-color:var(--accent-color)}.nav-toggle{display:none;background:#fff;border:1px solid var(--border-color);padding:8px 10px}.page{width:min(calc(100% - 32px),var(--content-width));margin:auto}.section{padding:var(--section-space) 0;border-bottom:1px solid var(--border-color)}.section.compact{padding:22px 0}.section.tall{padding:58px 0}.hero{text-align:center;min-height:340px;display:grid;place-items:center;background:#fff}.hero-inner{max-width:860px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent-color);font-weight:700}.hero h1,.page-hero h1{font-size:clamp(34px,5vw,60px);line-height:1.02;margin:12px auto 18px;font-weight:var(--heading-weight);max-width:900px}.hero p,.page-hero p{max-width:var(--text-column-width);margin:0 auto;color:var(--muted-color)}.btn{display:inline-block;margin-top:22px;background:var(--primary-color);color:#fff;text-decoration:none;padding:11px 18px;border:1px solid var(--primary-color)}.quick-grid{display:grid;grid-template-columns:1fr 2fr;gap:28px;align-items:start}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--border-color)}.quick-links a{padding:16px;text-decoration:none;border-right:1px solid var(--border-color);background:#fff}.quick-links a:last-child{border-right:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.brand-explain{background:var(--primary-light);margin-inline:calc(50% - 50vw);padding-inline:max(16px,calc((100vw - var(--content-width))/2))}.editorial-col{border-left:3px solid var(--accent-color);padding-left:18px}.rating-band{margin-inline:calc(50% - 50vw);padding:18px max(16px,calc((100vw - var(--content-width))/2));background:var(--dark-color);color:#fff}.rating-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;gap:1px;background:#465165;border:1px solid #465165}.rating-tile{background:var(--dark-color);padding:16px}.rating-value{font-size:29px;font-weight:700;line-height:1}.stars{letter-spacing:1px;color:#f4c430}.muted{color:var(--muted-color)}.rating-band .muted{color:#cbd5e1}.mosaic{display:grid;grid-template-columns:1.2fr .8fr 1fr;grid-auto-rows:minmax(110px,auto);gap:12px}.note{background:#fff;border:1px solid var(--border-color);padding:18px}.note.featured{grid-row:span 2;background:#f6f1e8}.faq-wrap{display:grid;grid-template-columns:.4fr 1fr;gap:28px;align-items:start}.faq-index{border-right:2px solid var(--accent-color);padding-right:18px;text-align:right}.faq-item{border-top:1px solid var(--border-color)}.faq-q{width:100%;text-align:left;padding:16px 0;border:0;background:transparent;font:inherit;font-weight:600;cursor:pointer}.faq-a{display:none;padding:0 0 16px}.faq-item.open .faq-a{display:block}.contact-strip{margin-inline:calc(50% - 50vw);padding:20px max(16px,calc((100vw - var(--content-width))/2));background:#e2e8f0}.contact-badges{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.contact-badges a{background:#fff;border:1px solid var(--border-color);padding:8px 12px;text-decoration:none}.site-footer{border-top:1px solid var(--border-color);background:#fff}.footer-inner{width:min(calc(100% - 32px),var(--content-width));margin:auto;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}.footer-links{display:flex;gap:14px;flex-wrap:wrap}.footer-links a{text-decoration:none}.page-hero{padding:42px 0 28px;border-bottom:1px solid var(--border-color)}.page-hero h1{text-align:left;margin-left:0;font-size:clamp(34px,4.5vw,54px)}.page-hero p{margin-left:0}.inner-grid{display:grid;grid-template-columns:260px 1fr;gap:36px;padding:36px 0}.side-index{border-left:3px solid var(--accent-color);padding-left:16px;position:sticky;top:88px;align-self:start}.side-index a{display:block;text-decoration:none;padding:6px 0}.content-block{background:#fff;border:1px solid var(--border-color);padding:22px;margin-bottom:16px}.inline-rating{display:flex;align-items:center;gap:14px;padding:13px 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);margin:16px 0}.review-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.review{background:#fff;border:1px solid var(--border-color);padding:16px}.review-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.review time{font-size:12px;color:var(--muted-color)}.review-disclosure{font-size:12px;color:var(--muted-color);margin-top:12px}.info-table{width:100%;border-collapse:collapse}.info-table th,.info-table td{border-bottom:1px solid var(--border-color);padding:12px;text-align:left}.steps{counter-reset:s}.step{counter-increment:s;display:grid;grid-template-columns:38px 1fr;gap:14px;margin:16px 0}.step:before{content:counter(s);display:grid;place-items:center;border:1px solid var(--accent-color);width:32px;height:32px}.contact-form{max-width:680px}.contact-form label{display:block;font-weight:600;margin:12px 0 5px}.contact-form input,.contact-form textarea{width:100%;padding:11px;border:1px solid var(--border-color);font:inherit}.contact-form button{margin-top:14px;padding:10px 16px;border:1px solid var(--primary-color);background:var(--primary-color);color:#fff}.form-status{margin-top:10px;color:var(--muted-color)}.legal-copy{max-width:760px}.fade-in{opacity:0;transform:translateY(6px);transition:.35s ease}.fade-in.visible{opacity:1;transform:none}
