/* UOMO reference study: https://www.webuomo.jp/
   Shared theme for the top page and lower pages. Original gray image blocks are retained. */
body:is(.home, .uomo-page) {
  --ink:#111; --dark:#111; --paper:#f3f2ed; --blue:#4b8fb5;
  --blue-text:#286488; --yellow:#e9ef39; --rule:#858580; --container:1160px;
  color:var(--ink); background:var(--paper);
  font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  line-height:1.8;
}
body:is(.home, .uomo-page) .container { width:min(var(--container),calc(100% - 64px)); }
body:is(.home, .uomo-page) a { transition:opacity .18s,color .18s; }
body:is(.home, .uomo-page) :is(a,button,input):focus-visible { outline-color:var(--blue-text); }
body:is(.home, .uomo-page) .button { border-radius:0; font-weight:700; }

/* Blue masthead and a compact, ruled navigation. The image file is unchanged. */
body:is(.home, .uomo-page) .site-header { background:var(--blue); color:var(--ink); }
body:is(.home, .uomo-page) .header-top { max-width:1600px; min-height:128px; padding:24px 32px 18px; gap:32px; flex-wrap:wrap; }
body:is(.home, .uomo-page) .brand { flex:0 0 284px; }
body:is(.home, .uomo-page) .brand img { width:284px; filter:grayscale(1) invert(1) contrast(10); mix-blend-mode:multiply; }
body:is(.home, .uomo-page) .brand-copy { display:block; flex:1; white-space:normal; }
body:is(.home, .uomo-page) .brand-copy p { font-size:.875rem; margin-top:8px; line-height:1.7; }
body:is(.home, .uomo-page) .audiences { gap:8px; flex-wrap:wrap; }
body:is(.home, .uomo-page) .audiences span { background:transparent; padding:0 8px 0 0; border-right:1px solid #194766; border-radius:0; font-size:.875rem; line-height:1.4; }
body:is(.home, .uomo-page) .audiences span:last-of-type { border-right:0; }
body:is(.home, .uomo-page) .audiences small { display:block; width:100%; font-size:.75rem; }
body:is(.home, .uomo-page) .header-utilities { max-width:396px; gap:12px 18px; flex-wrap:wrap; font-size:.875rem; line-height:1.5; }
body:is(.home, .uomo-page) .header-utilities .utility-box { background:transparent; color:inherit; border-bottom:1px solid #194766; padding:5px 0; font-weight:400; }
body:is(.home, .uomo-page) .header-search { width:34px; height:34px; margin-left:0; }
body:is(.home, .uomo-page) .site-nav { background:transparent; color:inherit; border-top:1px solid #2e698d; padding:18px 24px; line-height:1.4; font-size:.875rem; flex-wrap:wrap; gap:12px 0; }
body:is(.home, .uomo-page) .site-nav a { padding:0 13px; }
body:is(.home, .uomo-page) .mobile-menu { color:var(--ink); }

/* Wide editorial carousel. No photographs, illustrations or gray gradients. */
body:is(.home, .uomo-page) .home-hero { background:var(--paper); color:var(--ink); padding:0 0 28px; }
body:is(.home, .uomo-page) .hero-track { width:min(1160px,88vw); gap:22px; }
body:is(.home, .uomo-page) .hero-slide { flex:0 0 100%; position:relative; }
body:is(.home, .uomo-page) .hero-slide:hover { opacity:1; }
body:is(.home, .uomo-page) .hero-image { aspect-ratio:2/1; }
body:is(.home, .uomo-page) .hero-kicker { position:absolute; left:32px; top:28px; background:var(--paper); padding:8px 12px; font-size:.875rem; font-weight:900; line-height:1.2; letter-spacing:.035em; }
body:is(.home, .uomo-page) .hero-kicker span { border-left:1px solid; padding-left:10px; margin-left:10px; font-weight:700; }
body:is(.home, .uomo-page) .hero-slide h2 {
  position:absolute; bottom:30px; left:32px; max-width:min(780px,calc(100% - 150px)); margin:0;
  padding:17px 22px 19px; background:var(--paper); color:var(--ink);
  font-size:clamp(1.25rem,2.1vw,1.875rem); line-height:1.6; letter-spacing:.015em;
}
body:is(.home, .uomo-page) .arrow { width:44px; height:44px; background:transparent; color:var(--ink); font-size:38px; }
body:is(.home, .uomo-page) .home-hero > .arrow { top:auto; bottom:91px; }
body:is(.home, .uomo-page) .home-hero > .previous { left:auto; right:max(100px,calc((100% - 1160px)/2 + 70px)); }
body:is(.home, .uomo-page) .home-hero > .next { right:max(42px,calc((100% - 1160px)/2 + 20px)); }
body:is(.home, .uomo-page) .carousel-dots { margin-top:18px; gap:4px; }
body:is(.home, .uomo-page) .carousel-dots button { position:relative; width:36px; height:24px; border-radius:0; background:transparent; opacity:1; }
body:is(.home, .uomo-page) .carousel-dots button::after { content:""; position:absolute; inset:11px 4px; background:#afafaa; }
body:is(.home, .uomo-page) .carousel-dots button[aria-pressed="true"]::after { background:var(--blue-text); }

/* Large bilingual headings with a short editorial rule. */
body:is(.home, .uomo-page) .section-title,body:is(.home, .uomo-page) .home-finder h1 { text-align:center; margin-bottom:48px; }
body:is(.home, .uomo-page) .section-en { display:block; font-family:Arial,Helvetica,sans-serif; font-size:clamp(2.5rem,5.1vw,4.625rem); font-weight:900; line-height:1.05; letter-spacing:-.045em; }
body:is(.home, .uomo-page) .section-en::before { content:""; display:inline-block; width:.34em; height:4px; background:currentColor; margin:0 .18em .72em 0; }
body:is(.home, .uomo-page) .section-ja { display:block; margin-top:17px; font-size:1rem; font-weight:700; letter-spacing:.09em; }
body:is(.home, .uomo-page) .home-finder { background:var(--paper); color:var(--ink); padding:75px 0 80px; }
body:is(.home, .uomo-page) .category-tabs { gap:0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
body:is(.home, .uomo-page) .category-tabs button { padding:16px 14px 0; border-left:1px solid var(--rule); }
body:is(.home, .uomo-page) .category-tabs button:last-child { border-right:1px solid var(--rule); }
body:is(.home, .uomo-page) .category-image { aspect-ratio:2/1; }
body:is(.home, .uomo-page) .category-label { min-height:80px; padding:16px 0; font-size:1rem; line-height:1.6; background:transparent; }
body:is(.home, .uomo-page) .category-tabs [aria-selected="true"] { background:#e4ebed; }
body:is(.home, .uomo-page) .category-tabs [aria-selected="true"]::after { border:0; transform:none; left:0; right:0; bottom:-1px; height:4px; background:var(--blue-text); }
body:is(.home, .uomo-page) .category-panel { background:transparent; border-radius:0; padding:26px 0 0; margin-top:0; }
body:is(.home, .uomo-page) .category-panel-title { border-bottom:1px solid var(--rule); padding-bottom:16px; gap:20px; }
body:is(.home, .uomo-page) .category-panel-title h3 { font-size:1.25rem; }
body:is(.home, .uomo-page) .category-panel-title a { color:var(--blue-text); font-size:.875rem; }
body:is(.home, .uomo-page) .genre-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 24px; margin-top:4px; }
body:is(.home, .uomo-page) .genre-grid a { padding:14px 0; font-size:.875rem; line-height:1.6; border-bottom:1px solid #cecec7; gap:10px; }
body:is(.home, .uomo-page) .genre-grid a span { color:var(--blue-text); font-size:22px; }
body:is(.home, .uomo-page) .genre-grid a:nth-last-child(-n+4) { border-bottom:1px solid #cecec7; }
body:is(.home, .uomo-page) .facility-links { gap:16px; margin-top:34px; }
body:is(.home, .uomo-page) .facility-links .button { background:transparent; color:var(--ink); border:1px solid var(--rule); border-radius:0; padding:15px 12px; font-size:.875rem; min-height:56px; }
body:is(.home, .uomo-page) .home-finder .keyword-form { max-width:760px; margin-top:28px; gap:0; }
body:is(.home, .uomo-page) .keyword-form input { border:1px solid var(--rule); border-right:0; border-radius:0; padding:18px 20px; font-size:1rem; background:transparent; }
body:is(.home, .uomo-page) .keyword-form input::placeholder { color:#6b6b68; }
body:is(.home, .uomo-page) .keyword-form .button { min-width:108px; }

body:is(.home, .uomo-page) .pr-strip { background:#e7e6e0; border-top:1px solid #cecec7; border-bottom:1px solid #cecec7; padding:28px 0; }
body:is(.home, .uomo-page) .pr-label { color:#555; border:0; background:var(--paper); font-size:.75rem; letter-spacing:.06em; }
body:is(.home, .uomo-page) .banner-box { border-color:#a3a39b; background:transparent; color:#62625c; font-size:.875rem; }

/* Thin ruled grids, square gray image areas and bright NEW labels. */
body:is(.home, .uomo-page) .home-products { padding-top:94px; padding-bottom:96px; }
body:is(.home, .uomo-page) .cards-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-top:1px solid var(--rule); }
body:is(.home, .uomo-page) .content-card { padding:20px 18px 24px; border-left:1px solid var(--rule); border-bottom:1px solid var(--rule); }
body:is(.home, .uomo-page) .content-card:nth-child(4n),body:is(.home, .uomo-page) .content-card:last-child { border-right:1px solid var(--rule); }
body:is(.home, .uomo-page) .card-image { aspect-ratio:1; }
body:is(.home, .uomo-page) .new-badge {
  top:-10px; left:-10px; width:58px; height:58px; font-size:.75rem; font-weight:900; letter-spacing:.01em;
  color:#111; background:var(--yellow); border-radius:0; outline:0;
  clip-path:polygon(50% 0%,56% 7%,65% 2%,68% 11%,78% 7%,80% 17%,90% 16%,90% 26%,98% 29%,94% 39%,100% 45%,93% 52%,99% 61%,89% 65%,91% 75%,81% 76%,79% 87%,68% 85%,64% 96%,56% 92%,50% 100%,43% 92%,34% 97%,31% 86%,21% 88%,20% 77%,9% 76%,11% 65%,1% 61%,7% 52%,0% 45%,7% 39%,2% 29%,11% 26%,10% 16%,20% 17%,22% 7%,32% 11%,35% 2%,44% 7%);
}
body:is(.home, .uomo-page) .card-meta { font-size:.75rem; line-height:1.6; margin:15px 0 9px; color:#5d5d57; }
body:is(.home, .uomo-page) .content-card h3 { font-size:1rem; line-height:1.7; font-weight:700; }
body:is(.home, .uomo-page) .card-description { font-size:1rem; line-height:1.7; margin-top:5px; }
body:is(.home, .uomo-page) .content-card .tags { margin-top:14px; gap:5px 10px; max-height:none; overflow:visible; }
body:is(.home, .uomo-page) .content-card .tag { background:transparent; color:var(--blue-text); padding:0; font-size:.875rem; line-height:1.6; }
body:is(.home, .uomo-page) .content-card .tag::before { content:"− "; }
body:is(.home, .uomo-page) .card-facilities { font-size:.75rem; color:#5d5d57; margin-top:10px; }
body:is(.home, .uomo-page) .more-link { margin-top:42px; }
body:is(.home, .uomo-page) .more-link .button { position:relative; min-width:280px; min-height:62px; padding:14px 50px; background:transparent; color:var(--ink); border:1px solid var(--ink); font-size:1rem; letter-spacing:.025em; }
body:is(.home, .uomo-page) .more-link .button::after { content:"›"; position:absolute; right:24px; top:50%; transform:translateY(-50%); font-size:26px; font-weight:400; }
body:is(.home, .uomo-page) .more-link .button:hover { background:var(--ink); color:var(--paper); opacity:1; }
body:is(.home, .uomo-page) .home-articles { background:var(--paper); border-top:1px solid var(--rule); padding:88px 0 96px; }
body:is(.home, .uomo-page) .home-articles .card-image { aspect-ratio:1; }
body:is(.home, .uomo-page) .card-carousel > .arrow { top:-60px; }
body:is(.home, .uomo-page) .card-carousel > .previous { left:auto; right:46px; }
body:is(.home, .uomo-page) .card-carousel > .next { right:0; }

/* Existing lower-page sections continue the same palette and typography. */
body:is(.home, .uomo-page) .home-line { background:var(--blue); color:var(--ink); padding:56px 0 38px; }
body:is(.home, .uomo-page) .line-grid { gap:40px; align-items:stretch; }
body:is(.home, .uomo-page) .doctor-mosaic { gap:6px; }
body:is(.home, .uomo-page) .doctor-mosaic i { background:#bfbdbd; }
body:is(.home, .uomo-page) .line-promo { background:transparent; border:1px solid #194766; padding:20px 22px 0; gap:20px; }
body:is(.home, .uomo-page) .line-promo p { font-size:1rem; line-height:1.9; }
body:is(.home, .uomo-page) .line-pill { font-size:.875rem; border-radius:0; padding:10px 12px; white-space:normal; line-height:1.6; margin:16px 0 20px; }
body:is(.home, .uomo-page) .phone-placeholder { background:#bfbdbd; box-shadow:none; border-color:#194766; min-width:62px; }
body:is(.home, .uomo-page) .line-note { font-size:.75rem; line-height:1.8; margin-top:28px; }
body:is(.home, .uomo-page) .footer-topics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 32px; padding-top:56px; padding-bottom:56px; }
body:is(.home, .uomo-page) .footer-topics > div + div { margin-top:0; }
body:is(.home, .uomo-page) .footer-topics h3 { border-top:1px solid var(--rule); padding-top:16px; margin-bottom:12px; font-size:1rem; }
body:is(.home, .uomo-page) .footer-topics p { font-size:.75rem; color:#777770; overflow-wrap:anywhere; }
body:is(.home, .uomo-page) .network-band { background:#e7e6e0; border-top:1px solid #cecec7; padding:36px 0; }
body:is(.home, .uomo-page) .network-grid { gap:12px; }
body:is(.home, .uomo-page) .network-link { flex-basis:calc((100% - 36px)/4); border-color:var(--rule); background:transparent; font-size:.875rem; min-height:68px; }
body:is(.home, .uomo-page) .site-footer { background:#111; color:var(--paper); padding:48px 32px 28px; }
body:is(.home, .uomo-page) .site-footer nav { font-size:.875rem; gap:12px 0; }
body:is(.home, .uomo-page) .footer-utilities { font-size:.875rem; margin-top:28px; gap:12px 20px; }
body:is(.home, .uomo-page) .site-footer > p { font-size:.75rem; line-height:1.7; color:#bdbdb6; margin-top:36px; }

@media(max-width:1200px) {
  body:is(.home, .uomo-page) .header-top { gap:20px 28px; }
  body:is(.home, .uomo-page) .brand { flex-basis:246px; }
  body:is(.home, .uomo-page) .brand img { width:246px; }
  body:is(.home, .uomo-page) .brand-copy { flex-basis:200px; }
  body:is(.home, .uomo-page) .header-utilities { max-width:290px; }
  body:is(.home, .uomo-page) .header-utilities > button:first-child { display:inline-block; }
  body:is(.home, .uomo-page) .site-nav a { padding-inline:10px; }
  body:is(.home, .uomo-page) .content-card { padding:16px 14px 24px; }
  body:is(.home, .uomo-page) .genre-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body:is(.home, .uomo-page) .genre-grid a:nth-last-child(-n+3) { border-bottom:1px solid #cecec7; }
  body:is(.home, .uomo-page) .category-label { font-size:.875rem; }
  body:is(.home, .uomo-page) .line-grid { gap:24px; }
}
@media(max-width:900px) {
  body:is(.home, .uomo-page) .header-top { padding:22px 24px; }
  body:is(.home, .uomo-page) .brand-copy { order:3; flex-basis:100%; display:flex; gap:20px; justify-content:space-between; align-items:center; }
  body:is(.home, .uomo-page) .brand-copy p { margin:0; max-width:300px; }
  body:is(.home, .uomo-page) .audiences small { display:none; }
  body:is(.home, .uomo-page) .header-utilities { max-width:330px; margin-left:auto; }
  body:is(.home, .uomo-page) .cards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body:is(.home, .uomo-page) .content-card { padding:20px; }
  body:is(.home, .uomo-page) .content-card:nth-child(2n) { border-right:1px solid var(--rule); }
  body:is(.home, .uomo-page) .hero-slide h2 { max-width:calc(100% - 128px); left:24px; bottom:24px; font-size:1.375rem; }
  body:is(.home, .uomo-page) .hero-image { aspect-ratio:1.7; }
  body:is(.home, .uomo-page) .category-tabs button { padding:12px 8px 0; }
  body:is(.home, .uomo-page) .genre-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body:is(.home, .uomo-page) .line-grid { grid-template-columns:1fr; }
  body:is(.home, .uomo-page) .doctor-mosaic { min-height:180px; }
  body:is(.home, .uomo-page) .footer-topics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  body:is(.home, .uomo-page) { --container:1160px; }
  body:is(.home, .uomo-page) .container { width:calc(100% - 32px); }
  body:is(.home, .uomo-page) .header-top { min-height:92px; padding:18px 16px; gap:16px; flex-wrap:nowrap; }
  body:is(.home, .uomo-page) .brand { flex-basis:auto; width:min(50vw,220px); }
  body:is(.home, .uomo-page) .brand img { width:100%; }
  body:is(.home, .uomo-page) .brand-copy { display:none; }
  body:is(.home, .uomo-page) .header-utilities { margin-left:auto; flex-wrap:nowrap; width:auto; gap:0; }
  body:is(.home, .uomo-page) .header-utilities > button:first-child { display:none; }
  body:is(.home, .uomo-page) .header-search { width:28px; margin:0; }
  body:is(.home, .uomo-page) .mobile-menu { display:block; font-size:.875rem; padding:9px 0; }
  body:is(.home, .uomo-page) .site-nav { padding:0 16px; gap:0; border-top:0; }
  body:is(.home, .uomo-page) .site-nav.is-open { padding-bottom:16px; }
  body:is(.home, .uomo-page) .site-nav a { padding:14px 4px; border-bottom:1px solid #2e698d; }
  body:is(.home, .uomo-page) .hero-track { width:88vw; gap:12px; }
  body:is(.home, .uomo-page) .hero-image { aspect-ratio:1; }
  body:is(.home, .uomo-page) .hero-kicker { left:16px; top:18px; font-size:.75rem; padding:8px 10px; }
  body:is(.home, .uomo-page) .hero-slide h2 { left:16px; bottom:18px; max-width:calc(100% - 32px); padding:12px 14px; font-size:1.125rem; line-height:1.65; }
  body:is(.home, .uomo-page) .home-hero { padding-bottom:10px; }
  body:is(.home, .uomo-page) .home-hero > .arrow { bottom:18px; width:36px; height:36px; }
  body:is(.home, .uomo-page) .home-hero > .previous { left:18px; right:auto; }
  body:is(.home, .uomo-page) .home-hero > .next { right:18px; }
  body:is(.home, .uomo-page) .carousel-dots { margin-top:12px; }
  body:is(.home, .uomo-page) .carousel-dots button { width:28px; }
  body:is(.home, .uomo-page) .home-finder { padding:52px 0; }
  body:is(.home, .uomo-page) .section-title,body:is(.home, .uomo-page) .home-finder h1 { margin-bottom:32px; }
  body:is(.home, .uomo-page) .section-en { font-size:clamp(1.875rem,8.5vw,3.25rem); }
  body:is(.home, .uomo-page) .section-en::before { height:3px; }
  body:is(.home, .uomo-page) .section-ja { font-size:.875rem; margin-top:12px; letter-spacing:.035em; }
  body:is(.home, .uomo-page) .category-tabs { display:flex; overflow-x:auto; }
  body:is(.home, .uomo-page) .category-tabs button { flex:0 0 142px; padding:12px 12px 0; }
  body:is(.home, .uomo-page) .category-image { aspect-ratio:2; }
  body:is(.home, .uomo-page) .category-label { font-size:.875rem; min-height:72px; }
  body:is(.home, .uomo-page) .category-panel { padding-top:22px; }
  body:is(.home, .uomo-page) .category-panel-title { gap:12px; align-items:baseline; flex-wrap:wrap; padding-bottom:12px; }
  body:is(.home, .uomo-page) .category-panel-title h3 { font-size:1.125rem; }
  body:is(.home, .uomo-page) .genre-grid { column-gap:18px; }
  body:is(.home, .uomo-page) .genre-grid a { font-size:.875rem; padding:12px 0; align-items:flex-start; }
  body:is(.home, .uomo-page) .genre-grid a:nth-last-child(-n+2) { border-bottom:1px solid #cecec7; }
  body:is(.home, .uomo-page) .facility-links { grid-template-columns:1fr; gap:10px; margin-top:24px; }
  body:is(.home, .uomo-page) .facility-links .button { min-height:50px; font-size:.875rem; padding:12px; }
  body:is(.home, .uomo-page) .home-finder .keyword-form { margin-top:20px; }
  body:is(.home, .uomo-page) .keyword-form input { font-size:1rem; padding:16px 12px; }
  body:is(.home, .uomo-page) .keyword-form .button { min-width:72px; padding:12px; }
  body:is(.home, .uomo-page) .pr-strip { padding:22px 0; }
  body:is(.home, .uomo-page) .banner-box { min-width:150px; height:78px; }
  body:is(.home, .uomo-page) .home-products,body:is(.home, .uomo-page) .home-articles { padding-top:58px; padding-bottom:58px; }
  body:is(.home, .uomo-page) .content-card { padding:14px 12px 22px; }
  body:is(.home, .uomo-page) .new-badge { width:46px; height:46px; top:-8px; left:-8px; font-size:.75rem; }
  body:is(.home, .uomo-page) .card-meta { margin-top:12px; font-size:.75rem; }
  body:is(.home, .uomo-page) .content-card h3,body:is(.home, .uomo-page) .card-description { font-size:1rem; line-height:1.7; }
  body:is(.home, .uomo-page) .content-card .tag { font-size:.875rem; }
  body:is(.home, .uomo-page) .card-facilities { font-size:.75rem; }
  body:is(.home, .uomo-page) .more-link { margin-top:30px; }
  body:is(.home, .uomo-page) .more-link .button { min-width:230px; min-height:56px; }
  body:is(.home, .uomo-page) .home-articles .section-title { padding-bottom:35px; }
  body:is(.home, .uomo-page) .card-carousel > .arrow { top:-50px; width:40px; height:40px; }
  body:is(.home, .uomo-page) .card-carousel > .previous { left:auto; right:42px; }
  body:is(.home, .uomo-page) .card-carousel > .next { right:0; }
  body:is(.home, .uomo-page) .home-line { padding:32px 0; }
  body:is(.home, .uomo-page) .doctor-mosaic { min-height:140px; }
  body:is(.home, .uomo-page) .line-promo { padding:18px 16px 0; gap:12px; }
  body:is(.home, .uomo-page) .line-promo p { font-size:.875rem; }
  body:is(.home, .uomo-page) .line-pill { font-size:.875rem; }
  body:is(.home, .uomo-page) .line-note { font-size:.75rem; }
  body:is(.home, .uomo-page) .footer-topics { grid-template-columns:1fr; padding-block:38px; gap:24px; }
  body:is(.home, .uomo-page) .network-link { flex-basis:calc((100% - 12px)/2); font-size:.875rem; }
  body:is(.home, .uomo-page) .site-footer { padding:36px 16px 24px; }
  body:is(.home, .uomo-page) .site-footer nav,body:is(.home, .uomo-page) .footer-utilities { font-size:.875rem; }
  body:is(.home, .uomo-page) .site-footer > p { font-size:.75rem; }
}
@media(prefers-reduced-motion:reduce) {
  body:is(.home, .uomo-page) *,body:is(.home, .uomo-page) *::before,body:is(.home, .uomo-page) *::after { transition:none!important; }
}
