/* UOMO study: page-specific layouts. The original styles.css/pages.css and
   every gray image placeholder remain intact. Shared theme: design.css. */

body.uomo-page { --line:var(--rule); --light:#e7e6e0; min-height:100vh; }
body.uomo-page .breadcrumb { max-width:1224px; margin-inline:auto; padding:18px 32px; font-size:.75rem; color:#62625c; flex-wrap:wrap; gap:5px 10px; }
body.uomo-page .breadcrumb a { color:var(--blue-text); }
body.uomo-page .tag { background:transparent; color:var(--blue-text); font-size:.875rem; padding:2px 0; }
body.uomo-page .tags { gap:6px 14px; }
body.uomo-page .button { min-height:50px; font-size:1rem; padding:13px 24px; }
body.uomo-page .button.secondary { background:transparent; color:var(--ink); border-color:var(--rule); }
body.uomo-page .page-eyebrow { color:var(--blue-text); font-size:.875rem; font-weight:900; letter-spacing:.06em; line-height:1.4; margin:0 0 20px; }
body.uomo-page .page-eyebrow::before { content:""; width:18px; height:3px; background:currentColor; display:inline-block; vertical-align:middle; margin-right:10px; }
body.uomo-page .page-heading { margin:0 0 42px; padding:0; text-align:left; }
body.uomo-page .page-heading .section-en { font-size:clamp(2.25rem,4.7vw,4rem); }
body.uomo-page .page-heading .section-ja { font-size:1rem; line-height:1.9; letter-spacing:.025em; margin-top:18px; }
body.uomo-page .page-heading .section-ja br { display:none; }
body.uomo-page .two-column { grid-template-columns:230px minmax(0,1fr); gap:44px; }
body.uomo-page :is(.listing-content,.detail-body,.detail-sidebar,.sidebar) { min-width:0; }

/* Lists: a quiet filter band, ruled product rows and editorial article cards. */
body.uomo-page .listing-filter { background:#e7e6e0; border-bottom:1px solid #cecec7; padding-bottom:28px; }
body.uomo-page .listing-filter .breadcrumb { color:#62625c; }
body.uomo-page .filter-selectors { gap:18px; margin-top:8px; }
body.uomo-page .filter-selectors > div { background:transparent; border:1px solid var(--rule); font-size:.875rem; min-height:50px; }
body.uomo-page .filter-selectors span { background:#d9e3e8; padding:12px; font-weight:700; }
body.uomo-page .filter-selectors strong { padding:10px 12px; }
body.uomo-page .filter-selectors a { color:var(--blue-text); padding:10px 12px; }
body.uomo-page .listing-filter .keyword-form { margin-top:18px; max-width:none; gap:0; }
body.uomo-page .listing-main { padding-top:48px; padding-bottom:80px; }
body.uomo-page .listing-tabs { border:0; border-bottom:1px solid var(--rule); margin-bottom:28px; }
body.uomo-page .listing-tabs a { padding:15px 12px; font-size:1rem; border-top:1px solid var(--rule); border-left:1px solid var(--rule); }
body.uomo-page .listing-tabs a:last-child { border-right:1px solid var(--rule); }
body.uomo-page .listing-tabs .active { background:var(--ink); color:var(--paper); }
body.uomo-page .genre-intro { border:0; border-bottom:1px solid var(--rule); padding:0 0 26px; gap:24px; }
body.uomo-page .genre-intro > .placeholder { flex-basis:142px; }
body.uomo-page .genre-intro h2 { font-size:1.25rem; margin-bottom:10px; }
body.uomo-page .genre-intro p { font-size:1rem; line-height:1.9; }
body.uomo-page .result-count { font-size:.875rem; padding:18px 0; }
body.uomo-page .service-row { border:1px solid var(--rule); padding:28px; margin-bottom:24px; background:transparent; }
body.uomo-page .service-row h3 { font-size:1.375rem; line-height:1.7; }
body.uomo-page .service-excerpt { font-size:1rem; line-height:1.8; white-space:normal; overflow:visible; margin:8px 0 20px; font-weight:400; }
body.uomo-page .service-row-body { grid-template-columns:minmax(150px,29%) minmax(0,1fr); gap:24px; }
body.uomo-page .service-row .new-badge { width:52px; height:52px; font-size:.75rem; }
body.uomo-page .service-row .card-meta { font-size:.75rem; margin-top:14px; }
body.uomo-page .pagination { gap:0; margin-top:38px; }
body.uomo-page .pagination > * { padding:13px 22px; min-width:94px; min-height:50px; background:transparent; border-color:var(--rule); font-size:.875rem; }
body.uomo-page .pagination > * + * { border-left:0; }
body.uomo-page .pagination [data-page-step="1"] { background:var(--ink); color:var(--paper); }
body.uomo-page.article-list .listing-content .cards-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
body.uomo-page.article-list .listing-content .content-card { padding:18px 16px 24px; border-right:0; }
body.uomo-page.article-list .listing-content .content-card:nth-child(3n),body.uomo-page.article-list .listing-content .content-card:last-child { border-right:1px solid var(--rule); }
body.uomo-page.article-list .content-card h3 { display:block; -webkit-line-clamp:unset; overflow:visible; font-size:1rem; font-weight:700; line-height:1.8; }
body.uomo-page.article-list .content-card .tags { max-height:none; flex-wrap:wrap; overflow:visible; }
body.uomo-page.article-list .content-card .tag { white-space:normal; font-size:.875rem; }
body.uomo-page.article-list .new-badge { width:52px; height:52px; font-size:.75rem; }

/* Sidebars: open paper surfaces, black rules and blue links. */
body.uomo-page .sidebar-heading { background:transparent; color:var(--ink); border-top:3px solid var(--ink); padding:15px 0; margin:0; font-size:1rem; font-weight:700; }
body.uomo-page .sidebar-category .sidebar-heading { font-size:1rem; margin:0; }
body.uomo-page .category-accordion { border:0; border-bottom:1px solid var(--rule); }
body.uomo-page .category-accordion summary { background:transparent; padding:17px 28px 17px 0; font-size:1rem; }
body.uomo-page .category-accordion summary::after { border-width:2px; border-color:var(--blue-text); right:6px; top:22px; }
body.uomo-page .category-accordion[open] summary::after { top:26px; }
body.uomo-page .category-accordion > div { padding:0 0 14px; }
body.uomo-page .category-accordion a { font-size:.875rem; padding:11px 0; font-weight:400; border-color:#cecec7; }
body.uomo-page .category-accordion a span { color:var(--blue-text); font-size:20px; }
body.uomo-page .sidebar-cards { gap:0; border-top:1px solid var(--rule); }
body.uomo-page .sidebar-cards .content-card { border:0; border-bottom:1px solid var(--rule); padding:18px 0 24px; }
body.uomo-page .sidebar-cards .content-card h3,body.uomo-page .sidebar-cards .card-description { font-size:1rem; }
body.uomo-page .sidebar-cards .content-card .tag { font-size:.875rem; }
body.uomo-page .sidebar-cards .card-facilities { font-size:.75rem; }
body.uomo-page .side-promo { padding:20px 16px 0; border-color:var(--rule); margin-top:30px; }
body.uomo-page .side-promo strong { font-size:1.25rem; }
body.uomo-page .side-promo p { font-size:.875rem; line-height:1.8; padding:10px 0 18px; }
body.uomo-page .side-promo-link { margin-left:-16px; width:calc(100% + 32px); padding:12px 8px; font-size:1rem; }
body.uomo-page .side-ad { background:transparent; border-color:var(--rule); font-size:.875rem; }

/* Services: spacious product headings, simple tables and consistent CTAs. */
body.uomo-page .service-main { padding:38px 0 80px; }
body.uomo-page .detail-heading { margin-bottom:36px; }
body.uomo-page .detail-heading h1 { font-size:clamp(1.75rem,3vw,2.625rem); line-height:1.65; letter-spacing:.015em; }
body.uomo-page .detail-heading > p:not(.page-eyebrow) { font-size:1rem; line-height:1.8; margin-top:12px; }
body.uomo-page .detail-heading .tags { margin-top:22px; }
body.uomo-page .product-gallery { background:#e1e0da; padding:30px 0; margin-bottom:44px; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
body.uomo-page .gallery-track > .placeholder,body.uomo-page .product-gallery.single > .placeholder { background:#bfbdbd; }
body.uomo-page .product-gallery > .arrow { background:var(--paper); width:48px; height:56px; top:calc(50% - 28px); bottom:auto; font-size:36px; }
body.uomo-page .product-gallery > .previous { left:18px; }
body.uomo-page .product-gallery > .next { right:18px; }
body.uomo-page .detail-columns { grid-template-columns:minmax(0,1fr) 246px; gap:44px; }
body.uomo-page .detail-body { font-size:1rem; line-height:2; }
body.uomo-page .detail-body > p { margin:22px 0 30px; overflow-wrap:anywhere; }
body.uomo-page .section-bar { background:transparent; color:var(--ink); border-top:3px solid var(--ink); border-bottom:1px solid var(--rule); padding:18px 0; margin:52px 0 28px; font-size:1.375rem; font-weight:700; }
body.uomo-page .section-bar::before { display:none; }
body.uomo-page .section-bar:first-child { margin-top:0; }
body.uomo-page .subheading { border-left:0; padding:0 0 12px; border-bottom:1px solid #cecec7; font-size:1.125rem; margin:34px 0 20px; }
body.uomo-page .info-table { font-size:1rem; margin:28px 0 34px; line-height:1.8; }
body.uomo-page .info-table th,body.uomo-page .info-table td { border:0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); padding:14px 16px; vertical-align:top; }
body.uomo-page .info-table th { width:150px; background:#e7e6e0; font-weight:700; }
body.uomo-page .info-table.compact { font-size:.875rem; margin:0; }
body.uomo-page .info-table.compact th { width:104px; }
body.uomo-page .info-table.compact th,body.uomo-page .info-table.compact td { padding:9px 10px; }
body.uomo-page .info-table .tag,body.uomo-page .info-table.compact .tag { font-size:.875rem; padding:0; }
body.uomo-page .info-table.compact .tags { gap:4px 10px; }
body.uomo-page .cta-row { gap:18px; margin:28px 0 38px; flex-wrap:wrap; }
body.uomo-page .cta-row > .button,body.uomo-page .detail-sidebar > .button { min-height:54px; background:var(--ink); border-color:var(--ink); font-size:1rem; }
body.uomo-page .cta-row > .secondary,body.uomo-page .detail-sidebar > .secondary { background:transparent; color:var(--ink); border-color:var(--rule); }
body.uomo-page .detail-toc { border:1px solid var(--rule); border-top:3px solid var(--ink); padding:20px; background:transparent; }
body.uomo-page .detail-toc nav { margin-top:22px; }
body.uomo-page .detail-toc nav a,body.uomo-page .detail-toc nav > span { padding:12px 0; font-size:.875rem; line-height:1.7; }
body.uomo-page .detail-toc nav a { color:var(--blue-text); }
body.uomo-page .detail-toc .unavailable { color:#72726c; }
body.uomo-page .product-screen { background:#bfbdbd; }
body.uomo-page .plain-list { font-size:1rem; line-height:2; }
body.uomo-page .price { color:var(--ink); font-size:1.875rem; font-weight:700; }
body.uomo-page .contact-phone { color:var(--blue-text); font-size:1.75rem; }
body.uomo-page .flow-list { font-size:1rem; }
body.uomo-page .flow-list li:not(:last-child)::after { color:var(--blue-text); }
body.uomo-page .small-copy { font-size:.875rem; }

/* Contact form keeps the existing labels, constraints and confirmation action. */
body.uomo-page .inquiry-form { margin-top:32px; }
body.uomo-page .form-row { font-size:1rem; grid-template-columns:132px minmax(0,1fr); gap:20px; margin-bottom:24px; }
body.uomo-page .form-row input:not([type=radio]),body.uomo-page .form-row textarea,body.uomo-page .form-row select { background:transparent; border-color:var(--rule); min-height:48px; padding:12px; font-size:1rem; }
body.uomo-page .form-row input[type=radio] { accent-color:var(--blue-text); width:18px; height:18px; vertical-align:middle; }
body.uomo-page fieldset.form-row { padding-left:152px; }
body.uomo-page .form-row legend { width:132px; top:18px; }
body.uomo-page .radio-options { border-color:var(--rule); padding:12px 16px; }
body.uomo-page .radio-options > label { padding:5px 0; }
body.uomo-page .appointment-row { flex-wrap:wrap; gap:8px; }
body.uomo-page .appointment-row > span { flex-basis:100%; font-size:.875rem; }
body.uomo-page .appointment-row input { flex:1 1 130px; width:auto!important; }
body.uomo-page .appointment-row select { flex:1 1 120px; max-width:none; }
body.uomo-page .form-note { font-size:.875rem; color:#62625c; }

/* Features: a strong headline, calm reading column, blue editorial annotations. */
body.uomo-page .article-main { padding-top:38px; padding-bottom:80px; }
body.uomo-page .article-main > h1 { max-width:1050px; font-size:clamp(1.625rem,2.65vw,2.375rem); line-height:1.65; letter-spacing:.01em; }
body.uomo-page .article-date { font-size:.875rem; color:#62625c; margin:20px 0 40px; }
body.uomo-page .article-body { font-size:1rem; line-height:2; overflow-wrap:anywhere; }
body.uomo-page .article-body > p { margin:24px 0 30px; }
body.uomo-page .article-body h2 { font-size:1.375rem; line-height:1.8; }
body.uomo-page .article-body .section-bar { font-size:1.375rem; margin:48px 0 26px; }
body.uomo-page .article-cover { margin-bottom:28px; }
body.uomo-page .article-toc { background:transparent; border:1px solid var(--rule); border-top:3px solid var(--ink); margin:38px 0; padding:24px 24px 0; }
body.uomo-page .article-toc h2 { font-size:1.25rem; margin-bottom:22px; }
body.uomo-page .toc-item { padding:16px 0; border-color:#cecec7; font-size:1rem; }
body.uomo-page .toc-item > a { color:var(--blue-text); }
body.uomo-page .toc-item > a > span { color:inherit; }
body.uomo-page .toc-item > p { font-size:.875rem; line-height:1.9; margin-top:8px; }
body.uomo-page .toc-toggle { background:#e7e6e0; border-top:1px solid var(--rule); padding:13px; font-size:.875rem; }
body.uomo-page .article-learning h2 { font-size:1.25rem; }
body.uomo-page .article-learning li { padding:14px 0; border-color:#cecec7; }
body.uomo-page .article-recommended { background:#e7e6e0; margin:38px 0 44px; border:1px solid var(--rule); }
body.uomo-page .article-recommended .sidebar-heading { padding:18px 20px; font-size:1.125rem; text-align:left; }
body.uomo-page .recommendation-scroll { padding:22px; max-height:740px; scrollbar-color:var(--blue-text) transparent; }
body.uomo-page .recommendation-scroll .service-row { padding:0 0 26px; margin:0 0 26px; border:0; border-bottom:1px solid var(--rule); }
body.uomo-page .recommendation-scroll .service-row h3 { font-size:1.25rem; }
body.uomo-page .recommendation-scroll .service-row-body { grid-template-columns:minmax(110px,25%) minmax(0,1fr); gap:18px; }
body.uomo-page .recommendation-scroll .cta-row { margin:20px 0 0; }
body.uomo-page .recommendation-scroll .cta-row .button { font-size:.875rem; min-height:48px; }
body.uomo-page .article-recommended .card-carousel { padding:20px 22px 26px; }
body.uomo-page .article-recommended .cards-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
body.uomo-page .article-recommended .card-carousel > .arrow { background:var(--paper); top:72px; width:32px; height:40px; font-size:30px; }
body.uomo-page .article-recommended .card-carousel > .previous { left:0; right:auto; }
body.uomo-page .article-recommended .card-carousel > .next { right:0; }
body.uomo-page .article-recommended .content-card { border-right:0; padding:16px 12px 22px; }
body.uomo-page .article-recommended .content-card:last-child { border-right:1px solid var(--rule); }
body.uomo-page .article-recommended .content-card h3,body.uomo-page .article-recommended .card-description { font-size:1rem; }
body.uomo-page .article-recommended .tag { font-size:.875rem; }
body.uomo-page .check-list { background:#e7e6e0; border:0; border-left:3px solid var(--blue-text); padding:22px 24px; }
body.uomo-page .check-list li { font-size:1rem; line-height:1.9; padding-left:28px; }
body.uomo-page .check-list li::before { color:var(--blue-text); }
body.uomo-page .check-list.numbered li::before { font-size:.875rem; }
body.uomo-page .article-note { background:#e7e6e0; border-radius:0; border-left:3px solid var(--blue-text); font-size:1rem; padding:24px; }
body.uomo-page .inline-articles { padding:18px; border-color:var(--rule); }
body.uomo-page .inline-articles a { font-size:1rem; padding:12px 0; gap:20px; }
body.uomo-page .embedded-product { border-color:var(--rule); padding-bottom:36px; margin-bottom:38px; }
body.uomo-page .embedded-product > .check-list { background:transparent; }
body.uomo-page .embedded-product .check-list li { font-size:1rem; border-color:#cecec7; }
body.uomo-page .embedded-product > p,body.uomo-page .embedded-product .info-table { font-size:1rem; }
body.uomo-page .embedded-product .more-link .button { background:var(--ink); border-color:var(--ink); color:var(--paper); font-size:1rem; }
body.uomo-page .embedded-product .product-gallery > .arrow { top:calc(50% - 28px); bottom:auto; }
body.uomo-page .author-box { border:0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); padding:26px 0; gap:24px; }
body.uomo-page .author-box h3 { font-size:1.125rem; }
body.uomo-page .author-box p { font-size:.875rem; line-height:1.9; }
body.uomo-page .share-box { font-size:.875rem; margin:38px 0; gap:10px; }
body.uomo-page .share-box button { font-size:.875rem; min-height:44px; padding:10px 20px; border-color:var(--rule); }
body.uomo-page .related-section { border-top:1px solid var(--rule); margin-top:52px; padding-top:44px; }
body.uomo-page .related-section .section-title { margin-bottom:34px; }
body.uomo-page .related-section .section-en { font-size:clamp(1.75rem,3.2vw,2.5rem); }
body.uomo-page .related-section .section-ja { font-size:.875rem; }
body.uomo-page .related-section .cards-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
body.uomo-page .related-section .content-card { padding:16px 14px 24px; border-right:0; }
body.uomo-page .related-section .content-card:nth-child(3n),body.uomo-page .related-section .content-card:last-child { border-right:1px solid var(--rule); }
body.uomo-page .related-section .content-card h3,body.uomo-page .related-section .card-description { font-size:1rem; }
body.uomo-page .related-section .card-meta,body.uomo-page .related-section .card-facilities { font-size:.75rem; }
body.uomo-page .related-section .tag { font-size:.875rem; }
body.uomo-page .related-section .new-badge { width:46px; height:46px; font-size:.75rem; }

/* Search: same typography, visible choices and a restrained result list. */
body.uomo-page .search-top { max-width:960px; padding:48px 0 100px; }
body.uomo-page .search-top h1 { text-align:left; }
body.uomo-page .search-choices { gap:22px; margin-top:0; }
body.uomo-page .search-choices .button { min-height:100px; background:transparent; color:var(--ink); border:1px solid var(--rule); border-radius:0; padding:24px 24px 24px 66px; font-size:1.125rem; text-align:left; justify-content:flex-start; }
body.uomo-page .search-choices .button span { background:var(--yellow); border:1px solid var(--ink); width:26px; height:26px; border-radius:0; left:24px; }
body.uomo-page .search-choices .button::after { content:"›"; margin-left:auto; padding-left:16px; font-size:28px; color:var(--blue-text); }
body.uomo-page .search-top .keyword-form { max-width:none; margin-top:26px; gap:0; }
body.uomo-page.search-selection .breadcrumb { margin-bottom:0; }
body.uomo-page .search-panel { background:transparent; padding:42px 0 70px; margin-top:0; margin-bottom:0; }
body.uomo-page .search-panel h1 { text-align:left; padding-bottom:0; }
body.uomo-page .theme-section { border-top:1px solid var(--rule); display:grid; grid-template-columns:260px minmax(0,1fr); gap:32px; padding:30px 0 34px; }
body.uomo-page .theme-section h2 { font-size:1.375rem; line-height:1.7; margin-bottom:0; }
body.uomo-page .theme-section .tags { gap:10px; align-content:start; }
body.uomo-page .theme-section .tag { background:transparent; color:var(--ink); border:1px solid var(--rule); padding:9px 14px; font-size:.875rem; line-height:1.7; }
body.uomo-page .theme-section .tag:hover { color:var(--blue-text); border-color:var(--blue-text); opacity:1; }
body.uomo-page .facility-tags { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--rule); padding-top:30px; gap:22px; }
body.uomo-page .facility-tags .tag { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:140px; border:1px solid var(--rule); padding:28px; font-size:1.125rem; color:var(--ink); font-weight:700; }
body.uomo-page .facility-tags .tag::after { content:"›"; color:var(--blue-text); font-size:28px; font-weight:400; }
body.uomo-page .facility-tags .tag:hover { background:#e4ebed; opacity:1; }
body.uomo-page .search-results-main { padding:42px 0 80px; }
body.uomo-page .search-results-main > h1 { margin-bottom:34px; }
body.uomo-page .search-results-panel { background:transparent; padding:0; }
body.uomo-page .search-results-panel .keyword-form { max-width:none; gap:0; }
body.uomo-page .search-results-panel .keyword-form input { background:transparent; }
body.uomo-page .search-results-heading { gap:20px; padding:26px 0 18px; margin-top:12px; flex-wrap:wrap; }
body.uomo-page .search-results-heading > p { font-size:.875rem; }
body.uomo-page .search-results-heading strong { font-family:Arial,sans-serif; font-weight:900; font-size:2.625rem; margin-right:7px; }
body.uomo-page .search-type-filters { font-size:.875rem; gap:8px; white-space:normal; flex-wrap:wrap; }
body.uomo-page .search-type-filters button { border:1px solid var(--rule); padding:10px 18px; min-height:44px; }
body.uomo-page .search-type-filters button:last-child { border:1px solid var(--rule); padding-right:18px; }
body.uomo-page .search-type-filters [aria-pressed=true] { background:var(--ink); border-color:var(--ink); color:var(--paper); }
body.uomo-page .search-result { padding:30px 0; border-color:var(--rule); }
body.uomo-page .search-result h2 { font-size:1.25rem; line-height:1.8; margin:12px 0; }
body.uomo-page .search-result > p:not(.card-meta):not(.card-facilities) { font-size:1rem; line-height:1.9; }
body.uomo-page .search-result .card-meta,body.uomo-page .search-result .card-facilities { font-size:.75rem; }
body.uomo-page .search-result .tag { font-size:.875rem; }
body.uomo-page .empty-results { padding:60px 16px; }

body.uomo-page .line-band { background:var(--blue); color:var(--ink); padding:48px 0 38px; }
body.uomo-page .mock-directory { max-width:960px; padding:48px 0 80px; }
body.uomo-page .mock-directory > p { margin:0 0 32px; font-size:1rem; }
body.uomo-page .mock-directory ol { border-color:var(--rule); }
body.uomo-page .mock-directory li > a { padding:20px 4px; border-color:var(--rule); font-size:1rem; }
body.uomo-page .mock-directory li span { color:var(--blue-text); font-weight:700; min-width:74px; }

@media(max-width:1050px) {
  body.uomo-page .two-column { grid-template-columns:200px minmax(0,1fr); gap:28px; }
  body.uomo-page .detail-columns { grid-template-columns:minmax(0,1fr) 220px; gap:28px; }
  body.uomo-page .filter-selectors { gap:12px; }
  body.uomo-page .filter-selectors span,body.uomo-page .filter-selectors strong { padding-inline:10px; }
  body.uomo-page .service-row { padding:22px; }
  body.uomo-page .service-row-body { grid-template-columns:1fr; gap:20px; }
  body.uomo-page .service-row-body > a { max-width:280px; }
  body.uomo-page.article-list .listing-content .cards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.uomo-page.article-list .listing-content .content-card:nth-child(3n) { border-right:0; }
  body.uomo-page.article-list .listing-content .content-card:nth-child(2n),body.uomo-page.article-list .listing-content .content-card:last-child { border-right:1px solid var(--rule); }
  body.uomo-page .article-recommended .cards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.uomo-page .article-recommended .content-card:nth-child(2n),body.uomo-page .article-recommended .content-card:last-child { border-right:1px solid var(--rule); }
  body.uomo-page .recommendation-scroll .service-row-body { grid-template-columns:1fr; }
  body.uomo-page .form-row { grid-template-columns:1fr; gap:10px; }
  body.uomo-page fieldset.form-row { padding-left:0; }
  body.uomo-page .form-row legend { position:static; float:none; width:auto; margin-bottom:10px; }
  body.uomo-page .theme-section { grid-template-columns:220px minmax(0,1fr); gap:24px; }
  body.uomo-page .facility-tags { gap:16px; }
  body.uomo-page .facility-tags .tag { padding:22px; font-size:1rem; }
}
@media(max-width:900px) {
  body.uomo-page .filter-selectors { grid-template-columns:1fr; }
  body.uomo-page .genre-intro { gap:18px; align-items:flex-start; }
  body.uomo-page .genre-intro > .placeholder { flex-basis:100px; }
  body.uomo-page .related-section .cards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.uomo-page .related-section .content-card:nth-child(3n) { border-right:0; }
  body.uomo-page .related-section .content-card:nth-child(2n),body.uomo-page .related-section .content-card:last-child { border-right:1px solid var(--rule); }
  body.uomo-page .theme-section { grid-template-columns:1fr; gap:20px; }
  body.uomo-page .facility-tags { grid-template-columns:1fr; }
  body.uomo-page .facility-tags .tag { min-height:82px; }
}
@media(max-width:700px) {
  body.uomo-page .breadcrumb { padding:14px 16px; font-size:.75rem; }
  body.uomo-page .two-column { display:flex; gap:40px; }
  body.uomo-page .detail-columns { display:flex; gap:40px; }
  body.uomo-page .page-heading { margin-bottom:28px; }
  body.uomo-page .page-heading .section-en { font-size:clamp(1.875rem,8.5vw,3rem); }
  body.uomo-page .page-heading .section-ja { font-size:.875rem; margin-top:14px; }
  body.uomo-page .page-eyebrow { font-size:.875rem; margin-bottom:16px; }
  body.uomo-page .listing-filter { padding-bottom:22px; }
  body.uomo-page .filter-selectors > div { font-size:.875rem; }
  body.uomo-page .filter-selectors span { min-width:80px; }
  body.uomo-page .listing-main,body.uomo-page .article-main,body.uomo-page .service-main { padding-top:30px; padding-bottom:52px; }
  body.uomo-page .listing-tabs a { font-size:.875rem; padding:13px 8px; }
  body.uomo-page .genre-intro { padding-bottom:22px; flex-direction:column; }
  body.uomo-page .genre-intro > .placeholder { flex:none; width:140px; align-self:flex-start; }
  body.uomo-page .genre-intro h2 { font-size:1.125rem; }
  body.uomo-page .genre-intro p { font-size:1rem; }
  body.uomo-page .service-row { padding:20px 16px; margin-bottom:20px; }
  body.uomo-page .service-row h3 { font-size:1.25rem; }
  body.uomo-page .service-row-body { gap:18px; }
  body.uomo-page .service-row-body > a { width:100%; max-width:240px; }
  body.uomo-page .info-table { font-size:.875rem; margin:24px 0 28px; }
  body.uomo-page .info-table th { width:96px; }
  body.uomo-page .info-table th,body.uomo-page .info-table td { padding:12px 10px; }
  body.uomo-page .info-table.compact { font-size:.875rem; }
  body.uomo-page .info-table.compact th { width:96px; }
  body.uomo-page .info-table.compact th,body.uomo-page .info-table.compact td { padding:10px 8px; }
  body.uomo-page.article-list .listing-content .content-card { padding:14px 12px 22px; }
  body.uomo-page .sidebar-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
  body.uomo-page .sidebar-cards .content-card h3,body.uomo-page .sidebar-cards .card-description { font-size:1rem; }
  body.uomo-page .sidebar-cards .content-card .tag { font-size:.875rem; }
  body.uomo-page .sidebar-cards .card-meta,body.uomo-page .sidebar-cards .card-facilities { font-size:.75rem; }
  body.uomo-page .side-ad { width:100%; margin-right:0; display:block; }
  body.uomo-page .detail-heading h1 { font-size:1.625rem; }
  body.uomo-page .detail-heading { margin-bottom:28px; }
  body.uomo-page .product-gallery { padding:22px 0; margin-bottom:34px; }
  body.uomo-page .product-gallery.single { padding:22px 0; }
  body.uomo-page .product-gallery > .arrow,body.uomo-page .embedded-product .product-gallery > .arrow { width:32px; height:44px; top:calc(50% - 22px); font-size:30px; }
  body.uomo-page .product-gallery > .previous { left:8px; }
  body.uomo-page .product-gallery > .next { right:8px; }
  body.uomo-page .section-bar,body.uomo-page .article-body .section-bar { font-size:1.25rem; padding:15px 0; margin:38px 0 24px; }
  body.uomo-page .section-bar:first-child { margin-top:0; }
  body.uomo-page .subheading { font-size:1.125rem; }
  body.uomo-page .cta-row { flex-direction:column; gap:12px; }
  body.uomo-page .cta-row > .button { max-width:none; width:100%; }
  body.uomo-page .detail-toc { display:block; }
  body.uomo-page .detail-sidebar > .button { max-width:none; }
  body.uomo-page .form-row { display:block; font-size:1rem; }
  body.uomo-page .form-row > label,body.uomo-page .form-row > span { margin-bottom:10px; }
  body.uomo-page .article-main > h1 { font-size:1.5rem; line-height:1.7; }
  body.uomo-page .article-date { margin:18px 0 28px; }
  body.uomo-page .article-toc { padding:20px 18px 0; margin:30px 0; }
  body.uomo-page .toc-toggle { margin-inline:-18px; width:calc(100% + 36px); }
  body.uomo-page .toc-item { font-size:1rem; }
  body.uomo-page .toc-item > p { font-size:.875rem; }
  body.uomo-page .recommendation-scroll { padding:18px; }
  body.uomo-page .article-recommended .card-carousel { padding:18px; }
  body.uomo-page .article-recommended .cards-grid { grid-template-columns:1fr; }
  body.uomo-page .article-recommended .content-card { border-right:1px solid var(--rule); }
  body.uomo-page .article-recommended .content-card h3,body.uomo-page .article-recommended .card-description { font-size:1rem; }
  body.uomo-page .check-list { padding:18px; }
  body.uomo-page .check-list li { font-size:1rem; }
  body.uomo-page .article-note { padding:20px; }
  body.uomo-page .inline-articles a { font-size:.875rem; gap:14px; }
  body.uomo-page .inline-articles .placeholder { flex-basis:72px; }
  body.uomo-page .embedded-product .info-table { font-size:.875rem; }
  body.uomo-page .author-box { gap:18px; align-items:flex-start; }
  body.uomo-page .author-box > .placeholder { flex-basis:24%; }
  body.uomo-page .author-box p { font-size:.875rem; }
  body.uomo-page .related-section { margin-top:38px; padding-top:32px; }
  body.uomo-page .related-section .content-card { padding:14px 12px 22px; }
  body.uomo-page .related-section .section-en { font-size:1.75rem; }
  body.uomo-page .search-top { padding:30px 0 64px; }
  body.uomo-page .search-choices { grid-template-columns:1fr; gap:16px; }
  body.uomo-page .search-choices .button { min-height:84px; font-size:1rem; }
  body.uomo-page .search-panel { padding:30px 0 52px; }
  body.uomo-page .theme-section { padding:24px 0 28px; gap:18px; }
  body.uomo-page .theme-section h2 { font-size:1.25rem; }
  body.uomo-page .theme-section .tag { font-size:.875rem; padding:9px 12px; }
  body.uomo-page .facility-tags { gap:14px; padding-top:24px; }
  body.uomo-page .facility-tags .tag { padding:22px; font-size:1rem; }
  body.uomo-page .search-results-main { padding:30px 0 52px; }
  body.uomo-page .search-results-heading { align-items:flex-start; flex-direction:column; gap:14px; }
  body.uomo-page .search-type-filters { gap:6px; }
  body.uomo-page .search-type-filters button { padding:10px 14px; }
  body.uomo-page .search-result h2 { font-size:1.125rem; }
  body.uomo-page .search-result > p:not(.card-meta):not(.card-facilities) { font-size:1rem; }
  body.uomo-page .line-band { padding:32px 0; }
  body.uomo-page .mock-directory { padding:32px 0 56px; }
}
