
:root { color-scheme: light; --ink:#111111; --muted:#66615a; --line:#ded8cc; --bg:#f5f1e8; --card:#fffdf7; --accent:#111111; --accent2:#9b6a2f; --soft:#f1f1f1; --paper:#fffaf0; --shadow:0 18px 52px rgba(17, 17, 17, .09); --display:"Gelasio", Georgia, "Hiragino Mincho ProN", "Yu Mincho", serif; --body:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", sans-serif; --mono:"Ubuntu Mono", "SFMono-Regular", ui-monospace, monospace; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--body); color: var(--ink); background:
  linear-gradient(90deg, rgba(17,17,17,.025) 1px, transparent 1px) 0 0 / 64px 64px,
  linear-gradient(180deg, #fbf8f0 0%, var(--bg) 52%, #eee6d9 100%); line-height: 1.85; }
h1, h2, h3, strong, .offer-name { line-break:strict; word-break:auto-phrase; }
body.home { background:
  radial-gradient(circle at 18% 12%, rgba(59,130,246,.12), transparent 28%),
  radial-gradient(circle at 82% 10%, rgba(139,92,246,.12), transparent 30%),
  linear-gradient(180deg, #fbfcff 0%, #f7f3ea 62%, #eee6d9 100%); }
a { color: var(--accent); }
.site-header { position: sticky; top:0; z-index:5; display:flex; gap:24px; justify-content:space-between; align-items:center; padding:14px clamp(18px, 4vw, 42px); border-bottom:1px solid rgba(17,17,17,.12); background:rgba(255,250,240,.86); backdrop-filter: blur(18px); }
.brand { display:flex; flex-direction:column; line-height:1.05; font-family:var(--display); font-weight:900; text-decoration:none; color:var(--ink); letter-spacing:-.04em; font-size:20px; }
.brand small { font-family:var(--mono); color:var(--accent2); font-size:10px; letter-spacing:.12em; text-transform:uppercase; margin-top:5px; }
nav { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; font-size:13px; }
nav a { position:relative; display:inline-flex; align-items:center; min-height:34px; padding:6px 10px; border:1px solid transparent; border-radius:999px; text-decoration:none; color:var(--muted); font-weight:900; white-space:nowrap; transition:background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
nav a:hover { background:rgba(59,130,246,.08); border-color:rgba(59,130,246,.16); color:#111827; transform:translateY(-1px); }
nav a[aria-current="page"] { color:#111827; background:#fff; border-color:rgba(59,130,246,.24); box-shadow:0 10px 28px rgba(59,130,246,.1); }
nav a[aria-current="page"] span { background:linear-gradient(100deg, #111827, #2563eb); -webkit-background-clip:text; background-clip:text; color:transparent; }
main { width:min(1120px, calc(100% - 24px)); margin:0 auto 44px; }
.hero { display:grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); gap:30px; align-items:center; min-height:550px; padding:56px 0 28px; border-bottom:2px solid var(--ink); }
.home .hero { min-height:590px; padding:62px 0 34px; border-bottom:0; }
.hero-copy { animation:none; }
.eyebrow, .section-kicker { font-family:var(--mono); color:var(--accent2); font-size:13px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.home .eyebrow, .home .section-kicker { color:#3B82F6; }
.hero h1 { max-width:650px; font-family:var(--display); font-size: clamp(46px, 5.25vw, 72px); line-height:.98; letter-spacing:-.065em; margin:18px 0 18px; color:var(--ink); font-weight:900; text-shadow:0 0 0 #111; }
.home .hero h1 { max-width:670px; font-size:clamp(50px, 6vw, 82px); letter-spacing:-.075em; }
.hero h1 span { display:block; }
.hero h1 span:last-child { background:linear-gradient(105deg, #111 0%, #111 54%, #9b6a2f 120%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.home .hero h1 span:last-child { background:linear-gradient(100deg, #111827 0%, #3B82F6 46%, #8B5CF6 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero p { max-width:620px; color:#171717; font-size:17px; line-height:1.95; font-weight:650; }
.home .hero p { max-width:590px; color:#1f2937; font-size:16.5px; line-height:1.9; font-weight:720; }
.home .hero-lead strong { color:#1e3a8a; font-weight:900; }
.hero-meta { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:18px; color:#3d3933; font-family:var(--mono); font-size:12px; font-weight:900; letter-spacing:.03em; }
.hero-meta span { padding-top:8px; border-top:1px solid rgba(17,17,17,.22); }
.hero-topic-row { display:inline-flex; align-items:center; gap:12px; margin-top:18px; padding:10px 12px; border:1px solid rgba(17,17,17,.16); background:rgba(255,253,247,.78); }
.home .hero-topic-row { border-color:rgba(59,130,246,.2); background:rgba(255,255,255,.74); box-shadow:0 14px 36px rgba(59,130,246,.08); backdrop-filter:blur(14px); }
.hero-topic-row span { color:var(--accent2); font-family:var(--mono); font-size:12px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.home .hero-topic-row span { color:#3B82F6; }
.hero-topic-row b { font-size:14px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }
.button { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:11px 18px; border-radius:999px; background:var(--accent); color:#fff; text-decoration:none; font-weight:900; overflow:hidden; box-shadow:0 12px 32px rgba(17,17,17,.16); transition: transform .22s ease, box-shadow .22s ease; }
.home .button { border-radius:999px; background:linear-gradient(100deg, #111827, #2563eb); box-shadow:0 18px 46px rgba(37,99,235,.2); }
.button::before { content:""; position:absolute; inset:0; background:linear-gradient(110deg, transparent 0%, rgba(255,255,255,.25) 45%, transparent 62%); transform:translateX(-120%); transition:transform .75s ease; }
.button:hover { transform:translateY(-2px); box-shadow:0 18px 40px rgba(17,17,17,.2); }
.button:hover::before { transform:translateX(120%); }
.button-secondary { background:transparent; color:var(--accent); border:1px solid rgba(17,17,17,.28); box-shadow:none; }
.home .hero-actions .button-secondary { color:#fff; }
.hero-showcase { display:grid; gap:14px; align-self:stretch; }
.hero-feature-card { position:relative; display:flex; min-height:330px; flex-direction:column; justify-content:space-between; padding:22px; border:1px solid rgba(17,17,17,.2); background:#111; color:#fff; text-decoration:none; overflow:hidden; box-shadow:var(--shadow); }
.home .hero-feature-card { min-height:370px; padding:24px; border:1px solid rgba(59,130,246,.18); border-radius:28px; background:linear-gradient(145deg, rgba(255,255,255,.94), rgba(239,246,255,.88)); color:#111827; box-shadow:0 28px 80px rgba(59,130,246,.18); }
.hero-feature-card::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 82% 22%, rgba(241,205,141,.2), transparent 28%); pointer-events:none; }
.home .hero-feature-card::before { background:
  radial-gradient(circle at 78% 12%, rgba(139,92,246,.24), transparent 24%),
  radial-gradient(circle at 14% 86%, rgba(59,130,246,.22), transparent 28%); }
.hero-feature-card > * { position:relative; z-index:1; }
.hero-feature-card span { color:#f1cd8d; font-family:var(--mono); font-size:12px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.home .hero-feature-card span { color:#3B82F6; }
.hero-feature-card strong { display:block; margin:12px 0 8px; font-family:var(--display); font-size:40px; line-height:1; letter-spacing:-.055em; }
.home .hero-feature-card strong { font-size:42px; color:#111827; }
.hero-feature-card p { max-width:330px; color:#fff8e9; font-size:15px; font-weight:850; line-height:1.7; }
.home .hero-feature-card p { color:#374151; }
.home .hero-feature-trend { min-height:440px; gap:12px; justify-content:flex-start; }
.hero-feature-heading strong { margin-bottom:0; font-size:clamp(27px,3vw,38px); line-height:1.08; }
.hero-trend-hook, .hero-why-highlight { width:100%; padding:12px 14px; border-radius:17px; background:rgba(255,255,255,.78); border:1px solid rgba(59,130,246,.15); }
.hero-trend-hook b, .hero-why-highlight b { display:block; margin-bottom:4px; color:#2563eb; font-family:var(--mono); font-size:11px; font-weight:900; letter-spacing:.08em; }
.hero-trend-hook p, .hero-why-highlight p { max-width:none; margin:0; font-size:13px; line-height:1.55; }
.hero-why-highlight { background:linear-gradient(135deg,#eff6ff,#f5f3ff); border-width:2px; }
.hero-why-highlight b { color:#6d28d9; }
.hero-product-focus { display:grid; grid-template-columns:128px minmax(0,1fr); gap:14px; align-items:center; width:100%; margin-top:auto; padding:10px 12px; border-radius:17px; background:#fff; border:1px solid rgba(59,130,246,.14); }
.hero-product-focus img { width:128px; height:104px; object-fit:contain; border-radius:12px; background:#f8fafc; }
.hero-product-focus small { color:#334155; font-family:var(--mono); font-size:11px; font-weight:900; line-height:1.6; }
.hero-related-note { color:#6b7280; font-size:10px; font-weight:800; }
.hero-product-stack { display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-top:16px; }
.hero-product-stack img { width:100%; height:120px; object-fit:contain; padding:10px; background:#fffaf0; border:1px solid rgba(255,255,255,.18); filter:drop-shadow(0 12px 16px rgba(0,0,0,.22)); }
.home .hero-product-stack img { height:128px; border-radius:20px; background:rgba(255,255,255,.86); border-color:rgba(59,130,246,.14); filter:drop-shadow(0 16px 18px rgba(37,99,235,.14)); }
.hero-notes { display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; }
.hero-notes a { display:block; padding:13px; border:1px solid rgba(17,17,17,.16); background:#fffdf7; color:var(--ink); text-decoration:none; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.hero-notes a:hover { transform:translateY(-2px); border-color:rgba(59,130,246,.34); box-shadow:0 18px 42px rgba(59,130,246,.12); }
.home .hero-notes a { border-radius:18px; border-color:rgba(59,130,246,.14); background:rgba(255,255,255,.82); box-shadow:0 14px 36px rgba(17,24,39,.06); }
.hero-notes b { display:block; color:var(--accent2); font-family:var(--mono); font-size:12px; letter-spacing:.12em; }
.home .hero-notes b { color:#8B5CF6; }
.hero-notes span { display:block; margin-top:4px; font-weight:900; font-size:13px; line-height:1.45; }
.hero-panel { position:relative; padding:18px; border:1px solid rgba(17,17,17,.22); border-radius:0; background:
  linear-gradient(145deg, rgba(255,253,247,.96), rgba(245,241,232,.9)),
  repeating-linear-gradient(0deg, rgba(17,17,17,.045) 0 1px, transparent 1px 12px); box-shadow:var(--shadow); animation:none; overflow:hidden; }
.hero-panel::before { content:"選定中"; position:absolute; right:18px; top:16px; z-index:1; font-family:var(--mono); font-size:11px; letter-spacing:.14em; color:var(--accent2); text-transform:uppercase; }
.hero-panel::after { content:""; position:absolute; left:18px; right:18px; bottom:18px; height:1px; background:rgba(17,17,17,.18); }
.score-card { position:relative; padding:24px; border-radius:0; color:#fff; background:#111; min-height:188px; box-shadow:none; }
.score-card span { color:#f1cd8d; font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:.16em; font-weight:900; }
.score-card strong { display:block; margin-top:18px; font-family:var(--display); font-size:36px; line-height:1.08; letter-spacing:-.045em; font-weight:900; }
.score-card p { color:#fff8e9; margin-top:16px; font-size:15px; font-weight:800; }
.mini-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; }
.mini-grid div { padding:14px; border:1px solid rgba(17,17,17,.15); border-radius:0; background:rgba(255,255,255,.68); }
.mini-grid b, .mini-grid small { display:block; }
.mini-grid small { color:var(--muted); }
.trust-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:0 0 40px; border:1px solid rgba(17,17,17,.18); border-left:0; background:rgba(255,250,240,.78); }
.home .trust-strip { margin-top:-4px; border-color:rgba(59,130,246,.14); background:rgba(255,255,255,.66); box-shadow:0 18px 50px rgba(59,130,246,.07); }
.trust-strip span { padding:14px 16px; border-left:1px solid rgba(17,17,17,.18); color:#3d3933; font-weight:800; text-align:center; }
.home .trust-strip span { display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; padding:13px 16px; text-align:left; }
.home .trust-strip b { color:#111827; font-family:var(--display); font-size:17px; line-height:1; letter-spacing:-.03em; }
.home .trust-strip small { color:#3B82F6; font-family:var(--mono); font-size:12px; font-weight:900; letter-spacing:.03em; }
.comparison-index, .page-card { position:relative; padding:28px; border:1px solid rgba(17,17,17,.18); border-radius:0; background:rgba(255,253,247,.9); box-shadow:var(--shadow); overflow:hidden; }
.home .comparison-index { border-color:rgba(59,130,246,.14); border-radius:30px; background:rgba(255,255,255,.76); backdrop-filter:blur(18px); box-shadow:0 26px 80px rgba(17,24,39,.08); }
.page-card::before { content:""; }
.page-card > * { position:relative; }
.home .page-card { display:none; }
.comparison-index h2, .offer-section h2 { margin:8px 0 10px; font-size: clamp(28px, 4vw, 42px); line-height:1.12; letter-spacing:-.05em; }
.section-lead { max-width:880px; color:var(--muted); }
.category-hero { display:block; margin:0 0 20px; padding:28px; border:1px solid rgba(59,130,246,.16); border-radius:28px; background:
  radial-gradient(circle at 82% 12%, rgba(139,92,246,.16), transparent 28%),
  linear-gradient(145deg, rgba(255,255,255,.94), rgba(239,246,255,.86)); color:#111827; box-shadow:0 22px 68px rgba(59,130,246,.12); }
.category-hero h1 { display:block; margin:8px 0 12px; color:#111827; font-size:clamp(42px, 5vw, 62px); line-height:.95; white-space:normal; }
.category-hero h1::after { content:none; }
.category-hero p { max-width:600px; color:#374151; font-size:15.5px; font-weight:760; line-height:1.7; margin:0; }
.category-hero aside { display:flex; flex-direction:column; justify-content:center; padding:18px; border:1px solid rgba(59,130,246,.16); border-radius:22px; background:rgba(255,255,255,.72); }
.category-hero aside span, .category-hero aside small { color:#3B82F6; font-family:var(--mono); font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.category-hero aside strong { display:block; margin:10px 0; color:#111827; font-family:var(--display); font-size:54px; line-height:1; letter-spacing:-.06em; }
.category-comparison-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:14px; margin:0 0 26px; }
.category-comparison-card { display:flex; flex-direction:column; min-height:198px; padding:18px; border:1px solid rgba(59,130,246,.14); border-radius:22px; background:rgba(255,255,255,.82); color:var(--ink); text-decoration:none; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; overflow:hidden; box-shadow:0 14px 42px rgba(17,24,39,.05); }
.category-comparison-card:hover { transform:translateY(-3px); border-color:rgba(17,17,17,.38); box-shadow:0 18px 44px rgba(17,17,17,.1); }
.category-comparison-card span, .category-comparison-card small { color:var(--accent2); font-family:var(--mono); font-size:12px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.category-comparison-card h2 { display:block; margin:12px 0 10px; padding:0; border:0; font-size:clamp(25px, 2.35vw, 31px); line-height:1.08; letter-spacing:-.045em; overflow-wrap:anywhere; }
.category-comparison-card h2::before, .category-comparison-card h2::after { content:none; }
.category-comparison-card p { color:#222; font-weight:780; line-height:1.68; margin:0 0 12px; }
.category-comparison-card small { margin-top:auto; line-height:1.55; }
.category-playbook { display:grid; grid-template-columns:260px minmax(0, 1fr); gap:20px; align-items:start; margin:8px 0 22px; padding:20px; border:1px solid rgba(59,130,246,.14); border-radius:26px; background:rgba(255,255,255,.76); box-shadow:0 18px 54px rgba(17,24,39,.06); }
.category-playbook h2 { display:block; margin:8px 0 8px; padding:0; border:0; font-size:clamp(23px, 2vw, 28px); line-height:1.12; letter-spacing:-.035em; }
.category-next h2 { display:block; margin:8px 0 0; padding:0; border:0; font-size:clamp(28px, 3vw, 38px); line-height:1.05; }
.category-playbook h2::before, .category-playbook h2::after, .category-next h2::before, .category-next h2::after { content:none; }
.category-playbook > div > p { margin:0; color:var(--muted); font-size:13.5px; line-height:1.65; font-weight:750; }
.category-playbook ul { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; margin:0; padding:0; list-style:none; }
.category-playbook li { margin:0; padding:14px; border:1px solid rgba(59,130,246,.12); border-radius:18px; background:linear-gradient(145deg, #ffffff, #f8fbff); }
.category-playbook b { display:block; margin-bottom:7px; font-family:var(--display); font-size:20px; line-height:1.12; letter-spacing:-.04em; }
.category-playbook span { display:block; color:#403b34; font-size:13.5px; line-height:1.68; font-weight:750; }
.category-product-shelf { margin:26px 0 28px; padding:22px; border:1px solid rgba(59,130,246,.14); border-radius:28px; background:linear-gradient(145deg, rgba(255,255,255,.94), rgba(239,246,255,.66)); box-shadow:0 20px 56px rgba(37,99,235,.08); }
.category-product-shelf h2 { display:block; margin:6px 0 8px; padding:0; border:0; font-size:clamp(30px, 4vw, 44px); line-height:1.05; letter-spacing:-.055em; }
.category-product-shelf h2::before, .category-product-shelf h2::after { content:none; }
.category-product-shelf > p { max-width:760px; margin:0 0 16px; color:#4b5563; font-weight:800; line-height:1.8; }
.category-product-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; }
.category-product-card { display:grid; grid-template-columns:148px minmax(0, 1fr); gap:16px; align-items:start; min-height:270px; padding:16px; border:1px solid rgba(59,130,246,.14); border-radius:22px; background:#fff; box-shadow:0 12px 34px rgba(17,24,39,.05); }
.category-product-image { display:block; text-decoration:none; }
.category-product-image .offer-visual { height:118px; margin:0; }
.category-product-signal { display:inline-flex; align-items:center; gap:7px; width:max-content; max-width:100%; margin:0 0 8px; padding:5px 9px; border-radius:999px; background:#f1f5f9; color:#475569; }
.category-product-signal b { font-family:var(--mono); font-size:11px; letter-spacing:.05em; }
.category-product-signal small { display:inline; color:inherit; font-size:10px; font-weight:850; }
.category-product-signal.signal-trending { background:linear-gradient(100deg,#ede9fe,#fdf2f8); color:#6d28d9; border:1px solid rgba(109,40,217,.2); box-shadow:0 6px 18px rgba(109,40,217,.1); }
.category-product-signal.signal-reviews { background:#eff6ff; color:#1d4ed8; }
.category-product-signal.signal-purpose { background:#ecfdf5; color:#047857; }
.not-found-page { min-height:58vh; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.not-found-page h1 { max-width:900px; }
.category-product-card span { display:block; color:var(--accent2); font-family:var(--mono); font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.category-product-card h3 { display:block; margin:7px 0 8px; padding:0; border:0; font-size:20px; line-height:1.2; letter-spacing:-.035em; }
.category-product-card h3::before, .category-product-card h3::after { content:none; }
.category-product-card p { margin:0 0 8px; color:#374151; font-weight:800; line-height:1.6; }
.category-product-intro { font-size:14px; }
.category-trend-reason { margin:10px 0 12px; padding:10px 11px; border:1px solid rgba(109,40,217,.18); border-left:4px solid #7c3aed; border-radius:0 13px 13px 0; background:linear-gradient(135deg,#f5f3ff,#fdf2f8); }
.category-trend-reason b { display:block; margin-bottom:3px; color:#6d28d9; font-family:var(--mono); font-size:11px; letter-spacing:.06em; }
.category-trend-reason p { margin:0; color:#374151; font-size:12px; line-height:1.55; }
.category-trend-reason small { margin-top:5px; color:#6b7280; font-size:10px; }
.category-product-reasons { display:grid; gap:6px; margin:12px 0; }
.category-product-reasons p { display:grid; grid-template-columns:92px minmax(0, 1fr); gap:8px; margin:0; padding:8px 10px; border-radius:12px; background:#f7f9ff; color:#4b5563; font-size:12px; font-weight:700; line-height:1.5; }
.category-product-reasons b { color:#1d4ed8; font-family:var(--mono); font-size:11px; letter-spacing:.03em; }
.category-product-card small { display:block; color:var(--muted); font-family:var(--mono); font-size:12px; line-height:1.45; }
.category-product-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:12px; }
.category-product-actions .button { min-height:38px; padding:8px 13px; font-size:13px; }
.category-guide-link { color:#2563eb; font-weight:900; text-decoration:none; font-size:13px; }
.category-guide-link:hover { text-decoration:underline; }
.home-trend-pulse { margin:18px 0 30px; padding:22px; border:1px solid rgba(59,130,246,.18); border-radius:28px; background:linear-gradient(135deg,rgba(239,246,255,.96),rgba(250,245,255,.94)); box-shadow:0 20px 54px rgba(37,99,235,.08); }
.home-trend-pulse > div:first-child { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:15px; }
.home-trend-pulse > div:first-child span { color:#2563eb; font-family:var(--mono); font-size:12px; font-weight:900; letter-spacing:.1em; }
.home-trend-pulse h2 { margin:0; padding:0; border:0; font-size:clamp(27px,3.5vw,39px); }
.home-trend-pulse h2::before, .home-trend-pulse h2::after { content:none; }
.home-trend-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.home-trend-card { display:grid; grid-template-columns:104px minmax(0,1fr); gap:13px; min-height:230px; padding:14px; border:1px solid rgba(59,130,246,.16); border-radius:20px; background:rgba(255,255,255,.9); color:#111827; text-decoration:none; }
.home-trend-card img { width:104px; height:128px; object-fit:contain; border-radius:13px; background:#f8fafc; }
.home-trend-card span { display:block; color:#2563eb; font-family:var(--mono); font-size:10px; font-weight:900; }
.home-trend-card strong { display:block; margin:6px 0 10px; font-family:var(--display); font-size:19px; line-height:1.22; }
.home-trend-card p { margin:7px 0 0; padding:8px 9px; border-radius:11px; color:#4b5563; font-size:11px; font-weight:750; line-height:1.5; }
.home-trend-card p b { display:block; margin-bottom:3px; color:#1d4ed8; font-family:var(--mono); font-size:10px; letter-spacing:.04em; }
.home-trend-trigger { background:#f8fafc; }
.home-trend-reason { background:#eff6ff; border-left:3px solid #3b82f6; }
.trend-evidence { margin:22px 0 26px; padding:22px; border:1px solid rgba(139,92,246,.2); border-radius:28px; background:linear-gradient(145deg, rgba(248,250,255,.98), rgba(245,243,255,.9)); box-shadow:0 20px 54px rgba(76,29,149,.08); }
.trend-evidence > h2 { display:block; margin:7px 0 8px; padding:0; border:0; font-size:clamp(30px,4vw,43px); letter-spacing:-.055em; }
.trend-evidence > h2::before, .trend-evidence > h2::after { content:none; }
.trend-evidence-lead { margin:0 0 16px; color:#4b5563; font-weight:750; }
.trend-evidence-card { padding:18px; border:1px solid rgba(59,130,246,.16); border-radius:22px; background:rgba(255,255,255,.88); }
.trend-evidence-card + .trend-evidence-card { margin-top:12px; }
.trend-badges { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.trend-badges span, .trend-badges b, .trend-badges small { display:inline-flex; padding:5px 9px; border-radius:999px; background:#eff6ff; color:#1d4ed8; font-family:var(--mono); font-size:11px; font-weight:800; letter-spacing:.04em; }
.trend-badges b { background:#ede9fe; color:#6d28d9; }
.trend-badges small { background:#f3f4f6; color:#6b7280; }
.trend-evidence-card h2 { display:block; margin:12px 0 8px; padding:0; border:0; font-size:clamp(23px,3vw,31px); line-height:1.18; letter-spacing:-.04em; }
.trend-evidence-card h2::before, .trend-evidence-card h2::after { content:none; }
.trend-why { margin:0 0 10px; color:#374151; font-weight:760; line-height:1.75; }
.trend-audience { margin:0 0 14px; color:#111827; }
.trend-audience b { display:inline-block; margin-right:9px; color:#2563eb; }
.trend-product-mini { display:grid; grid-template-columns:132px minmax(0,1fr); gap:16px; align-items:center; padding:14px; border-radius:18px; background:#fff; border:1px solid rgba(59,130,246,.13); }
.trend-product-mini > div { display:grid; place-items:center; height:116px; border-radius:14px; background:#f8fafc; }
.trend-product-mini img { max-width:100%; max-height:108px; object-fit:contain; }
.trend-product-mini p { margin:0; }
.trend-product-mini strong { display:block; font-family:var(--display); font-size:21px; line-height:1.25; }
.trend-product-mini small { display:block; margin-top:8px; color:#6b7280; font-weight:800; }
.trend-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:14px; }
.trend-source-link { color:#2563eb; font-weight:900; }
.trend-disclaimer { display:block; margin-top:12px; color:#6b7280; line-height:1.6; }
.category-next { margin:0 0 6px; padding:20px 0 0; border-top:2px solid rgba(17,17,17,.72); }
.category-next div:last-child { display:flex; flex-wrap:wrap; gap:9px; margin-top:14px; }
.category-next span { display:inline-flex; padding:7px 11px; border:1px solid rgba(17,17,17,.16); background:#fff; color:#2c2924; font-weight:850; }
.related-guides { margin:42px 0 0; padding:24px; border:1px solid rgba(59,130,246,.14); border-radius:26px; background:linear-gradient(145deg, #fff, #f8fbff); }
.related-guides h2 { margin-top:8px; }
.related-guides > div:last-child { display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:12px; }
.related-guides a { display:flex; min-height:128px; flex-direction:column; padding:16px; border:1px solid rgba(59,130,246,.14); border-radius:18px; background:#fff; color:#111827; text-decoration:none; }
.related-guides a span, .related-guides a small { color:#2563eb; font-family:var(--mono); font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.related-guides a strong { margin:8px 0; font-family:var(--display); font-size:22px; line-height:1.15; }
.related-guides a small { margin-top:auto; color:#6b7280; }
.article-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:12px; margin-top:22px; }
.home .article-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); align-items:stretch; gap:14px; }
.article-card { min-height:230px; padding:16px; border-radius:0; background:#fff; border:1px solid rgba(17,17,17,.16); text-decoration:none; color:var(--ink); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; overflow:hidden; }
.home .article-card { border-radius:24px; border-color:rgba(59,130,246,.14); background:rgba(255,255,255,.82); box-shadow:0 14px 42px rgba(17,24,39,.06); }
.article-card.featured { grid-column:span 2; background:#111; color:#fff; }
.home .article-card.featured { background:linear-gradient(145deg, #111827, #1e3a8a); }
.article-card:hover { transform:translateY(-3px); border-color:rgba(17,17,17,.38); box-shadow:0 18px 46px rgba(17,17,17,.1); }
.article-card figure { height:120px; margin:0 0 14px; display:grid; place-items:center; border:1px solid rgba(17,17,17,.12); background:#fffaf0; overflow:hidden; }
.home .article-card figure { height:132px; }
.home .article-card figure { border-radius:18px; border-color:rgba(59,130,246,.12); background:linear-gradient(145deg, #eff6ff, #faf5ff); }
.article-card.featured figure { background:#fffaf0; border-color:rgba(255,255,255,.16); }
.article-card figure img { max-width:100%; max-height:104px; object-fit:contain; filter:drop-shadow(0 12px 16px rgba(20,16,12,.12)); }
.article-card .figure-mark { color:#111; font-family:var(--display); font-size:34px; font-weight:900; letter-spacing:-.05em; }
.article-card span { font-family:var(--mono); color:var(--accent2); font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.14em; }
.article-card h3 { display:block; margin:12px 0 8px; padding:0; border-radius:0; background:none; color:inherit; font-family:var(--display); font-size:25px; line-height:1.18; letter-spacing:-.04em; }
.article-card h3::before { content:none; }
.article-card p { color:inherit; opacity:.78; }
.home .article-card h3 { font-size:23px; min-height:56px; }
.home .article-card p { min-height:58px; font-size:14px; line-height:1.7; }
h1 { position:relative; display:inline-block; max-width:100%; font-family:var(--display); font-size: clamp(34px, 3.55vw, 45px); line-height:1.06; letter-spacing:-.065em; margin: 10px 0 24px; color:var(--ink); text-wrap:balance; }
.subpage h1 { padding-right:8px; background:none; color:var(--ink); }
.subpage h1::after { content:""; position:absolute; left:0; right:0; bottom:-10px; height:2px; background:linear-gradient(90deg, #111 0 38%, rgba(155,106,47,.65) 38% 62%, transparent 62%); z-index:-1; }
.subpage .category-hero h1 { color:#111827; padding-right:0; }
.subpage .comparison-hero h1 { color:#111827; padding-right:0; }
.subpage .category-hero h1::after, .subpage .comparison-hero h1::after { content:none; }
@media (min-width: 900px) {
  .subpage h1 { white-space:nowrap; }
}
h2 { position:relative; display:flex; align-items:center; gap:12px; margin-top: 38px; border-top:2px solid rgba(17,17,17,.72); padding-top:18px; font-family:var(--display); font-size:32px; line-height:1.15; letter-spacing:-.04em; color:var(--ink); }
h2::before { content:"§"; flex:0 0 auto; width:auto; height:auto; border-radius:0; background:none; box-shadow:none; color:var(--accent2); font-family:var(--display); font-size:28px; line-height:1; }
h2::after { content:""; flex:1 1 auto; height:1px; min-width:32px; background:rgba(17,17,17,.18); transform:translateY(3px); }
h3 { position:relative; display:inline-flex; align-items:center; gap:8px; margin:20px 0 8px; padding:0 0 4px; border-radius:0; border-bottom:1px solid rgba(155,106,47,.42); background:none; color:var(--ink); font-weight:900; letter-spacing:-.02em; }
h3::before { content:""; width:8px; height:8px; border-radius:0; background:var(--accent2); box-shadow:none; transform:rotate(45deg); }
p, li { font-size: 15.8px; }
.page-card > p, .page-card > ul, .page-card > ol { max-width:980px; }
.page-card p { margin:10px 0; }
.page-card ul, .page-card ol { margin-top:10px; margin-bottom:14px; }
.comparison-hero { position:relative; display:grid; grid-template-columns:minmax(0, 1.2fr) minmax(280px, .8fr); gap:24px; align-items:stretch; margin:-6px 0 28px; padding:28px; border:1px solid rgba(59,130,246,.16); border-radius:30px; background:
  radial-gradient(circle at 82% 14%, rgba(139,92,246,.16), transparent 28%),
  linear-gradient(145deg, rgba(255,255,255,.96), rgba(239,246,255,.88)); color:#111827; overflow:hidden; box-shadow:0 24px 76px rgba(59,130,246,.12); }
.comparison-hero::before { content:"選び方ガイド"; position:absolute; right:18px; top:18px; font-family:var(--mono); font-size:12px; line-height:1; letter-spacing:.12em; color:rgba(59,130,246,.28); pointer-events:none; }
.comparison-hero-copy { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:center; min-height:290px; }
.comparison-hero .section-kicker { color:#3B82F6; }
.comparison-hero h1 { display:block; max-width:780px; margin:16px 0 16px; color:#111827; font-size:clamp(38px, 4.6vw, 58px); line-height:.98; letter-spacing:-.07em; text-wrap:balance; white-space:normal; }
.comparison-hero h1::after { content:none; }
.comparison-title-sub { margin:-6px 0 14px; color:#3B82F6; font-family:var(--display); font-size:clamp(24px, 2.5vw, 34px); font-weight:900; line-height:1.18; letter-spacing:-.045em; }
.comparison-hero p { max-width:760px; color:#374151; font-size:16px; font-weight:750; line-height:1.9; }
.comparison-hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:18px; }
.comparison-hero .button-primary { background:linear-gradient(100deg, #111827, #2563eb); color:#fff; }
.comparison-hero .button-secondary { color:#111827; border-color:rgba(59,130,246,.24); background:rgba(255,255,255,.62); }
.comparison-hero-panel { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:space-between; gap:16px; padding:20px; border:1px solid rgba(59,130,246,.16); border-radius:24px; background:rgba(255,255,255,.72); backdrop-filter:blur(10px); }
.comparison-hero-products strong { font-size:32px; }
.comparison-preview-list { display:grid; gap:10px; }
.comparison-preview-list a { display:grid; grid-template-columns:64px minmax(0, 1fr); gap:10px; align-items:center; min-height:74px; padding:8px; border:1px solid rgba(59,130,246,.14); border-radius:18px; background:rgba(255,255,255,.84); color:#111827; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.comparison-preview-list a:hover { transform:translateY(-2px); border-color:rgba(59,130,246,.34); box-shadow:0 14px 34px rgba(59,130,246,.12); }
.comparison-preview-list img { grid-column:1; grid-row:1; width:64px; height:58px; object-fit:contain; padding:5px; border-radius:14px; background:linear-gradient(145deg, #eff6ff, #faf5ff); }
.comparison-preview-list span { grid-column:2; font-family:var(--display); font-size:19px; font-weight:900; line-height:1.1; letter-spacing:-.04em; }
.comparison-preview-list a:not(:has(img)) { grid-template-columns:1fr; }
.comparison-panel-label { margin:0; color:#3B82F6; font-family:var(--mono); font-size:12px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.comparison-hero-panel strong { display:block; font-family:var(--display); font-size:40px; line-height:1; letter-spacing:-.06em; color:#111827; }
.comparison-panel-metrics { display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; }
.comparison-panel-metrics span { padding:10px; border:1px solid rgba(59,130,246,.14); border-radius:16px; background:rgba(255,255,255,.76); }
.comparison-panel-metrics b, .comparison-panel-metrics small { display:block; }
.comparison-panel-metrics b { color:#111827; font-size:16px; }
.comparison-panel-metrics small { color:#3B82F6; font-size:11px; font-family:var(--mono); }
.comparison-chips, .comparison-point-chips { display:flex; flex-wrap:wrap; gap:8px; }
.comparison-chips span, .comparison-point-chips span { display:inline-flex; align-items:center; min-height:34px; padding:6px 10px; border:1px solid rgba(59,130,246,.16); border-radius:999px; background:rgba(255,255,255,.72); color:#111827; font-weight:850; font-size:13px; }
.comparison-axis { margin:0 0 30px; padding:22px; border:1px solid rgba(59,130,246,.14); border-radius:26px; background:rgba(255,255,255,.76); box-shadow:0 18px 54px rgba(17,24,39,.06); }
.comparison-axis h2 { margin-top:8px; }
.comparison-axis .comparison-point-chips span { border-color:rgba(59,130,246,.16); background:#eff6ff; color:#1e3a8a; font-family:var(--mono); font-size:12px; letter-spacing:.03em; }
.comparison-axis-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:12px; margin-top:18px; }
.comparison-axis-card { padding:16px; border:1px solid rgba(59,130,246,.12); border-radius:20px; background:#fff; box-shadow:0 12px 28px rgba(17,24,39,.05); }
.comparison-axis-card > span { color:var(--accent2); font-family:var(--mono); font-size:12px; font-weight:900; letter-spacing:.12em; }
.comparison-axis-card h3 { display:block; margin:9px 0 8px; font-family:var(--display); font-size:22px; line-height:1.15; border:0; }
.comparison-axis-card h3::before { content:none; }
.comparison-axis-card p { margin:0 0 10px; color:#222; font-weight:800; line-height:1.7; }
.comparison-axis-card small { display:block; color:var(--muted); font-family:var(--mono); font-size:12px; line-height:1.55; }
.notice, .ad-label { background:#fff8e6; border:1px solid #d9bf83; color:#5c430c; padding:10px 14px; border-radius:0; font-size:14px; }
.table-wrap { overflow-x:auto; margin: 18px 0; border-radius:18px; box-shadow:none; border:1px solid rgba(59,130,246,.14); }
table { width:100%; min-width:760px; border-collapse: collapse; background:#fff; overflow:hidden; }
th, td { border-bottom:1px solid rgba(17,17,17,.12); padding:12px; text-align:left; vertical-align:top; word-break:auto-phrase; overflow-wrap:normal; }
th:first-child, td:first-child { white-space:nowrap; }
th { background:#eff6ff; color:#1e3a8a; font-family:var(--mono); font-size:12px; letter-spacing:.04em; }
.offer-compare-wrap { margin:22px 0 20px; border-width:2px; }
.offer-compare-table td:first-child { min-width:150px; font-family:var(--display); font-size:18px; line-height:1.45; }
.offer-compare-table b { color:var(--accent2); font-family:var(--mono); font-size:12px; letter-spacing:.1em; }
.status-pill { display:inline-flex; min-width:62px; justify-content:center; padding:4px 8px; border:1px solid rgba(17,17,17,.16); font-size:12px; font-weight:900; }
.status-active { background:#2563eb; color:#fff; border-color:#2563eb; }
.status-pending { background:#f1f1f1; color:#60594f; }
.offer-section { margin-top:38px; }
.offer-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap:14px; margin-top:16px; }
.offer-table-wrap { margin-top:28px; }
.offer-card { position:relative; background:#fff; border:1px solid rgba(59,130,246,.14); border-radius:22px; padding:14px 16px 16px; box-shadow:0 14px 42px rgba(17,24,39,.05); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; overflow:hidden; }
.offer-card:hover { transform:translateY(-3px); border-color:rgba(17,17,17,.38); box-shadow:0 18px 42px rgba(17,17,17,.1); }
.offer-card::before { content:""; }
.offer-rank { display:inline-flex; margin:0 0 10px; padding:3px 8px; border-radius:999px; background:#eff6ff; color:#2563eb; font-family:var(--mono); font-size:12px; font-weight:900; letter-spacing:.1em; }
.offer-visual { height:132px; margin:0 -2px 12px; display:grid; place-items:center; border-radius:18px; background:linear-gradient(145deg, #eff6ff, #faf5ff); border:1px solid rgba(59,130,246,.12); overflow:hidden; }
.offer-visual img { max-width:100%; max-height:116px; object-fit:contain; filter: drop-shadow(0 14px 18px rgba(40,32,18,.14)); transition:transform .28s ease; }
.offer-card:hover .offer-visual img { transform:scale(1.035) rotate(-1deg); }
.offer-visual-fallback span { width:92px; height:92px; border-radius:999px; display:grid; place-items:center; background:var(--accent); color:#fff; font-weight:900; }
.offer-label { font-family:var(--mono); color:var(--accent2); font-size:11px; letter-spacing:.12em; font-weight:900; text-transform:uppercase; margin:0 0 7px; }
.offer-name { min-height:5.8em; margin:0 0 10px; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; font-family:var(--body); font-weight:800; font-size:15px; line-height:1.45; letter-spacing:0; word-break:break-word; }
.offer-stats { display:flex; flex-wrap:wrap; gap:5px; margin:0 0 8px; }
.offer-stats span { padding:3px 7px; border-radius:0; background:#f1f1f1; color:#333; border:1px solid rgba(17,17,17,.12); font-family:var(--mono); font-size:11px; font-weight:900; }
.offer-problem { color:#4b5563; margin:8px 0; }
.offer-evidence { background:linear-gradient(135deg,#eff6ff,#f8fafc); border:1px solid rgba(37,99,235,.2); border-left:4px solid var(--accent); border-radius:0 14px 14px 0; color:#334155; font-size:13px; line-height:1.6; margin:12px 0; padding:11px 12px; }
.offer-evidence span { color:var(--accent); display:block; font-family:var(--mono); font-size:11px; font-weight:900; letter-spacing:.08em; margin-bottom:5px; }
.offer-evidence strong { display:block; margin-bottom:4px; color:#111827; font-size:14px; line-height:1.4; }
.offer-evidence p { margin:0; color:#334155; font-size:12px; line-height:1.6; }
.offer-evidence small { display:block; margin-top:6px; color:#6b7280; font-size:10px; font-weight:800; }
.offer-evidence-trend { background:linear-gradient(135deg,#eef2ff,#faf5ff); border-color:rgba(109,40,217,.22); border-left-color:#7c3aed; box-shadow:0 8px 22px rgba(109,40,217,.08); }
.offer-evidence-trend span { color:#6d28d9; }
.offer-points { color:var(--muted); font-size:13px; margin:8px 0; }
.offer-points span { display:block; color:var(--accent); font-family:var(--mono); font-weight:900; margin-bottom:3px; }
.offer-card-active { border-color:#dec99f; }
.pending { display:inline-block; padding:4px 10px; border-radius:999px; background:#f1f3f6; color:var(--muted); font-weight:700; }
.offer-meta, .offer-note, footer { color:var(--muted); font-size:13px; }
.editorial-article { max-width:920px; margin:28px auto; }
.category-articles { margin:24px 0; padding:24px; border:1px solid rgba(59,130,246,.16); border-radius:24px; background:rgba(255,255,255,.72); }
.category-articles h2 { margin-top:8px; }
.category-articles > div:last-child { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.category-articles a { display:flex; flex-direction:column; gap:8px; min-height:148px; padding:18px; color:var(--ink); text-decoration:none; border:1px solid rgba(59,130,246,.14); border-radius:18px; background:#fff; }
.category-articles a:hover { transform:translateY(-2px); border-color:#3b82f6; }
.category-articles span, .category-articles small { color:#2563eb; font-family:var(--mono); font-size:11px; font-weight:900; letter-spacing:.08em; }
.category-articles strong { font-family:var(--display); font-size:21px; line-height:1.35; }
.editorial-article > h1 { max-width:780px; margin-bottom:28px; }
.editorial-article > p, .editorial-article > ul, .editorial-article > ol { max-width:760px; }
.article-next { display:grid; grid-template-columns:1fr auto; gap:8px 20px; align-items:center; margin-top:38px; padding:22px; border-radius:20px; background:linear-gradient(135deg,#eff6ff,#faf5ff); border:1px solid rgba(59,130,246,.18); }
.article-next span { color:#2563eb; font-family:var(--mono); font-size:12px; font-weight:900; letter-spacing:.12em; }
.article-next strong { grid-column:1; font-family:var(--display); font-size:24px; }
.article-next .button { grid-column:2; grid-row:1 / span 2; }
footer { border-top:1px solid var(--line); width:min(1120px, calc(100% - 32px)); margin:0 auto; padding:28px 0 46px; }
@keyframes rise { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes floatIn { from { opacity:0; transform:translateY(20px) scale(.98); } to { opacity:1; transform:none; } }
@media (max-width: 1040px) {
  .home .article-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .home-trend-grid { grid-template-columns:1fr; }
}
@media (max-width: 820px) {
  .site-header { align-items:flex-start; flex-direction:column; gap:8px; padding:10px 12px 8px; }
  nav { width:100%; gap:6px; flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:none; }
  nav::-webkit-scrollbar { display:none; }
  nav a { flex:0 0 auto; min-height:32px; padding:5px 9px; }
  main { width:min(1120px, calc(100% - 16px)); }
  .hero { grid-template-columns:1fr; min-height:auto; gap:20px; padding:32px 0 22px; }
  .hero h1, .home .hero h1 { max-width:100%; font-size:34px; line-height:1.12; margin:12px 0 14px; letter-spacing:-.045em; word-break:keep-all; overflow-wrap:normal; }
  .hero h1 span { white-space:nowrap; }
  .home .hero-feature-card strong { font-size:32px; line-height:1.08; }
  .home .hero-feature-trend { min-height:0; }
  .hero p { font-size:16px; line-height:1.75; }
  .hero-actions { margin-top:18px; gap:10px; }
  .hero-topic-row { align-items:flex-start; flex-direction:column; gap:4px; }
  .hero-product-stack, .hero-notes { grid-template-columns:1fr; }
  .hero-product-stack img { height:110px; }
  .hero-panel { padding:16px; border-radius:24px; }
  .score-card { min-height:164px; padding:20px; }
  .score-card strong { font-size:27px; }
  .trust-strip, .article-grid, .home .article-grid { grid-template-columns:1fr; }
  .category-hero { grid-template-columns:1fr; padding:20px; }
  .category-hero h1 { font-size:36px; line-height:1.12; word-break:keep-all; }
  .category-hero p { font-size:15px; line-height:1.75; }
  .category-comparison-grid { grid-template-columns:1fr; }
  .category-comparison-card { min-height:0; }
  .category-comparison-card h2 { font-size:25px; overflow-wrap:normal; word-break:keep-all; }
  .category-product-grid { grid-template-columns:1fr; }
  .home-trend-pulse > div:first-child { align-items:flex-start; flex-direction:column; gap:3px; }
  .category-product-card { grid-template-columns:104px minmax(0, 1fr); }
  .category-product-image .offer-visual { height:104px; }
  .category-playbook { grid-template-columns:1fr; padding:18px; }
  .category-playbook ul { grid-template-columns:1fr; }
  .article-card.featured { grid-column:auto; }
  .comparison-index, .page-card { padding:20px; border-radius:22px; }
  .page-card::before { width:190px; height:130px; right:-18px; top:72px; opacity:.68; }
  .comparison-hero { grid-template-columns:1fr; margin:-2px 0 22px; padding:20px; }
  .comparison-hero-copy { min-height:auto; }
  .comparison-hero h1 { font-size:32px; line-height:1.12; word-break:auto-phrase; }
  .comparison-hero-panel { gap:10px; padding:15px; }
  .comparison-hero-panel strong { font-size:26px; line-height:1.1; }
  .comparison-preview-list { gap:7px; }
  .comparison-preview-list a { min-height:62px; }
  .comparison-panel-metrics { grid-template-columns:1fr 1fr 1fr; }
  .comparison-axis { padding:18px; }
  .comparison-axis-grid { grid-template-columns:1fr; }
  h1 { font-size:32px; letter-spacing:-.055em; line-height:1.14; }
  h2 { margin-top:26px; padding-top:16px; font-size:24px; line-height:1.2; gap:8px; }
  h2::before { width:9px; height:28px; }
  h3 { font-size:18px; }
  .offer-grid { grid-template-columns:1fr; }
  .article-next { grid-template-columns:1fr; }
  .article-next .button { grid-column:1; grid-row:auto; }
  .mini-grid { grid-template-columns:1fr 1fr; gap:10px; }
  .mini-grid div { padding:12px; }
}
@media (max-width: 560px) {
  .brand { font-size:18px; }
  .category-hero { margin-bottom:14px; padding:17px; border-radius:22px; }
  .category-hero h1 { margin:6px 0 10px; font-size:33px; }
  .category-hero aside { padding:14px; border-radius:18px; }
  .category-hero aside strong { margin:7px 0; font-size:44px; }
  .category-comparison-grid { gap:10px; margin-bottom:18px; }
  .category-comparison-card { padding:16px; border-radius:18px; }
  .category-comparison-card h2 { margin:9px 0 8px; font-size:23px; line-height:1.16; }
  .category-product-shelf { margin:18px 0; padding:14px; border-radius:22px; }
  .category-product-shelf h2 { font-size:27px; }
  .category-product-card { grid-template-columns:1fr; min-height:0; padding:14px; }
  .category-product-image .offer-visual { height:154px; }
  .category-product-card h3 { font-size:17px; line-height:1.3; }
  .category-product-reasons p { grid-template-columns:82px minmax(0, 1fr); }
  .category-product-actions .button { width:100%; }
  .trend-evidence { margin:16px 0 20px; padding:14px; border-radius:22px; }
  .home-trend-pulse { margin:12px 0 20px; padding:14px; border-radius:22px; }
  .home-trend-pulse h2 { font-size:25px; }
  .home-trend-card { grid-template-columns:82px minmax(0,1fr); min-height:0; padding:10px; border-radius:17px; }
  .home-trend-card img { width:82px; height:100px; }
  .home-trend-card strong { font-size:17px; }
  .hero-product-focus { grid-template-columns:92px minmax(0,1fr); gap:10px; }
  .hero-product-focus img { width:92px; height:82px; }
  .trend-evidence > h2 { font-size:27px; }
  .trend-evidence-card { padding:14px; border-radius:18px; }
  .trend-evidence-card h2 { font-size:21px; }
  .trend-product-mini { grid-template-columns:88px minmax(0,1fr); gap:11px; padding:10px; }
  .trend-product-mini > div { height:88px; }
  .trend-product-mini img { max-height:82px; }
  .trend-product-mini strong { font-size:17px; }
  .trend-actions .button { width:100%; }
  .comparison-index, .page-card { padding:14px; }
  .offer-card { padding:13px; }
  .offer-visual { height:150px; }
  .offer-name { min-height:0; }
  .offer-card .button { width:100%; }
  .table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
