/* Search-entry pages extend the existing white / navy editorial system. */
.entry-page { color:var(--hub-ink); }
.entry-hero { padding:28px 0 58px; background:#fff; border-bottom:1px solid var(--hub-line); }
.entry-hero-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:52px; align-items:start; }
.entry-hero h1 { font-size:clamp(30px,3.5vw,45px); line-height:1.55; letter-spacing:-.025em; margin:0 0 20px; }
.entry-lead { max-width:44rem; color:var(--hub-muted); font-size:17px; }
.entry-kicker { color:var(--gold-dark); font-weight:700; font-size:14px; margin:0 0 14px; }
.entry-overview { border-left:3px solid #b7944c; background:#f4f6f7; padding:26px 28px; }
.entry-overview h2 { font-size:20px; margin:0 0 14px; }
.entry-overview ol { padding-left:1.3em; margin:0; }
.entry-overview li+li { margin-top:10px; }
.entry-disclaimer { border-top:1px solid var(--hub-line); padding-top:16px; margin-top:24px; font-size:14px; color:var(--hub-muted); }
.entry-section { padding:64px 0; }
.entry-section:nth-of-type(even) { background:#f5f7f8; }
.entry-section h2 { font-size:clamp(25px,2.8vw,33px); line-height:1.6; margin:0 0 22px; }
.entry-section h3 { font-size:20px; line-height:1.65; margin:0 0 12px; }
.entry-section p { max-width:52rem; }
.entry-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.entry-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.entry-card { min-width:0; padding:26px; background:#fff; border:1px solid var(--hub-line); border-radius:8px; }
.entry-card p:last-child { margin-bottom:0; }
.entry-card ul { padding-left:1.25em; }
.entry-number { display:block; color:var(--gold-dark); font-size:14px; font-weight:700; margin-bottom:12px; }
.entry-path { list-style:none; counter-reset:entry-step; padding:0; margin:24px 0; }
.entry-path>li { counter-increment:entry-step; position:relative; padding:22px 18px 22px 66px; border-top:1px solid var(--hub-line); }
.entry-path>li::before { content:counter(entry-step,decimal-leading-zero); position:absolute; top:24px; left:12px; color:var(--gold-dark); font-weight:700; }
.entry-path h3 { margin-bottom:6px; }
.entry-path p { margin:0; }
.entry-note { padding:20px 24px; border-left:3px solid #447c84; background:#edf4f5; }
.entry-table-wrap { overflow:auto; max-width:100%; }
.entry-table { width:100%; border-collapse:collapse; font-size:16px; }
.entry-table th,.entry-table td { padding:16px; border-bottom:1px solid var(--hub-line); text-align:left; vertical-align:top; }
.entry-table th { background:#edf2f4; color:var(--navy); }
.entry-table td:first-child { font-weight:700; min-width:10rem; }
.entry-price { white-space:nowrap; }
.entry-pricing-table tbody th { background:transparent; min-width:10rem; }
.entry-pricing-table .entry-mobile-label { display:none; }
.entry-example { padding:30px; border:1px solid #bfd1d5; background:#fff; border-radius:8px; }
.entry-equation { font-size:clamp(20px,3vw,28px); font-family:Georgia,"Noto Serif JP",serif; color:var(--navy); margin:18px 0; overflow-wrap:anywhere; }
.entry-example details { border-top:1px solid var(--hub-line); padding-top:18px; margin-top:20px; }
.entry-example summary,.entry-faq summary { cursor:pointer; font-weight:700; line-height:1.8; }
.entry-example details[open] summary { margin-bottom:16px; }
.entry-faq details { border-bottom:1px solid var(--hub-line); padding:20px 0; }
.entry-faq p { margin-bottom:0; }
.entry-jumps { display:flex; flex-wrap:wrap; gap:10px 24px; margin:24px 0 0; }
.entry-jumps a { font-size:15px; text-decoration:underline; text-underline-offset:5px; }
.entry-sources { font-size:14px; color:var(--hub-muted); }
.entry-sources li { margin-bottom:10px; }
.entry-sources a,.entry-card a,.entry-section p a { text-decoration:underline; text-underline-offset:4px; }
.entry-request { white-space:pre-line; padding:22px; border:1px solid var(--hub-line); background:#fff; }
.entry-share { padding:26px 30px; border:1px solid var(--hub-line); background:#fff; }
@media(max-width:900px) {
 .entry-hero-grid { grid-template-columns:1fr; gap:26px; }
 .entry-grid { grid-template-columns:1fr; }
}
@media(max-width:620px) {
 .entry-page .shell { width:calc(100% - 36px); }
 .entry-hero { padding-bottom:36px; }
 .entry-section { padding:42px 0; }
 .entry-grid.two { grid-template-columns:1fr; }
 .entry-card,.entry-overview,.entry-example,.entry-share { padding:22px; }
 .entry-table th,.entry-table td { padding:12px; font-size:15px; }
 .entry-pricing-table,.entry-pricing-table tbody { display:block; }
 .entry-pricing-table caption { display:block; text-align:left; margin-bottom:16px; }
 .entry-pricing-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .entry-pricing-table tbody { display:grid; gap:16px; }
 .entry-pricing-table tbody tr { display:block; padding:20px; background:#fff; border:1px solid var(--hub-line); border-radius:8px; }
 .entry-pricing-table tbody th,.entry-pricing-table tbody td { display:block; min-width:0; padding:0; border:0; font-size:16px; }
 .entry-pricing-table tbody th { font-size:18px; line-height:1.6; margin-bottom:16px; }
 .entry-pricing-table tbody td+td { border-top:1px solid var(--hub-line); padding-top:16px; margin-top:16px; }
 .entry-pricing-table .entry-mobile-label { display:block; font-size:13px; font-weight:700; color:var(--hub-muted); margin-bottom:6px; }
 .entry-pricing-table .entry-price { font-size:22px; font-weight:700; color:var(--navy); }
 .entry-hero .button { width:100%; }
}
