/* Home-only visual grouping; reading sizes, content and pagination stay intact. */
@media screen {
  body[data-design="cool"].home-page { background:#eaf0f2!important; }
  body[data-design="cool"].home-page .oh-site { border-bottom:3px solid #214c6a!important; }
  body[data-design="cool"].home-page #home-hero-visual { border-color:#b5cdd1!important; }

  /* Event titles stay prominent. Conditions remain in the existing details. */
  body[data-design="cool"].home-page #join-discovery {
    padding:20px!important; margin:0 0 28px!important;
    background:#ecdfc7!important; border:1px solid #c6ac7e!important;
    border-radius:12px!important; border-top:5px solid #8a602d!important;
  }
  body[data-design="cool"].home-page #join-discovery>.join-kicker { color:#64451f!important; }
  body[data-design="cool"].home-page #join-discovery>h2 { color:#4c351e!important; margin-bottom:12px!important; }
  body[data-design="cool"].home-page #join-discovery .join-grid { margin:12px 0!important; gap:12px!important; }
  body[data-design="cool"].home-page #join-discovery .join-card {
    padding:16px!important; background:#fff9ec!important;
    border:1px solid #d5bf97!important; border-radius:8px!important;
  }
  body[data-design="cool"].home-page #join-discovery .join-card h3 { color:#4c351e!important; font-weight:700!important; margin-bottom:10px!important; }
  body[data-design="cool"].home-page #join-discovery .join-card__state { color:#65512e!important; }
  body[data-design="cool"].home-page #join-discovery .join-card dl { display:grid!important; gap:6px!important; }
  body[data-design="cool"].home-page #join-discovery .join-card dl>div {
    grid-template-columns:5.5em minmax(0,1fr)!important; gap:8px!important; margin:0!important;
  }
  body[data-design="cool"].home-page #join-discovery .join-card dt { color:#695534!important; }
  body[data-design="cool"].home-page #join-discovery .join-card dd { color:#453e31!important; }
  body[data-design="cool"].home-page #join-discovery .join-card details { border-top:1px solid #dfcba6; margin-top:10px!important; color:#55462f!important; }
  body[data-design="cool"].home-page #join-discovery .join-card summary { color:#61431c; }
  body[data-design="cool"].home-page #join-discovery .join-card details[open] { padding-bottom:8px!important; }
  body[data-design="cool"].home-page #join-discovery .join-card__links { margin-top:auto!important; padding-top:8px!important; }
  body[data-design="cool"].home-page #join-discovery .join-card__links a {
    background:#785124!important; color:#fff!important; border-radius:5px!important; padding:8px 12px!important;
  }
  body[data-design="cool"].home-page #join-discovery>.join-button { color:#51391e!important; font-weight:700!important; }

  /* Colour belongs to the section, with a strong heading and quieter metadata. */
  body[data-design="cool"].home-page .fgo-reading-title { padding:8px 0 12px!important; border-bottom:2px solid #9eb4bf; }
  body[data-design="cool"].home-page .fgo-news-grid>section,
  body[data-design="cool"].home-page .fgo-news-grid>.fgo-ui-tail {
    --section-bg:#e1edf6; --section-ink:#214c6a; --section-line:#b5cbdc; --section-meta:#425f74;
    background:var(--section-bg)!important; border:1px solid var(--section-line)!important;
    border-radius:10px!important; overflow:hidden;
  }
  body[data-design="cool"].home-page .fgo-news-grid>.home-hub,
  body[data-design="cool"].home-page .fgo-news-grid>.fgo-blog-tail {
    --section-bg:#e3efe6; --section-ink:#2e5e47; --section-line:#b1cdbb; --section-meta:#446453;
  }
  body[data-design="cool"].home-page .fgo-news-grid :is(.play-news-heading,.home-hub>.sec-title,.fgo-ui-continuation) {
    background:var(--section-ink)!important; color:#fff!important; border:0!important; padding:14px 18px!important;
  }
  body[data-design="cool"].home-page .fgo-news-grid .play-news-heading .sec-title { color:#fff!important; }
  body[data-design="cool"].home-page .fgo-news-grid .play-news-heading label { color:#e2edf6!important; }
  body[data-design="cool"].home-page .fgo-blog-tail .fgo-ui-continuation[hidden] { display:none!important; }
  body[data-design="cool"].home-page .fgo-news-grid :is(.yj-topic__title,.hub-post__title,.hub-post__title a) {
    color:#183448!important; font-weight:700!important; line-height:1.65!important;
  }
  body[data-design="cool"].home-page .fgo-news-grid .home-hub :is(.hub-post__title,.hub-post__title a),
  body[data-design="cool"].home-page .fgo-blog-tail :is(.hub-post__title,.hub-post__title a) { color:#204431!important; }
  body[data-design="cool"].home-page .fgo-news-grid :is(.yj-topic__body time,.hub-post__meta) { color:var(--section-meta)!important; }
  body[data-design="cool"].home-page .fgo-news-grid :is(.yj-topic__tag,.hub-post__cat) {
    background:transparent!important; color:var(--section-meta)!important; border-left:1px solid var(--section-line)!important;
    border-radius:0!important; padding:0 0 0 10px!important; font-weight:400!important;
  }
  body[data-design="cool"].home-page .fgo-news-grid :is(.yj-topic__body,.hub-post__meta) { flex-direction:row!important; gap:2px 10px!important; }
  body[data-design="cool"].home-page .fgo-news-grid :is(#new-articles,.fgo-news-tail-list)>li,
  body[data-design="cool"].home-page .fgo-news-grid .hub-post { border-bottom-color:var(--section-line)!important; }
  body[data-design="cool"].home-page .fgo-news-grid :is(#new-articles,.fgo-news-tail-list)>li>a,
  body[data-design="cool"].home-page .fgo-news-grid .hub-post { padding:11px 0!important; }
  body[data-design="cool"].home-page .fgo-news-grid :is(#new-articles,.fgo-news-tail-list)>li>a:hover,
  body[data-design="cool"].home-page .fgo-news-grid .hub-post:focus-within { background:#ffffff50!important; }
  body[data-design="cool"].home-page .fgo-news-grid :is(.play-news-controls,.play-blog-controls) { margin:0!important; }
  body[data-design="cool"].home-page .fgo-news-grid :is(.play-news-controls button,.play-blog-controls button) {
    background:var(--section-ink)!important; border-color:var(--section-ink)!important; color:#fff!important;
  }
  body[data-design="cool"].home-page .fgo-news-grid :is(.yj-more,.hub-cta,.article-archive-link a) { color:var(--section-ink)!important; font-weight:700; }

  /* Give the remaining guides their own visual landmarks, without removing links. */
  body[data-design="cool"].home-page .fgo-theme-section .cool-search-panel {
    background:#dce8ef!important; border:1px solid #afc4d0!important; border-top:5px solid #355d73!important;
  }
  body[data-design="cool"].home-page .fgo-theme-section .hero-theme-grid a { background:#f3f7fa!important; border:1px solid #b6cbd7!important; }
  body[data-design="cool"].home-page .yj-col-aside>section:first-child { background:#dce8ef; border-top:5px solid #355d73; }
  body[data-design="cool"].home-page .yj-col-aside { align-items:start; }
  body[data-design="cool"].home-page .yj-person { background:#f0e5d5; border-top:5px solid #917044; }
  body[data-design="cool"].home-page #soudan { grid-column:span 3; background:#e3ebe0; border-top:5px solid #55734d; }
  body[data-design="cool"].home-page .yj-book { grid-column:span 3; flex-direction:row; align-items:center; background:#dce8ef; }
  body[data-design="cool"].home-page .yj-tour-banner--with-copy { grid-column:span 3; align-self:start; background:#e3efe6; }
  body[data-design="cool"].home-page .yj-tour-banner--with-copy>a { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
  body[data-design="cool"].home-page .yj-tour-banner--with-copy img { height:100%; min-height:200px; }
  body[data-design="cool"].home-page .home-ranking-column { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:22px; }
  body[data-design="cool"].home-page .home-ranking-column>* { grid-column:1/-1!important; }
  body[data-design="cool"].home-page .home-ranking-column .cool-ketsui-art { flex-direction:row; flex-wrap:wrap; align-items:center; gap:8px 24px; }
  body[data-design="cool"].home-page .home-ranking-column .cool-ketsui-art span { margin:0; }
  body[data-design="cool"].home-page .yj-ranking { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; }
  body[data-design="cool"].home-page .yj-box:has(#monthly-title) { background:#e1edf6; border-top:5px solid #214c6a; }
  body[data-design="cool"].home-page .home-projects { grid-column:1/-1; background:#e3efe6; border-top:5px solid #2e5e47; }
  body[data-design="cool"].home-page .home-projects .entry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-design="cool"].home-page .home-projects .blog-banner { position:relative; background:#f4f8f3; padding:18px; padding-right:calc(30% + 18px); overflow:hidden; }
  body[data-design="cool"].home-page .home-projects .blog-banner::before { content:""; position:absolute; inset:0 0 0 auto; width:30%; background-image:var(--bg); background-size:cover; background-position:center; opacity:1; }
  body[data-design="cool"].home-page .home-projects .blog-banner::after { display:none; }
  body[data-design="cool"].home-page .home-projects .blog-banner>* { position:relative; z-index:1; }
  body[data-design="cool"].home-page .home-projects .entry-card__label { background:transparent; padding:0; color:#42694f; }
  @media(max-width:860px) {
    body[data-design="cool"].home-page :is(#soudan,.yj-book,.yj-tour-banner--with-copy) { grid-column:1/-1; }
    body[data-design="cool"].home-page .home-ranking-column { grid-template-columns:minmax(0,1fr); }
  }
  @media(max-width:600px) {
    body[data-design="cool"].home-page #join-discovery { padding:14px!important; }
    body[data-design="cool"].home-page #join-discovery .join-card { padding:14px!important; }
    body[data-design="cool"].home-page #join-discovery .join-card dl>div { grid-template-columns:5.5em minmax(0,1fr)!important; }
    body[data-design="cool"].home-page .fgo-news-grid .fgo-ui-tail .fgo-ui-continuation { background:var(--section-ink)!important; color:#fff!important; }
    body[data-design="cool"].home-page .home-projects .entry-grid { grid-template-columns:minmax(0,1fr); }
    body[data-design="cool"].home-page .home-projects .blog-banner { padding:14px; padding-right:calc(25% + 12px); }
    body[data-design="cool"].home-page .home-projects .blog-banner::before { width:25%; }
    body[data-design="cool"].home-page .yj-ranking { grid-template-columns:minmax(0,1fr); }
    body[data-design="cool"].home-page .yj-book { flex-direction:column; }
    body[data-design="cool"].home-page .yj-tour-banner--with-copy>a { grid-template-columns:minmax(0,1fr); }
    body[data-design="cool"].home-page .yj-tour-banner--with-copy img { height:200px; }
  }
  @media(max-width:360px) {
    body[data-design="cool"].home-page #join-discovery .join-card dl>div { grid-template-columns:minmax(0,1fr)!important; gap:0!important; }
  }

  /* Independent stacks fill the gaps left by cards with different heights. */
  body[data-design="cool"].home-page .home-about-services {
    grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; align-items:start;
  }
  body[data-design="cool"].home-page .home-about-services__column { display:flex; flex-direction:column; gap:22px; min-width:0; }
  body[data-design="cool"].home-page .home-about-services__column>* { margin:0; min-width:0; width:100%; }
  body[data-design="cool"].home-page .home-about-services .yj-person { grid-template-columns:150px minmax(0,1fr); grid-template-rows:min-content 1fr auto; align-items:start; }
  body[data-design="cool"].home-page .home-about-services .yj-person figure { grid-row:1/3; }
  body[data-design="cool"].home-page .home-about-services .yj-person__links { grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-design="cool"].home-page .home-about-services .yj-person__links a { text-align:left; }
  body[data-design="cool"].home-page .home-about-services :is(.bukken-home-banner__eyebrow,.bukken-home-banner__description,.bukken-home-banner__cta) { font-size:1rem; line-height:1.8; }
  @media(max-width:860px) {
    body[data-design="cool"].home-page .home-about-services { grid-template-columns:minmax(0,1fr); gap:18px; }
    body[data-design="cool"].home-page .home-about-services__column { gap:18px; }
  }
  @media(max-width:600px) {
    body[data-design="cool"].home-page .home-about-services .yj-person { grid-template-columns:110px minmax(0,1fr); }
  }
  @media(max-width:360px) {
    body[data-design="cool"].home-page .home-about-services .yj-person { grid-template-columns:minmax(0,1fr); grid-template-rows:none; }
    body[data-design="cool"].home-page .home-about-services .yj-person figure { grid-column:1; grid-row:auto; }
    body[data-design="cool"].home-page .home-about-services .yj-person figure img { height:auto; max-height:220px; }
    body[data-design="cool"].home-page .home-about-services .yj-person p { grid-column:1; }
    body[data-design="cool"].home-page .home-about-services :is(.yj-person__links,.yj-consult) { grid-template-columns:minmax(0,1fr); }
  }

  /* Pictorial guide cards keep every label and destination available. */
  body[data-design="cool"].home-page .fgo-theme-section .cool-search-panel { background:#f0f4f2!important; padding:26px!important; }
  body[data-design="cool"].home-page .fgo-theme-section .hero-search {
    display:grid!important; grid-template-columns:minmax(0,1fr) auto; gap:10px!important;
    max-width:none!important; margin:0 0 24px!important; padding:20px; background:#dce8ef; border-radius:10px;
  }
  body[data-design="cool"].home-page .fgo-theme-section .hero-search__label { grid-column:1/-1; display:flex; align-items:center; gap:10px; font-weight:700; }
  body[data-design="cool"].home-page .hero-search__label svg { width:30px; height:30px; flex:none; }
  body[data-design="cool"].home-page .fgo-theme-section .hero-search__input { width:100%!important; }
  body[data-design="cool"].home-page .fgo-theme-section .hero-search__button { border-radius:6px; padding:10px 20px; }
  body[data-design="cool"].home-page .fgo-theme-section .hero-theme-label { font-size:22px!important; font-weight:700; }
  body[data-design="cool"].home-page .fgo-theme-section .hero-theme-grid { grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:12px!important; }
  body[data-design="cool"].home-page .fgo-theme-section .hero-theme-grid a {
    --icon-bg:#f3dfb9; --icon-ink:#795620; background:#fffdf7!important; border:1px solid #dfd8c9!important;
    padding:18px 10px!important; gap:12px!important; border-radius:12px!important; font-weight:700; line-height:1.6;
  }
  body[data-design="cool"].home-page .fgo-theme-section .hero-theme-grid a:nth-child(2n) { --icon-bg:#d5e8df; --icon-ink:#326750; background:#f4faf6!important; border-color:#c8dccf!important; }
  body[data-design="cool"].home-page .fgo-theme-section .hero-theme-grid a:nth-child(3n) { --icon-bg:#d7e8f1; --icon-ink:#2f6480; background:#f4f8fc!important; border-color:#cbdde7!important; }
  body[data-design="cool"].home-page .fgo-theme-section .hero-theme-grid a:nth-child(4n) { --icon-bg:#eadce8; --icon-ink:#79536f; background:#faf5f9!important; border-color:#dfd1dc!important; }
  body[data-design="cool"].home-page .fgo-theme-section .hero-theme-grid svg {
    box-sizing:content-box; width:52px!important; height:52px!important; padding:14px; border-radius:50%;
    background:var(--icon-bg); color:var(--icon-ink)!important; flex:none;
  }
  body[data-design="cool"].home-page .fgo-theme-section .hero-theme-grid a:is(:hover,:focus-visible) { outline:3px solid var(--icon-ink); outline-offset:2px; }
  body[data-design="cool"].home-page .fgo-theme-section .hero-guide-links { flex-direction:row; justify-content:flex-start; border:0; padding:0; gap:10px!important; }
  body[data-design="cool"].home-page .fgo-theme-section .hero-guide-links a { padding:10px 14px; border:1px solid #b6cbd1!important; background:#fff!important; border-radius:7px; }

  body[data-design="cool"].home-page .yj-services { grid-template-columns:repeat(6,minmax(0,1fr)); padding:0!important; gap:14px!important; }
  body[data-design="cool"].home-page .yj-services>a {
    grid-column:span 2!important; position:relative; display:flex; flex-direction:column; flex-wrap:nowrap; align-items:center; justify-content:flex-start;
    gap:12px; padding:20px 24px!important; background:#edf4e8!important; border:1px solid #c5d5bc!important; border-radius:12px; text-align:center;
  }
  body[data-design="cool"].home-page .yj-services>a:nth-child(2) { background:#e7f1f5!important; border-color:#b9d0dc!important; }
  body[data-design="cool"].home-page .yj-services>a:nth-child(3) { background:#faf0dd!important; border-color:#e0d0af!important; }
  body[data-design="cool"].home-page .yj-services .service-art { display:block; width:180px; max-width:100%; height:112px; flex:none; }
  body[data-design="cool"].home-page .yj-services .service-copy { display:grid; gap:5px; min-width:0; }
  body[data-design="cool"].home-page .yj-services .service-copy strong { font-size:19px; line-height:1.6; color:#253e4d; }
  body[data-design="cool"].home-page .yj-services .service-copy>span { font-size:16px; font-weight:400; color:#425a62; }
  body[data-design="cool"].home-page .yj-services .service-arrow { position:absolute; top:14px; right:14px; font-size:22px; }
  body[data-design="cool"].home-page .yj-services>a:nth-child(n+4) { grid-column:span 3!important; flex-direction:row; justify-content:flex-start; background:#f4f7f9!important; border-color:#cad8df!important; text-align:left; padding:14px 24px!important; }
  body[data-design="cool"].home-page .yj-services>a:nth-child(n+4) .service-art { width:48px; height:48px; margin-right:8px; }
  body[data-design="cool"].home-page .yj-services>a:is(:hover,:focus-visible) { outline:3px solid #355d73; outline-offset:2px; }

  body[data-design="cool"].home-page .home-intro-visual { display:grid; grid-template-columns:minmax(180px,240px) minmax(0,1fr); padding:0; margin:28px 0; background:#f7f4ed; border:1px solid #d6d9cf; border-radius:14px; overflow:hidden; }
  body[data-design="cool"].home-page .home-intro-photo { display:flex; align-items:center; justify-content:center; padding:22px; background:#315e5b; }
  body[data-design="cool"].home-page .home-intro-photo img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:10px; }
  body[data-design="cool"].home-page .home-intro-copy { min-width:0; padding:26px 30px; }
  body[data-design="cool"].home-page .home-intro-copy .home-hub__name { font-size:24px!important; line-height:1.6; color:#244b49; }
  body[data-design="cool"].home-page .home-intro-copy .home-hub__def { margin:12px 0 0; color:#3e5257; }
  @media(max-width:800px) {
    body[data-design="cool"].home-page .fgo-theme-section .hero-theme-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
    body[data-design="cool"].home-page .yj-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
    body[data-design="cool"].home-page .yj-services>a:nth-child(n) { grid-column:1/-1!important; flex-direction:row; text-align:left; align-items:center; padding:16px!important; }
    body[data-design="cool"].home-page .yj-services .service-art { width:120px; height:82px; }
    body[data-design="cool"].home-page .yj-services .service-copy { flex:1; padding-right:12px; }
  }
  @media(max-width:600px) {
    body[data-design="cool"].home-page .fgo-theme-section .cool-search-panel { padding:14px!important; }
    body[data-design="cool"].home-page .fgo-theme-section .hero-search { padding:14px; grid-template-columns:minmax(0,1fr); }
    body[data-design="cool"].home-page .fgo-theme-section .hero-theme-grid { gap:10px!important; }
    body[data-design="cool"].home-page .fgo-theme-section .hero-theme-grid a { padding:16px 8px!important; }
    body[data-design="cool"].home-page .home-intro-visual { grid-template-columns:minmax(0,1fr); }
    body[data-design="cool"].home-page .home-intro-photo { padding:20px; }
    body[data-design="cool"].home-page .home-intro-photo img { max-width:160px; }
    body[data-design="cool"].home-page .home-intro-copy { padding:22px; }
    body[data-design="cool"].home-page .yj-services .service-art { width:88px; height:70px; }
  }
}
