body.topic-page{background:#fff;color:var(--abc-ink)}
body.topic-page:before{display:none}
.tp{position:relative;z-index:1;overflow:clip;background:#fff}
.tp-crumb{padding:1.25rem 0 .5rem}
.tp-crumb .breadcrumb{margin:0;line-height:1.7}
.tp-hero{display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden;border-radius:1.5rem;background:var(--abc-primary);color:#fff}
.tp-copy{min-width:0;padding:2rem 1.5rem;position:relative}
.tp-label{display:block;color:#f5d6a6;font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.tp-copy h1{max-width:19ch;margin:1rem 0;font-size:clamp(2.1rem,4.5vw,3.6rem);font-weight:750;line-height:1.13;letter-spacing:-.045em;text-wrap:balance}
.tp-intro{max-width:56ch;color:#f6e9ec;line-height:1.8;font-size:1.02rem}
.tp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:1.6rem 0}
.tp-btn{padding:.85rem 1.2rem;border:1px solid #f5d6a6;border-radius:999px;background:#f5d6a6;color:var(--abc-dark);font-weight:750}
.tp-btn:hover,.tp-btn:focus-visible{border-color:#fff;background:#fff;color:var(--abc-dark)}
.tp-btn span{margin-left:.5rem}
.tp-text-link{color:#fff;font-size:.9rem;border-bottom:1px solid #bd909b;padding:.35rem 0}
.tp-text-link:hover,.tp-text-link:focus-visible{color:#f5d6a6}
.tp-sign{display:block;color:#dcb7c1;font-size:.75rem}
.tp-sign span{margin:0 .45rem}
.tp-visual{display:flex;min-width:0;background:#f6ede4}
.tp-visual picture{display:block;width:100%;height:100%}
.tp-visual img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:1000/618}
.tp-placeholder{min-height:250px;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;background:radial-gradient(ellipse at center,#fff3dc,#ead1b4);color:var(--abc-primary)}
.tp-placeholder>span{font-size:5rem;font-weight:900;letter-spacing:-.06em}
.tp-placeholder>strong{font-size:1.4rem;letter-spacing:.35em}
.tp-nav{position:sticky;z-index:20;top:0;margin-top:1.5rem;border-bottom:1px solid var(--abc-line);background:rgba(255,255,255,.97)}
.tp-nav-in{display:flex;align-items:center;gap:.45rem;overflow-x:auto;padding-top:.65rem;padding-bottom:.65rem;scrollbar-width:thin}
.tp-nav a{flex-shrink:0;padding:.65rem .9rem;border-radius:999px;font-size:.82rem;font-weight:650;color:var(--abc-ink)}
.tp-nav a:hover,.tp-nav a:focus-visible{background:var(--abc-soft);color:var(--abc-primary)}
.tp-nav a span{margin-left:.25rem;color:var(--abc-muted);font-size:.7rem}
.tp-sec{padding:3rem 0;scroll-margin-top:5rem}
.tp-soft{background:var(--abc-soft)}
.tp-head{margin-bottom:1.7rem}
.tp-head h2{margin:.65rem 0 .85rem;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:750;letter-spacing:-.04em;line-height:1.25;text-wrap:balance}
.tp-head p{max-width:50ch;margin:0;color:var(--abc-muted);line-height:1.75;font-size:.95rem}
.tp-head .tp-link{margin-top:1rem}
.tp-head-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.7rem 2rem}
.tp-head-row h2{margin-bottom:0}
.tp-rich{min-width:0;color:var(--abc-ink);font-size:1rem;line-height:1.85;overflow-wrap:anywhere}
.tp-rich h2,.tp-rich h3{margin:1.4rem 0 .75rem;font-weight:700;letter-spacing:-.025em;line-height:1.4}
.tp-rich h2{font-size:1.5rem}
.tp-rich h3{font-size:1.2rem}
.tp-rich .tp-block:first-child>:first-child{margin-top:0}
.tp-rich img{height:auto;border-radius:1rem}
.tp-rich table{max-width:100%;display:block;overflow-x:auto}
.tp-rich figcaption{margin:.65rem 0;color:var(--abc-muted);font-size:.85rem;text-align:center}
.tp-block+.tp-block{margin-top:1.5rem}
.tp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.tp-card{display:flex;flex-direction:column;overflow:hidden;min-width:0;border:1px solid var(--abc-line);border-radius:1rem;background:#fff;transition:box-shadow .2s ease,transform .2s ease}
.tp-card:hover{box-shadow:0 14px 34px rgba(101,21,43,.07);transform:translateY(-3px)}
.tp-product-img{display:flex;aspect-ratio:1;align-items:center;justify-content:center;background:#fff;padding:.7rem;border-bottom:1px solid var(--abc-line)}
.tp-product-img img{width:100%;height:100%;object-fit:contain}
.tp-no-img{background:#f4e9df;color:var(--abc-primary);font-size:.9rem;font-weight:800}
.tp-card-body{display:flex;flex:1;flex-direction:column;padding:1rem}
.tp-brand{margin-bottom:.45rem;color:var(--abc-muted);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}
.tp-card h3{margin:0 0 .65rem;font-size:.96rem;font-weight:700;line-height:1.5}
.tp-card h3 a{color:var(--abc-ink)}
.tp-card h3 a:hover{color:var(--abc-primary)}
.tp-card-body>p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 1rem;color:var(--abc-muted);font-size:.83rem;line-height:1.7}
.tp-card-end{display:flex;flex-direction:column;gap:.7rem;margin-top:auto;padding-top:.9rem;border-top:1px solid var(--abc-line);font-size:.8rem}
.tp-card-end strong{color:var(--abc-primary);font-size:.9rem}
.tp-card-end a{display:flex;align-items:center;justify-content:space-between;font-weight:650}
.tp-link{display:inline-flex;align-items:center;gap:.6rem;color:var(--abc-primary);font-size:.86rem;font-weight:700}
.tp-price{margin-top:.9rem;overflow:hidden;border:1px solid var(--abc-line);border-radius:1rem;scroll-margin-top:5rem}
.tp-price summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem;cursor:pointer;list-style:none;background:var(--abc-soft)}
.tp-price summary::-webkit-details-marker{display:none}
.tp-price summary h3{margin:0;font-size:1.06rem;font-weight:700;line-height:1.5}
.tp-price summary small{display:block;margin-top:.3rem;color:var(--abc-muted);font-size:.76rem;font-weight:400}
.tp-plus{display:grid;flex:0 0 32px;place-items:center;width:32px;height:32px;border:1px solid #d9bec5;border-radius:50%;color:var(--abc-primary);font-size:1.5rem;transition:transform .2s ease}
.tp-price[open] .tp-plus{transform:rotate(45deg)}
.tp-price-body{padding:1rem 1.25rem}
.tp-price-body>p{color:var(--abc-muted);font-size:.9rem;line-height:1.7}
.tp-table{min-width:520px;margin:0;font-size:.85rem;vertical-align:middle}
.tp-table>:not(caption)>*>*{padding:.9rem .5rem;border-color:var(--abc-line)}
.tp-table thead th{color:var(--abc-muted);font-size:.75rem;white-space:nowrap}
.tp-table tbody th{font-weight:550}
.tp-table .text-end{white-space:nowrap;color:var(--abc-primary);font-weight:650}
.tp-spec{margin-top:.3rem;color:var(--abc-muted);font-weight:400}
.tp-articles{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
.tp-article-img{display:block;aspect-ratio:8/5;background:#f4e9df;overflow:hidden}
.tp-article-img img{width:100%;height:100%;object-fit:cover}
.tp-article .tp-card-body{padding:1.4rem}
.tp-article h3{font-size:1.1rem}
.tp-article .tp-link{margin-top:auto}
.tp-support{display:flex;flex-direction:column;gap:1.5rem;padding:2rem 1.5rem;border-radius:1.5rem;background:var(--abc-dark);color:#fff}
.tp-support h2{max-width:27ch;margin:.8rem 0;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:700;letter-spacing:-.035em;line-height:1.3;text-wrap:balance}
.tp-support p{max-width:56ch;margin:0;color:#e8cfd5;line-height:1.75;font-size:.95rem}
.tp-support-actions{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1rem;flex-shrink:0}
.tp a:focus-visible,.tp summary:focus-visible{outline:3px solid #bd853b;outline-offset:4px}
@media(min-width:768px){
	.tp-hero{grid-template-columns:1.05fr 1fr}
	.tp-copy{padding:2.4rem}
	.tp-visual img{aspect-ratio:auto}
	.tp-sec{padding:4rem 0}
	.tp-story{display:grid;grid-template-columns:1fr 2fr;gap:3rem}
	.tp-story .tp-head{align-self:start;position:sticky;top:6rem}
	.tp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
	.tp-articles{grid-template-columns:repeat(3,minmax(0,1fr))}
	.tp-support{flex-direction:row;align-items:center;justify-content:space-between;padding:2.5rem}
}
@media(min-width:1200px){
	.tp-copy{padding:3rem}
	.tp-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:375px){
	.tp-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:575px){
	.tp-table{min-width:0;font-size:.8rem}
	.tp-table .tp-opt{display:none}
	.tp-price-body{padding:.8rem}
}
@media(prefers-reduced-motion:reduce){
	html:has(.topic-page){scroll-behavior:auto}
	.tp-card,.tp-plus{transition:none}
	.tp-card:hover{transform:none}
}
