/*
Theme Name: Okaneta Cocoon Child
Description: Okaneta compatibility child theme for Cocoon.
Template: cocoon-master
Version: 1.0.0
Text Domain: okaneta-cocoon-child
*/
:root { --ink:#18334a; --night:#18334a; --paper:#fffdf7; --lime:#d9f65c; --coral:#ff9b83; --sky:#aee7f6; --lavender:#d9ccff; --mint:#dff7eb; --muted:#607b88; --line:#dbece5; --radius:8px; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans",Meiryo,sans-serif; line-height:1.7; }
a { color:inherit; text-decoration:none; }
.site-header { position:relative; z-index:3; background:#fffdf7; color:var(--ink); border-bottom:1px solid var(--line); }
.topline { height:6px; background:var(--coral); }
.nav,.container { width:min(1180px,calc(100% - 40px)); margin:auto; }
.nav { height:78px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; }
.brand-logo { display:block; width:224px; height:50px; object-fit:contain; object-position:left center; }
.brand-footer .brand-logo { width:204px; }
.nav-links { display:flex; align-items:center; gap:20px; font-size:14px; font-weight:800; color:#57717d; }.nav-links a:hover { color:#e77560; }.nav-flow-link { color:#8b4e24; }
.home-intro { padding:42px 0 30px; background:#effbf4; border-bottom:1px solid var(--line); }.home-intro h1 { margin:7px 0 8px; font-size:clamp(34px,5vw,58px); line-height:1.18; }.home-intro p { max-width:680px; margin:0; color:#587181; font-weight:700; }
/* Editorial utility comes before featured studio content on the home page. */
body.home main { display:flex; flex-direction:column; } body.home .home-intro { order:1; } body.home .agent-strip { order:2; } body.home .ticker { order:3; } body.home .quick-nav { order:4; } body.home .latest-section { order:5; } body.home .popular-section { order:6; } body.home .pickup-section { order:7; } body.home .writers-section { order:8; } body.home .team-section { order:9; } body.home .office-section { order:10; } body.home .section-dark { order:11; }
.hero { min-height:600px; position:relative; overflow:hidden; color:var(--ink); background-color:#effbf4; background-image:url("assets/tokuhaya-cute-ai-office-1280.webp"); background-position:center; background-size:cover; display:flex; align-items:center; }
.hero-inner { position:relative; z-index:1; width:min(1180px,calc(100% - 40px)); margin:auto; padding:76px 0 92px; }
.eyebrow,.category { font-size:12px; font-weight:900; letter-spacing:0; text-transform:uppercase; color:#e77560; }
.hero h1 { max-width:620px; font-size:clamp(40px,6vw,76px); line-height:1.12; margin:13px 0 18px; letter-spacing:0; }
.hero p { max-width:490px; margin:0 0 26px; color:#466673; font-size:17px; font-weight:700; }.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:0 20px; border:1px solid transparent; border-radius:8px; font-weight:900; font-size:14px; }.button-primary { background:var(--lime); color:var(--ink); box-shadow:0 4px 0 #a9c64b; }.button-secondary { border-color:#a4c9d0; color:var(--ink); background:#fffdf7; }
.agent-strip { background:#fffdf7; border-bottom:1px solid var(--line); }.agent-grid { display:grid; grid-template-columns:repeat(3,max-content) 1fr; align-items:center; gap:24px; min-height:86px; }.agent-item { display:flex; align-items:center; gap:9px; }.agent-item b { display:block; font-size:14px; }.agent-item small { display:block; color:var(--muted); font-size:11px; font-weight:700; }.agent-dot { width:36px; height:36px; display:block; border-radius:50%; position:relative; background:var(--lime); box-shadow:inset 0 -5px 0 rgba(24,51,74,.14); }.agent-dot:after { content:""; position:absolute; width:12px; height:6px; border-radius:0 0 9px 9px; background:#18334a; left:12px; top:15px; }.dot-blue { background:var(--sky); }.dot-coral { background:var(--coral); }.agent-grid p { margin:0; justify-self:end; color:#506979; font-size:13px; font-weight:700; }
.ticker { background:var(--mint); border-bottom:1px solid var(--line); }.ticker-inner { display:flex; align-items:center; gap:18px; min-height:56px; overflow:hidden; font-size:14px; font-weight:700; }.ticker-label { flex:0 0 auto; color:#e77560; font-size:12px; }.ticker-text { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.quick-nav { background:#fffdf7; border-bottom:1px solid var(--line); }.quick-nav-inner { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; padding:16px 0; }.quick-nav a { min-height:64px; display:flex; flex-direction:column; justify-content:center; padding:10px 14px; border:1px solid #d8ebe4; border-radius:8px; background:#fffdf7; color:var(--ink); font-size:15px; font-weight:900; }.quick-nav a:hover { border-color:#a9d8c8; background:var(--mint); }.quick-nav span { display:block; margin-bottom:1px; color:#e77560; font-size:10px; font-weight:900; }
.quick-nav .quick-nav-flow { border-color:#d9c9ae; background:#fffaf0; }.quick-nav .quick-nav-flow span { color:#8b4e24; }
.section { padding:68px 0; }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:25px; }.section-heading h2 { margin:4px 0 0; font-size:30px; line-height:1.2; letter-spacing:0; }.section-link { color:#40748a; font-weight:800; font-size:14px; }
.office-section { background:#fffdf7; }.office-stage { position:relative; height:620px; overflow:hidden; border:1px solid #cde7da; border-radius:8px; background:#effbf4; }.office-frame { display:block; width:100%; height:100%; border:0; }.office-caption { position:absolute; inset:auto 22px 18px; display:flex; justify-content:space-between; gap:12px; pointer-events:none; }.office-caption span { padding:5px 10px; border-radius:999px; background:#fffdf7; color:#e77560; font-size:11px; font-weight:900; box-shadow:0 2px 0 rgba(82,143,124,.13); }
.team-section { background:var(--mint); }.team-note { max-width:320px; margin:0; color:#587181; font-size:13px; font-weight:700; }.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.team-card { display:flex; gap:14px; padding:18px; border:1px solid #cde7da; border-radius:8px; background:#fffdf7; box-shadow:0 3px 0 rgba(82,143,124,.12); }.team-card b { display:block; font-size:16px; }.team-card small { display:block; color:#507184; font-size:11px; font-weight:800; }.team-card p { margin:7px 0 0; color:#5f7785; font-size:12px; line-height:1.55; }.role-orb { flex:0 0 40px; height:40px; border-radius:50%; display:grid; place-items:center; color:#18334a; font-size:15px; font-weight:900; box-shadow:inset 0 -5px 0 rgba(24,51,74,.12); }.orb-lime { background:var(--lime); }.orb-coral { background:var(--coral); }.orb-blue { background:var(--sky); }.orb-gold { background:#ffe38b; }.orb-violet { background:var(--lavender); }.orb-cyan { background:#83e4df; }.office-flow { margin-top:18px; padding:18px 22px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; background:#fffdf7; color:var(--ink); border:1px solid #cde7da; border-radius:8px; }.office-flow b { display:block; color:#e77560; font-size:11px; }.office-flow span { display:block; margin-top:3px; color:#587181; font-size:13px; font-weight:700; }
.popular-section { background:#fffdf7; }.writers-section { background:#f4f1ff; }.writer-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }.writer-card { display:grid; grid-template-columns:88px 1fr; gap:14px; align-items:center; padding:15px; border:1px solid #dfd8f4; border-radius:8px; background:#fffdf7; }.writer-card.office-member { border-color:#9ed7c9; box-shadow:0 3px 0 rgba(82,143,124,.12); }.writer-photo { display:block; width:88px; height:88px; border-radius:50%; background-image:url("assets/tokuhaya-writer-profiles.png"); background-size:300% 200%; background-repeat:no-repeat; }.photo-natsumi { background-position:0 0; }.photo-yuki { background-position:50% 0; }.photo-mina { background-position:100% 0; }.photo-akari { background-position:0 100%; }.photo-tokumi,.photo-shiki,.photo-miruna,.photo-seiri { background-image:url("assets/tokuhaya-ai-desk.png"); background-size:250% 100%; }.photo-tokumi { background-position:0 50%; }.photo-shiki { background-position:34% 50%; }.photo-miruna { background-position:67% 50%; }.photo-seiri { background-position:100% 50%; }.writer-card b { display:block; font-size:17px; }.writer-card small { display:block; color:#6f668a; font-size:11px; font-weight:800; }.writer-card p { margin:6px 0 0; color:#5f7785; font-size:12px; line-height:1.55; }.writer-profile-hero { padding:54px 0; background:#f4f1ff; }.writer-profile-hero .container { display:flex; align-items:center; gap:24px; }.writer-profile-hero h1 { margin:5px 0; font-size:42px; }.writer-profile-hero p { margin:0; color:#587181; line-height:1.7; }.writer-profile-avatar { flex:0 0 118px; width:118px; height:118px; }.article-writer { display:flex; align-items:center; gap:11px; margin:20px 0 26px; padding:12px; border:1px solid #cde7da; border-radius:8px; background:#f3fbf5; color:var(--ink); }.article-writer .writer-photo { width:46px; height:46px; }.article-writer small { display:block; color:#587181; font-size:11px; font-weight:800; }.article-writer-link { margin-left:auto; color:#40748a; font-size:12px; font-weight:900; }
.pickup-section { background:#fffdf7; }.latest-section { background:#f5fbf8; }.feature-grid { display:grid; grid-template-columns:1.16fr .84fr; gap:22px; }.feature-main,.story-card { background:#fffdf7; border:1px solid var(--line); border-radius:8px; overflow:hidden; }.feature-main { min-height:330px; padding:32px; background:#effbe3; display:flex; flex-direction:column; justify-content:end; }.feature-main h3 { margin:10px 0; font-size:30px; line-height:1.28; letter-spacing:0; max-width:570px; }.feature-main p,.story-card p { margin:0; color:#597080; font-size:14px; }.stack { display:grid; gap:14px; }.story-card { padding:18px; display:grid; grid-template-columns:84px 1fr; gap:14px; }.story-card .accent { border-radius:6px; min-height:84px; background:var(--sky); position:relative; overflow:hidden; }.story-card .accent:after { content:""; position:absolute; width:48px; height:48px; border:10px solid var(--lime); border-radius:50%; right:-19px; bottom:-19px; }.story-card h3 { margin:3px 0 7px; font-size:16px; line-height:1.4; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.post-card { border-top:3px solid var(--lime); padding:19px 0; }.post-card:nth-child(2) { border-color:var(--coral); }.post-card:nth-child(3) { border-color:var(--sky); }.post-card h3 { margin:7px 0; font-size:19px; line-height:1.45; }.post-card p { margin:0; color:#668093; font-size:14px; }.meta { color:#7f96a3; font-size:12px; font-weight:700; }
.section-dark { background:#e8f5ff; color:var(--ink); }.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.trust { padding:27px; background:#fffdf7; border:1px solid #cfe4ed; border-radius:8px; }.trust b { color:#e77560; font-size:14px; }.trust h3 { margin:8px 0; font-size:19px; }.trust p { margin:0; color:#597080; font-size:14px; }
.site-footer { background:#18334a; color:#dcecf1; padding:40px 0; font-size:13px; }.footer-row { display:flex; justify-content:space-between; gap:20px; align-items:flex-end; }.footer-links { display:flex; flex-wrap:wrap; gap:14px; }.article { max-width:780px; margin:54px auto; background:#fffdf7; padding:clamp(24px,5vw,58px); border-radius:8px; }.article h1 { line-height:1.28; font-size:clamp(30px,4vw,40px); }.article img { max-width:100%; height:auto; }.article a { color:#126c8e; text-decoration:underline; }
.footer-editor { display:grid; grid-template-columns:48px minmax(0,240px); gap:12px; align-items:center; max-width:340px; padding:12px; border:1px solid rgba(220,236,241,.18); border-radius:8px; background:rgba(255,255,255,.06); }
.footer-editor-photo { width:48px; height:48px; border-radius:50%; background:#dff7eb url("assets/iluma-profile.jpg") center/cover no-repeat; box-shadow:0 0 0 2px rgba(255,255,255,.18); }
.footer-editor strong { display:block; color:#fffdf7; font-size:14px; }
.footer-editor p { margin:2px 0 4px; color:#cfe3e8; font-size:11px; line-height:1.55; }
.footer-editor a { color:#d9f65c; font-size:12px; font-weight:900; text-decoration:underline; text-underline-offset:3px; }
.tokuhaya-contact-form { display:grid; gap:14px; max-width:620px; }.tokuhaya-contact-form p { margin:0; }.tokuhaya-contact-form label { display:grid; gap:6px; color:#18334a; font-weight:700; }.tokuhaya-contact-form input,.tokuhaya-contact-form textarea { width:100%; border:1px solid #b9ced5; border-radius:4px; padding:10px; font:inherit; background:#fff; }.tokuhaya-contact-form button { border:0; border-radius:4px; background:#126c8e; color:#fff; font:inherit; font-weight:700; padding:11px 20px; cursor:pointer; }.tokuhaya-contact-notice { padding:12px; background:#e1f4ec; color:#16553f; }.tokuhaya-contact-notice.is-error { background:#fff0ed; color:#8b3022; }.tokuhaya-honeypot { position:absolute; left:-9999px; }
.article .article-visual { margin:26px 0 30px; }.article .article-visual img { display:block; width:100%; border-radius:8px; }.article .article-visual figcaption { margin-top:8px; color:#718792; font-size:12px; }.article .writer-byline { margin:0 0 28px; padding:15px 18px; border-left:5px solid var(--lime); background:var(--mint); color:#365866; font-size:14px; line-height:1.65; }
.article .campaign-tool { margin:28px 0; padding:20px; border:1px solid #cde7da; border-radius:8px; background:#f3fbf5; }.article .campaign-tool h2 { margin:0 0 13px; font-size:21px; }.article .campaign-tool table { width:100%; border-collapse:collapse; font-size:14px; }.article .campaign-tool th,.article .campaign-tool td { padding:12px; border-bottom:1px solid #cde7da; text-align:left; vertical-align:top; line-height:1.6; }.article .campaign-tool th { width:30%; color:#365866; background:#e4f6ea; }.article .action-checklist { margin:18px 0 28px; padding:0; list-style:none; counter-reset:steps; }.article .action-checklist li { position:relative; margin:9px 0; padding:12px 14px 12px 46px; border:1px solid #d7e8e1; border-radius:8px; background:#fffdf7; counter-increment:steps; line-height:1.55; }.article .action-checklist li::before { content:counter(steps); position:absolute; left:12px; top:12px; width:23px; height:23px; display:grid; place-items:center; border-radius:50%; background:var(--lime); color:var(--ink); font-size:12px; font-weight:900; }
@media (max-width:760px) { .nav,.container { width:min(100% - 28px,1180px); }.nav { height:61px; }.brand-logo { width:178px; height:40px; }.nav-links { gap:13px; }.nav-links a:not(:nth-last-child(-n+2)) { display:none; }.hero { min-height:590px; background-position:70% center; align-items:start; }.hero-inner { width:min(100% - 28px,1180px); padding-top:55px; }.hero h1 { max-width:330px; font-size:45px; }.hero p { max-width:325px; font-size:15px; }.agent-grid { grid-template-columns:repeat(3,1fr); gap:8px; min-height:77px; }.agent-grid p { display:none; }.agent-item { gap:6px; }.agent-dot { width:25px; height:25px; }.agent-dot:after { left:8px; top:10px; }.agent-item b { font-size:12px; }.agent-item small { font-size:9px; }.quick-nav-inner { grid-template-columns:repeat(2,1fr); gap:8px; }.quick-nav a { min-height:56px; font-size:14px; }.time-nav-inner { grid-template-columns:1fr; gap:6px; }.time-nav a { min-height:42px; }.time-nav span { font-size:11px; }.section { padding:48px 0; }.office-stage { height:410px; }.office-caption { inset:auto 12px 12px; }.office-caption span { font-size:9px; padding:4px 7px; }.feature-grid,.cards,.trust-grid,.team-grid,.writer-grid,.office-flow { grid-template-columns:1fr; }.team-note { margin-top:10px; }.feature-main h3 { font-size:25px; }.section-heading h2 { font-size:26px; }.office-flow-head h3 { font-size:20px; }.footer-row { align-items:start; flex-direction:column; } }
.writer-profile-link { display:inline-block; margin-top:7px; color:#40748a; font-size:12px; font-weight:900; }.writer-card { align-items:start; }.writer-card .writer-profile-link { text-decoration:underline; }.writer-article-visual { display:flex; align-items:center; gap:20px; min-height:160px; margin:24px 0; padding:22px; border:1px solid #d8ebe4; border-radius:8px; background:#f3fbf5; overflow:hidden; }.writer-article-visual .writer-photo { flex:0 0 116px; width:116px; height:116px; }.writer-article-visual p { margin:0; color:#587181; font-weight:800; }.writer-article-visual.visual-yuki { background:#fff4ef; }.writer-article-visual.visual-natsumi { background:#f1f8e9; }.writer-article-visual.visual-shiki { background:#f4f1ff; }
.office-reference { margin:0 0 18px; overflow:hidden; border:1px solid #cde7da; border-radius:8px; background:#effbf4; }.office-reference img { display:block; width:100%; height:auto; }
body.home .home-intro { padding:28px 0 24px; } body.home .home-intro h1 { margin:4px 0 6px; font-size:clamp(30px,3.5vw,42px); line-height:1.22; } body.home .home-intro p { font-size:14px; font-weight:700; } body.home .agent-strip,body.home .ticker,body.home .pickup-section { display:none; } body.home .quick-nav { order:2; } body.home .latest-section { order:3; } body.home .popular-section { order:4; } body.home .writers-section { order:5; } body.home .team-section { order:6; } body.home .office-section { order:7; } body.home .section-dark { order:8; } body.home .latest-section,body.home .popular-section { padding:42px 0; } body.home .post-card { min-height:132px; padding:15px 0; } body.home .post-card h3 { margin:5px 0 10px; font-size:17px; line-height:1.42; } body.home .post-card p { display:none; } .article-marks { display:flex; flex-wrap:wrap; gap:6px; margin:7px 0 9px; }.article-mark { display:inline-flex; align-items:center; min-height:23px; padding:2px 8px; border-radius:999px; font-size:11px; font-weight:900; line-height:1; }.mark-time { background:#e8f5ff; color:#316a82; }.mark-value { background:#fff0e9; color:#b64e38; }
body.home .post-card { min-height:154px; } .mark-effort { background:#f1f8e9; color:#52732e; }.article-decision { display:grid; gap:4px; margin:4px 0 10px; }.article-reward,.article-entry { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; font-weight:900; line-height:1.45; }.article-reward { color:#b64e38; }.article-entry { color:#587181; }
.mark-kind { background:#18334a; color:#fffdf7; }
.priority-section { padding:42px 0 46px; background:#fff8ec; }.priority-heading { align-items:end; }.priority-grid { display:grid; grid-template-columns:1.2fr .8fr; grid-template-rows:repeat(2,minmax(132px,1fr)); gap:12px; margin-top:20px; }.priority-card { display:flex; flex-direction:column; padding:17px 18px; border:1px solid #ead9bb; border-radius:8px; background:#fffdf7; }.priority-card-main { grid-row:span 2; padding:24px; border-color:#cce59d; background:#f2fadf; }.priority-card-top,.priority-signals { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }.priority-card-top { justify-content:space-between; }.priority-kicker,.priority-time { display:inline-flex; align-items:center; min-height:22px; padding:2px 8px; border-radius:999px; font-size:11px; font-weight:900; line-height:1; }.priority-kicker { background:#18334a; color:#fffdf7; }.priority-time { background:#fffdf7; color:#316a82; border:1px solid #b7d9e4; }.priority-card .category { margin-top:12px; }.priority-card h3 { margin:6px 0 10px; font-size:17px; line-height:1.4; }.priority-card-main h3 { max-width:620px; font-size:25px; line-height:1.32; }.priority-signals strong { color:#b64e38; font-size:14px; }.priority-signals span { color:#52732e; font-size:12px; font-weight:900; }.priority-card p { margin:8px 0 0; color:#587181; font-size:12px; font-weight:800; }.priority-link { display:inline-flex; margin-top:auto; padding-top:13px; color:#316a82; font-size:12px; font-weight:900; text-decoration:underline; text-underline-offset:3px; }.priority-card-main .priority-link { color:#18334a; font-size:13px; } @media (max-width:760px) { .priority-section { padding:36px 0; }.priority-heading { align-items:start; }.priority-grid { grid-template-columns:1fr; grid-template-rows:none; gap:10px; margin-top:16px; }.priority-card-main { grid-row:auto; padding:19px; }.priority-card-main h3 { font-size:21px; }.priority-card:not(.priority-card-main) { min-height:0; }.priority-card h3 { font-size:16px; } }
.time-nav { order:3; border-bottom:1px solid var(--line); background:#fffdf7; }.time-nav-inner { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:12px 0; }.time-nav a { display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:8px; min-height:46px; padding:9px 13px; border-left:3px solid var(--lime); background:#f7fbf8; }.time-nav a:nth-child(2) { border-color:var(--coral); }.time-nav a:nth-child(3) { border-color:var(--sky); }.time-nav b { font-size:14px; }.time-label { display:inline-flex; align-items:center; min-height:22px; padding:2px 8px; border-radius:999px; background:#18334a; color:#fffdf7; font-size:11px; font-weight:900; line-height:1; }.time-nav-copy { justify-self:end; color:#607b88; font-size:12px; font-weight:800; } body.home .quick-nav { order:2; } body.home .time-nav { order:3; } body.home .latest-section { order:4; } body.home .popular-section { order:5; } body.home .writers-section { order:6; } body.home .team-section { order:7; } body.home .office-section { order:8; } body.home .section-dark { order:9; }

/* A compact, image-led home: the reader reaches current offers before company detail. */
body.home .home-hero { min-height:440px; display:flex; align-items:center; color:#18334a; background:url("assets/tokuhaya-cute-ai-office-1280.webp") center / cover no-repeat; border-bottom:1px solid var(--line); }
body.home .home-hero-inner { padding:56px 0; }
body.home .home-hero-inner > div { width:min(470px,92%); }
body.home .home-hero h1 { margin:8px 0; font-size:clamp(35px,4.6vw,58px); line-height:1.14; }
body.home .home-hero p { margin:0; color:#466673; font-size:16px; font-weight:800; }
body.home .home-hero-link { display:inline-flex; margin-top:18px; padding:10px 14px; border:1px solid #18334a; background:#d9f65c; color:#18334a; font-size:13px; font-weight:900; }
body.home .home-hero-role { max-width:445px; margin:13px 0 0; color:#27465a; font-size:15px; font-weight:900; line-height:1.65; } body.home .home-hero-role-detail::before { content:" "; } body.home .home-hero-subcopy { margin:7px 0 0; color:#52717f; font-size:13px; font-weight:800; }
body.home .home-intro,body.home .agent-strip,body.home .ticker,body.home .pickup-section,body.home .team-section { display:none; }
body.home .latest-section,body.home .popular-section { padding:40px 0; }
body.home .post-card { min-height:116px; padding:14px 0; }
body.home .post-card h3 { margin:5px 0 9px; font-size:17px; line-height:1.42; }
.policy-brief { display:flex; align-items:end; justify-content:space-between; gap:20px; }.policy-brief h2 { margin:4px 0 5px; font-size:28px; line-height:1.2; }.policy-brief p { margin:0; color:#587181; font-weight:700; }
@media (max-width:760px) { body.home .home-hero { position:relative; isolation:isolate; display:block; min-height:0; padding-top:232px; background:none; } body.home .home-hero::before { content:""; position:absolute; inset:0 0 auto; z-index:0; height:232px; background:url("assets/tokuhaya-cute-ai-office-760.webp") 58% center / cover no-repeat; } body.home .home-hero-inner { position:relative; z-index:1; width:100%; padding:22px 14px 26px; background:#fffdf7; } body.home .home-hero-inner > div { width:100%; } body.home .home-hero h1 { margin:7px 0 10px; font-size:34px; line-height:1.2; } body.home .home-hero-role { max-width:none; color:#27465a; font-size:13px; text-shadow:none; }.home-hero-role-detail,.home-hero-subcopy { display:none; } .policy-brief { align-items:start; flex-direction:column; } }
@media (max-width:760px) { .time-nav-inner { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:10px 0; }.time-nav a { grid-template-columns:1fr; justify-items:start; gap:5px; min-height:70px; padding:9px; }.time-nav b { font-size:13px; }.time-nav-copy { display:none; } }

/* Profile faces remain legible at a glance, including the robot specialists. */
.writer-card { grid-template-columns:104px 1fr; min-height:132px; }.writer-photo { width:104px; height:104px; }.photo-ren,.photo-sora { background-image:url("assets/tokuhaya-writer-profiles-men.png"); background-size:200% 100%; }.photo-ren { background-position:0 50%; }.photo-sora { background-position:100% 50%; }.photo-tokumi,.photo-shiki,.photo-miruna,.photo-seiri { background-image:url("autonomous-office/assets/ai-team-hero.png"); background-size:auto 300%; }.photo-tokumi { background-position:1% 30%; }.photo-shiki { background-position:32% 30%; }.photo-miruna { background-position:68% 30%; }.photo-seiri { background-position:93% 30%; }.article-writer .writer-photo { width:50px; height:50px; }.writer-article-visual .writer-photo { width:126px; height:126px; flex-basis:126px; } @media (max-width:760px) { .writer-card { grid-template-columns:88px 1fr; min-height:112px; }.writer-photo { width:88px; height:88px; } }
.writer-card { grid-template-columns:104px 1fr; min-height:132px; }.writer-photo { width:104px; height:104px; }.photo-ren,.photo-sora { position:relative; overflow:hidden; background-image:none; }.photo-ren { background:#e7eefb; }.photo-sora { background:#e0f5ed; }.photo-ren::before,.photo-sora::before { content:""; position:absolute; width:54px; height:62px; left:25px; top:28px; border-radius:48% 48% 44% 44%; background:#f2c6a8; }.photo-ren::after,.photo-sora::after { content:""; position:absolute; width:62px; height:30px; left:21px; top:19px; border-radius:58% 52% 38% 34%; background:#34465e; box-shadow:17px 35px 0 -13px #34465e, 36px 35px 0 -13px #34465e; }.photo-sora::after { background:#694a3b; box-shadow:17px 35px 0 -13px #345d65, 36px 35px 0 -13px #345d65; }.photo-tokumi,.photo-shiki,.photo-miruna,.photo-seiri { position:relative; overflow:hidden; background-image:none; }.photo-tokumi { background:#dff7eb; }.photo-shiki { background:#fff0ec; }.photo-miruna { background:#e8f0ff; }.photo-seiri { background:#fff7d8; }.photo-tokumi::before,.photo-shiki::before,.photo-miruna::before,.photo-seiri::before { content:""; position:absolute; width:76px; height:66px; left:14px; top:20px; border:5px solid #fffdf7; border-radius:45% 45% 42% 42%; background:#c9eee8; box-shadow:inset 0 0 0 3px #7ec9bc; }.photo-shiki::before { background:#ffd9d1; box-shadow:inset 0 0 0 3px #f0947e; }.photo-miruna::before { background:#d7e5ff; box-shadow:inset 0 0 0 3px #7d9be4; }.photo-seiri::before { background:#ffecb7; box-shadow:inset 0 0 0 3px #e2b64d; }.photo-tokumi::after,.photo-shiki::after,.photo-miruna::after,.photo-seiri::after { content:"•  •"; position:absolute; left:26px; top:32px; width:52px; padding:3px 0 6px; border-radius:18px; background:#effbf8; color:#317a81; font-size:22px; font-weight:900; letter-spacing:5px; line-height:1; text-align:center; }.photo-shiki::after { color:#c85f50; }.photo-miruna::after { color:#5474bf; }.photo-seiri::after { color:#b58226; }.article-writer .writer-photo { width:50px; height:50px; }.writer-article-visual .writer-photo { width:126px; height:126px; flex-basis:126px; } @media (max-width:760px) { .writer-card { grid-template-columns:88px 1fr; min-height:112px; }.writer-photo { width:88px; height:88px; } }

/* Match the soft white shells and compact navy face panels from the top office image. */
.photo-tokumi::before,.photo-shiki::before,.photo-miruna::before,.photo-seiri::before { height:68px; top:19px; border:6px solid #fffdf7; background:#fffdf7; box-shadow:inset 0 0 0 3px #8fded2; }.photo-shiki::before { box-shadow:inset 0 0 0 3px #ff9b83; }.photo-miruna::before { box-shadow:inset 0 0 0 3px #8eaceb; }.photo-seiri::before { box-shadow:inset 0 0 0 3px #f1c75c; }.photo-tokumi::after,.photo-shiki::after,.photo-miruna::after,.photo-seiri::after { left:29px; top:36px; width:46px; padding:4px 0 7px; background:#315666; color:#a7f5e8; font-size:19px; letter-spacing:4px; }.photo-shiki::after { color:#ffb6a6; }.photo-miruna::after { color:#bde8ff; }.photo-seiri::after { color:#ffe09a; }

/* High-fidelity portraits use the same soft 3D lighting as the home office. */
.photo-ren,.photo-sora,.photo-kai,.photo-tokumi,.photo-shiki,.photo-miruna,.photo-seiri { background-image:var(--profile-image); background-size:cover; background-position:center; }.photo-ren { --profile-image:url("assets/article-visuals/ren.png"); }.photo-sora { --profile-image:url("assets/article-visuals/sora.png"); }.photo-kai { --profile-image:url("assets/article-visuals/kai.png"); }.photo-tokumi { --profile-image:url("assets/article-visuals/tokumi.png"); }.photo-shiki { --profile-image:url("assets/article-visuals/shiki.png"); }.photo-miruna { --profile-image:url("assets/article-visuals/miruna.png"); }.photo-seiri { --profile-image:url("assets/article-visuals/seiri.png"); }.photo-ren::before,.photo-ren::after,.photo-sora::before,.photo-sora::after,.photo-kai::before,.photo-kai::after,.photo-tokumi::before,.photo-tokumi::after,.photo-shiki::before,.photo-shiki::after,.photo-miruna::before,.photo-miruna::after,.photo-seiri::before,.photo-seiri::after { content:none; }
.writer-tone-natsumi { --writer-accent:#728d4b; --writer-soft:#f1f8e9; font-family:"Hiragino Sans",Meiryo,sans-serif; }.writer-tone-yuki { --writer-accent:#d96f5b; --writer-soft:#fff4ef; font-family:"Hiragino Maru Gothic ProN","Hiragino Sans",sans-serif; }.writer-tone-mina { --writer-accent:#4c83a8; --writer-soft:#eef7ff; }.writer-tone-akari { --writer-accent:#c86958; --writer-soft:#fff1ed; font-family:"Yu Gothic","Hiragino Sans",sans-serif; }.writer-tone-ren { --writer-accent:#28715e; --writer-soft:#eef8f4; }.writer-tone-kai { --writer-accent:#257f85; --writer-soft:#edf9f8; }.writer-tone-tokumi { --writer-accent:#3c958b; --writer-soft:#effaf8; }.writer-tone-seiri { --writer-accent:#b58a31; --writer-soft:#fff9e9; }.writer-tone-natsumi h2,.writer-tone-yuki h2,.writer-tone-mina h2,.writer-tone-akari h2,.writer-tone-ren h2,.writer-tone-kai h2,.writer-tone-tokumi h2,.writer-tone-seiri h2 { color:var(--writer-accent); }.article .article-visual { overflow:hidden; border:1px solid var(--writer-accent,var(--line)); border-radius:8px; background:var(--writer-soft,#f3fbf5); }.article .article-visual img { display:block; width:100%; aspect-ratio:16 / 7; object-fit:cover; object-position:center; }.article .article-visual figcaption { padding:8px 12px; margin:0; color:var(--writer-accent,#587181); font-weight:800; }
.article-utility { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 22px; }.article-utility span,.article-utility a { min-height:27px; padding:4px 9px; border:1px solid #cde7da; border-radius:999px; background:#f3fbf5; color:#486b78; font-size:12px; font-weight:900; }.article-utility a { border-color:var(--writer-accent,#607b88); color:var(--writer-accent,#40748a); background:#fffdf7; }.related-articles { margin-top:44px; padding-top:26px; border-top:1px solid var(--line); }.related-articles h2 { margin:4px 0 15px; font-size:25px; color:var(--ink)!important; }.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.related-grid a { min-height:104px; padding:13px; border:1px solid #dbece5; border-radius:8px; background:#fffdf7; }.related-grid a:hover { border-color:var(--writer-accent,#8fded2); background:var(--writer-soft,#f3fbf5); }.related-grid span { display:block; margin-bottom:5px; color:var(--writer-accent,#587181); font-size:11px; font-weight:900; }.related-grid strong { display:block; font-size:14px; line-height:1.5; } @media (max-width:760px) { .related-grid { grid-template-columns:1fr; }.related-grid a { min-height:0; } }
.economy-section { padding:56px 0; border-top:1px solid #dbece5; background:#fffdf8; }.economy-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }.economy-card { display:flex; min-height:174px; flex-direction:column; gap:8px; padding:16px; border:1px solid #d8e8e2; border-radius:8px; background:#fff; color:#18334a; }.economy-card:hover { transform:translateY(-2px); border-color:#6da28c; box-shadow:0 8px 18px rgba(38,72,81,.08); }.economy-card-kicker { color:#607b88; font-size:10px; font-weight:900; }.economy-card strong { font-size:17px; line-height:1.35; }.economy-card small { color:#526d77; font-size:12px; font-weight:700; line-height:1.55; }.economy-card em { margin-top:auto; color:#2d6b61; font-size:12px; font-style:normal; font-weight:900; }.economy-coral { border-top:4px solid #e98677; }.economy-blue { border-top:4px solid #5e9ed1; }.economy-yellow { border-top:4px solid #e2b742; }.economy-orange { border-top:4px solid #db8e59; }.economy-green { border-top:4px solid #5d9b76; }.economy-badge { display:inline-flex; width:max-content; margin:7px 0 0; padding:3px 7px; border:1px solid #cfe5dc; border-radius:999px; background:#f4fbf8; color:#3b7869; font-size:10px; font-weight:900; }.economy-hub-hero { padding:74px 0 62px; border-bottom:1px solid #dbece5; background:#eef8f3; }.economy-hub-hero h1 { max-width:760px; margin:6px 0 12px; color:#18334a; font-size:43px; line-height:1.2; }.economy-hub-hero p { max-width:680px; margin:0; color:#425f6c; font-size:17px; line-height:1.85; }.economy-hub-actions { display:flex; gap:10px; margin-top:22px; }.economy-hub-actions a { padding:10px 14px; border:1px solid #527f70; border-radius:6px; background:#fff; color:#285a4d; font-weight:900; }.economy-guide { padding:48px 0; background:#fffdf8; }.economy-guide .container { display:grid; grid-template-columns:1.1fr .9fr; gap:38px; align-items:center; }.economy-guide h2 { margin:4px 0 10px; color:#18334a; font-size:28px; }.economy-guide p { margin:0; color:#48626d; line-height:1.8; }.economy-guide ol { margin:0; padding:0; list-style:none; counter-reset:economy-step; }.economy-guide li { position:relative; min-height:48px; padding:12px 0 12px 42px; border-bottom:1px solid #dce9e4; color:#31505f; font-weight:800; counter-increment:economy-step; }.economy-guide li::before { content:counter(economy-step); position:absolute; left:0; top:10px; display:grid; width:26px; height:26px; place-items:center; border-radius:50%; background:#d7eee4; color:#276353; font-size:12px; }.economy-hub .post-card { background:#fff; }
@media (max-width:980px) { .economy-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px) { .economy-section { padding:42px 0; }.economy-grid { grid-template-columns:1fr 1fr; gap:8px; }.economy-card { min-height:150px; padding:13px; }.economy-card strong { font-size:15px; }.economy-card small { font-size:11px; }.economy-hub-hero { padding:48px 0 40px; }.economy-hub-hero h1 { font-size:32px; }.economy-hub-hero p { font-size:15px; }.economy-guide .container { grid-template-columns:1fr; gap:22px; }.economy-hub-actions a { font-size:13px; } }
.compare-hero { padding:72px 0 62px; background:#e8f5ff; }.compare-hero h1 { margin:7px 0 12px; font-size:46px; }.compare-hero p { max-width:620px; margin:0; color:#587181; font-size:16px; font-weight:700; line-height:1.75; }.compare-groups { display:grid; gap:42px; }.compare-group { padding-bottom:38px; border-bottom:1px solid var(--line); }.compare-table { border-top:2px solid var(--ink); }.compare-table-head,.compare-row { display:grid; grid-template-columns:minmax(0,2fr) 1fr .6fr .8fr; gap:12px; align-items:center; }.compare-table-head { padding:9px 12px; background:#eff8fa; color:#587181; font-size:11px; font-weight:900; }.compare-row { min-height:70px; padding:12px; border-bottom:1px solid var(--line); background:#fffdf7; }.compare-row:hover { background:#f4fbf7; }.compare-row strong { line-height:1.45; }.compare-row span { color:#587181; font-size:13px; font-weight:800; }.deadline-list { display:grid; gap:10px; }.deadline-item { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:18px; border:1px solid #cfe4ed; border-radius:8px; background:#fffdf7; }.deadline-item h2 { margin:5px 0 0; font-size:18px; }.deadline-item > strong { flex:0 0 auto; color:#b64e38; font-size:14px; }.campaign-state { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; margin:0 0 18px; padding:13px 15px; border:1px solid #b7d9e4; border-radius:8px; background:#eff8fa; color:#406878; font-size:13px; font-weight:700; }.campaign-state strong { color:#21647c; }.campaign-state-expired { border-color:#e9c5bd; background:#fff1ed; }.campaign-state-expired strong { color:#aa4d3f; }.campaign-state a { color:#21647c; font-weight:900; text-decoration:underline; }.watchlist-toggle { min-height:36px; margin:-10px 0 18px; padding:7px 12px; border:1px solid #8cbf9d; border-radius:8px; background:#f2fadf; color:#3f6532; font:inherit; font-size:13px; font-weight:900; cursor:pointer; }.watchlist-toggle[aria-pressed="true"] { border-color:#316a82; background:#e8f5ff; color:#316a82; }.watchlist-items { display:grid; gap:10px; }.watchlist-item { display:block; padding:18px; border:1px solid #cfe4ed; border-radius:8px; background:#fffdf7; font-weight:900; line-height:1.5; }.watchlist-empty { padding:26px; border:1px dashed #b7d9e4; color:#587181; text-align:center; } @media (max-width:760px) { .compare-hero { padding:48px 0 42px; }.compare-hero h1 { font-size:32px; }.compare-table-head { display:none; }.compare-row { grid-template-columns:1fr 1fr; min-height:0; }.compare-row strong { grid-column:1 / -1; }.deadline-item { align-items:flex-start; flex-direction:column; gap:8px; }.deadline-item > strong { font-size:13px; } }
.money-compass { padding:34px 0 38px; background:#f4f1ff; }.compass-heading { align-items:end; }.compass-control { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:18px; }.compass-control button { min-height:48px; border:1px solid #d9cfee; border-radius:8px; background:#fffdf7; color:#4e4770; font:inherit; font-size:14px; font-weight:900; cursor:pointer; }.compass-control button[aria-selected="true"] { border-color:#705b9e; background:#705b9e; color:#fff; }.compass-result { display:flex; align-items:center; gap:16px; margin-top:10px; padding:17px 18px; border:1px solid #ded5f0; border-radius:8px; background:#fffdf7; }.compass-result b { color:#443d65; font-size:16px; }.compass-result p { flex:1; margin:0; color:#657887; font-size:13px; font-weight:700; }.compass-result a { color:#40748a; font-size:13px; font-weight:900; text-decoration:underline; text-underline-offset:3px; }.fact-box { display:grid; grid-template-columns:1fr auto; gap:14px; align-items:center; margin:0 0 24px; padding:15px; border:1px solid #cce3da; border-radius:8px; background:#f3fbf5; }.fact-box strong { display:block; margin-top:2px; color:#264f52; font-size:16px; }.fact-box dl { display:flex; flex-wrap:wrap; gap:9px 16px; margin:0; }.fact-box dl div { display:grid; gap:2px; }.fact-box dt { color:#6d8588; font-size:11px; font-weight:800; }.fact-box dd { margin:0; color:#315c61; font-size:12px; font-weight:900; }.fact-box > a { grid-column:1 / -1; color:#2d7180; font-size:12px; font-weight:900; text-decoration:underline; text-underline-offset:3px; } @media (max-width:760px) { .compass-heading { align-items:start; }.compass-control { grid-template-columns:repeat(2,1fr); }.compass-result { align-items:start; flex-direction:column; gap:8px; }.fact-box { grid-template-columns:1fr; }.fact-box dl { gap:9px 18px; } }
/* Home hierarchy: decision first, navigation second, editorial personality later. */
body.home .home-hero { order:1; }
body.home .priority-section { order:2; background:#fffdf7; border-bottom:1px solid var(--line); }
body.home .money-compass { order:3; background:#eff8fa; border-bottom:1px solid var(--line); }
body.home .quick-nav { order:4; }
body.home .economy-section { order:5; }
body.home .latest-section { order:5; }
body.home .popular-section { order:6; }
body.home .writers-section { order:7; }
body.home .office-section { order:8; }
body.home .section-dark { order:9; }
body.home .priority-section { padding:36px 0 40px; }
body.home .priority-card { border-color:#dbece5; box-shadow:none; }
body.home .priority-card-main { border-color:#b6dccc; background:#effbf4; }
body.home .priority-kicker { background:var(--ink); }
body.home .priority-time { border-color:#b7d9e4; background:#fffdf7; }
body.home .money-compass { padding:30px 0 32px; }
body.home .compass-control button { border-color:#c9dce4; color:#315c72; }
body.home .compass-control button[aria-selected="true"] { border-color:var(--ink); background:var(--ink); color:#fffdf7; }
body.home .compass-result { border-color:#cfe4ed; background:#fffdf7; }
body.home .compass-result b { color:var(--ink); }
body.home .quick-nav { background:#fffdf7; }
body.home .quick-nav a { border-color:#dbece5; box-shadow:none; }
body.home .quick-nav span { color:#52717f; }
body.home .writers-section { background:#f4f1ff; }
@media (max-width:760px) { body.home .priority-section { padding:30px 0 34px; } body.home .money-compass { padding:26px 0 28px; } }

/* Article reading mode: quieter color, stronger type hierarchy, and a human editor first. */
.article { max-width:820px; margin:42px auto 64px; padding:clamp(24px,5vw,62px); border:1px solid #e0ebe7; border-radius:8px; background:#fff; box-shadow:0 8px 28px rgba(24,51,74,.05); }
.article h1 { margin:10px 0 15px; color:#18334a; font-family:"Hiragino Sans",Meiryo,sans-serif; font-size:clamp(30px,4vw,44px); font-weight:900; line-height:1.35; }
.article h2 { margin:42px 0 14px; padding-top:6px; color:#18334a!important; font-size:clamp(21px,2.6vw,27px); line-height:1.45; }
.article h3 { margin:28px 0 10px; color:#24475d; font-size:19px; line-height:1.5; }
.article > .writer-tone-natsumi > p,.article > .writer-tone-yuki > p,.article > .writer-tone-mina > p,.article > .writer-tone-akari > p,.article > .writer-tone-ren > p,.article > .writer-tone-sora > p,.article > .writer-tone-kai > p,.article > .writer-tone-tokumi > p,.article > .writer-tone-shiki > p,.article > .writer-tone-miruna > p,.article > .writer-tone-seiri > p,.article p { color:#30485a; font-size:17px; line-height:2; }
.article li { color:#30485a; font-size:16px; line-height:1.85; }
.article .article-writer-intro { margin:0 0 28px; padding:0 0 22px; border-bottom:1px solid #dce8e4; }
.article .article-writer { margin:0; padding:14px 0; border:0; border-radius:0; background:transparent; }
.article .article-writer .writer-photo { flex:0 0 64px; width:64px; height:64px; border:2px solid #fff; box-shadow:0 0 0 1px #cfe3dc; }
.article .article-writer strong { color:#18334a; font-size:17px; }.article .article-writer small { margin-top:2px; color:#587181; font-size:12px; }.article .article-writer-link { color:#316a82; text-decoration:underline; text-underline-offset:3px; }
.article-date-row { display:flex; flex-wrap:wrap; gap:8px; margin:2px 0 12px; }.article-date-row span { padding:3px 8px; border:1px solid #d7e7e2; border-radius:4px; color:#55717e; background:#f8fbfa; font-size:12px; font-weight:800; }
.article-writer-intro > p { margin:0; color:#3c5966; font-size:15px!important; line-height:1.75!important; }.article-writer-intro > p strong { color:#18334a; }.article-writer-intro .writer-opening-note { display:grid; grid-template-columns:max-content 1fr; gap:10px; align-items:start; padding:12px 14px; border-left:4px solid var(--writer-accent,#8eaa60); background:var(--writer-soft,#f3fbf5); }.article-writer-intro .writer-opening-note strong { font-size:12px; white-space:nowrap; }.article-writer-intro .writer-opening-note span { min-width:0; }
.article .writer-byline { display:none; }
.article .article-utility { margin:0 0 22px; }.article .article-utility span,.article .article-utility a { border-color:#cddfdb; background:#f7fbf9; color:#3f6270; }.article .article-utility a { background:#fff; color:#316a82; }
.article .article-quick-answer { margin:0 0 22px; padding:16px 18px; border:1px solid #b9ded0; border-left:5px solid var(--writer-accent,#4c927d); border-radius:8px; background:var(--writer-soft,#f1faf5); }
.article .article-quick-answer strong { display:block; margin:0 0 5px; color:#18334a; font-size:14px; font-weight:900; }
.article .article-quick-answer p { margin:0; color:#294b58; font-size:16px; font-weight:700; line-height:1.75; }
.article .fact-box { margin:0 0 26px; border-color:#b9ded0; background:#f1faf5; }.article .campaign-state { margin:0 0 16px; }.article .campaign-tool { border-color:#c9dfd7; background:#fbfefc; }.article .campaign-tool th { color:#254f52; background:#eaf7f0; }.article .campaign-tool td { color:#30485a; }.article .action-checklist li { border-color:#d7e5e0; background:#fff; }
.post-card { position:relative; min-height:214px; padding:0; border-top:0; }.post-card-link { display:flex; box-sizing:border-box; min-height:inherit; padding:17px 0 0; border-top:3px solid var(--lime); flex-direction:column; color:inherit; text-decoration:none; -webkit-tap-highlight-color:rgba(49,106,130,.14); }.post-card:nth-child(2) .post-card-link { border-color:var(--coral); }.post-card:nth-child(3) .post-card-link { border-color:var(--sky); }.post-card-link:hover h3 { color:#2d7465; }.post-card-link:focus-visible { border-radius:6px; outline:3px solid #67a994; outline-offset:5px; }.post-card-link:active { opacity:.78; }.post-card-writer { display:flex; align-items:center; gap:8px; margin-top:auto; padding:12px 0 13px; border-top:1px solid #e0ece8; }.post-card-writer .writer-photo { flex:0 0 32px; width:32px; height:32px; }.post-card-writer b { display:block; color:#31505f; font-size:12px; line-height:1.25; }.post-card-writer small { display:block; margin-top:1px; color:#718792; font-size:10px; font-weight:800; line-height:1.35; }.post-rank { position:absolute; top:15px; right:0; display:grid; width:28px; height:28px; place-items:center; border-radius:50%; background:#18334a; color:#fff; font-size:13px; font-weight:900; }.post-rank + .category { padding-right:34px; }
.post-card-dates { display:flex; flex-wrap:wrap; gap:5px; margin:2px 0 9px; }.post-card-dates time { display:inline-flex; align-items:center; min-height:22px; padding:2px 7px; border:1px solid #d8e7e1; border-radius:4px; background:#f7fbf9; color:#526d77; font-size:10px; font-weight:900; line-height:1; }.post-card-dates .post-card-updated { border-color:#f0d7bd; background:#fff8ed; color:#9a5d27; }.mark-expired { background:#f0eeee; color:#6b6262; }
body.home .post-card { padding:0; }
body.home .post-card-link { padding:14px 0; }
.home-hero { order:1; }
body.home .quick-nav { order:2; }
body.home .return-hub { order:3; }
body.home .latest-section { order:4; }
body.home .priority-section { order:5; }
body.home .economy-section { order:6; }
body.home .money-compass { order:7; }
body.home .popular-section { order:8; }
body.home .writer-ranking-section { order:9; }
body.home .writers-section { order:10; }
body.home .office-section { order:11; }
body.home .section-dark { order:12; }
.writer-ranking-section { border-top:1px solid #dbece5; background:#f7fbfa; }.writer-ranking-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.writer-ranking-card { display:grid; grid-template-columns:auto 50px 1fr; gap:10px; align-items:center; min-height:98px; padding:12px; border:1px solid #d8e8e2; border-radius:8px; background:#fff; }.writer-ranking-card:hover { border-color:#87b7a3; background:#fbfefc; }.writer-ranking-card .writer-photo { width:50px; height:50px; }.writer-ranking-number { display:grid; width:21px; height:21px; place-items:center; border-radius:50%; background:#e8f5ff; color:#315c72; font-size:11px; font-weight:900; }.writer-ranking-card strong,.writer-ranking-card small,.writer-ranking-card em { display:block; }.writer-ranking-card strong { color:#18334a; font-size:14px; }.writer-ranking-card small { color:#607b88; font-size:10px; font-weight:800; line-height:1.35; }.writer-ranking-card em { margin-top:3px; color:#597b65; font-size:10px; font-style:normal; font-weight:900; }
@media (max-width:760px) { .article { margin:22px 14px 42px; padding:24px 20px; }.article h1 { font-size:29px; line-height:1.42; }.article p { font-size:16px; line-height:1.9; }.article li { font-size:15px; }.article .article-writer .writer-photo { flex-basis:56px; width:56px; height:56px; }.article .article-writer-link { display:none; }.article-date-row { gap:6px; }.post-card { min-height:0; }.writer-ranking-grid { grid-template-columns:1fr 1fr; }.writer-ranking-card { grid-template-columns:auto 44px 1fr; min-height:88px; padding:10px; }.writer-ranking-card .writer-photo { width:44px; height:44px; } }
@media (max-width:760px) { .section-heading { align-items:flex-start; flex-direction:column; gap:8px; }.section-heading .team-note { width:100%; max-width:none; }.latest-section .section-heading { margin-bottom:16px; } }

/* Article tables need to work as decision tools, not as a dense spreadsheet. */
.article table { width:100%; margin:20px 0 28px; border:1px solid #d7e5e0; border-collapse:separate; border-spacing:0; border-radius:8px; background:#fff; overflow:hidden; font-size:15px; }
.article table th,.article table td { padding:14px 15px; border-right:1px solid #e2ece8; border-bottom:1px solid #dce8e4; color:#30485a; text-align:left; vertical-align:top; line-height:1.65; }
.article table th { color:#24475d; background:#f1f8f5; font-size:13px; font-weight:900; }
.article table th:last-child,.article table td:last-child { border-right:0; }
.article table tr:last-child th,.article table tr:last-child td { border-bottom:0; }
.article .campaign-tool table { margin:0; border:0; border-radius:0; }
.article .campaign-tool table th,.article .campaign-tool table td { padding:12px; }
.article table.mobile-card-table { table-layout:fixed; }
.article .campaign-tool table.mobile-card-table th { width:auto; }
.article table.mobile-card-table.table-columns-2 tr > :first-child { width:30%; }
.article table.mobile-card-table.table-columns-2 tr > :last-child { width:70%; }
.article table.mobile-card-table.table-columns-4 tr > :first-child { width:22%; }
.article table.mobile-card-table.table-columns-4 tr > :not(:first-child) { width:26%; }
.article table.mobile-card-table th,.article table.mobile-card-table td { overflow-wrap:anywhere; }
.article .economy-decision-table { border:2px solid #7cbda7; box-shadow:0 5px 0 rgba(70,137,116,.09); }
.article .economy-decision-table th { background:#dff3e8; color:#244e4b; }
.article .economy-decision-table td:nth-child(2) { min-width:100px; color:#286f64; font-size:17px; font-weight:900; }
.article .economy-result-table { border-color:#b9d5e2; }
.article .economy-result-table th { background:#eaf5fb; color:#305d76; }
.article .economy-result-table td:nth-child(1) { min-width:84px; color:#18334a; font-weight:900; }
.article .economy-result-table td:nth-child(3) { min-width:110px; color:#b44c39; font-weight:900; }
.article .affiliate-disclosure { margin:0 0 18px; padding:9px 12px; border:1px solid #d8e5e0; border-radius:6px; background:#f7faf9; color:#5b7079; font-size:12px; font-weight:800; line-height:1.65; }
@media (max-width:760px) {
  .article .table-scroll,.article .table-scroll.mobile-table-ready { overflow:visible; }
  .article table:not(.mobile-card-table):not(.mobile-key-value-table) { table-layout:fixed; font-size:13px; }
  .article table:not(.mobile-card-table):not(.mobile-key-value-table) th,.article table:not(.mobile-card-table):not(.mobile-key-value-table) td { min-width:0; padding:9px; overflow-wrap:anywhere; }
  .article table.mobile-key-value-table { display:block; border:0; border-radius:0; overflow:visible; background:transparent; font-size:14px; }
  .article table.mobile-key-value-table tbody { display:grid; gap:10px; }
  .article table.mobile-key-value-table tr { display:grid; grid-template-columns:minmax(94px,35%) minmax(0,1fr); overflow:hidden; border:1px solid #d7e5e0; border-radius:8px; background:#fff; }
  .article table.mobile-key-value-table tr > th,.article table.mobile-key-value-table tr > td { display:block; width:auto; min-width:0; padding:11px 12px; border:0; background:#fff; overflow-wrap:anywhere; }
  .article table.mobile-key-value-table tr > th { border-right:1px solid #e2ece8; background:#f1f8f5; color:#315c61; font-size:12px; font-weight:900; }
  .article .campaign-tool table.mobile-key-value-table { display:block; }
  .article table.mobile-card-table { display:block; border:0; border-radius:0; overflow:visible; background:transparent; font-size:14px; }
  .article table.mobile-card-table thead,.article table.mobile-card-table .mobile-table-header { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .article table.mobile-card-table tbody { display:grid; gap:12px; }
  .article table.mobile-card-table tr { display:block; overflow:hidden; border:1px solid #d7e5e0; border-radius:8px; background:#fff; }
  .article table.mobile-card-table tr > th,.article table.mobile-card-table tr > td { display:grid; grid-template-columns:minmax(88px,35%) minmax(0,1fr); gap:12px; min-width:0; padding:11px 12px; border:0; border-bottom:1px solid #e2ece8; background:#fff; color:#30485a; font-size:14px; font-weight:700; overflow-wrap:anywhere; }
  .article table.mobile-card-table.table-columns-2 tr > :first-child,.article table.mobile-card-table.table-columns-2 tr > :last-child,.article table.mobile-card-table.table-columns-4 tr > :first-child,.article table.mobile-card-table.table-columns-4 tr > :not(:first-child) { width:auto; }
  .article table.mobile-card-table tr > :last-child { border-bottom:0; }
  .article table.mobile-card-table tr > [data-label]::before { content:attr(data-label); color:#315c61; font-size:12px; font-weight:900; line-height:1.55; }
  .article table.mobile-card-table.economy-decision-table,.article table.mobile-card-table.economy-result-table { border:0; box-shadow:none; }
  .article table.mobile-card-table.economy-decision-table tr,.article table.mobile-card-table.economy-result-table tr { border-color:#a9d3c4; }
  .article .campaign-tool table.mobile-card-table { display:block; }
  .article .campaign-tool table.mobile-card-table tr > th,.article .campaign-tool table.mobile-card-table tr > td { min-width:0; padding:10px 11px; }
  .article h1 { font-size:26px; line-height:1.4; letter-spacing:0; }
}

/* Keep home article cards readable on narrow screens. Two-column cards made
   titles and date badges overflow the viewport. */
@media (max-width:760px) {
  body.home .latest-section .cards,
  body.home .popular-section .cards,
  body.home #s-rating .cards { grid-template-columns:1fr; }
  body.home .cards .post-card-link > .post-card-dates {
    flex:0 1 100%; width:100%; min-width:0; margin-left:0;
  }
}

/* Returning readers get a compact, useful reason to come back near the top. */
.return-hub { border-bottom:1px solid #dbece5; background:#fff; }
.today-pulse { display:flex; min-height:58px; align-items:center; gap:14px; padding:9px 0; }
.today-pulse > div { display:flex; align-items:baseline; gap:10px; margin-right:auto; }
.today-pulse-label { color:#e77560; font-size:10px; font-weight:900; }
.today-pulse strong { font-size:15px; }
.today-pulse small { color:#607b88; font-size:11px; font-weight:800; }
.today-pulse a { padding:5px 8px; color:#316a82; font-size:12px; font-weight:900; }
.return-digest { display:grid; grid-template-columns:1fr 1fr .78fr; gap:12px; padding:0 0 20px; }
.return-digest-card { min-height:138px; padding:15px; border:1px solid #d8e7e1; border-radius:8px; background:#fffdf7; }
.return-digest-card h2 { margin:3px 0 10px; font-size:18px; line-height:1.3; }
.return-digest-kicker { color:#e77560; font-size:10px; font-weight:900; letter-spacing:0; }
.return-digest-card ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.return-digest-card li { display:grid; gap:2px; min-width:0; }
.return-digest-card li a { display:-webkit-box; overflow:hidden; color:#18334a; font-size:13px; font-weight:900; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.return-digest-card li small { color:#607b88; font-size:10px; font-weight:900; }
.return-watch-links { display:flex; flex-wrap:wrap; gap:7px; }
.return-watch-links a { padding:6px 10px; border:1px solid #cddfd8; border-radius:999px; background:#fff; color:#315c72; font-size:12px; font-weight:900; }
.return-reading { padding:22px 0 28px; border-top:1px solid #e0ece8; }
.return-reading[hidden],.return-reading-list[hidden] { display:none; }
.return-reading-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:14px; }
.return-reading h2 { margin:2px 0 0; font-size:23px; line-height:1.2; }
.return-reading-tabs { display:flex; gap:4px; padding:3px; border:1px solid #d8e7e1; border-radius:7px; background:#f4f8f6; }
.return-reading-tabs button { min-height:32px; padding:4px 12px; border:0; border-radius:5px; background:transparent; color:#607b88; font:inherit; font-size:12px; font-weight:900; cursor:pointer; }
.return-reading-tabs button[aria-selected="true"] { background:#fff; color:#285e52; box-shadow:0 1px 4px rgba(24,51,74,.12); }
.return-reading-list { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.return-reading-item { display:grid; min-height:78px; grid-template-columns:72px minmax(0,1fr); gap:11px; align-items:center; padding:9px; border:1px solid #d8e7e1; border-radius:8px; background:#fffdf7; }
.return-reading-item:not(.has-image) { grid-template-columns:1fr; }
.return-reading-item:hover { border-color:#87b7a3; }
.return-reading-item img { width:72px; height:56px; border-radius:5px; object-fit:cover; }
.return-reading-item small,.return-reading-item strong { display:block; }
.return-reading-item small { margin-bottom:2px; color:#e77560; font-size:10px; font-weight:900; }
.return-reading-item strong { display:-webkit-box; overflow:hidden; font-size:13px; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.return-reading-all { display:block; width:max-content; margin:13px 0 0 auto; color:#316a82; font-size:12px; font-weight:900; }
.return-reading-all[hidden] { display:none; }
.watchlist-toggle { display:inline-flex; align-items:center; gap:7px; }
.watchlist-toggle > [aria-hidden="true"] { font-size:17px; line-height:1; }
@media (max-width:760px) {
  .today-pulse { min-height:54px; gap:6px; }
  .today-pulse > div { align-items:flex-start; flex-direction:column; gap:0; }
  .today-pulse-label,.today-pulse small { display:none; }
  .today-pulse a { flex:0 0 auto; padding:5px; font-size:11px; }
  .return-digest { grid-template-columns:1fr; gap:9px; padding-bottom:16px; }
  .return-digest-card { min-height:0; padding:13px; }
  .return-digest-card h2 { font-size:17px; }
  .return-digest-card li:nth-child(n+3) { display:none; }
  .return-reading { padding:18px 0 22px; }
  .return-reading-head { align-items:flex-start; flex-direction:column; gap:10px; }
  .return-reading h2 { font-size:21px; }
  .return-reading-tabs { width:100%; }
  .return-reading-tabs button { flex:1; }
  .return-reading-list { grid-template-columns:1fr; }
  .return-reading-item { min-height:74px; }
  .return-reading-item:nth-child(n+3) { display:none; }
  .perfecty-push-dialog-box { display:grid; width:calc(100% - 28px); max-width:390px; grid-template-columns:48px minmax(0,1fr); gap:10px; padding:12px; flex-wrap:nowrap; text-align:left; }
  .perfecty-push-dialog-box .perfecty-push-dialog-icon { width:48px; height:48px; object-fit:contain; }
  .perfecty-push-dialog-form { min-width:0; }
  .perfecty-push-dialog-container .perfecty-push-dialog-form .perfecty-push-dialog-title { margin:0 0 8px; font-size:13px; font-weight:800; line-height:1.5; }
  .perfecty-push-dialog-buttons { display:flex; justify-content:flex-end; gap:6px; }
  .perfecty-push-dialog-container .perfecty-push-dialog-form button { min-height:36px; margin:0; padding:8px 10px; font-size:12px; }
}

/* The compass is a real chooser: one clear destination, not four stacked messages. */
.compass-control button { display:grid; align-content:center; justify-items:start; gap:2px; min-height:62px; padding:10px 13px; text-align:left; }.compass-control button b { font-size:14px; }.compass-control button span { color:#63808d; font-size:10px; font-weight:800; }.compass-control button[aria-selected="true"] span { color:#d9f65c; }.compass-control button:focus-visible { outline:3px solid #8abfd1; outline-offset:2px; }.compass-result[hidden] { display:none; }.compass-result { grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px; padding:18px; }.compass-result > div b { display:block; color:#18334a; font-size:16px; }.compass-result > div p { margin:3px 0 0; color:#587181; font-size:13px; font-weight:700; line-height:1.65; }.compass-step { display:grid; width:54px; height:54px; place-items:center; border-radius:50%; background:#dff7eb; color:#315c61; font-size:10px; font-weight:900; text-align:center; line-height:1.2; }.compass-result a { justify-self:end; white-space:nowrap; }
@media (max-width:760px) { .compass-control button { min-height:68px; padding:9px; }.compass-control button b { font-size:13px; }.compass-result { grid-template-columns:50px minmax(0,1fr); gap:11px; padding:15px; }.compass-step { width:48px; height:48px; }.compass-result > div b { font-size:15px; }.compass-result a { grid-column:2; justify-self:start; } }

.article .article-inline-visual { margin:28px 0 34px; overflow:hidden; border:1px solid var(--writer-accent,var(--line)); border-radius:8px; background:var(--writer-soft,#f3fbf5); }.article .article-inline-visual img { display:block; width:100%; aspect-ratio:16 / 9; object-fit:cover; }.article .article-inline-visual figcaption { padding:11px 14px; color:var(--writer-accent,#587181); font-size:13px; font-weight:800; line-height:1.7; }

.photo-iluma { background:#dff7eb url("assets/iluma-profile.jpg") center/cover no-repeat; }
.article .iluma-editor-profile { border-color:#9ed7c9; background:#f5fcf9; }
.iluma-editor-profile-grid { display:grid; grid-template-columns:160px minmax(0,1fr); gap:22px; align-items:center; }
.iluma-editor-profile-grid figure { margin:0; }
.iluma-editor-profile-grid img { display:block; width:160px; height:160px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 3px #fff,0 0 0 4px #b9ded0; }
.article .iluma-editor-profile-grid p { margin:0 0 8px; font-size:16px; line-height:1.85; }
.article .iluma-editor-profile-grid p:last-child { margin-bottom:0; }
.writer-card.social-member { border-color:#72c7b4; background:#f5fcf9; }
.team-profile-section { background:#fffdf7; }
.team-profile-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr); gap:48px; align-items:start; }
.team-profile-layout h2 { margin:7px 0 12px; color:#24475d; font-size:32px; }
.team-profile-layout p { max-width:760px; margin:0; color:#4c6572; font-size:17px; line-height:1.95; }
.team-social-links { display:grid; gap:10px; }
.team-social-links a { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:58px; padding:12px 16px; border:1px solid #cde7da; border-radius:8px; background:#fff; color:#24475d; text-decoration:none; }
.team-social-links a:hover { border-color:#58a995; background:#f0faf6; }
@media (max-width:760px) { .iluma-editor-profile-grid { grid-template-columns:1fr; justify-items:start; }.iluma-editor-profile-grid img { width:112px; height:112px; } }
.team-social-links span { color:#587181; font-size:12px; font-weight:900; }
.team-social-links strong { font-size:14px; }
@media (max-width:760px) { .team-profile-layout { grid-template-columns:1fr; gap:28px; }.team-profile-layout h2 { font-size:25px; }.team-profile-layout p { font-size:16px; }.team-social-links a { min-height:54px; } }
.writer-background-section { background:#fffdf7; }
.writer-background-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr); gap:38px; align-items:start; }
.writer-background-grid h2 { margin:7px 0 12px; color:#24475d; font-size:30px; }
.writer-background-grid p { margin:0; color:#4c6572; font-size:16px; line-height:1.9; }
.writer-profile-points { display:grid; gap:12px; margin:0; }
.writer-profile-points div { padding:14px 16px; border:1px solid #d8e8e2; border-radius:8px; background:#f7fbfa; }
.writer-profile-points dt { margin:0 0 5px; color:#587181; font-size:12px; font-weight:900; }
.writer-profile-points dd { margin:0; color:#24475d; font-size:14px; font-weight:800; line-height:1.7; }
@media (max-width:760px) { .writer-background-grid { grid-template-columns:1fr; gap:22px; }.writer-background-grid h2 { font-size:24px; }.writer-background-grid p { font-size:15px; } }

/* GA4 shows mobile visitors need a shorter path from the brand to fresh articles. */
body.home .latest-section { order:3; }
body.home .return-hub { order:4; }
body.home .flow-gateway { order:5; }
body.home .priority-section { order:6; }
body.home .economy-section { order:7; }
body.home .money-compass { order:8; }
body.home .popular-section { order:9; }
body.home .writer-ranking-section { order:10; }
body.home .writers-section { order:11; }
body.home .office-section { order:12; }
body.home .section-dark { order:13; }

.flow-gateway { padding:22px 0; border-top:1px solid #d8e0de; border-bottom:1px solid #d8e0de; background:#eef3f1; }
.flow-gateway-inner { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:28px; align-items:center; }
.flow-gateway-copy h2 { margin:3px 0 4px; color:#173d43; font-size:clamp(22px,2.4vw,31px); line-height:1.3; }
.flow-gateway-copy p { margin:0; color:#526b70; font-size:13px; font-weight:700; }
.flow-gateway-status { display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-end; }
.flow-gateway-status span { padding:4px 9px; border:1px solid #b9ccca; border-radius:4px; background:#fffdf7; color:#365c61; font-size:11px; font-weight:900; }
.flow-gateway-link { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:46px; padding:10px 16px; border-radius:6px; background:#173d43; color:#fff; font-size:13px; font-weight:900; white-space:nowrap; }
.flow-gateway-link:hover { background:#285b5f; }

@media (max-width:760px) {
  body.home .home-hero { padding-top:170px; }
  body.home .home-hero::before { height:170px; }
  body.home .home-hero-inner { padding:15px 14px 18px; }
  body.home .home-hero h1 { margin:5px 0 7px; font-size:29px; }
  body.home .home-hero-role { font-size:12px; line-height:1.55; }
  body.home .home-hero-link { margin-top:11px; padding:8px 11px; }
  body.home .quick-nav-inner { display:flex; width:100%; padding:10px 14px; overflow-x:auto; gap:7px; scroll-snap-type:x proximity; scrollbar-width:none; }
  body.home .quick-nav-inner::-webkit-scrollbar { display:none; }
  body.home .quick-nav a { flex:0 0 108px; min-height:50px; padding:8px 10px; scroll-snap-align:start; font-size:13px; }
  body.home .latest-section { padding:27px 0 30px; }
  body.home .latest-section .team-note { display:none; }
  body.home .latest-section .cards { gap:0; }
  body.home .latest-section .post-card-link { padding:12px 0; }
  .flow-gateway { padding:20px 0; }
  .flow-gateway-inner { grid-template-columns:1fr; gap:13px; }
  .flow-gateway-copy h2 { font-size:23px; }
  .flow-gateway-copy p { font-size:12px; line-height:1.7; }
  .flow-gateway-status { justify-content:flex-start; }
  .flow-gateway-link { width:100%; }
}


/* Fix: mobile hamburger reveals all primary nav links (was hiding 4 of 6 with no menu). */
.nav-toggle { display:none; }
@media (max-width:900px) {
  .nav-toggle { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; margin-left:auto; padding:0; border:1px solid #d8ebe4; border-radius:8px; background:#fffdf7; cursor:pointer; }
  .nav-toggle-box { position:relative; width:18px; height:12px; }
  .nav-toggle-bar,.nav-toggle-box::before,.nav-toggle-box::after { content:""; position:absolute; left:0; width:18px; height:2px; border-radius:2px; background:#18334a; transition:transform .2s ease,opacity .2s ease; }
  .nav-toggle-bar { top:5px; }
  .nav-toggle-box::before { top:0; }
  .nav-toggle-box::after { top:10px; }
  .site-header.nav-open .nav-toggle-box::before { transform:translateY(5px) rotate(45deg); }
  .site-header.nav-open .nav-toggle-bar { opacity:0; }
  .site-header.nav-open .nav-toggle-box::after { transform:translateY(-5px) rotate(-45deg); }
  .site-header .nav-links { position:absolute; top:calc(100% + 1px); left:0; right:0; z-index:20; display:none; flex-direction:column; gap:0; padding:6px; background:#fffdf7; border:1px solid var(--line); border-radius:0 0 12px 12px; box-shadow:0 14px 26px rgba(24,51,74,.13); }
  .site-header.nav-open .nav-links { display:flex; }
  .nav-links a { display:block; padding:13px 12px; border-radius:8px; font-size:16px; }
  .nav-links a:not(:last-child) { display:block; }
  .nav-links a:hover,.nav-links a:active { background:var(--mint); }
}

/* Home order: latest first, then category nav, rating, and context sections. */
body.home .latest-section { order:2; }
body.home .quick-nav { order:3; }
body.home .rating-finder { order:4; }
body.home .deep-dive-section { order:5; }
body.home .priority-section { order:6; }
body.home .return-hub { order:7; }
body.home .flow-gateway { order:8; }


/* Tablet tier (761-900px): give multi-column sections a clean 2-3 col layout (fixes writer-grid overflow). */
@media (min-width:761px) and (max-width:900px) {
  .writer-grid,.team-grid,.cards,.trust-grid,.writer-ranking-grid,.advanced-guide-grid,.related-grid { grid-template-columns:repeat(2,1fr); }
  .quick-nav-inner,.economy-grid,.office-flow { grid-template-columns:repeat(3,1fr); }
}


/* --- Site search + archive/search listings --- */
.site-search { background:#fffdf7; border-bottom:1px solid var(--line); }
.site-search .container { padding:12px 0; }
.search-form { display:flex; gap:8px; width:min(560px,100%); margin:0 auto; }
.search-form .search-field { flex:1; min-width:0; height:44px; padding:0 14px; border:1px solid #cddfd8; border-radius:8px; background:#fff; font:inherit; font-size:15px; color:var(--ink); }
.search-form .search-field:focus { outline:2px solid #a9d8c8; outline-offset:0; border-color:#a9d8c8; }
.search-form .search-submit { flex:0 0 auto; height:44px; padding:0 18px; border:0; border-radius:8px; background:var(--ink); color:#fffdf7; font-weight:900; font-size:14px; cursor:pointer; }
.search-form .search-submit:hover { background:#24506e; }
.screen-reader-text { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.archive-section { background:#f5fbf8; }
.archive-heading h1 { margin:4px 0 0; font-size:30px; line-height:1.2; }
.archive-desc { margin-top:8px; color:#587181; font-size:14px; }
.archive-sort { display:inline-flex; gap:4px; margin:0 0 20px; padding:4px; border:1px solid var(--line); border-radius:999px; background:#fffdf7; }
.archive-sort-tab { padding:7px 16px; border-radius:999px; font-size:13px; font-weight:900; color:#57717d; }
.archive-sort-tab.is-active { background:var(--ink); color:#fffdf7; }
.search-again { margin:0 0 20px; }
.empty-note { margin:18px 0; padding:22px; border:1px dashed #cddfd8; border-radius:10px; background:#fffdf7; color:#587181; font-weight:700; }
.search-suggest { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:14px; font-size:14px; color:#587181; }
.search-suggest a { padding:7px 13px; border:1px solid #cddfd8; border-radius:999px; font-weight:900; color:var(--ink); background:#fffdf7; }
.search-suggest a:hover { background:var(--mint); }
.pagination { margin-top:26px; }
.pagination .nav-links { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; }
.pagination .page-numbers { display:inline-flex; min-width:40px; height:40px; align-items:center; justify-content:center; padding:0 12px; border:1px solid #cddfd8; border-radius:8px; background:#fffdf7; color:var(--ink); font-weight:900; font-size:14px; }
.pagination .page-numbers.current { background:var(--ink); color:#fffdf7; border-color:var(--ink); }
.pagination a.page-numbers:hover { background:var(--mint); }
.mark-expired { background:#ececec; color:#7a7a7a; }


/* Okaneta rating finder: glossy rank filters with mobile-first tap targets. */
.rating-finder { padding:30px 0 36px; border-bottom:1px solid var(--line); background:#f7fbf9; }
.rating-finder-heading { align-items:end; }
.rating-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; margin-top:18px; }
.rating-tab { --rank-a:#477d68; --rank-b:#1d493d; --rank-ink:#fffdf7; position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); gap:9px; align-items:center; min-height:72px; padding:11px 12px; border:0; border-radius:8px; overflow:hidden; background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.08) 43%,rgba(0,0,0,.08) 100%),linear-gradient(135deg,var(--rank-a),var(--rank-b)); color:var(--rank-ink); box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 10px 22px rgba(24,51,74,.13); font:inherit; text-align:left; cursor:pointer; }
.rating-tab::after { content:""; position:absolute; inset:0 0 auto; height:45%; background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(255,255,255,0)); pointer-events:none; }
.rating-tab[aria-selected="true"] { transform:translateY(-2px); box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 14px 28px rgba(24,51,74,.18); outline:2px solid rgba(24,51,74,.18); outline-offset:2px; }
.rating-tab:focus-visible { outline:3px solid #18334a; outline-offset:3px; }
.rating-tab .rating-letter { position:relative; z-index:1; display:grid; width:36px; height:36px; place-items:center; border-radius:8px; background:rgba(255,255,255,.24); box-shadow:inset 0 1px 0 rgba(255,255,255,.58); font-size:22px; font-weight:900; line-height:1; }
.rating-tab b,.rating-tab small { position:relative; z-index:1; display:block; letter-spacing:0; }
.rating-tab b { font-size:14px; line-height:1.25; }
.rating-tab small { margin-top:3px; opacity:.88; font-size:11px; font-weight:900; line-height:1.3; }
.rating-s { --rank-a:#244a37; --rank-b:#c49a35; }
.rating-a { --rank-a:#49b982; --rank-b:#216f57; }
.rating-b { --rank-a:#45a9d8; --rank-b:#266c9b; }
.rating-c { --rank-a:#eba33b; --rank-b:#aa6420; }
.rating-d { --rank-a:#c87a86; --rank-b:#6f6872; }
.rating-panel { margin-top:16px; }
.rating-panel[hidden] { display:none; }
.rating-panel-copy { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:baseline; margin:0 0 12px; color:#587181; font-size:13px; font-weight:800; }
.rating-panel-copy strong { color:#18334a; font-size:17px; }
.rating-cards { padding:2px 0 0; }
.rating-empty { margin:0; padding:18px; border:1px dashed #c9ddd5; border-radius:8px; background:#fffdf7; color:#587181; font-size:13px; font-weight:800; line-height:1.7; }
.okaneta-rating-badge { display:inline-flex; width:max-content; margin:7px 6px 0 0; padding:3px 8px; border-radius:999px; color:#fffdf7; font-size:10px; font-weight:900; line-height:1.2; box-shadow:inset 0 1px 0 rgba(255,255,255,.45); }
.okaneta-rating-badge.rating-s { background:linear-gradient(135deg,#244a37,#c49a35); }
.okaneta-rating-badge.rating-a { background:linear-gradient(135deg,#49b982,#216f57); }
.okaneta-rating-badge.rating-b { background:linear-gradient(135deg,#45a9d8,#266c9b); }
.okaneta-rating-badge.rating-c { background:linear-gradient(135deg,#eba33b,#aa6420); }
.okaneta-rating-badge.rating-d { background:linear-gradient(135deg,#c87a86,#6f6872); }

@media (max-width:760px) {
  .rating-finder { padding:25px 0 28px; }
  .rating-finder-heading { align-items:start; }
  .rating-finder .team-note { max-width:320px; font-size:12px; line-height:1.6; }
  .rating-tabs { display:flex; width:calc(100% + 28px); margin:14px -14px 0; padding:0 14px 5px; gap:8px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; }
  .rating-tabs::-webkit-scrollbar { display:none; }
  .rating-tab { flex:0 0 142px; min-height:64px; padding:9px 10px; scroll-snap-align:start; }
  .rating-tab[aria-selected="true"] { flex-basis:176px; }
  .rating-tab .rating-letter { width:34px; height:34px; font-size:21px; }
  .rating-tab b { font-size:13px; }
  .rating-tab small { font-size:10px; }
  .rating-panel { margin-top:10px; }
  .rating-panel-copy { margin-bottom:8px; }
  .rating-cards { gap:0; }
  .rating-cards .post-card-link { padding:12px 0; }
}

/* Deep-dive home hub separates durable analysis from fast news. */
.deep-dive-section { padding:38px 0 42px; border-bottom:1px solid var(--line); background:#fffdf7; }
.deep-dive-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.deep-dive-card { display:flex; min-height:176px; flex-direction:column; gap:8px; padding:17px; border:1px solid #d8e8e2; border-top:4px solid #7fb4c6; border-radius:8px; background:#fff; color:#18334a; }
.deep-dive-card:hover { transform:translateY(-2px); border-color:#8abf9b; box-shadow:0 8px 18px rgba(38,72,81,.08); }
.deep-dive-card span { color:#607b88; font-size:11px; font-weight:900; }
.deep-dive-card strong { font-size:16px; line-height:1.45; }
.deep-dive-card small { margin-top:auto; color:#526d77; font-size:12px; font-weight:800; line-height:1.6; }
.dive-card-credit { border-top-color:#6fb7d6; }
.dive-card-economy { border-top-color:#ff9b83; }
.dive-card-flow { border-top-color:#a98fe0; }
.dive-card-fixed { border-top-color:#8fc65a; }
.economy-guide-strip { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.economy-guide-strip a,.economy-guide-link { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:8px 12px; border:1px solid #cddfd8; border-radius:8px; background:#fff; color:#285a4d; font-size:12px; font-weight:900; }
.economy-guide-strip a:hover,.economy-guide-link:hover { border-color:#87b7a3; background:#f0faf6; }
.economy-guide-link { margin-top:16px; }

@media (max-width:760px) {
  .deep-dive-section { padding:30px 0 34px; }
  .deep-dive-grid { grid-template-columns:1fr; gap:9px; }
  .deep-dive-card { min-height:0; padding:14px; }
  .deep-dive-card strong { font-size:15px; }
  .economy-guide-strip { flex-wrap:nowrap; width:calc(100% + 28px); margin:12px -14px 0; padding:0 14px 3px; overflow-x:auto; scrollbar-width:none; }
  .economy-guide-strip::-webkit-scrollbar { display:none; }
  .economy-guide-strip a { flex:0 0 auto; }
}


/* Priority cards: category color accent + deadline urgency badge (home "今日、先にやること"). */
.priority-card { border-left-width:4px; border-left-color:#d7c39a; }
body.home .priority-card.pcat-credit-card { border-left-color:#6fb7d6; }
body.home .priority-card.pcat-bank { border-left-color:#5fbf95; }
body.home .priority-card.pcat-securities { border-left-color:#a98fe0; }
body.home .priority-card.pcat-point { border-left-color:#ff9b83; }
body.home .priority-card.pcat-breaking { border-left-color:#ff7a52; }
body.home .priority-card.pcat-tax { border-left-color:#e6b73c; }
body.home .priority-card.pcat-saving { border-left-color:#8fc65a; }
body.home .priority-card.pcat-rakuten { border-left-color:#d1666e; }
body.home .priority-card.pcat-paypay { border-left-color:#ef7f66; }
body.home .priority-card.pcat-subscription,body.home .priority-card.pcat-fixed-cost,body.home .priority-card.pcat-water-server { border-left-color:#7fb4c6; }
.priority-card-top { justify-content:flex-start; }
.priority-time { margin-left:auto; }
.priority-deadline { display:inline-flex; align-items:center; gap:5px; min-height:22px; padding:2px 9px; border-radius:999px; font-size:11px; font-weight:900; line-height:1; }
.priority-deadline time { font-style:normal; }
.priority-deadline.is-urgent { background:#fdecea; color:#c0392b; box-shadow:inset 0 0 0 1px #f2b6ad; }
.priority-deadline.is-urgent::before { content:""; width:6px; height:6px; border-radius:50%; background:#e0402c; }
.priority-deadline.is-soon { background:#fff3e0; color:#b26a00; box-shadow:inset 0 0 0 1px #f0d29a; }
.priority-deadline.is-later { background:#eef6ff; color:#316a82; box-shadow:inset 0 0 0 1px #c2dde8; }


/* Priority cards: self-hosted official service logo (favicon). */
.priority-logo { flex:0 0 auto; width:28px; height:28px; border-radius:6px; object-fit:contain; background:#fff; box-shadow:inset 0 0 0 1px rgba(24,51,74,.10); }
.priority-card-main .priority-logo { width:34px; height:34px; border-radius:7px; }


/* ---- breadcrumb ---- */
.breadcrumb {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.6;
}
.breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.breadcrumb li {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: var(--muted, #6b7280);
}
.breadcrumb li + li::before {
  content: "\203A";
  color: var(--muted, #9ca3af);
}
.breadcrumb a {
  color: var(--muted, #6b7280);
  text-decoration: none;
}
.breadcrumb a:hover {
  text-decoration: underline;
}
.breadcrumb [aria-current="page"] {
  color: var(--ink, #111827);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}


/* ---- archive lead ---- */
.archive-desc {
  max-width: 62ch;
  margin: 8px 0 0;
  color: var(--muted, #4b5563);
  font-size: 14px;
  line-height: 1.85;
}
.archive-desc p {
  margin: 0;
}
.archive-list-heading {
  margin: 24px 0 12px;
  font-size: 15px;
  font-weight: 700;
  color: var(--muted, #6b7280);
  letter-spacing: 0.02em;
}

/* Footer taxonomy links: every article was more than one hop from the
   homepage, so 43 of 98 posts went uncrawled. This puts each archive on
   every page. */
.footer-categories { width:100%; }
.footer-categories-title { display:block; margin-bottom:10px; color:#fffdf7; font-size:12px; font-weight:900; letter-spacing:.06em; }

/* --- Mobile home (<=760px) --------------------------------------------------
   The article feed sat second at 1,937px tall, which pushed "今日、先にやること"
   down to 4,512px — over five screens of scrolling before the daily action
   block and the genre menu. Reorder for mobile only; the desktop order above is
   deliberate and stays as it is.
   Card children were each their own flex row, so a 44px badge cost a full line.
   Let the label row share one line and keep the rest full width. */
@media (max-width:760px) {
  body.home .quick-nav { order:1; }
  body.home .home-hero { order:2; }
  body.home .rating-finder { order:3; }
  body.home .economy-section { order:4; }
  body.home .priority-section { order:5; }
  body.home .return-hub { order:6; }
  body.home .latest-section { order:7; }
  body.home .money-compass { order:8; }
  body.home .flow-gateway { order:9; }
  body.home .popular-section { order:10; }
  body.home .deep-dive-section { order:11; }
  body.home .writer-ranking-section { order:12; }
  body.home .writers-section { order:13; }
  body.home .office-section { order:14; }
  body.home .section-dark { order:15; }

  /* As the first thing on the page this is the chooser, so show all six at
     once: the horizontal strip only fit three on a 390px screen. */
  body.home .quick-nav-inner { display:grid; overflow-x:visible;
    grid-template-columns:repeat(auto-fit,minmax(100px,1fr)); }
  body.home .quick-nav-inner > a { width:auto; }


  /* Consistent vertical rhythm. Section padding ranged from 20px to 48px with
     no system; the hero is excluded because its padding-top reserves space for
     the ::before artwork. */
  body.home main > section:not(.home-hero):not(.return-hub) { padding-top:24px; padding-bottom:24px; }

  /* .economy-grid and .writer-ranking-grid were already two columns on mobile.
     The article and writer lists were the odd ones out at one column, which is
     what made the page run long. Match them. */
  body.home .cards,
  body.home .deep-dive-grid,
  body.home .writer-grid { grid-template-columns:repeat(2,1fr); }
  /* Grid gaps were 8px, 10px and 12px depending on the section. One value. */
  body.home .cards,
  body.home .deep-dive-grid,
  body.home .writer-grid,
  body.home .economy-grid,
  body.home .writer-ranking-grid,
  body.home .priority-grid,
  body.home .quick-nav-inner,
  body.home .latest-section .cards { gap:10px; }
  body.home .cards .post-card-link > h3 { font-size:14px; line-height:1.45;
    display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  body.home .cards .post-card-link > .post-card-dates { margin-left:0; }
  /* .writer-card pins its portrait column at 88px, which left only 43px for the
     text once the grid went to two columns and made the cards taller than they
     were at one. Shrink the portrait to match the narrower cell. */
  body.home .writer-grid .writer-card { grid-template-columns:44px 1fr; gap:10px; padding:12px; }
  body.home .writer-grid .writer-card img,
  body.home .writer-grid .writer-card .writer-photo { width:44px; height:44px; }

  .cards .post-card-link { flex-flow:row wrap; align-items:center; column-gap:6px; }
  .cards .post-card-link > h3,
  .cards .post-card-link > .article-marks,
  .cards .post-card-link > .post-card-writer { flex:0 0 100%; }
  .cards .post-card-link > .article-decision { flex:1 1 auto; }
  .cards .post-card-link > .post-card-dates { flex:0 0 auto; margin-left:auto; }
  .cards .post-card-link > .okaneta-rating-badge,
  .cards .post-card-link > .economy-badge { margin-top:0; }
  .cards .post-card-writer { gap:8px; }
  .cards .post-card-writer .writer-photo { width:24px; height:24px; }
  .cards .post-card-writer small { display:none; }
}

/* 記事内目次（2026-08-18 追加）。既存の世代ルールには触れず、末尾で定義して上書きする。 */
.article .article-toc { margin:0 0 30px; padding:0; border:1px solid #b9ded0; border-radius:8px; background:var(--writer-soft,#f1faf5); }
.article .article-toc > summary { display:flex; align-items:baseline; gap:10px; padding:14px 18px; list-style:none; cursor:pointer; }
.article .article-toc > summary::-webkit-details-marker { display:none; }
.article .article-toc > summary::after { content:"閉じる"; margin-left:auto; color:var(--writer-accent,#4c927d); font-size:12px; font-weight:900; }
.article .article-toc:not([open]) > summary::after { content:"開く"; }
.article .article-toc > summary strong { color:#18334a; font-size:15px; font-weight:900; }
.article .article-toc > summary .eyebrow { color:var(--writer-accent,#e77560); }
.article .article-toc nav { padding:0 18px 16px; }
.article .toc-list { margin:0; padding:0 0 0 1.4em; list-style:decimal; }
.article .toc-list > .toc-item { margin:0 0 9px; color:#30485a; font-size:15px; font-weight:800; line-height:1.6; }
.article .toc-list > .toc-item:last-child { margin-bottom:0; }
.article .toc-list a { text-decoration:underline; text-underline-offset:3px; text-decoration-color:#b9ded0; }
.article .toc-list a:hover { color:var(--writer-accent,#40748a); text-decoration-color:currentColor; }
.article .toc-sub { margin:8px 0 0; padding:0 0 0 1.1em; list-style:disc; }
.article .toc-sub li { margin:0 0 7px; color:#4a6572; font-size:14px; font-weight:700; line-height:1.6; }
.article .toc-sub li:last-child { margin-bottom:0; }
.article h2[id],.article h3[id] { scroll-margin-top:14px; }
@media (prefers-reduced-motion:no-preference) { html { scroll-behavior:smooth; } }
@media (max-width:760px) {
  .article .article-toc { margin:0 0 24px; }
  .article .article-toc > summary { padding:12px 14px; }
  .article .article-toc nav { padding:0 14px 14px; }
  .article .toc-list > .toc-item { font-size:14px; }
  .article .toc-sub li { font-size:13px; }
}
@media (max-width:760px) {
  /* 見出しが極端に多い記事でも、目次が1画面を占有しないようにする（通常の記事では発火しない）。 */
  .article .article-toc[open] nav { max-height:52vh; overflow-y:auto; overscroll-behavior:contain; }
}

/* ============================================================
   PC構成の刷新（2026-08-19）
   トップの並びをモバイル（586-600行）と同じ順序に揃えたうえで、
   広い画面とマウス操作に向いた導線を足す。
   既存の order 世代（21 / 90-99 / 140-150 / 301-311 / 365-371行）は
   どれが生きているか読み解くコストが高いので触らず、ここで
   全15セクションを明示して上書きする。旧構成にあった
   order:7（return-hub と economy-section）と order:8
   （money-compass と flow-gateway）の衝突もこれで解消する。
   ============================================================ */
@media (min-width:761px) {
  /* quick-nav はPCでは下で畳むが、再表示したときに順序が崩れないよう
     order は15セクション分そのまま明示しておく。 */
  body.home .quick-nav { order:1; }
  body.home .home-hero { order:2; }
  body.home .rating-finder { order:3; }
  body.home .economy-section { order:4; }
  body.home .priority-section { order:5; }
  body.home .return-hub { order:6; }
  body.home .latest-section { order:7; }
  body.home .money-compass { order:8; }
  body.home .flow-gateway { order:9; }
  body.home .popular-section { order:10; }
  body.home .deep-dive-section { order:11; }
  body.home .writer-ranking-section { order:12; }
  body.home .writers-section { order:13; }
  body.home .office-section { order:14; }
  body.home .section-dark { order:15; }

  /* ナビをヘッダー側に一本化する。
     ヘッダーのリンク（経済圏/クレカ/銀行/証券・NISA/ポイント/締切/FLOW）は
     quick-nav の行き先を完全に含んでおり、PCでは両方が同時に見えて
     ほぼ同じリンクが2段重なっていた。ヘッダーは全ページにあるので
     そちらを残し、トップ限定の quick-nav をPCでは畳む。
     モバイルはヘッダーがハンバーガーに畳まれて quick-nav が本体なので、
     この指定は 761px 以上にしか効かせない。 */
  body.home .quick-nav { display:none; }

  /* 一本化した以上、そのヘッダーは常に出ていないと意味がない。
     トップは7000px超、記事も長いので全ページで固定する。
     ヘッダー内のモバイル用ドロップダウン（z-index:20）は子要素なので
     このスタッキングコンテキストの内側に収まる。 */
  .site-header { position:sticky; top:0; z-index:20;
    box-shadow:0 6px 16px rgba(24,51,74,.07); }
  /* 固定ヘッダー（約85px）の下に見出しが潜らないようにする。
     トップの #today / #latest / #popular と、記事内目次の飛び先の両方。 */
  body.home main [id] { scroll-margin-top:96px; }
  .article h2[id],.article h3[id] { scroll-margin-top:96px; }

  /* セクションの上下余白が 30/36/38/40/56/68px とばらついていた。
     モバイル（612行）と同じ考え方で一つの値に揃える。
     home-hero は ::before の背景画像と連動、return-hub は内側で余白を
     持つ、flow-gateway は意図的に薄いCTA帯なので、この3つは除外。 */
  body.home main > section:not(.home-hero):not(.return-hub):not(.flow-gateway) {
    padding-top:48px; padding-bottom:48px; }

  /* マウス前提のホバー。economy-card と deep-dive-card には既にあるので、
     取り残されていた priority-card と compass のボタンを合わせる。 */
  body.home .priority-card { transition:border-color .16s ease, box-shadow .16s ease; }
  body.home .priority-card:hover { border-color:#c2a86f; box-shadow:0 8px 18px rgba(38,72,81,.08); }
  body.home .priority-card-main:hover { border-color:#9dcb63; }
  body.home .compass-control button[aria-selected="false"]:hover { border-color:#b3a2d4; background:#f7f4ff; }
}


/* 2026-08-22: upcoming campaigns (_tokuhaya_starts_at) — announced but not open yet. */
.priority-deadline.is-upcoming { background:#f3f1fb; color:#5b4b9a; box-shadow:inset 0 0 0 1px #d4cdeb; }
.campaign-state.campaign-state-upcoming { border-color:#d4cdeb; background:#f7f5fd; color:#5f5680; }
.campaign-state.campaign-state-upcoming strong { color:#5b4b9a; }

.priority-upcoming { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:baseline; margin:14px 0 0; padding:12px 14px; border:1px dashed #d4cdeb; border-radius:8px; background:#faf9fe; }
.priority-upcoming-label { color:#5b4b9a; font-size:11px; font-weight:900; letter-spacing:.04em; }
.priority-upcoming ul { display:flex; flex-wrap:wrap; gap:6px 18px; margin:0; padding:0; list-style:none; }
.priority-upcoming li { display:flex; gap:8px; align-items:center; }
.priority-upcoming a { color:var(--ink); font-size:13px; font-weight:800; line-height:1.5; }
@media (max-width:760px) { .priority-upcoming { flex-direction:column; gap:8px; padding:12px; } .priority-upcoming ul { flex-direction:column; gap:8px; } .priority-upcoming li { align-items:flex-start; } }

/* ===== 「今日、先にやること」を締切14日以内に絞った分の調整 (2026-08-23) =====
   index.php が候補数に応じて .priority-grid-1 / -2 / -3 を出すようになった。
   元の 1.2fr/.8fr 2列 + .priority-card-main{grid-row:span 2} は
   「3枚ある」前提のレイアウトなので、1枚だと右列がまるごと空いて間延びする。
   §4 の方針どおりレガシーの連鎖には触らず末尾で上書きする。 */
.priority-grid-1, .priority-grid-2 { grid-template-rows:auto; }
.priority-grid-1 { grid-template-columns:minmax(0,640px); }
.priority-grid-2 { grid-template-columns:1fr 1fr; }
.priority-grid-1 .priority-card-main,
.priority-grid-2 .priority-card-main { grid-row:auto; }
/* 54行目のモバイル定義(.priority-grid{grid-template-columns:1fr})より
   ソース順で後ろに来てしまうため、760px以下を明示的に戻す。 */
@media (max-width:760px) {
  .priority-grid-1, .priority-grid-2 { grid-template-columns:1fr; }
}

/* --- 2026-08-26 フッター上段の潰れを修正 ---
   .footer-row は flex 1行だが .footer-categories に width:100% があるため、
   本来326pxの編集長カード(.footer-editor)が153pxまで押し潰され、
   X のリンクが3行に折り返していた。行を折り返してカテゴリ一覧を2段目に落とす。
   モバイル(760px以下)の縦積みは 49行目の @media で定義済みだが、
   ここでの再指定が同詳細度・後方ソースで勝ってしまうため下で再宣言する。 */
.footer-row { flex-wrap:wrap; align-items:flex-end; row-gap:30px; }
.footer-editor { flex:0 0 auto; }
.footer-links { flex:1 1 240px; }
.footer-categories { flex:1 0 100%; }
@media (max-width:760px) {
  /* 760px以下は .footer-row が flex-direction:column なので、上の flex-basis は
     幅ではなく「高さ」として効いてしまう（footer-links が240px高になる）。
     縦積みでは basis を auto に戻す。 */
  .footer-row { flex-direction:column; align-items:flex-start; row-gap:20px; }
  .footer-editor, .footer-links, .footer-categories { flex:0 0 auto; width:100%; }
  .footer-editor { max-width:100%; }
}

/* --- 2026-08-26 記事内の追記ブロック ---
   似た記事を量産せず、既存記事に追記していく運用のためのマーカー。
   本文に <p class="article-addendum"><strong>8月26日 追記</strong> 本文…</p> と書く。
   日付バッジ＋左ボーダーで、どこが新しく足された情報か読者に分かるようにする。 */
.article-addendum { margin:22px 0; padding:14px 16px; border-left:4px solid var(--lime); border-radius:0 6px 6px 0; background:#f6fbef; font-size:16px; line-height:1.85; }
.article-addendum strong { display:inline-block; margin-right:8px; padding:2px 9px; border-radius:99px; background:#31505f; color:#fffdf7; font-size:12px; font-weight:900; letter-spacing:.03em; vertical-align:2px; }
.article-addendum + .article-addendum { margin-top:12px; }
@media (max-width:760px) {
  .article-addendum { margin:18px 0; padding:12px 13px; font-size:15px; }
}
