/* Nagi Rhythm 1.4.1 — photos, clear links and responsive menu motion. */
:root {
    --bg: #faf9f6;
    --text: #232622;
    --sub-text: #62675f;
    --accent: #914d39;
    --update-red: var(--accent);
    --border: #dcded5;
    --light-gray: #efefe8;
    --nagi-font: 'Noto Sans JP', sans-serif;
}
html[data-theme='dark'] {
    --bg: #181b18;
    --text: #edeee7;
    --sub-text: #b2b8ac;
    --accent: #d99c7d;
    --update-red: var(--accent);
    --border: #42483f;
    --light-gray: #252a24;
}
body.nagi-v140 { font-family: var(--nagi-font); }
.nagi-v140 a { transition: color .15s ease, opacity .15s ease; }
.nagi-v140 button { cursor: pointer; }
.nagi-v140 :is(a, button, input, select, summary):focus-visible { outline-color: var(--accent); }
.nagi-v140 .nagi-shell { width: min(1180px, calc(100% - 80px)); }
.nagi-v140 header.nagi-site-header { border-bottom-color: var(--border); }
.nagi-v140 .nagi-header-inner { min-height: 82px; max-width: 1260px; padding: 16px 40px; }
.nagi-v140 .nagi-wordmark { font-size: 28px; }
.nagi-v140 .nagi-logo-dot { color: var(--accent); }
.nagi-v140 .nagi-desktop-nav { gap: 24px; font-size: 12px; }
.nagi-v140 .nagi-desktop-nav a:hover { color: var(--accent); }

/* Article discovery remains at the top, with less visual weight than the photos. */
.nagi-v140 .nagi-home { padding-top: 30px; padding-bottom: 56px; }
.nagi-v140 .nagi-home-find { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 430px); column-gap: 28px; margin-bottom: 32px; padding-bottom: 20px; border-bottom: 1px solid var(--border); }
.nagi-v140 .nagi-home-heading { margin: 0; align-self: center; }
.nagi-v140 .nagi-home-heading h2 { font-size: 13px; font-weight: 500; margin: 0; }
.nagi-v140 .nagi-home-heading > a { font-size: 12px; }
.nagi-total-count { margin-left: 10px; font-variant-numeric: tabular-nums; color: var(--sub-text); }
.nagi-v140 .nagi-home-find .nagi-search-form { margin: 0; max-width: none; }
.nagi-v140 .nagi-search-form { border: 0; border-bottom: 1px solid var(--text); border-radius: 0; background: transparent; overflow: visible; }
.nagi-v140 .nagi-search-form input { padding: 11px 0; font-size: 16px; }
.nagi-v140 .nagi-search-form button { font-size: 12px; padding: 10px 15px; margin: 0 0 6px 14px; border-radius: 0; }
.nagi-v140 .nagi-home-topics { grid-column: 1 / -1; margin-top: 12px; }
.nagi-v140 .nagi-topic-links { display: flex; flex-wrap: wrap; gap: 8px; }
.nagi-v140 .nagi-topic-links li { min-width: 0; }
.nagi-v140 .nagi-topic-links a { min-height: 44px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 2px; background: transparent; font-size: 13px; gap: 10px; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.nagi-v140 .nagi-topic-links a:hover, .nagi-v140 .nagi-topic-links a[aria-current] { background: var(--light-gray); border-color: var(--accent); color: var(--accent); opacity: 1; }
.nagi-v140 .nagi-topic-label { min-width: 0; }
.nagi-v140 .nagi-count { font: 400 11px/1.4 var(--nagi-font); color: var(--sub-text); margin-left: auto; }
.nagi-v140 .nagi-topic-arrow { display: inline-flex; flex: 0 0 12px; width: 12px; height: 12px; transition: transform .2s ease; }
.nagi-v140 .nagi-topic-arrow svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.nagi-v140 .nagi-topic-links a:is(:hover, :focus-visible) .nagi-topic-arrow { transform: translateX(3px); }

/* The main story, short updates and topic features have distinct layouts. */
.nagi-v140 .nagi-section-heading { margin-bottom: 24px; align-items: center; }
.nagi-v140 .nagi-section-heading h2 { font-size: 25px; font-weight: 500; letter-spacing: .03em; }
.nagi-v140 .nagi-section-heading > a { display: inline-flex; align-items: center; min-height: 44px; color: var(--sub-text); }
.nagi-v140 .nagi-section-heading > a:hover { color: var(--accent); }
.nagi-v140 .nagi-hero-grid { grid-template-columns: minmax(0, 1.48fr) minmax(0, 1fr); gap: 48px; }
.nagi-v140 .nagi-card-image { border-radius: 1px; }
.nagi-v140 .nagi-card-image img { transition: transform .25s ease; }
.nagi-v140 .nagi-card-link:hover .nagi-card-image img { transform: scale(1.025); }
.nagi-v140 .nagi-card-body { padding-top: 15px; }
.nagi-v140 .nagi-card-meta { font-size: 11px; margin-bottom: 8px; gap: 12px; }
.nagi-v140 .nagi-card-meta > span { color: var(--accent); }
.nagi-v140 .nagi-card-title { font-size: 17px; font-weight: 500; line-height: 1.8; }
.nagi-v140 .nagi-card-excerpt { font-size: 13px; line-height: 1.9; margin-top: 10px; }
.nagi-v140 .nagi-card--hero .nagi-card-image { aspect-ratio: 16 / 10; }
.nagi-v140 .nagi-card--hero .nagi-card-title { font-size: clamp(23px, 2.3vw, 29px); line-height: 1.65; font-weight: 700; letter-spacing: -.02em; }
.nagi-v140 .nagi-card--hero-side { padding: 20px 0; }
.nagi-v140 .nagi-card--hero-side:first-child { padding-top: 0; }
.nagi-v140 .nagi-card--hero-side .nagi-card-link { grid-template-columns: 114px minmax(0, 1fr); gap: 20px; align-items: start; }
.nagi-v140 .nagi-card--hero-side .nagi-card-title { font-size: 15px; line-height: 1.85; }
.nagi-v140 .nagi-card--hero-side .nagi-card-body { padding: 0; }
.nagi-v140 .nagi-home-content { margin-top: 64px; }
.nagi-v140 .nagi-home-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 28px; }
.nagi-v140 .nagi-topic-section { margin-top: 72px; padding-top: 28px; border-top: 1px solid var(--text); }
.nagi-v140 .nagi-topic-cards { gap: 32px; }
.nagi-v140 .nagi-topic-cards .nagi-card-title { font-size: 17px; }
.nagi-v140 .nagi-topic-section--clothing .nagi-card-image { aspect-ratio: 4 / 3; }
.nagi-v140 .nagi-topic-section--travel .nagi-topic-cards { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
.nagi-v140 .nagi-topic-section--travel .nagi-card:first-child { grid-row: span 2; }
.nagi-v140 .nagi-topic-section--travel .nagi-card:first-child .nagi-card-image { aspect-ratio: 16 / 10; }
.nagi-v140 .nagi-topic-section--travel .nagi-card:first-child .nagi-card-title { font-size: 23px; }
.nagi-v140 .nagi-topic-section--travel .nagi-card:not(:first-child) .nagi-card-link { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 20px; align-items: start; }
.nagi-v140 .nagi-topic-section--travel .nagi-card:not(:first-child) .nagi-card-body { padding: 0; }
.nagi-v140 .nagi-topic-section--journal .nagi-card-image { aspect-ratio: 16 / 9; }
.nagi-v140 .nagi-home-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin-top: 44px; padding-top: 32px; border-top: 1px solid var(--border); }
.nagi-v140 .nagi-home-services h2, .nagi-v140 .nagi-home-widgets h2 { font-size: 15px; margin: 0 0 14px; font-weight: 500; }
.nagi-v140 .nagi-home-services p { margin: 0 0 14px; font-size: 13px; line-height: 1.9; color: var(--sub-text); }
.nagi-v140 .nagi-home-services a { font-size: 13px; display: inline-flex; align-items: center; min-height: 44px; }
.nagi-v140 .nagi-button { padding: 10px 18px; border-radius: 0; }
.nagi-v140 .nagi-home-widgets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; padding-top: 40px; }

/* All nine topics are real links; filter controls stay conventional. */
.nagi-v140 .nagi-archive { padding-top: 42px; }
.nagi-v140 .nagi-page-heading h1 { font-size: clamp(28px, 3vw, 38px); font-weight: 500; margin: 22px 0 16px; }
.nagi-v140 .nagi-page-heading p, .nagi-v140 .nagi-page-heading > div { font-size: 14px; }
.nagi-v140 .nagi-archive-topics { margin-bottom: 24px; padding-bottom: 12px; border-bottom: 1px solid var(--border); }
.nagi-v140 .nagi-filter-form { border-radius: 0; padding: 22px 24px; gap: 16px; }
.nagi-v140 .nagi-filter-form label { font-size: 12px; }
.nagi-v140 .nagi-filter-form :is(input, select, button) { border-radius: 0; }
.nagi-v140 .nagi-result-count { font-size: 12px; margin: 32px 0 24px; }
.nagi-v140 .nagi-article-grid { gap: 42px 28px; }
.nagi-v140 .nagi-card--archive .nagi-card-excerpt { display: none; }
.nagi-v140 .nagi-pagination { gap: 8px; }
.nagi-v140 .nagi-pagination :is(a, .page-numbers) { border: 0; border-radius: 0; border-bottom: 1px solid var(--border); }
.nagi-v140 .nagi-pagination .current { border-bottom-color: var(--text); }

/* Reading: a stable line length, generous headings and no repeated boxes. */
.nagi-v140 .post-entry-wrap { width: min(820px, 100%); padding: 0 40px; margin: 42px auto 64px; }
.nagi-v140 .breadcrumbs { font-family: var(--nagi-font); font-size: 11px; letter-spacing: 0; line-height: 1.8; }
.nagi-v140 .post-meta { font-family: var(--nagi-font); font-size: 12px; margin-bottom: 18px; }
.nagi-v140 .post-title { font: 700 clamp(26px, 3vw, 35px)/1.65 var(--nagi-font); letter-spacing: -.02em; margin-bottom: 32px; }
.nagi-v140 .post-header { margin-bottom: 44px; }
.nagi-v140 .post-eyecatch { border-radius: 1px; }
.nagi-v140 .post-content { font-size: 17px; line-height: 2; color: var(--text); letter-spacing: .01em; }
.nagi-v140 .post-content > * { margin-bottom: 28px; }
.nagi-v140 .post-content h2 { position: relative; font: 700 25px/1.65 var(--nagi-font); letter-spacing: 0; border: 0; padding: 0; margin: 64px 0 26px; }
.nagi-v140 .post-content h2::before { content: ''; display: block; width: 32px; height: 2px; margin-bottom: 16px; background: var(--accent); }
.nagi-v140 .post-content h3 { font: 700 20px/1.75 var(--nagi-font); border: 0; padding: 0; margin: 40px 0 18px; }
.nagi-v140 .post-content h4 { font: 700 17px/1.8 var(--nagi-font); border: 0; padding: 0; margin: 32px 0 16px; }
.nagi-v140 .post-content > :is(p, ul, ol) a { text-underline-offset: 4px; }
.nagi-v140 .post-content img { border-radius: 1px; border: 0; }
.nagi-v140 .post-content blockquote { font-style: normal; color: var(--sub-text); border-left: 2px solid var(--accent); padding: 16px 22px; margin: 32px 0; }
.nagi-v140 .post-content figcaption { font-size: 12px; color: var(--sub-text); line-height: 1.8; letter-spacing: 0; }
.nagi-v140 .post-content ul:not(.toc-list):not(.yyi-rinker-links),
.nagi-v140 .post-content ol:not(.toc-list):not(.yyi-rinker-links) { padding: 0 0 0 1.4em; margin: 24px 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.nagi-v140 .post-content ul:not(.toc-list):not(.yyi-rinker-links) { list-style: disc; }
.nagi-v140 .post-content ol:not(.toc-list):not(.yyi-rinker-links) { list-style: decimal; }
.nagi-v140 .post-content ul:not(.toc-list):not(.yyi-rinker-links) li,
.nagi-v140 .post-content ol:not(.toc-list):not(.yyi-rinker-links) li { display: list-item; padding: 5px 0; border: 0; font-weight: 400; line-height: 1.9; list-style: inherit; }
.nagi-v140 .post-content ul:not(.toc-list):not(.yyi-rinker-links) li::before,
.nagi-v140 .post-content ol:not(.toc-list):not(.yyi-rinker-links) li::before { content: none; }
.nagi-v140 .post-content ul:not(.toc-list):not(.yyi-rinker-links) li p,
.nagi-v140 .post-content ol:not(.toc-list):not(.yyi-rinker-links) li p { display: block; }

/* TOC: a numbered list rather than a gray panel. Native details remains usable. */
.nagi-v140 .post-content .toc-container { margin: 40px 0 52px; padding: 20px 0; background: transparent; border: 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); border-radius: 0; }
.nagi-v140 .post-content .toc-title { font: 500 14px/1.8 var(--nagi-font); padding: 4px 0; min-height: 36px; }
.nagi-v140 .post-content .toc-list { font-size: 14px; line-height: 1.8; padding-left: 24px; margin-top: 14px; }
.nagi-v140 .post-content .toc-list li { padding: 6px 0 !important; }
.nagi-v140 .post-content .toc-list li::marker { color: var(--accent); font-variant-numeric: tabular-nums; }
.nagi-v140 .post-content .toc-list a { display: inline-block; padding: 4px 0; color: var(--text); text-decoration: none; }
.nagi-v140 .post-content .toc-list a:hover { color: var(--accent); text-decoration: underline; }

/* Existing data is untouched; only the table's container scrolls. */
.nagi-v140 .post-content table { font-size: 14px; line-height: 1.8; border-top: 1px solid var(--text); border-bottom: 1px solid var(--border); white-space: normal; }
.nagi-v140 .post-content th { font-family: var(--nagi-font); font-weight: 500; letter-spacing: 0; text-transform: none; background: var(--light-gray); color: var(--text); padding: 14px 16px; border-bottom: 1px solid var(--border); }
.nagi-v140 .post-content td { color: var(--text); padding: 14px 16px; border-bottom: 1px solid var(--border); }
.nagi-v140 .post-content td:first-child { background: transparent; color: var(--text); width: auto; }
.nagi-v140 .post-content tr:hover td { background: var(--light-gray); }
.nagi-v140 .post-content .nagi-table-scroll :is(th, td) { min-width: 112px; overflow-wrap: anywhere; }

/* Internal cards: natural height and full title, including old long titles. */
.nagi-v140 .post-content .blogcard-container { margin: 32px 0; }
.nagi-v140 .post-content .blogcard-link { color: var(--text); text-decoration: none !important; }
.nagi-v140 .post-content .blogcard-link:hover { transform: none; }
.nagi-v140 .post-content .blogcard-inner { display: grid; grid-template-columns: 144px minmax(0, 1fr); gap: 22px; align-items: start; height: auto; min-height: 0; padding: 20px 0; border: 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; overflow: visible; }
.nagi-v140 .post-content .blogcard-thumb { width: 100%; aspect-ratio: 4 / 3; height: auto; border-radius: 1px; background: var(--light-gray); }
.nagi-v140 .post-content .blogcard-body { display: block; padding: 0; min-width: 0; }
.nagi-v140 .post-content .blogcard-title { display: block; font: 700 15px/1.8 var(--nagi-font); color: var(--text); margin: 0; padding: 0; height: auto; overflow: visible; -webkit-line-clamp: unset; overflow-wrap: anywhere; }
.nagi-v140 .post-content .blogcard-snippet { font: 400 12px/1.8 var(--nagi-font); color: var(--sub-text); margin: 8px 0 0; padding: 0; }
.nagi-v140 .post-content .blogcard-meta { font: 400 11px/1.8 var(--nagi-font); letter-spacing: 0; color: var(--sub-text); margin: 10px 0 0; padding: 0; }
.nagi-v140 .post-content .blogcard-link:hover .blogcard-inner { border-color: var(--border); box-shadow: none; }
.nagi-v140 .post-content .blogcard-link:hover .blogcard-title { text-underline-offset: 4px; }
/* Override the old theme's important dark rules only for the internal card. */
html[data-theme='dark'] .nagi-v140 .post-content .blogcard-inner { background: transparent !important; border: 0 !important; border-top: 1px solid var(--border) !important; border-bottom: 1px solid var(--border) !important; }
html[data-theme='dark'] .nagi-v140 .post-content .blogcard-title { color: var(--text) !important; }

/* Next articles and authorship have a clear, compact ending. */
.nagi-v140 .nagi-related { margin-top: 56px; padding-top: 28px; border-top-color: var(--text); }
.nagi-v140 .nagi-related > h2 { font-size: 22px; font-weight: 500; }
.nagi-v140 .nagi-related-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.nagi-v140 .nagi-card--related { padding: 0; border: 0; }
.nagi-v140 .nagi-card--related .nagi-card-link { display: block; }
.nagi-v140 .nagi-card--related .nagi-card-body { padding-top: 14px; }
.nagi-v140 .nagi-card--related .nagi-card-title { font-size: 14px; }
.nagi-v140 .nagi-topic-more a { border: 0; border-bottom: 1px solid var(--border); padding: 10px 0; border-radius: 0; margin-right: 14px; }
.nagi-v140 .nagi-profile { margin-top: 48px; padding: 28px 0; background: transparent; border: 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); border-radius: 0; gap: 22px; }
.nagi-v140 .nagi-profile > img { width: 68px; height: 68px; }
.nagi-v140 .nagi-profile p { font-size: 13px; line-height: 1.9; }
.nagi-v140 .nagi-profile a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; }
.nagi-v140 .nagi-contact-note { font-size: 13px; }
.nagi-v140 .nagi-share { gap: 20px; flex-wrap: wrap; }
.nagi-v140 .nagi-post-navigation a { font-size: 13px; }
.nagi-v140 .nagi-footer { padding: 56px 40px 26px; border-top-color: var(--text); }
.nagi-v140 .nagi-footer h2 { font-size: 17px; font-weight: 500; }
.nagi-v140 .nagi-footer-grid { gap: 72px; grid-template-columns: 1.3fr 1fr; }
.nagi-v140 .nagi-footer .nagi-topic-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 16px; }
.nagi-v140 .nagi-footer .nagi-topic-links a { font-size: 13px; padding: 10px 0; border: 0; background: transparent; border-radius: 0; gap: 8px; }
.nagi-v140 .nagi-footer p, .nagi-v140 .nagi-footer-about { font-size: 13px; }
.nagi-v140 .nagi-footer-about a { min-height: 44px; display: inline-flex; align-items: center; }
.nagi-v140 .nagi-copyright { margin-top: 36px; }
.nagi-v140 .nagi-dialog { border: 1px solid var(--border); border-radius: 3px; padding: 32px; box-shadow: 0 24px 100px #0003; }
.nagi-v140 .nagi-menu-dialog { width: min(760px, calc(100% - 48px)); }
.nagi-v140 .nagi-dialog[open] { animation: nagi-dialog-in .46s cubic-bezier(.16, 1, .3, 1) both; }
.nagi-v140 .nagi-dialog::backdrop { background: rgb(20 24 21 / 38%); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); animation: nagi-backdrop-in .36s ease both; }
.nagi-v140 .nagi-dialog[open].nagi-dialog-closing { animation: nagi-dialog-out .22s ease both; }
.nagi-v140 .nagi-dialog.nagi-dialog-closing::backdrop { animation: nagi-backdrop-out .22s ease both; }
.nagi-v140 .nagi-dialog-head h2 { font-size: 22px; font-weight: 500; }
.nagi-v140 .nagi-dialog .nagi-topic-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.nagi-v140 .nagi-dialog .nagi-topic-links a { border: 0; border-bottom: 1px solid var(--border); padding: 16px 0; border-radius: 0; background: transparent; gap: 12px; }
.nagi-v140 .nagi-dialog .nagi-topic-links a:is(:hover, :focus-visible) { border-bottom-color: var(--accent); }
.nagi-v140 .nagi-menu-dialog .nagi-topic-links a { font-size: 16px; }
.nagi-v140 .nagi-dialog-head button { transition: color .2s ease, transform .2s ease; }
.nagi-v140 .nagi-dialog-head button:hover { color: var(--accent); transform: rotate(90deg); }
.nagi-v140 .nagi-dialog[open]:not(.nagi-dialog-closing) .nagi-dialog-head { animation: nagi-menu-item-in .35s ease .04s both; }
.nagi-v140 .nagi-menu-dialog[open]:not(.nagi-dialog-closing) .nagi-menu-all { animation: nagi-menu-item-in .36s ease .07s both; }
.nagi-v140 .nagi-dialog[open]:not(.nagi-dialog-closing) .nagi-topic-links > li { animation: nagi-menu-item-in .36s cubic-bezier(.16, 1, .3, 1) both; animation-delay: calc(70ms + var(--nagi-item, 0) * 24ms); }
.nagi-v140 .nagi-dialog .nagi-topic-links > li:nth-child(2) { --nagi-item: 1; }
.nagi-v140 .nagi-dialog .nagi-topic-links > li:nth-child(3) { --nagi-item: 2; }
.nagi-v140 .nagi-dialog .nagi-topic-links > li:nth-child(4) { --nagi-item: 3; }
.nagi-v140 .nagi-dialog .nagi-topic-links > li:nth-child(5) { --nagi-item: 4; }
.nagi-v140 .nagi-dialog .nagi-topic-links > li:nth-child(6) { --nagi-item: 5; }
.nagi-v140 .nagi-dialog .nagi-topic-links > li:nth-child(7) { --nagi-item: 6; }
.nagi-v140 .nagi-dialog .nagi-topic-links > li:nth-child(8) { --nagi-item: 7; }
.nagi-v140 .nagi-dialog .nagi-topic-links > li:nth-child(9) { --nagi-item: 8; }
.nagi-v140 .nagi-menu-dialog[open]:not(.nagi-dialog-closing) .nagi-menu-other,
.nagi-v140 .nagi-menu-dialog[open]:not(.nagi-dialog-closing) .nagi-theme-toggle { animation: nagi-menu-item-in .36s ease .18s both; }
@keyframes nagi-dialog-in { from { opacity: 0; transform: translateY(28px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes nagi-dialog-out { from { opacity: var(--nagi-close-opacity, 1); transform: var(--nagi-close-transform, none); } to { opacity: 0; transform: translateY(14px) scale(.985); } }
@keyframes nagi-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes nagi-backdrop-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes nagi-menu-item-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.nagi-v140 .nagi-theme-toggle { background: transparent; border-radius: 0; }
.nagi-v140 .nagi-back-top { background: var(--bg); border-color: var(--border); }
.nagi-v140 #nagi-reading-progress { background: var(--accent); }

/* Profile and contact use the same fonts, spacing and border rules. */
.nagi-v140 .page-header, .nagi-v140 .profile-hero { width: min(1180px, calc(100% - 80px)); margin: 0 auto; padding: 48px 0 28px; background: transparent; text-align: left; border-bottom: 1px solid var(--border); }
.nagi-v140 .page-header h1, .nagi-v140 .profile-hero-title { font: 500 36px/1.6 var(--nagi-font); margin: 0; color: var(--text); }
.nagi-v140 .profile-page-wrap .container-medium { width: min(960px, calc(100% - 80px)); padding-left: 0; padding-right: 0; }
.nagi-v140 .profile-page-wrap .container-narrow { width: min(740px, calc(100% - 80px)); padding-left: 0; padding-right: 0; }
.nagi-v140 .profile-page-wrap .profile-lead-section { width: min(960px, calc(100% - 80px)); padding: 44px 0; display: grid; grid-template-columns: 132px minmax(0, 1fr); column-gap: 32px; text-align: left; }
.nagi-v140 .profile-avatar-wrap { grid-column: 1; grid-row: 1 / 3; margin: 0; }
.nagi-v140 .profile-avatar-large { width: 132px; height: 132px; margin: 0; border: 0; box-shadow: none; }
.nagi-v140 .profile-name-large { grid-column: 2; align-self: end; margin: 0 0 14px; font: 700 30px/1.3 'Oswald', sans-serif; }
.nagi-v140 .profile-role { font: 400 11px/1.8 var(--nagi-font); display: block; color: var(--sub-text); margin-top: 8px; letter-spacing: .02em; }
.nagi-v140 .profile-lead-text { grid-column: 2; margin: 0; font-size: 15px; line-height: 2; }
.nagi-v140 .profile-about-section, .nagi-v140 .profile-motto-section { padding-top: 36px; padding-bottom: 56px; }
.nagi-v140 .section-label { font: 400 11px/1.8 var(--nagi-font); letter-spacing: .05em; color: var(--sub-text); margin-bottom: 16px; }
.nagi-v140 .section-heading, .nagi-v140 .motto-jp { font: 500 26px/1.6 var(--nagi-font); letter-spacing: .02em; margin: 0 0 28px; }
.nagi-v140 .profile-stats-grid { gap: 0; margin-bottom: 28px; }
.nagi-v140 .stats-item { padding: 22px 24px 22px 0; border: 0; border-radius: 0; border-top: 1px solid var(--border); background: transparent; text-align: left; }
.nagi-v140 .stats-num { font-size: 40px; color: var(--text); }
.nagi-v140 .stats-label { color: var(--sub-text); font: 400 11px/1.8 var(--nagi-font); letter-spacing: .03em; }
.nagi-v140 .profile-text-block, .nagi-v140 .lifestyle-intro { font-size: 16px; line-height: 2; color: var(--text); }
.nagi-v140 .profile-lifestyle-section { padding: 48px 0; background: var(--light-gray); }
.nagi-v140 .lifestyle-grid { gap: 28px; }
.nagi-v140 .lifestyle-card { padding: 24px 0 0; border: 0; border-top: 1px solid var(--border); border-radius: 0; box-shadow: none; background: transparent; }
.nagi-v140 .lifestyle-card:hover { transform: none; box-shadow: none; }
.nagi-v140 .lifestyle-card .card-icon { display: none; }
.nagi-v140 .lifestyle-card h4 { font: 500 18px/1.8 var(--nagi-font); margin: 0 0 12px; color: var(--text); }
.nagi-v140 .lifestyle-card p { font-size: 14px; color: var(--sub-text); line-height: 2; }
.nagi-v140 .profile-contact-section { padding: 48px 24px; background: var(--light-gray); color: var(--text); border-top: 1px solid var(--border); }
.nagi-v140 .contact-heading-en { font: 500 24px/1.8 var(--nagi-font); letter-spacing: 0; }
.nagi-v140 .contact-text-jp { color: var(--sub-text); font-size: 14px; line-height: 2; }
.nagi-v140 .profile-contact-section .btn-white { font-family: var(--nagi-font); font-size: 13px; color: var(--text); background: transparent; border: 1px solid var(--text); border-radius: 0; }
.nagi-v140 .contact-container { max-width: 760px; margin: 36px auto 56px; padding: 0 24px; }
.nagi-v140 .contact-container h2 { font-family: var(--nagi-font); }

@media (max-width: 1100px) and (min-width: 901px) {
    .nagi-v140 .nagi-desktop-nav { gap: 14px; font-size: 11px; }
    .nagi-v140 .nagi-header-inner { gap: 18px; }
    .nagi-v140 .nagi-hero-grid { gap: 32px; }
    .nagi-v140 .nagi-card--hero-side .nagi-card-link { grid-template-columns: 92px minmax(0, 1fr); gap: 16px; }
    .nagi-v140 .nagi-card--hero-side .nagi-card-title { font-size: 14px; }
}
@media (max-width: 900px) {
    body.nagi-v140.nagi-header-mobile { padding-bottom: 0; }
    .nagi-v140 .nagi-shell { width: calc(100% - 48px); }
    .nagi-v140 .nagi-header-inner { padding: 10px 24px; min-height: 66px; }
    .nagi-v140 .nagi-wordmark { font-size: 24px; }
    .nagi-v140 .nagi-hero-grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 28px; }
    .nagi-v140 .nagi-card--hero-side .nagi-card-link { grid-template-columns: 88px minmax(0, 1fr); gap: 14px; }
    .nagi-v140 .nagi-card--hero-side { padding: 14px 0; }
    .nagi-v140 .nagi-card--hero-side .nagi-card-title { font-size: 13px; }
    .nagi-v140 .nagi-home-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nagi-v140 .nagi-topic-cards { gap: 24px; }
    .nagi-v140 .nagi-topic-section--travel .nagi-card:not(:first-child) .nagi-card-link { display: block; }
    .nagi-v140 .nagi-topic-section--travel .nagi-card:not(:first-child) .nagi-card-body { padding-top: 14px; }
    .nagi-v140 .nagi-article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nagi-v140 .post-entry-wrap { padding: 0 24px; margin-top: 28px; }
    .nagi-v140 .nagi-footer { padding: 44px 24px 24px; }
    .nagi-v140 .nagi-home-services { gap: 24px; }
    .nagi-v140 .nagi-back-top { bottom: calc(20px + env(safe-area-inset-bottom, 0px)); }
    .nagi-v140.nagi-fixed-mobile .nagi-back-top { bottom: calc(78px + env(safe-area-inset-bottom, 0px)); }
    .nagi-v140 .page-header, .nagi-v140 .profile-hero, .nagi-v140 .profile-page-wrap .container-medium, .nagi-v140 .profile-page-wrap .container-narrow, .nagi-v140 .profile-page-wrap .profile-lead-section { width: calc(100% - 48px); }
}
@media (max-width: 600px) {
    .nagi-v140 .nagi-shell { width: calc(100% - 40px); }
    .nagi-v140 .nagi-header-inner { padding: 10px 20px; }
    .nagi-v140 .nagi-wordmark { font-size: 23px; }
    .nagi-v140 .nagi-home { padding-top: 20px; }
    .nagi-v140 .nagi-home-find { display: block; margin-bottom: 26px; padding-bottom: 12px; }
    .nagi-v140 .nagi-home-heading { margin-bottom: 10px; }
    .nagi-v140 .nagi-home-heading h2 { font-size: 12px; }
    .nagi-v140 .nagi-home-heading > a { font-size: 11px; }
    .nagi-v140 .nagi-home-topics { margin-top: 8px; }
    .nagi-v140 .nagi-topic-links { gap: 7px; }
    .nagi-v140 .nagi-topic-links a { font-size: 12px; padding: 10px 8px; gap: 6px; }
    .nagi-v140 .nagi-topic-arrow { width: 9px; height: 9px; flex-basis: 9px; }
    .nagi-v140 .nagi-home-topics .nagi-count { display: none; }
    .nagi-v140 .nagi-section-heading { margin-bottom: 18px; }
    .nagi-v140 .nagi-section-heading h2 { font-size: 22px; }
    .nagi-v140 .nagi-section-heading > a { font-size: 12px; }
    .nagi-v140 .nagi-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .nagi-v140 .nagi-card--hero .nagi-card-title { font-size: 23px; }
    .nagi-v140 .nagi-card--hero-side .nagi-card-link { grid-template-columns: 96px minmax(0, 1fr); gap: 16px; }
    .nagi-v140 .nagi-card--hero-side .nagi-card-title { font-size: 14px; }
    .nagi-v140 .nagi-card--hero-side .nagi-card-meta { font-size: 10px; }
    .nagi-v140 .nagi-home-content { margin-top: 38px; }
    .nagi-v140 .nagi-home-list, .nagi-v140 .nagi-article-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .nagi-v140 .nagi-card--home, .nagi-v140 .nagi-card--archive, .nagi-v140 .nagi-card--search { padding: 20px 0; }
    .nagi-v140 .nagi-card--home .nagi-card-link, .nagi-v140 .nagi-card--archive .nagi-card-link, .nagi-v140 .nagi-card--search .nagi-card-link { grid-template-columns: 96px minmax(0, 1fr); gap: 16px; }
    .nagi-v140 .nagi-card-title { font-size: 14px; line-height: 1.8; }
    .nagi-v140 .nagi-card-meta { font-size: 10px; }
    .nagi-v140 .nagi-topic-section { margin-top: 46px; padding-top: 22px; }
    .nagi-v140 .nagi-topic-cards, .nagi-v140 .nagi-topic-section--travel .nagi-topic-cards { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .nagi-v140 .nagi-card--topic { padding: 18px 0; }
    .nagi-v140 .nagi-card--topic .nagi-card-link { grid-template-columns: 96px minmax(0, 1fr); gap: 16px; }
    .nagi-v140 .nagi-topic-cards .nagi-card-title { font-size: 14px; }
    .nagi-v140 .nagi-topic-section--clothing .nagi-card:first-child, .nagi-v140 .nagi-topic-section--travel .nagi-card:first-child { grid-row: auto; padding-top: 0; padding-bottom: 24px; }
    .nagi-v140 .nagi-topic-section--clothing .nagi-card:first-child .nagi-card-link, .nagi-v140 .nagi-topic-section--travel .nagi-card:first-child .nagi-card-link { display: block; }
    .nagi-v140 .nagi-topic-section--clothing .nagi-card:first-child .nagi-card-image, .nagi-v140 .nagi-topic-section--travel .nagi-card:first-child .nagi-card-image { aspect-ratio: 16 / 10; }
    .nagi-v140 .nagi-topic-section--clothing .nagi-card:first-child .nagi-card-body, .nagi-v140 .nagi-topic-section--travel .nagi-card:first-child .nagi-card-body { padding-top: 14px; }
    .nagi-v140 .nagi-topic-section--clothing .nagi-card:first-child .nagi-card-title, .nagi-v140 .nagi-topic-section--travel .nagi-card:first-child .nagi-card-title { font-size: 20px; }
    .nagi-v140 .nagi-topic-section--travel .nagi-card:not(:first-child) .nagi-card-link { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 16px; }
    .nagi-v140 .nagi-topic-section--travel .nagi-card:not(:first-child) .nagi-card-body { padding: 0; }
    .nagi-v140 .nagi-home-services, .nagi-v140 .nagi-home-widgets { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .nagi-v140 .nagi-home-services { margin-top: 32px; }
    .nagi-v140 .nagi-archive { padding-top: 26px; }
    .nagi-v140 .nagi-page-heading h1 { font-size: 27px; }
    .nagi-v140 .nagi-page-heading p { font-size: 13px; }
    .nagi-v140 .nagi-filter-form { padding: 18px 16px; gap: 14px; }
    .nagi-v140 .nagi-filter-form > div { min-width: 0; }
    .nagi-v140 .nagi-filter-form button { flex: 1; }
    .nagi-v140 .post-entry-wrap { padding: 0 20px; margin-top: 24px; }
    .nagi-v140 .breadcrumbs { font-size: 10px; margin-bottom: 22px; }
    .nagi-v140 .post-title { font-size: 26px; line-height: 1.65; margin-bottom: 24px; }
    .nagi-v140 .post-meta { font-size: 11px; gap: 12px; }
    .nagi-v140 .post-header { margin-bottom: 30px; }
    .nagi-v140 .post-content { font-size: 16px; line-height: 1.95; }
    .nagi-v140 .post-content h2 { font-size: 22px; margin-top: 48px; }
    .nagi-v140 .post-content h3 { font-size: 19px; }
    .nagi-v140 .post-content .toc-container { margin: 32px 0 42px; }
    .nagi-v140 .post-content .toc-list { font-size: 13px; }
    .nagi-v140 .post-content :is(th, td) { padding: 12px; }
    .nagi-v140 .post-content .blogcard-inner { grid-template-columns: 88px minmax(0, 1fr); gap: 16px; padding: 18px 0; }
    .nagi-v140 .post-content .blogcard-title { font-size: 13px; line-height: 1.85; }
    .nagi-v140 .post-content .blogcard-snippet { display: none; }
    .nagi-v140 .post-content .blogcard-meta { font-size: 10px; margin-top: 8px; }
    .nagi-v140 .nagi-related-list { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .nagi-v140 .nagi-card--related { padding: 18px 0; border-bottom: 1px solid var(--border); }
    .nagi-v140 .nagi-card--related .nagi-card-link { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 16px; }
    .nagi-v140 .nagi-card--related .nagi-card-body { padding: 0; }
    .nagi-v140 .nagi-profile { padding: 24px 0; gap: 16px; margin-top: 32px; }
    .nagi-v140 .nagi-profile > img { width: 52px; height: 52px; }
    .nagi-v140 .nagi-profile p { font-size: 12px; }
    .nagi-v140 .nagi-footer-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .nagi-v140 .nagi-footer { padding: 36px 20px 24px; }
    .nagi-v140 .nagi-footer .nagi-topic-links { gap: 0 12px; }
    .nagi-v140 .nagi-footer .nagi-topic-links a { font-size: 12px; }
    .nagi-v140 .nagi-dialog { padding: 24px; }
    .nagi-v140 .nagi-menu-dialog { width: calc(100% - 32px); }
    .nagi-v140 .nagi-menu-dialog .nagi-topic-links { column-gap: 20px; }
    .nagi-v140 .nagi-menu-dialog .nagi-topic-links a { font-size: 14px; gap: 8px; }
    .nagi-v140 .nagi-menu-dialog .nagi-count { display: none; }
    .nagi-v140 .page-header, .nagi-v140 .profile-hero, .nagi-v140 .profile-page-wrap .container-medium, .nagi-v140 .profile-page-wrap .container-narrow, .nagi-v140 .profile-page-wrap .profile-lead-section { width: calc(100% - 40px); }
    .nagi-v140 .page-header h1, .nagi-v140 .profile-hero-title { font-size: 27px; }
    .nagi-v140 .profile-page-wrap .profile-lead-section { padding: 32px 0; grid-template-columns: 72px minmax(0, 1fr); column-gap: 20px; }
    .nagi-v140 .profile-avatar-large { width: 72px; height: 72px; }
    .nagi-v140 .profile-avatar-wrap { grid-row: 1; }
    .nagi-v140 .profile-name-large { align-self: center; font-size: 26px; margin-bottom: 0; }
    .nagi-v140 .profile-role { font-size: 10px; }
    .nagi-v140 .profile-lead-text { grid-column: 1 / -1; margin-top: 22px; font-size: 14px; }
    .nagi-v140 .profile-lead-text br { display: none; }
    .nagi-v140 .section-heading, .nagi-v140 .motto-jp { font-size: 22px; }
    .nagi-v140 .profile-stats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .nagi-v140 .stats-item { padding: 16px 8px 16px 0; }
    .nagi-v140 .stats-num { font-size: 29px; }
    .nagi-v140 .stats-label { font-size: 9px; }
    .nagi-v140 .profile-text-block, .nagi-v140 .lifestyle-intro { font-size: 15px; }
    .nagi-v140 .lifestyle-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .nagi-v140 .profile-lifestyle-section { padding: 36px 0; }
}
@media (prefers-reduced-motion: reduce) {
    .nagi-v140 { scroll-behavior: auto; }
    .nagi-v140 a, .nagi-v140 .nagi-card-image img { transition: none; }
    .nagi-v140 .nagi-card-link:hover .nagi-card-image img { transform: none; }
    .nagi-v140 .nagi-dialog[open], .nagi-v140 .nagi-dialog::backdrop,
    .nagi-v140 .nagi-dialog .nagi-dialog-head, .nagi-v140 .nagi-dialog .nagi-menu-all,
    .nagi-v140 .nagi-dialog .nagi-topic-links > li, .nagi-v140 .nagi-dialog .nagi-menu-other,
    .nagi-v140 .nagi-dialog .nagi-theme-toggle { animation: none !important; }
    .nagi-v140 .nagi-dialog-head button, .nagi-v140 .nagi-topic-arrow { transition: none !important; transform: none !important; }
}
