/* ペットリノ — コンポーネントのスタイル。値はすべて tokens.css の変数から取る。 */
.pr-root{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}
.pr-root *,.pr-root *::before,.pr-root *::after{box-sizing:border-box}
.pr-preview{padding:var(--space-5)}
.pr-root a{color:var(--accent-strong);text-underline-offset:3px}
.pr-root a:hover{color:var(--accent-deep)}
.pr-root :focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.pr-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.pr-icon{width:24px;height:24px;flex:none;fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.pr-icon--accent{stroke:var(--accent)}
.pr-photo{display:grid;place-items:center;aspect-ratio:3/2;width:100%;background:var(--accent-soft);border-radius:var(--radius-md);color:var(--ink);font-size:12px;line-height:1.5;text-align:center;padding:var(--space-2);object-fit:cover}
.pr-meta{font-size:12px;line-height:1.7;color:var(--ink-soft)}

/* Button */
.pr-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-5);border:0;border-radius:var(--radius-pill);background:var(--accent-strong);color:var(--paper-raised);font-family:var(--font-maru);font-weight:700;font-size:15px;line-height:1.4;text-decoration:none;cursor:pointer}
.pr-root a.pr-btn{color:var(--paper-raised)}
.pr-btn:hover,.pr-root a.pr-btn:hover{background:var(--accent-deep);color:var(--paper-raised)}
.pr-btn--secondary,.pr-root a.pr-btn--secondary{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.pr-btn--secondary:hover,.pr-root a.pr-btn--secondary:hover{background:var(--accent-soft);color:var(--ink)}
.pr-btn--small{min-height:40px;padding:0 var(--space-4);font-size:14px}

/* CategoryTag */
.pr-tag{display:inline-flex;align-items:center;gap:6px;padding:1px 10px 1px 8px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--ink);font-family:var(--font-maru);font-weight:700;font-size:12px;line-height:1.7;letter-spacing:.04em;text-decoration:none;white-space:nowrap}
.pr-root a.pr-tag{color:var(--ink)}
.pr-tag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.pr-tag--dog,.pr-root a.pr-tag--dog{background:var(--tag-dog-soft);color:var(--tag-dog-deep)}
.pr-tag--dog::before{background:var(--tag-dog)}
.pr-tag--cat,.pr-root a.pr-tag--cat{background:var(--tag-cat-soft);color:var(--tag-cat-deep)}
.pr-tag--cat::before{background:var(--tag-cat)}
.pr-tag--cost,.pr-root a.pr-tag--cost{background:var(--tag-cost-soft);color:var(--tag-cost)}
.pr-tag--cost::before{background:var(--tag-cost)}

/* SectionHeading */
.pr-heading{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-5)}
.pr-heading__title{margin:0;font-family:var(--font-maru);font-weight:700;font-size:23px;line-height:1.5}
.pr-heading__rule{flex:1;height:1px;background:var(--line);margin-left:var(--space-2)}
.pr-heading__more{font-size:14px;white-space:nowrap}

/* Breadcrumb */
.pr-crumbs{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none;font-size:12px;line-height:1.7;color:var(--ink-soft)}
.pr-crumbs li+li::before{content:"／";margin:0 var(--space-1);color:var(--ink-soft)}
.pr-crumbs [aria-current]{color:var(--ink)}

/* SearchBox */
.pr-search{display:flex;align-items:center;gap:var(--space-2);max-width:480px;min-height:52px;padding:0 6px 0 var(--space-4);background:var(--paper-raised);border:1.5px solid var(--ink-soft);border-radius:var(--radius-pill)}
.pr-search:focus-within{border-color:var(--ink)}
.pr-search input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:16px;color:var(--ink);outline:0}
.pr-search input::placeholder{color:var(--ink-soft)}

/* Prose */
.pr-prose{max-width:var(--measure)}
.pr-prose h1{margin:var(--space-2) 0;font-family:var(--font-maru);font-weight:700;font-size:30px;line-height:1.5}
.pr-prose h2{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-7) 0 var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--line);font-family:var(--font-maru);font-weight:700;font-size:23px;line-height:1.5}
.pr-prose h3{margin:var(--space-6) 0 var(--space-3);font-family:var(--font-maru);font-weight:700;font-size:18px;line-height:1.6}
.pr-prose p{margin:0 0 var(--space-5)}
.pr-prose ul{margin:0 0 var(--space-5);padding:0;list-style:none}
.pr-prose ul li{position:relative;padding-left:var(--space-5);margin-bottom:var(--space-2)}
.pr-prose ul li::before{content:"";position:absolute;left:6px;top:.8em;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.pr-prose strong{font-weight:700;background:linear-gradient(transparent 62%,var(--accent-soft) 62%)}

/* Toc */
.pr-toc{max-width:var(--measure);padding:var(--space-5);background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-md)}
.pr-toc__label{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font-family:var(--font-maru);font-weight:700;font-size:15px}
.pr-toc ol{margin:0;padding:0;list-style:none;counter-reset:toc}
.pr-toc li{counter-increment:toc;display:flex;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--line);font-size:15px;line-height:1.7}
.pr-toc li::before{content:counter(toc,decimal-leading-zero);font-family:var(--font-maru);font-weight:700;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.pr-toc a{color:var(--ink);text-decoration:none}
.pr-toc a:hover{text-decoration:underline}

/* CostTable */
.pr-cost{max-width:var(--measure);margin:0}
.pr-cost__hint{display:none;margin:0 0 var(--space-2);font-size:12px;color:var(--ink-soft);text-align:center}
.pr-cost__scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-raised)}
.pr-cost table{width:100%;min-width:560px;border-collapse:collapse;font-size:15px;line-height:1.6}
.pr-cost th,.pr-cost td{padding:var(--space-3) var(--space-4);text-align:right;border-top:1px solid var(--line);white-space:nowrap}
.pr-cost thead th{border-top:0;background:var(--accent-soft);font-family:var(--font-maru);font-weight:700;font-size:13px}
.pr-cost th:first-child{text-align:left;position:sticky;left:0;background:var(--paper-raised);font-weight:500}
.pr-cost thead th:first-child{background:var(--accent-soft)}
.pr-cost td{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.pr-cost tfoot th,.pr-cost tfoot td{font-family:var(--font-maru);font-weight:700;font-size:17px;border-top:2px solid var(--ink)}
.pr-cost figcaption{margin-top:var(--space-2);font-size:12px;color:var(--ink-soft)}
@media (max-width:640px){.pr-cost__hint{display:block}}
.pr-cost--narrow .pr-cost__hint{display:block}

/* RecommendBox */
.pr-reco{max-width:var(--measure);padding:var(--space-5);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg)}
.pr-reco__label{display:inline-flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);font-family:var(--font-maru);font-weight:700;font-size:13px;letter-spacing:.04em}
.pr-reco__title{margin:0 0 var(--space-2);font-family:var(--font-maru);font-weight:700;font-size:18px;line-height:1.6}
.pr-reco__text{margin:0 0 var(--space-4);font-size:14px;line-height:1.8}
.pr-reco__foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}
.pr-reco__pr{font-size:12px;color:var(--ink-soft)}

/* ProductPickup */
.pr-pickup{max-width:var(--measure);padding-top:var(--space-5);border-top:2px solid var(--ink)}
.pr-pickup__title{margin:0 0 var(--space-2);font-family:var(--font-maru);font-weight:700;font-size:18px}
.pr-pickup ul{margin:0;padding:0;list-style:none}
.pr-pickup li{display:grid;grid-template-columns:72px 1fr auto;gap:var(--space-4);align-items:center;padding:var(--space-4) 0;border-bottom:1px solid var(--line)}
.pr-pickup .pr-photo{aspect-ratio:1/1;font-size:11px}
.pr-pickup__name{margin:0;font-weight:700;font-size:15px;line-height:1.6}
.pr-pickup__note{margin:0;font-size:13px;line-height:1.7;color:var(--ink-soft)}
.pr-pickup__links{display:flex;flex-direction:column;gap:2px;font-size:14px;text-align:right}

/* QaAccordion */
.pr-qa{max-width:var(--measure);background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:0 var(--space-5)}
.pr-qa details+details{border-top:1px solid var(--line)}
.pr-qa summary{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) 0;cursor:pointer;list-style:none}
.pr-qa summary::-webkit-details-marker{display:none}
.pr-qa summary::before{content:"Q";font-family:var(--font-maru);font-weight:700;font-size:18px;line-height:1.6;color:var(--accent-strong)}
.pr-qa summary::after{content:"";flex:none;width:9px;height:9px;margin:9px 4px 0 auto;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg)}
.pr-qa details[open] summary::after{transform:rotate(-135deg);margin-top:13px}
.pr-qa h3{margin:0;font-family:var(--font-maru);font-weight:700;font-size:16px;line-height:1.8}
.pr-qa__a{margin:0;padding:0 var(--space-6) var(--space-5) 30px;font-size:15px;line-height:1.9}

/* SupervisorCredit */
.pr-credit{display:grid;grid-template-columns:72px 1fr;gap:var(--space-4);max-width:var(--measure);padding:var(--space-5);background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg)}
.pr-credit__face{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--accent-soft)}
.pr-credit__face .pr-icon{width:36px;height:36px}
.pr-credit__label{margin:0;font-family:var(--font-maru);font-weight:700;font-size:12px;letter-spacing:.04em;color:var(--ink-soft)}
.pr-credit__name{margin:0;font-family:var(--font-maru);font-weight:700;font-size:17px;line-height:1.6}
.pr-credit__text{margin:var(--space-1) 0 0;font-size:14px;line-height:1.8}

/* ArticleCard */
.pr-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-6) var(--space-5)}
.pr-card,.pr-root a.pr-card{display:block;color:var(--ink);text-decoration:none}
.pr-card__body{display:block;padding-top:var(--space-3)}
.pr-card__title{display:block;margin:var(--space-2) 0 var(--space-1);font-family:var(--font-maru);font-weight:700;font-size:17px;line-height:1.6}
.pr-card:hover .pr-card__title{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}
.pr-card--row,.pr-root a.pr-card--row{display:grid;grid-template-columns:112px 1fr;gap:var(--space-4);align-items:start}
.pr-card--row .pr-card__body{padding-top:0}
.pr-card--row .pr-card__title{font-size:15px}

/* CategoryCard */
.pr-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-3)}
.pr-cat,.pr-root a.pr-cat{display:flex;align-items:center;gap:14px;min-width:0;padding:14px 18px 14px 14px;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink);text-decoration:none;transition:background-color .15s,border-color .15s,transform .15s,box-shadow .15s}
.pr-cat__disc{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--accent-soft)}
.pr-cat__disc .pr-icon{width:30px;height:30px}
.pr-cat--dog .pr-cat__disc{background:var(--tag-dog-soft)}.pr-cat--cat .pr-cat__disc{background:var(--tag-cat-soft)}.pr-cat--cost .pr-cat__disc{background:var(--tag-cost-soft)}
.pr-cat__text{min-width:0}
.pr-cat__name{display:block;font-family:var(--font-maru);font-weight:700;font-size:16px;line-height:1.5}
.pr-cat__desc{display:block;font-size:12px;line-height:1.6;color:var(--ink-soft)}
.pr-cat:hover,.pr-cat:focus-visible{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 0 -3px var(--line)}
.pr-cat:active{transform:translateY(0);box-shadow:none}

/* PointsBox */
.pr-points{max-width:var(--measure);padding:var(--space-5);background:var(--accent-soft);border-radius:var(--radius-lg)}
.pr-points__label{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font-family:var(--font-maru);font-weight:700;font-size:15px;line-height:1.6}
.pr-points__grid{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.pr-points__item{flex:1 1 200px;min-width:0;padding:12px 16px;background:var(--paper-raised);border-radius:var(--radius-md)}
.pr-points__k{display:block;font-size:12px;line-height:1.6;color:var(--ink-soft)}
.pr-points__v{display:block;font-family:var(--font-maru);font-weight:700;font-size:18px;line-height:1.5}

/* StatTile */
.pr-stats{display:flex;flex-wrap:wrap;gap:var(--space-3);max-width:var(--measure)}
.pr-stat{flex:1 1 200px;min-width:0;padding:18px 20px;background:var(--paper);border-radius:var(--radius-lg)}
.pr-stat__label{margin:0;font-family:var(--font-maru);font-weight:700;font-size:13px;color:var(--ink-soft)}
.pr-stat__num{margin:2px 0;font-family:var(--font-maru);font-weight:700;font-size:30px;line-height:1.3;font-variant-numeric:tabular-nums}
.pr-stat__unit{margin-left:2px;font-size:16px}
.pr-stat__note{margin:0;font-size:12px;line-height:1.6;color:var(--ink-soft)}

/* SourceNote */
.pr-source{max-width:var(--measure);padding-top:var(--space-4);border-top:1px solid var(--line);font-size:12px;line-height:1.7;color:var(--ink-soft)}
.pr-source__label{margin:0 0 4px;font-family:var(--font-maru);font-weight:700}
.pr-source ul{margin:0;padding-left:18px}
.pr-source__note{margin:var(--space-2) 0 0}

/* Page ground */
.pr-pawbg{background-color:var(--paper);background-image:url(/assets/pawbg.svg);background-size:420px 420px}
.pr-btn{transition:background-color .15s,transform .15s}.pr-btn:active{transform:scale(.97)}

/* FeatureBlock */
.pr-feature{display:grid;grid-template-columns:1.55fr 1fr;gap:var(--space-6);align-items:start}
.pr-feature__main,.pr-root a.pr-feature__main{display:block;color:var(--ink);text-decoration:none}
.pr-feature__main .pr-photo{aspect-ratio:16/10;border-radius:var(--radius-xl) var(--radius-lg) var(--radius-lg) var(--radius-lg)}
.pr-feature__title{display:block;margin:var(--space-3) 0 var(--space-2);font-family:var(--font-maru);font-weight:700;font-size:26px;line-height:1.5}
.pr-feature__lead{display:block;font-size:14px;line-height:1.8}
.pr-feature__side{display:grid;gap:0}
.pr-feature__side .pr-card--row{padding:var(--space-4) 0;border-top:1px solid var(--line)}
.pr-feature__side .pr-card--row:first-child{padding-top:0;border-top:0}
@media (max-width:720px){.pr-feature{grid-template-columns:1fr}}

/* Hero */
.pr-hero{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--space-7);align-items:center;max-width:var(--page-max);margin:0 auto}
.pr-hero__catch{margin:0 0 var(--space-4);font-family:var(--font-maru);font-weight:700;font-size:40px;line-height:1.4;letter-spacing:.02em}
.pr-hero__lead{margin:0 0 var(--space-5);font-size:15px;line-height:1.9}
.pr-hero .pr-photo{aspect-ratio:4/3;border-radius:var(--radius-xl) var(--radius-lg) var(--radius-lg) var(--radius-lg)}
@media (max-width:720px){.pr-hero{grid-template-columns:1fr;gap:var(--space-5)}.pr-hero__catch{font-size:30px}}

/* SiteHeader */
.pr-header{display:flex;align-items:center;gap:var(--space-6);max-width:var(--page-max);margin:0 auto;padding:var(--space-4) 0;border-bottom:1px solid var(--line)}
.pr-header__name,.pr-root a.pr-header__name{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-maru);font-weight:700;font-size:22px;letter-spacing:.06em;color:var(--ink);text-decoration:none}
.pr-header nav{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-5);margin-left:auto;font-family:var(--font-maru);font-weight:700;font-size:14px}
.pr-header nav a{color:var(--ink);text-decoration:none;padding:var(--space-2) 0}
.pr-header nav a:hover{box-shadow:inset 0 -2px 0 var(--accent)}

/* SiteFooter */
.pr-footer{max-width:var(--page-max);margin:0 auto;padding:var(--space-6) 0 var(--space-5);border-top:2px solid var(--ink);font-size:14px;line-height:1.8}
.pr-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--space-6)}
.pr-footer__name{margin:0 0 var(--space-2);font-family:var(--font-maru);font-weight:700;font-size:18px;letter-spacing:.06em}
.pr-footer h2{margin:0 0 var(--space-2);font-family:var(--font-maru);font-weight:700;font-size:13px;letter-spacing:.04em;color:var(--ink-soft)}
.pr-footer p{margin:0}
.pr-footer ul{margin:0;padding:0;list-style:none}
.pr-footer a{color:var(--ink);text-decoration:none}
.pr-footer a:hover{text-decoration:underline}
.pr-footer .pr-footer__note{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line);font-size:12px;color:var(--ink-soft)}
@media (max-width:720px){.pr-footer__grid{grid-template-columns:1fr}}

/* ペットリノ site.css — tokens (data/tokens.json) + layout + page styles.
   Component styles live in bundle-base.css (design-system bundle, pr- classes). */

:root{
  --paper:#FAF6EF; --paper-raised:#FFFFFF; --ink:#2E2A24; --ink-soft:#78705F; --line:#E7DFD0;
  --accent:#B2823C; --accent-strong:#8A6226; --accent-deep:#6F4E1E; --accent-soft:#F2E6CC;
  --tag-dog:#C06A4C; --tag-dog-soft:#F6E3DB; --tag-dog-deep:#9A4A30;
  --tag-cat:#6E8268; --tag-cat-soft:#E4EBE1; --tag-cat-deep:#4F6349;
  --tag-cost:#39495C; --tag-cost-soft:#E1E6EC;
  --font-maru:"Zen Maru Gothic","Hiragino Maru Gothic ProN",sans-serif;
  --font-sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px; --space-6:32px; --space-7:48px; --space-8:72px;
  --radius-sm:4px; --radius-md:8px; --radius-lg:14px; --radius-xl:96px; --radius-pill:999px;
  --page-max:1120px; --measure:720px;
}

html{scroll-behavior:smooth}
body.pr-root{margin:0}
.pr-wrap{max-width:var(--page-max);margin:0 auto;padding:0 var(--space-5)}
@media (max-width:640px){.pr-wrap{padding:0 var(--space-4)}}
.pr-main{max-width:var(--page-max);margin:0 auto;padding:var(--space-7) var(--space-5) 80px;display:flex;flex-direction:column;gap:var(--space-8)}
@media (max-width:640px){.pr-main{padding:var(--space-6) var(--space-4) 64px;gap:var(--space-7)}}
.pr-main--article{max-width:var(--page-max)}

/* Header */
.pr-header-wrap{border-bottom:1px solid var(--line)}
.pr-header{border-bottom:0;padding-left:var(--space-5);padding-right:var(--space-5)}
.pr-header__mark{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--accent-soft)}
.pr-header__mark img{display:block}
.pr-header nav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--accent);color:var(--accent-strong)}
@media (max-width:820px){
  .pr-header{flex-wrap:wrap;gap:var(--space-3) var(--space-4);padding-top:var(--space-3);padding-bottom:0}
  .pr-header nav{order:3;flex-wrap:nowrap;overflow-x:auto;width:100%;margin-left:0;padding-bottom:var(--space-2);-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .pr-header nav::-webkit-scrollbar{display:none}
  .pr-header nav a{white-space:nowrap;padding:var(--space-2) 2px}
}

/* Hero */
.pr-hero__eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);padding:2px 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--paper-raised);font-family:var(--font-maru);font-weight:700;font-size:12px;letter-spacing:.04em;color:var(--accent-strong)}
.pr-hero__words{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-4);font-size:12px;color:var(--ink-soft)}
.pr-hero__words button{font:inherit;font-size:12.5px;padding:3px 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--paper-raised);color:var(--ink);cursor:pointer;transition:background-color .15s,border-color .15s}
.pr-hero__words button:hover{background:var(--accent-soft);border-color:var(--accent)}
.pr-hero figure{margin:0}
.pr-hero__img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-xl) var(--radius-lg) var(--radius-lg) var(--radius-lg)}
.pr-search{position:relative}
.pr-search__results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:30;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-2);max-height:60vh;overflow:auto}
.pr-search__results a{display:block;padding:10px 12px;border-radius:var(--radius-md);color:var(--ink);text-decoration:none}
.pr-search__results a:hover,.pr-search__results a:focus-visible{background:var(--accent-soft)}
.pr-search__results .pr-search__t{display:block;font-weight:700;font-size:14.5px;line-height:1.6}
.pr-search__results .pr-search__l{display:block;font-size:12.5px;line-height:1.7;color:var(--ink-soft)}
.pr-search__none{padding:12px;font-size:13.5px;color:var(--ink-soft)}

/* Cards with real photos */
.pr-thumb{display:block;overflow:hidden;border-radius:var(--radius-md);background:var(--accent-soft)}
.pr-thumb img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}
a.pr-card:hover .pr-thumb img,a.pr-card:focus-visible .pr-thumb img{transform:scale(1.04)}
.pr-card--row .pr-thumb img{aspect-ratio:4/3}
.pr-feature__main .pr-thumb{border-radius:var(--radius-xl) var(--radius-lg) var(--radius-lg) var(--radius-lg)}
.pr-feature__main .pr-thumb img{aspect-ratio:16/10}
a.pr-feature__main:hover .pr-thumb img{transform:scale(1.04)}
a.pr-feature__main:hover .pr-feature__title{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}
.pr-card__date{display:block;font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums}

/* Ranking */
.pr-rank{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-6) var(--space-5);margin:0;padding:0;list-style:none}
.pr-rank__item{position:relative}
.pr-rank__no{position:absolute;top:-10px;left:-6px;z-index:2;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--paper-raised);font-family:var(--font-maru);font-weight:700;font-size:15px;font-variant-numeric:tabular-nums}
.pr-rank__item:nth-child(1) .pr-rank__no{background:var(--accent-strong)}
.pr-ranklist{margin:var(--space-6) 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.pr-ranklist li{display:flex;gap:var(--space-3);align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.pr-ranklist .pr-ranklist__no{flex:none;width:26px;font-family:var(--font-maru);font-weight:700;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.pr-ranklist a{color:var(--ink);text-decoration:none}
.pr-ranklist a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}

/* QA chips on home */
.pr-qalist{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.pr-qalist li{display:flex;align-items:center;gap:var(--space-3);padding:12px 0;border-bottom:1px solid var(--line)}
.pr-qalist .pr-qalist__q{flex:1;font-weight:500;font-size:15px;line-height:1.7}
.pr-qalist .pr-qalist__q::before{content:"Q";margin-right:var(--space-2);font-family:var(--font-maru);font-weight:700;color:var(--accent-strong)}
.pr-qa__more{margin:0;padding:0 var(--space-6) var(--space-5) 30px;font-size:14px}
.pr-qa__note{max-width:var(--measure);margin-top:var(--space-4);font-size:12.5px;line-height:1.8;color:var(--ink-soft)}
.pr-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-5);padding:0;list-style:none}

/* Area */
.pr-area__lead{font-size:15.5px;line-height:1.9;max-width:var(--measure)}
.pr-prefs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}
.pr-prefs li{padding:6px 16px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--paper-raised);font-family:var(--font-maru);font-weight:700;font-size:14px}
.pr-facilities{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-5)}
.pr-facility{padding:var(--space-5);background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg)}
.pr-facility h3{margin:0 0 var(--space-2);font-family:var(--font-maru);font-weight:700;font-size:17px}
.pr-facility p{margin:0;font-size:13.5px;line-height:1.8;color:var(--ink-soft)}
.pr-facility .pr-facility__soon{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line);font-size:13px;color:var(--ink)}
.pr-regions{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-3)}

/* Article page */
.pr-article{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-5) var(--space-7)}
@media (max-width:640px){.pr-article{padding:var(--space-5) var(--space-4) var(--space-6)}}
.pr-article__inner{max-width:var(--measure);margin:0 auto}
.pr-article__hero{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-xl) var(--radius-lg) var(--radius-lg) var(--radius-lg);margin-top:var(--space-5)}
.pr-article__lead{margin:var(--space-5) 0 0;font-size:16.5px;line-height:1.95}
.pr-article__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}
.pr-points{margin-top:var(--space-6)}
.pr-toc{margin-top:var(--space-6)}
.pr-prose{margin-top:var(--space-5)}
.pr-prose h2 .pr-h2icon{flex:none;display:block}
.pr-prose figure{margin:0 0 var(--space-5)}
.pr-prose figure img{display:block;width:100%;border-radius:var(--radius-md)}
.pr-prose figcaption{margin-top:var(--space-2);font-size:12px;line-height:1.7;color:var(--ink-soft)}
.pr-summary{max-width:var(--measure);margin-top:var(--space-7)}
.pr-summary ul{margin:0;padding:var(--space-5);list-style:none;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg)}
.pr-summary li{position:relative;padding-left:var(--space-5);margin-bottom:var(--space-2);line-height:1.8}
.pr-summary li:last-child{margin-bottom:0}
.pr-summary li::before{content:"";position:absolute;left:6px;top:.75em;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.pr-summary__note{margin-top:var(--space-4);line-height:1.9}
.pr-credit{margin-top:var(--space-6)}
.pr-related{margin-top:var(--space-8)}
.pr-source{margin-top:var(--space-6)}

/* Table overrides (SPEC: center column numeric -> right + bold, otherwise left) */
.pr-cost th,.pr-cost td{text-align:left;white-space:normal}
.pr-cost thead th{white-space:nowrap}
.pr-cost td:first-child,.pr-cost th:first-child{white-space:nowrap}
.pr-cost--num td:nth-child(2){text-align:right;font-weight:700;white-space:nowrap}
.pr-cost--num thead th:nth-child(2){text-align:right}
.pr-cost tfoot th,.pr-cost tfoot td{font-size:15.5px}
.pr-cost tfoot td:nth-child(2){text-align:right}
.pr-cost--num tfoot td:nth-child(2){text-align:right}

/* Mini cards (hand-built article, section 1) */
.pr-minicards{display:flex;flex-wrap:wrap;gap:var(--space-3);max-width:var(--measure);margin:0 0 var(--space-5)}
.pr-minicard{flex:1 1 180px;min-width:0;padding:20px var(--space-4);background:var(--paper);border-radius:var(--radius-lg);text-align:center}
.pr-minicard__disc{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--paper-raised)}
.pr-minicard__label{margin:var(--space-2) 0 2px;font-family:var(--font-maru);font-weight:700;font-size:16px}
.pr-minicard__text{margin:0;font-size:13px;line-height:1.7;color:var(--ink-soft)}

/* Stats caption */
.pr-stats-wrap{max-width:var(--measure)}
.pr-stats__caption{margin-top:var(--space-2);font-size:12px;line-height:1.7;color:var(--ink-soft)}

/* Product pickup links */
.pr-pickup__links a{padding:6px 0}

/* Info pages */
.pr-info{max-width:var(--measure)}
.pr-info h2{margin:var(--space-7) 0 var(--space-3);font-family:var(--font-maru);font-weight:700;font-size:20px;line-height:1.5}
.pr-info h2:first-of-type{margin-top:var(--space-6)}
.pr-info p{margin:0 0 var(--space-4);line-height:1.9}
.pr-info ul{margin:0 0 var(--space-4);padding-left:20px;line-height:1.9}
.pr-info dl{display:grid;grid-template-columns:110px 1fr;gap:var(--space-2) var(--space-4);margin:0 0 var(--space-4)}
.pr-info dt{font-family:var(--font-maru);font-weight:700}
.pr-info dd{margin:0}

/* Category page */
.pr-cathead{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-6);align-items:center;margin-bottom:var(--space-6)}
.pr-cathead figure{margin:0}
.pr-cathead__img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-xl) var(--radius-lg) var(--radius-lg) var(--radius-lg)}
@media (max-width:720px){.pr-cathead{grid-template-columns:1fr}}
.pr-catchips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-6);padding:0;list-style:none}
.pr-catchips a{display:inline-block;padding:5px 14px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--paper-raised);color:var(--ink);font-family:var(--font-maru);font-weight:700;font-size:13px;text-decoration:none;transition:background-color .15s,border-color .15s}
.pr-catchips a:hover{background:var(--accent-soft);border-color:var(--accent)}
.pr-catchips a[aria-current="page"]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}

/* 404 */
.pr-404{text-align:center;padding:var(--space-8) 0}
.pr-404 h1{font-family:var(--font-maru);font-weight:700;font-size:26px;margin:0 0 var(--space-4)}

/* Footer */
.pr-footer__grid nav ul{display:grid;gap:2px}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none !important;animation:none !important}
  .pr-thumb img{transform:none !important}
}
