/*
 * SWELL integration preview layer.
 * Quiet editorial rhythm, clear service diagrams, and article reading patterns.
 */
:root {
  --gs-blue: #1769d2;
  --gs-blue-deep: #0a408c;
  --gs-navy: #102c50;
  --gs-ink: #1e2c3e;
  --gs-muted: #5f6f82;
  --gs-soft: #f4f7fa;
  --gs-sky: #eaf3fd;
  --gs-line: #dce5ee;
  --gs-gold: #c89025;
  --gs-brand-cyan: #08a9dd;
  --gs-brand-yellow: #f2d200;
  --gs-footer-bg: #eef4f7;
  --gs-footer-ink: #18364e;
  --gs-radius: 16px;
  --gs-control-radius: 10px;
  --gs-shadow: 0 22px 60px -44px rgba(16,44,80,.48);
}

/* Buttons keep a friendly edge without turning every control into a pill. */
.primary-button,
.gsrc-button,
.gzen-button,
.gzen-header__cta,
.gzen-menu__cta,
.rental-primary,
.tlp-primary,
.partner-directory-cta a,
.partner-recruit-cta a,
.case-cta a,
.editorial-cta a,
.gallery-final a,
.rental-final a,
.tlp-final a,
.detail-cta a,
.news-filter button,
.cases-filter button,
.gallery-filters button {
  border-radius: var(--gs-control-radius) !important;
}

.primary-button,
.gsrc-button,
.gzen-button,
.rental-primary,
.tlp-primary {
  box-shadow: 0 14px 28px -20px rgba(23,105,210,.78) !important;
}

.primary-button:hover,
.gsrc-button:hover,
.gzen-button:hover,
.rental-primary:hover,
.tlp-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px -22px rgba(23,105,210,.82) !important;
}

/* A restrained ninja cue: one quick "blade glint" only when a CTA is touched. */
.primary-button,.gsrc-button,.gzen-button,.rental-primary,.tlp-primary { position: relative; overflow: hidden; }
.primary-button::before,.gsrc-button::before,.gzen-button::before,.rental-primary::before,.tlp-primary::before {
  content: "";
  position: absolute;
  top: -45%;
  left: -34%;
  width: 24%;
  height: 190%;
  pointer-events: none;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
  transform: rotate(22deg);
}
.primary-button:hover::before,.primary-button:focus-visible::before,.gsrc-button:hover::before,.gsrc-button:focus-visible::before,.gzen-button:hover::before,.gzen-button:focus-visible::before,.rental-primary:hover::before,.rental-primary:focus-visible::before,.tlp-primary:hover::before,.tlp-primary:focus-visible::before { animation: gs-blade-glint .52s ease-out 1; }
@keyframes gs-blade-glint { from { left: -34%; } to { left: 116%; } }

/* The mascot gives a tiny guiding nod, leaving photos and content still. */
.gzen-hero__helper img,.editorial-hero > img,.gallery-shelf > img,.gsrc-final > img,.editorial-cta > img,.news-hero > img { transform-origin: 50% 90%; animation: gs-ninja-guide 8s ease-in-out infinite; }
@keyframes gs-ninja-guide { 0%,78%,100% { transform: translateY(0) rotate(0); } 84% { transform: translateY(-4px) rotate(-1deg); } 90% { transform: translateY(0) rotate(1deg); } 95% { transform: translateY(-2px) rotate(0); } }

.primary-button:focus-visible,
.gsrc-button:focus-visible,
.gzen-button:focus-visible,
.rental-primary:focus-visible,
.tlp-primary:focus-visible {
  outline: 3px solid rgba(23,105,210,.28);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .primary-button::before,.gsrc-button::before,.gzen-button::before,.rental-primary::before,.tlp-primary::before { display: none; }
  .gzen-hero__helper img,.editorial-hero > img,.gallery-shelf > img,.gsrc-final > img,.editorial-cta > img,.news-hero > img { animation: none !important; }
}

/* Shared chrome: closer to a carefully typeset corporate site than an app UI. */
.gzen-header {
  border-bottom: 1px solid var(--gs-line) !important;
  box-shadow: none !important;
}
.gzen-header__inner { width: min(1180px, calc(100% - 48px)) !important; height: 78px !important; }
.gzen-brand { min-height: 44px; }
.gzen-brand__company-symbol { width: 42px; height: 42px; flex: 0 0 42px; border: 1px solid #dbe4ed; border-radius: 50%; object-fit: cover; }
.gzen-footer {
  color: #39546c !important;
  background: var(--gs-footer-bg) !important;
  border-top: 4px solid var(--gs-brand-cyan);
}
.gzen-footer__main { padding-top: 56px; }
.gzen-footer__brand--company { grid-template-columns: 1fr; }
.gzen-footer__logo--company { width: 188px; height: auto !important; padding: 0; display: block; border-radius: 0; background: transparent; }
.gzen-footer__logo--company img { width: 100%; height: auto !important; display: block; filter: none !important; }
.gzen-footer__brand small { color: #4f687d !important; font-weight: 750; }
.gzen-footer__brand p { color: #5d7385 !important; }
.gzen-footer__links b { color: var(--gs-footer-ink) !important; }
.gzen-footer__links a,.gzen-footer__bottom a { color: #4d687f !important; transition: color .18s ease; }
.gzen-footer__links a:hover,.gzen-footer__links a:focus-visible,.gzen-footer__bottom a:hover,.gzen-footer__bottom a:focus-visible { color: #087da8 !important; }
.gzen-footer__bottom { color: #6c8192 !important; border-top-color: #cbdbe4 !important; }
.gzen-nav { margin-left: auto; gap: 30px !important; }
.gzen-nav a { position: relative; color: #34465c !important; font-size: 13px !important; letter-spacing: .01em; }
.gzen-nav a::after { content: ""; position: absolute; right: 0; bottom: -9px; left: 0; height: 2px; background: var(--gs-blue); transform: scaleX(0); transition: transform .2s ease; }
.gzen-nav a:hover::after, .gzen-nav a:focus-visible::after { transform: scaleX(1); }
.gzen-header__cta { border-radius: var(--gs-control-radius) !important; box-shadow: 0 10px 22px -16px rgba(23,105,210,.8); }

/* G-Support home */
.gsrc-home { color: var(--gs-ink) !important; background: #fff !important; }
.gsrc-hero {
  width: min(1280px, 100%) !important;
  min-height: 640px !important;
  grid-template-columns: minmax(0, .93fr) minmax(0, 1.07fr) !important;
  border: 0 !important;
  background: linear-gradient(90deg, #fff 0 49%, #eef4fa 49% 100%);
}
.gsrc-hero__copy { max-width: 610px; padding: 74px 52px 72px max(42px, calc((100vw - 1180px) / 2)) !important; }
.gsrc-kicker { margin-bottom: 22px !important; color: var(--gs-blue) !important; font-size: 13px !important; letter-spacing: .08em !important; }
.gsrc-hero h1 { margin-bottom: 22px !important; color: var(--gs-navy) !important; font-size: clamp(42px, 4vw, 58px) !important; line-height: 1.38 !important; letter-spacing: -.055em !important; }
.gsrc-hero__lead { max-width: 565px; margin-bottom: 24px !important; color: #3e5168 !important; font-size: 16px !important; font-weight: 650 !important; line-height: 1.95 !important; }
.gsrc-hero__points { margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; list-style: none; }
.gsrc-hero__points li { position: relative; padding-left: 24px; color: #52647a; font-size: 13px; font-weight: 700; }
.gsrc-hero__points li::before { content: ""; position: absolute; top: .55em; left: 2px; width: 8px; height: 5px; border-bottom: 2px solid var(--gs-blue); border-left: 2px solid var(--gs-blue); transform: rotate(-45deg); }
.gsrc-actions { margin-top: 32px !important; }
.gsrc-button { min-height: 52px !important; border-radius: var(--gs-control-radius) !important; box-shadow: none !important; }
.gsrc-hero__image { min-height: 640px !important; margin: 24px 24px 24px 0 !important; border-radius: 20px 0 0 20px; box-shadow: var(--gs-shadow); }
.gsrc-hero__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 62%, rgba(8,31,61,.2)); pointer-events: none; }
.gsrc-hero__badges { position: absolute; z-index: 2; bottom: 28px; left: 28px; display: flex; gap: 8px; }
.gsrc-hero__badges span { min-width: 112px; padding: 11px 14px; display: grid; gap: 2px; border: 1px solid rgba(255,255,255,.56); border-radius: 8px; color: #fff; background: rgba(9,39,78,.78); backdrop-filter: blur(8px); font-size: 12px; font-weight: 800; }
.gsrc-hero__badges b { color: #9fc8ff; font-size: 9px; letter-spacing: .12em; }
.gsrc-hero__image figcaption { z-index: 3; top: 10px; bottom: auto !important; font-size: 10px !important; }

.gsrc-trust { padding: 24px max(28px, calc((100vw - 1180px) / 2)); border-block: 1px solid var(--gs-line); background: #fff; }
.gsrc-trust > p { margin: 0 0 17px; display: flex; align-items: center; gap: 16px; color: #738196; font-size: 12px; }
.gsrc-trust > p b { padding-right: 16px; border-right: 1px solid #cfd9e3; color: var(--gs-navy); font-size: 13px; }
.gsrc-trust > div { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); align-items: center; gap: 10px; }
.gsrc-trust span { min-height: 42px; padding: 6px 10px; display: grid; place-items: center; color: #526175; font-size: 12px; font-weight: 750; line-height: 1.45; text-align: center; }

.gsrc-consult-wrap { width: min(1180px, calc(100% - 48px)) !important; margin: 86px auto 0 !important; display: block !important; }
.gsrc-consult-card { padding: 42px 48px 38px !important; border: 0 !important; border-radius: var(--gs-radius) !important; background: var(--gs-soft) !important; }
.gsrc-consult-card > h2 { margin-bottom: 34px !important; font-size: 29px !important; letter-spacing: -.03em; }
.gsrc-consult-flow { width: min(900px,100%); margin: auto; gap: 22px !important; }
.gsrc-consult-flow > div > span { width: 128px !important; height: 128px !important; border: 0 !important; background: #fff !important; box-shadow: 0 12px 28px -22px rgba(16,44,80,.6); }
.gsrc-consult-flow b { font-size: 16px !important; }
.gsrc-consult-flow small { font-size: 12px !important; }
.gsrc-consult-flow i { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: var(--gs-blue) !important; background: #fff; font-size: 20px !important; }

.gsrc-service-gateway { padding-top: 110px !important; padding-bottom: 104px !important; }
.gsrc-service-gateway .gsrc-section-title { max-width: 760px; margin-bottom: 44px !important; text-align: left !important; }
.gsrc-service-gateway .gsrc-section-title small { display: block; margin-bottom: 12px; color: var(--gs-blue); font-size: 11px !important; font-weight: 850; letter-spacing: .15em; }
.gsrc-service-gateway .gsrc-section-title h2 { font-size: clamp(30px, 3vw, 42px) !important; letter-spacing: -.04em; }
.gsrc-service-gateway > div { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.gsrc-service-gateway article { min-width: 0; padding: 0 26px 26px; display: flex; flex-direction: column; border: 1px solid var(--gs-line); border-radius: var(--gs-radius); background: #fff; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.gsrc-service-gateway article:hover { transform: translateY(-4px); box-shadow: var(--gs-shadow); }
.gsrc-service-visual { height: 150px; margin: 0 -26px 24px; padding: 24px; display: flex; align-items: flex-end; justify-content: space-between; color: #fff; background: var(--gs-navy); }
.gsrc-service-gateway .is-development .gsrc-service-visual { background: #185d95; }
.gsrc-service-gateway .is-training .gsrc-service-visual { background: var(--gs-blue); }
.gsrc-service-icon { width: 76px; height: 76px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 22px; color: #fff; background: rgba(255,255,255,.12); font-family: serif; font-size: 32px; }
.gsrc-service-visual b { color: rgba(255,255,255,.72); font-size: 10px; letter-spacing: .18em; }
.gsrc-service-gateway article > small { color: var(--gs-blue); font-size: 10px !important; font-weight: 850; letter-spacing: .05em; }
.gsrc-service-gateway h3 { margin: 12px 0 13px; color: var(--gs-navy); font-size: 22px; line-height: 1.5; }
.gsrc-service-gateway article > p { margin: 0 0 18px; color: var(--gs-muted); font-size: 14px; line-height: 1.85; }
.gsrc-service-gateway article > strong { margin-top: auto; padding: 14px 0; border-top: 1px solid var(--gs-line); color: var(--gs-navy); font-size: 13px; }
.gsrc-service-gateway article > a { margin-top: 4px; min-height: 48px; padding: 0 2px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--gs-line); color: var(--gs-blue); font-size: 13px; font-weight: 850; text-decoration: none; }
.gsrc-service-gateway article > a span { font-size: 18px; }
.gsrc-service-bridge { width: max-content; max-width: 100%; margin: 30px auto 0; padding: 13px 22px; display: flex; align-items: center; gap: 18px; border-radius: 999px; color: var(--gs-navy); background: var(--gs-sky); font-size: 12px; }
.gsrc-service-bridge span { color: var(--gs-blue); }

/* Other first views use the same quiet, editorial design system. */
.rental-hero-copy[data-motion-state="ready"],
.rental-hero-image[data-motion-state="ready"],
.tlp-hero-copy[data-motion-state="ready"],
.service-intro-grid[data-motion-state="ready"] { opacity: 1; transform: none; }
.rental-hero { width: min(1180px, calc(100% - 48px)); min-height: 600px; margin: 28px auto 0; overflow: hidden; border: 1px solid var(--gs-line); border-radius: 18px; background: var(--gs-soft); }
.rental-hero-copy { padding: 58px 52px; }
.rental-hero h1 { color: var(--gs-navy); font-size: clamp(40px, 3.8vw, 54px); font-weight: 800; line-height: 1.4; }
.rental-hero h1 + p { color: #485c73; font-weight: 600; line-height: 1.95; }
.rental-hero-points { display: flex; flex-wrap: wrap; gap: 7px; }
.rental-hero-points span { padding: 6px 10px; border: 1px solid #cbd7e4; border-radius: 999px; color: #43556c; background: #fff; font-size: 10px; font-weight: 750; }
.training-lp-v3 .tlp-hero h1 { font-size: clamp(40px, 3.65vw, 54px); letter-spacing: -.06em; }
.rental-hero-image { min-height: 600px; background: #e8eef5; }
.rental-hero-image img { object-position: center 22%; }
.rental-proof { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 26px 0; border-bottom: 1px solid var(--gs-line); }
.rental-section { padding-block: 94px; }
.lp-section-head { max-width: 760px; margin: 0 auto 42px; text-align: left; }
.lp-section-head small { color: var(--gs-blue); font-size: 10px !important; letter-spacing: .15em; }
.lp-section-head h2 { margin: 10px 0 12px; color: var(--gs-navy); font-size: clamp(29px, 3vw, 40px); letter-spacing: -.035em; }
.lp-section-head p { color: var(--gs-muted); }
.rental-problems article, .rental-support article { border-radius: 12px; background: #fff; }

.detail-hero { width: min(1180px, calc(100% - 48px)); min-height: 510px; margin: 38px auto 70px; padding: 70px 64px; grid-template-columns: minmax(0,1fr) 310px; gap: 70px; border-radius: 16px; background: var(--gs-soft); }
.detail-hero::after { right: -110px; top: -120px; border-color: rgba(23,105,210,.07); }
.detail-hero h1 { color: var(--gs-navy); font-size: clamp(40px, 4.7vw, 62px); font-weight: 800; line-height: 1.34; }
.detail-hero > div > p:not(.eyebrow) { color: #52647a; font-size: 15px; line-height: 1.95; }
.detail-hero > ul { padding: 18px 22px; border: 1px solid var(--gs-line); border-radius: 10px; background: #fff; }
.detail-hero > ul li { padding: 17px 4px 17px 24px; position: relative; border-color: var(--gs-line); color: #2d4058; font-size: 13px; }
.detail-hero > ul li::before { content: ""; position: absolute; top: 23px; left: 3px; width: 7px; height: 7px; border-radius: 50%; background: var(--gs-blue); }
.detail-body { width: min(940px, calc(100% - 48px)); }
.detail-body > article { padding-block: 56px; }
.detail-body h2 { color: var(--gs-navy); font-size: 32px; }

.editorial-hero { min-height: 340px; margin: 24px auto 44px; gap: 44px; }
.editorial-hero h1 { color: var(--gs-navy); font-size: clamp(40px, 4.5vw, 58px); }
.editorial-hero > img { height: 270px; }
.editorial-hero label, .editorial-hero form { margin-top: 22px; overflow: hidden; border-color: #afc0d2; border-radius: 8px; }
.editorial-section { margin-block: 58px; }
.problem-search > div { grid-template-columns: repeat(3, 1fr); gap: 14px; }
.problem-search a { min-height: 170px; padding: 23px; border: 1px solid var(--gs-line); border-radius: 10px; background: var(--gs-soft); text-align: left; }
.problem-search h3 { margin: 14px 0 8px; color: var(--gs-navy); font-size: 17px; }
.problem-search p { font-size: 12px; line-height: 1.7; }
.featured-article > article { overflow: hidden; border-radius: 12px; box-shadow: var(--gs-shadow); }
.article-grid > div { gap: 18px; }
.article-grid article { overflow: hidden; border-radius: 10px; }

.labo-hero { width: min(1180px, calc(100% - 48px)); margin: 28px auto 54px; overflow: hidden; grid-template-columns: .9fr 1.1fr; border: 1px solid var(--gs-line); border-radius: 18px; background: var(--gs-soft); }
.labo-hero > div:first-child { padding: 58px 52px; }
.labo-hero h1 { color: var(--gs-navy); font-size: clamp(40px, 4vw, 55px); font-weight: 800; }
.labo-hero h1 + p { color: #4c5f76; font-size: 15px; font-weight: 600; line-height: 1.95; }
.labo-hero > div:first-child > div { margin-top: 26px; }
.labo-hero a { min-height: 48px; padding-inline: 20px; display: inline-flex; align-items: center; border-radius: var(--gs-control-radius); font-size: 12px; }
.labo-hero > div:last-child { min-height: 510px; background: #e7eef6; }
.labo-hero img { height: 510px; object-position: center; }
.labo-section { padding-block: 72px; }
.labo-section > h2, .labo-heading h2 { color: var(--gs-navy); font-size: 30px; }
.labo-values article, .labo-audience article, .labo-activities article { border-radius: 10px; box-shadow: none; }

.gallery-lp .gallery-hero { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.gallery-lp .gallery-hero h1 { color: var(--gs-navy); font-size: clamp(40px, 4.3vw, 56px); line-height: 1.4; }
.gallery-lp .gallery-hero > div:last-child { border-radius: 14px; }
.gallery-detail-hero > * { min-width: 0; }

/* Native WordPress archives use the same finished visual language as the preview. */
.g-wp-column-archive .article-visual { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; }
.g-wp-column-archive .article-visual img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s ease; }
.g-wp-column-archive article:hover .article-visual img { transform: scale(1.025); }
.g-wp-column-archive .article-grid h3 a,
.g-wp-column-archive .featured-article h3 a { color: var(--gs-navy); }
.cases-page .case-thumb { display: block; background-position: center; background-size: cover; }
.cases-page .case-list h3 a { color: var(--gs-navy); text-decoration: none; }
.cases-page .case-list article { border-radius: 12px; }
.gallery-list .gallery-preview-link { display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 8px; background: var(--gs-soft); }
.gallery-list .gallery-preview-link > img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s ease; }
.gallery-list article:hover .gallery-preview-link > img { transform: scale(1.025); }
.gallery-list .gallery-preview-link .template-visual { width: 100%; height: 100%; padding: 20px; display: flex; flex-direction: column; justify-content: space-between; color: #fff; background: linear-gradient(145deg,var(--gs-navy),var(--gs-blue)); }
.gallery-list .gallery-preview-link .template-visual small { color: #cfe4ff; font-size: 11px; font-weight: 800; }
.gallery-list .gallery-preview-link .template-visual b { max-width: 90%; color: #fff; font-size: 20px; line-height: 1.5; }
.gallery-card-actions { margin-top: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.gallery-card-actions a { min-height: 42px; padding: 8px; display: grid; place-items: center; border: 1px solid var(--gs-blue); border-radius: var(--gs-control-radius); color: var(--gs-blue); font-size: 12px; font-weight: 800; text-align: center; }
.gallery-card-actions a:last-child { color: #fff; background: var(--gs-blue); }
.pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 7px; }
.pagination .page-numbers { min-width: 42px; min-height: 42px; margin: 0; display: grid; place-items: center; border-radius: var(--gs-control-radius); }
.case-detail-polished .case-detail-photo { position: relative; overflow: hidden; border-radius: 14px; background-position: center; background-size: cover; }
.case-detail-polished .case-detail-photo figcaption { position: absolute; right: 10px; bottom: 10px; padding: 5px 8px; border-radius: 5px; color: #fff; background: rgba(8,31,61,.76); font-size: 10px; }
.case-detail-polished .case-facts dd { margin: 4px 0 0; color: var(--gs-navy); font-size: 15px; font-weight: 750; }
.case-detail-polished .case-story p { color: var(--gs-muted); font-size: 15px; line-height: 1.95; }
.case-extra-content { width: min(880px, calc(100% - 40px)); margin: 0 auto 56px; }
.template-preview-image { padding: 0; overflow: hidden; background: var(--gs-soft); }
.template-preview-image img { width: 100%; height: 100%; min-height: 400px; display: block; object-fit: cover; }
.gallery-detail-body > article > ol { padding: 24px 24px 24px 46px; border-radius: 10px; background: var(--gs-soft); }
.gallery-detail-body > article > ol li + li { margin-top: 9px; }

/* Article detail: reference-inspired editorial flow, rebuilt for G-Support. */
.article-magazine { --article-max: 1100px; color: var(--gs-ink); background: #fff; overflow: visible; }
.article-magazine .breadcrumbs { width: min(var(--article-max), calc(100% - 48px)); margin: 22px auto 0; padding: 0; color: #7b8796; font-size: 11px !important; }
.article-mag-header { width: min(var(--article-max), calc(100% - 48px)); margin: 0 auto; padding: 46px 0 30px; border-bottom: 1px solid var(--gs-line); }
.article-mag-header .eyebrow { width: max-content; margin-bottom: 20px; padding: 7px 13px; border-radius: 999px; color: var(--gs-blue); background: var(--gs-sky); font-size: 11px; letter-spacing: .03em; }
.article-mag-header h1 { max-width: 900px; margin: 0; color: #172536; font-size: clamp(36px, 3.45vw, 46px); font-weight: 800; line-height: 1.38; letter-spacing: -.05em; }
.article-mag-header .article-lead { max-width: 760px; margin: 18px 0 0; color: #5f6c7d; font-size: 15px; line-height: 1.85; }
.article-mag-info { margin-top: 22px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.article-mag-info .article-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; color: #7b8796; font-size: 11px; }
.article-mag-info .author-row { margin: 0; }
.article-mag-info .author-row > div { display: flex; align-items: center; gap: 10px; }
.article-mag-info .avatar { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--gs-navy); font-size: 12px; font-weight: 850; }
.article-mag-info .author-row p { color: #627084; font-size: 10px !important; line-height: 1.55; }
.article-mag-info .author-row b { color: #25354a; font-size: 11px; }
.article-mag-layout { width: min(var(--article-max), calc(100% - 48px)); margin: 34px auto 92px; display: grid; grid-template-columns: minmax(0, 760px) 280px; align-items: start; gap: 60px; }
.article-mag-main { min-width: 0; }
.article-mag-main .column-cover.is-featured { min-height: 420px; margin: 0 0 38px; border: 0; border-radius: 12px; box-shadow: var(--gs-shadow); }
.article-mag-main .article-conclusion { margin: 0 0 48px; padding: 25px 28px; border: 0; border-left: 5px solid var(--gs-blue); border-radius: 0 8px 8px 0; color: #243850; background: var(--gs-sky); }
.article-mag-main .article-conclusion b { display: block; margin-bottom: 8px; color: var(--gs-blue); font-size: 12px; }
.article-mag-main .article-conclusion p { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.85; }
.article-mag-main .wp-entry-content { color: #28384b; font-size: 16px; line-height: 2.05; }
.article-mag-main .wp-entry-content > p { margin: 0 0 30px; }
.article-mag-main .wp-entry-content h2 { margin: 76px 0 26px; padding: 0 0 16px; border-bottom: 2px solid #26384d; color: #18283a; font-size: 29px; line-height: 1.55; letter-spacing: -.025em; }
.article-mag-main .wp-entry-content h3 { margin: 46px 0 18px; padding-left: 16px; border-left: 4px solid var(--gs-blue); color: #203247; font-size: 21px; line-height: 1.6; }
.article-mag-main .wp-entry-content ul,
.article-mag-main .wp-entry-content ol { margin: 24px 0 34px; padding: 22px 28px 22px 48px; border-radius: 8px; background: var(--gs-soft); }
.article-mag-main .wp-entry-content li + li { margin-top: 10px; }
.article-mag-main .wp-entry-content table { border-collapse: separate; border-spacing: 0; overflow: hidden; border: 1px solid var(--gs-line); border-radius: 8px; }
.article-mag-main .wp-entry-content th { color: var(--gs-navy); background: var(--gs-sky); }
.article-mag-sidebar { position: relative; }
.article-mag-sidebar > div { position: sticky; top: 100px; display: grid; gap: 18px; }
.article-mag-sidebar .article-toc { margin: 0; padding: 25px 24px; border: 0; border-radius: 10px; background: var(--gs-sky); }
.article-mag-sidebar .article-toc > b { margin-bottom: 15px; color: var(--gs-navy); font-size: 18px; }
.article-mag-sidebar .article-toc ol { padding: 0; list-style: none; }
.article-mag-sidebar .article-toc a { padding: 9px 0; display: grid; grid-template-columns: 28px 1fr; gap: 6px; border-bottom: 1px solid rgba(16,44,80,.1); color: #30445d; font-size: 12px; line-height: 1.6; }
.article-mag-sidebar .article-toc a span { color: var(--gs-blue); font-size: 10px; font-weight: 850; }
.article-side-cta { padding: 25px 24px; border-radius: 10px; color: #fff; background: var(--gs-navy); }
.article-side-cta small { color: #91c2ff; font-size: 9px !important; font-weight: 850; letter-spacing: .14em; }
.article-side-cta > b { display: block; margin-top: 10px; font-size: 19px; line-height: 1.6; }
.article-side-cta p { color: #d5e0ec; font-size: 12px; line-height: 1.8; }
.article-side-cta a { min-height: 44px; padding: 0 14px; display: flex; align-items: center; justify-content: center; border-radius: var(--gs-control-radius); color: var(--gs-navy); background: #fff; font-size: 12px; font-weight: 850; text-decoration: none; }
.article-toc-mobile { display: none; }
.article-magazine .related-articles { width: min(var(--article-max), calc(100% - 48px)); margin: 0 auto 80px; padding-top: 55px; border-top: 1px solid var(--gs-line); }
.article-magazine .related-articles > h2 { margin: 0 0 28px; color: var(--gs-navy); font-size: 28px; }
.article-magazine .related-articles > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.article-magazine .related-articles > div > a { min-height: 200px; margin: 0; padding: 22px; display: flex; flex-direction: column; border: 1px solid var(--gs-line); border-radius: 10px; text-decoration: none; }
.article-magazine .related-articles small { color: var(--gs-blue); font-size: 10px !important; font-weight: 800; }
.article-magazine .related-articles b { margin-top: 13px; color: var(--gs-navy); font-size: 16px; line-height: 1.65; }
.article-magazine .related-articles span { margin-top: auto; color: var(--gs-blue); font-size: 11px; font-weight: 800; }
.article-magazine .sticky-like-cta { width: min(var(--article-max), calc(100% - 48px)); margin: 0 auto 80px; padding: 22px 28px; border: 0; border-radius: 10px; color: #fff; background: var(--gs-navy); }
.article-magazine .sticky-like-cta p { margin: 0; color: #d9e4ef; }
.article-magazine .sticky-like-cta p b { color: #fff; }
.article-magazine .sticky-like-cta a { border-radius: var(--gs-control-radius); background: var(--gs-blue); }

/* WordPress plugin renders the same editorial system with native WP content. */
.article-page.article-magazine { width: 100%; max-width: none; margin: 0; padding: 0; }
.article-page.article-magazine .article-header { width: min(var(--article-max), calc(100% - 48px)); margin: 0 auto; display: block; }
.article-page.article-magazine .article-byline { margin-top: 14px; display: flex; gap: 18px; color: #53647a; font-size: 12px; }
.article-page.article-magazine .article-main-visual { min-height: 380px; margin: 0 0 36px; overflow: hidden; border-radius: 12px; background: var(--gs-soft); box-shadow: var(--gs-shadow); }
.article-page.article-magazine .article-main-visual img { width: 100%; height: 420px; display: block; object-fit: cover; }
.article-page.article-magazine .article-answer { margin: 0 0 46px; }
.article-page.article-magazine .article-mag-sidebar { position: sticky; top: 100px; display: grid; gap: 18px; }
.article-page.article-magazine .article-mag-sidebar > div { position: static; padding: 22px; border: 1px solid var(--gs-line); border-radius: 9px; }
.article-page.article-magazine .article-mag-sidebar > nav { margin: 0; }
.article-page.article-magazine .article-toc-desktop { display: block; }
.article-page.article-magazine .article-toc-mobile { display: none; }

@media (max-width: 900px) {
  .gsrc-hero { min-height: 0 !important; grid-template-columns: 1fr !important; background: #fff; }
  .gsrc-hero__copy { max-width: none; padding: 56px 28px 38px !important; }
  .gsrc-hero__image { min-height: 440px !important; margin: 0 20px 20px !important; border-radius: 16px; }
  .gsrc-trust > div { grid-template-columns: repeat(3,1fr); }
  .gsrc-service-gateway > div { grid-template-columns: 1fr; }
  .gsrc-service-gateway article { display: grid; grid-template-columns: 170px 1fr; column-gap: 26px; }
  .gsrc-service-visual { width: 170px; height: 100%; min-height: 260px; margin: 0 0 -26px -26px; grid-row: 1 / 7; }
  .gsrc-service-gateway article > small { margin-top: 24px; }
  .article-mag-header { padding-right: 0; }
  .article-mag-layout { grid-template-columns: 1fr; gap: 32px; }
  .article-mag-sidebar { display: none; }
  .article-toc-mobile { display: block; margin: 0 0 44px; }
  .article-page.article-magazine .article-mag-sidebar { display: none; }
  .article-page.article-magazine .article-toc-mobile { display: block; }
  .rental-hero, .labo-hero { grid-template-columns: 1fr; }
  .rental-hero-image, .labo-hero > div:last-child { min-height: 420px; }
  .detail-hero { grid-template-columns: 1fr; min-height: 0; }
}

@media (max-width: 640px) {
  .gzen-header__inner { width: calc(100% - 28px) !important; height: 66px !important; }
  .gzen-brand { width: 145px !important; min-width: 145px !important; }
  .gallery-hero form label { min-height: 48px; padding: 0 12px; align-items: center; }
  .gallery-hero form input { min-height: 46px; }
  .gsrc-hero__copy { padding: 44px 20px 30px !important; }
  .gsrc-hero h1 { font-size: 36px !important; line-height: 1.42 !important; }
  .gsrc-hero__lead { font-size: 15px !important; }
  .gsrc-hero__points { display: grid; }
  .gsrc-actions { display: grid !important; }
  .gsrc-actions .gsrc-button { width: 100%; }
  .gsrc-hero__image { min-height: 350px !important; margin: 0 12px 12px !important; }
  .gsrc-hero__badges { right: 12px; bottom: 12px; left: 12px; gap: 5px; }
  .gsrc-hero__badges span { min-width: 0; flex: 1; padding: 8px; font-size: 10px; }
  .gsrc-trust { padding: 20px; }
  .gsrc-trust > p { align-items: flex-start; flex-direction: column; gap: 4px; }
  .gsrc-trust > p b { padding: 0; border: 0; }
  .gsrc-trust > div { grid-template-columns: 1fr 1fr; }
  .gsrc-consult-wrap { width: calc(100% - 28px) !important; margin-top: 60px !important; }
  .gsrc-consult-card { padding: 30px 16px !important; }
  .gsrc-consult-flow { grid-template-columns: 1fr; }
  .gsrc-consult-flow i { margin: -4px auto; transform: rotate(90deg); }
  .gsrc-service-gateway { width: calc(100% - 28px) !important; padding: 76px 0 !important; }
  .gsrc-service-gateway .gsrc-section-title h2 { font-size: 28px !important; }
  .gsrc-service-gateway article { padding: 0 20px 22px; display: flex; }
  .gsrc-service-visual { width: auto; height: 132px; min-height: 0; margin: 0 -20px 22px; }
  .gsrc-service-gateway article > small { margin-top: 0; }
  .gsrc-service-bridge { width: 100%; padding: 17px; flex-direction: column; gap: 4px; border-radius: 10px; }
  .gsrc-service-bridge span { transform: rotate(90deg); }
  .article-magazine .breadcrumbs { width: calc(100% - 32px); margin-top: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .article-mag-header { width: calc(100% - 32px); padding: 44px 0 28px; }
  .article-mag-header h1 { font-size: 31px; line-height: 1.5; }
  .article-mag-header .article-lead { font-size: 14px; }
  .article-mag-info { align-items: flex-start; flex-direction: column; }
  .article-mag-layout { width: calc(100% - 32px); margin-top: 28px; }
  .article-mag-main .column-cover.is-featured { min-height: 245px; margin-bottom: 28px; }
  .article-mag-main .article-conclusion { padding: 20px; }
  .article-mag-main .wp-entry-content { font-size: 15px; line-height: 2; }
  .article-mag-main .wp-entry-content h2 { margin-top: 60px; font-size: 24px; }
  .article-mag-main .wp-entry-content h3 { font-size: 19px; }
  .article-mag-main .wp-entry-content ul,
  .article-mag-main .wp-entry-content ol { padding: 19px 18px 19px 38px; }
  .article-mag-main .wp-entry-content table { display: block; overflow-x: auto; white-space: nowrap; }
  .article-magazine .related-articles { width: calc(100% - 32px); }
  .article-magazine .related-articles > div { grid-template-columns: 1fr; }
  .article-magazine .sticky-like-cta { width: calc(100% - 32px); padding: 22px; display: grid; }
  .article-magazine .sticky-like-cta a { margin-top: 8px; text-align: center; }
  .rental-hero, .labo-hero, .detail-hero { width: calc(100% - 24px); margin-top: 12px; border-radius: 14px; }
  .rental-hero-copy, .labo-hero > div:first-child, .detail-hero { padding: 36px 22px; }
  .rental-hero h1, .labo-hero h1, .detail-hero h1 { font-size: 34px; }
  .rental-hero-image, .labo-hero > div:last-child { min-height: 300px; height: 300px; }
  .labo-hero img { height: 300px; }
  .rental-section, .labo-section { padding-block: 60px; }
  .editorial-hero { width: calc(100% - 32px); margin-top: 12px; margin-bottom: 36px; }
  .editorial-hero h1 { font-size: 38px; }
  .problem-search > div { grid-template-columns: 1fr; }
  .problem-search a { min-height: 135px; }
  .gallery-detail-hero dl { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .gallery-detail-hero dl div { min-width: 0; }
  .gallery-detail-hero .primary-button { width: 100%; min-width: 0; }
  .g-wp-column-archive .article-visual { aspect-ratio: 16 / 9; }
  .gallery-card-actions { grid-template-columns: 1fr; }
  .case-extra-content { width: calc(100% - 32px); }
  .template-preview-image img { min-height: 260px; }
}

@media (max-width: 360px) {
  .gallery-detail-hero dl { grid-template-columns: 1fr 1fr; }
  .gallery-detail-hero dl div:last-child { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .gsrc-service-gateway article, .gzen-nav a::after,
  .primary-button, .gsrc-button, .gzen-button, .rental-primary, .tlp-primary { transition: none; }
  .gsrc-service-gateway article:hover { transform: none; }
  .primary-button:hover, .gsrc-button:hover, .gzen-button:hover,
  .rental-primary:hover, .tlp-primary:hover { transform: none; }
  .g-wp-column-archive .article-visual img,
  .gallery-list .gallery-preview-link > img { transition: none; }
  .g-wp-column-archive article:hover .article-visual img,
  .gallery-list article:hover .gallery-preview-link > img { transform: none; }
}

/*
 * 2026 publishable visual pass.
 * Brings back the first concept's friendly guidance while keeping a calm,
 * human-run corporate tone and an implementation that maps cleanly to SWELL.
 */
:root {
  --gs-blue: #0f63d7;
  --gs-blue-deep: #08479d;
  --gs-navy: #102b4e;
  --gs-ink: #1b2d43;
  --gs-muted: #586a7f;
  --gs-soft: #f6f8fb;
  --gs-sky: #edf5ff;
  --gs-line: #d9e3ee;
  --gs-radius: 20px;
  --gs-control-radius: 12px;
  --gs-shadow: 0 28px 70px -48px rgba(16,43,78,.5);
}

.gzen-page { background: #fff; }
.gzen-header { background: rgba(255,255,255,.94) !important; }
.gzen-header__cta {
  min-height: 46px;
  padding-inline: 19px !important;
  border-radius: 12px !important;
}

.gzen-hero {
  width: min(1180px, calc(100% - 48px));
  min-height: 650px;
  padding: 76px 0 82px;
  grid-template-columns: minmax(0,1.08fr) minmax(400px,.92fr);
  gap: clamp(36px,4vw,58px);
}
.gzen-eyebrow {
  width: max-content;
  margin-bottom: 20px;
  padding: 7px 11px;
  border-radius: 7px;
  color: var(--gs-blue);
  background: var(--gs-sky);
  font-size: 12px;
  letter-spacing: .06em;
}
.gzen-hero h1 {
  max-width: 620px;
  color: var(--gs-navy);
  font-size: clamp(40px,3.25vw,47px);
  font-weight: 850;
  line-height: 1.42;
  letter-spacing: -.055em;
}
.gzen-hero h1 > span { display: block; white-space: nowrap; }
.gzen-hero h1 em {
  position: relative;
  z-index: 0;
  color: inherit;
  font-style: normal;
  white-space: nowrap;
}
.gzen-hero h1 em::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -3px;
  bottom: .12em;
  left: -3px;
  height: .28em;
  border-radius: 3px;
  background: #b9d8ff;
}
.gzen-hero__lead {
  max-width: 610px;
  margin-top: 24px;
  color: #465a72;
  font-size: 16px;
  font-weight: 580;
  line-height: 1.95;
}
.gzen-button {
  min-height: 56px;
  padding-inline: 24px;
  border-radius: 12px !important;
}
.gzen-button--secondary { border-color: #a9c4e4; }
.gzen-hero__note { margin-top: 16px; color: #68798c; font-size: 12px; }
.gzen-hero__visual::before {
  inset: -22px 24px 24px -22px;
  border-radius: 32px;
  background: linear-gradient(145deg,#e9f2fd,#f6f9fc);
}
.gzen-hero__visual img {
  border-radius: 22px;
  box-shadow: 0 34px 80px -45px rgba(16,43,78,.62);
}
.gzen-hero__helper {
  position: absolute;
  z-index: 3;
  right: -20px;
  bottom: -38px;
  width: min(330px,70%);
  padding: 13px 16px 13px 86px;
  display: flex;
  align-items: center;
  min-height: 82px;
  border: 1px solid #c9dced;
  border-radius: 16px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 24px 50px -34px rgba(16,43,78,.65);
  backdrop-filter: blur(10px);
}
.gzen-hero__helper img {
  position: absolute;
  left: 10px;
  bottom: 4px;
  width: 72px;
  height: 72px;
  border-radius: 0;
  object-fit: contain;
  box-shadow: none;
}
.gzen-hero__helper p { margin: 0; }
.gzen-hero__helper b { display: block; color: var(--gs-navy); font-size: 12px; line-height: 1.55; }
.gzen-hero__helper span { display: block; margin-top: 3px; color: var(--gs-muted); font-size: 9px; }

.gzen-proof { background: #f8fafc; }
.gzen-proof__inner { min-height: 96px; }
.gzen-proof__names span { border: 0; background: transparent; font-size: 11px; font-weight: 700; }

.gzen-guide {
  width: min(1180px, calc(100% - 48px));
  margin: 88px auto 0;
  padding: 48px;
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  gap: 54px;
  border: 1px solid #d6e3ef;
  border-radius: 24px;
  background: linear-gradient(135deg,#f7faff,#eef5fd);
}
.gzen-guide__heading small {
  color: var(--gs-blue);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .13em;
}
.gzen-guide__heading h2 { margin: 12px 0 13px; color: var(--gs-navy); font-size: 30px; line-height: 1.55; letter-spacing: -.035em; }
.gzen-guide__heading p { margin: 0; color: var(--gs-muted); font-size: 13px; line-height: 1.85; }
.gzen-guide ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; list-style: none; }
.gzen-guide li {
  position: relative;
  min-width: 0;
  padding: 18px;
  border: 1px solid #dce6f0;
  border-radius: 16px;
  background: #fff;
}
.gzen-guide li:not(:last-child)::after {
  content: "→";
  position: absolute;
  z-index: 2;
  top: 54px;
  right: -18px;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--gs-blue);
  background: #fff;
  box-shadow: 0 6px 18px -10px rgba(16,43,78,.8);
  font-size: 12px;
  font-weight: 900;
}
.gzen-guide li > span { color: var(--gs-blue); font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.gzen-guide__icon { position: relative; width: 58px; height: 58px; margin: 12px 0 18px; display: block; border-radius: 18px; background: var(--gs-sky); }
.gzen-guide__icon::before,.gzen-guide__icon::after { content: ""; position: absolute; border: 2px solid var(--gs-blue); }
.gzen-guide__icon.is-talk::before { inset: 15px 12px 17px; border-radius: 12px; }
.gzen-guide__icon.is-talk::after { left: 19px; bottom: 12px; width: 9px; height: 9px; border-width: 0 0 2px 2px; transform: skew(-28deg); }
.gzen-guide__icon.is-sort::before { left: 14px; top: 15px; width: 29px; height: 4px; border-width: 2px 0; box-shadow: 0 9px 0 -1px var(--gs-sky),0 11px 0 -1px var(--gs-blue),0 18px 0 -1px var(--gs-sky),0 20px 0 -1px var(--gs-blue); }
.gzen-guide__icon.is-sort::after { display: none; }
.gzen-guide__icon.is-go::before { left: 14px; top: 14px; width: 29px; height: 29px; border-radius: 50%; }
.gzen-guide__icon.is-go::after { left: 25px; top: 22px; width: 8px; height: 14px; border-width: 0 3px 3px 0; transform: rotate(45deg); }
.gzen-guide li b { display: block; min-height: 48px; color: var(--gs-navy); font-size: 15px; line-height: 1.55; }
.gzen-guide li p { margin: 8px 0 0; color: var(--gs-muted); font-size: 11px; line-height: 1.75; }

.gzen-section { padding: 94px 0 108px; }
.gzen-section__head { max-width: 760px; margin-bottom: 40px; }
.gzen-section__head h2 { font-size: clamp(30px,3vw,40px); }
.gzen-brand-grid { gap: 16px; }
.gzen-brand-card {
  min-height: 440px;
  padding: 0 28px 28px;
  overflow: hidden;
  border-radius: 20px;
  border-color: #d6e1ec;
}
.gzen-brand-card__visual {
  height: 124px;
  margin: 0 -28px 24px;
  padding: 24px 26px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  background: linear-gradient(145deg,#edf5ff,#f7faff);
}
.gzen-brand-card--labo .gzen-brand-card__visual { background: linear-gradient(145deg,#eef9f6,#f8fcfb); }
.gzen-brand-card--gallery .gzen-brand-card__visual { background: linear-gradient(145deg,#f4f1ff,#fbfaff); }
.gzen-brand-card__visual img { width: auto; max-width: 168px; height: 34px; object-fit: contain; }
.gzen-brand-card__visual span { color: #6c7d90; font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.gzen-brand-card h3 { margin: 10px 0 12px; color: var(--gs-navy); font-size: 21px; line-height: 1.6; }
.gzen-brand-card p { font-size: 13px; }
.gzen-brand-card ul { margin-top: 16px; }
.gzen-brand-card > span { margin-top: 0; padding-top: 22px; }

.gzen-content { background: #f5f8fb; }
.gzen-content__inner { padding: 88px 0 94px; grid-template-columns: minmax(0,1.5fr) minmax(290px,.5fr); gap: 44px; }
.gzen-content__lead { margin: -14px 0 25px; color: var(--gs-muted); font-size: 12px; }
.gzen-column-list { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.gzen-column-list > a {
  padding: 0 0 18px;
  display: block;
  overflow: hidden;
  border: 1px solid #dae4ee;
  border-radius: 14px;
  background: #fff;
}
.gzen-column-list .column-cover { min-height: 138px; border: 0; border-radius: 0; }
.gzen-column-list .column-cover-brand { display: none; }
.gzen-column-list .column-cover-copy { max-width: 94%; }
.gzen-column-list .column-cover-copy small { font-size: 7px !important; }
.gzen-column-list .column-cover-copy strong { font-size: 13px; line-height: 1.45; }
.gzen-column-list > a > span { padding: 14px 16px 0; display: flex; flex-direction: column; }
.gzen-column-list > a > span small { min-height: 28px; color: var(--gs-blue); font-size: 9px !important; }
.gzen-column-list > a > span b { display: none; }
.gzen-column-list > a > span em { margin-top: 7px; color: var(--gs-blue); font-size: 10px; font-style: normal; font-weight: 850; }
.gzen-news-list li { padding: 18px 0; }

/* Magazine archive: fewer columns, stronger thumbnails and better scanning. */
.editorial-page { color: var(--gs-ink); }
.editorial-hero {
  width: min(1160px,calc(100% - 48px));
  min-height: 300px;
  margin: 30px auto 58px;
  padding: 42px 48px;
  grid-template-columns: 1fr 250px;
  border: 1px solid #dce6ef;
  border-radius: 22px;
  background: linear-gradient(135deg,#f8fbff,#eff5fc);
}
.editorial-hero h1 { font-size: clamp(38px,4vw,52px); }
.editorial-hero > div > p:not(.eyebrow) { max-width: 680px; margin-bottom: 0; font-size: 14px; }
.editorial-hero > img { height: 235px; object-position: center; }
.editorial-hero form { max-width: 620px; min-height: 52px; border-radius: 12px; box-shadow: 0 15px 35px -28px rgba(16,43,78,.75); }
.editorial-hero form input { min-height: 50px; }
.editorial-hero form button { min-width: 94px; }
.editorial-section { width: min(1100px,calc(100% - 48px)); margin: 76px auto; }
.problem-search > div { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; }
.problem-search a { min-height: 142px; padding: 18px; border-radius: 14px; background: #f7f9fc; }
.problem-search h3 { min-height: 48px; margin: 11px 0 5px; font-size: 14px; }
.problem-search p { font-size: 10px; }
.featured-article > article { grid-template-columns: 1.08fr .92fr; border: 0; border-radius: 18px; background: #f7f9fc; box-shadow: none; }
.featured-article .column-cover { min-height: 380px; border: 0; border-radius: 0; }
.featured-article > article > div:last-child { padding: 42px; align-self: center; }
.featured-article h3 { margin: 16px 0 15px; color: var(--gs-navy); font-size: 25px; }
.featured-article p { font-size: 13px; line-height: 1.9; }
.article-grid > div { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.article-grid article { min-height: 0; border-radius: 16px; border-color: #d8e3ed; background: #fff; }
.article-grid .column-cover { min-height: 245px; border: 0; border-radius: 0; }
.article-grid article > small { display: block; margin-top: 18px; }
.article-grid article h3 { min-height: 56px; margin-top: 12px; color: var(--gs-navy); font-size: 18px; }
.article-grid article p { min-height: 50px; line-height: 1.85; }
.article-grid--visual > div { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.article-grid--visual article { overflow: hidden; border-radius: 14px; box-shadow: 0 18px 42px -38px rgba(16,44,80,.7); transition: transform .2s ease, box-shadow .2s ease; }
.article-grid--visual article:hover { transform: translateY(-3px); box-shadow: 0 24px 46px -35px rgba(16,44,80,.62); }
.article-grid--visual article > * { margin: 0 !important; }
.article-grid--visual .article-card-cover { display: block; }
.article-grid--visual .column-cover { min-height: 220px; }
.article-card-foot { min-height: 112px; padding: 20px 22px !important; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 18px; }
.article-card-foot > span { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.article-card-foot small { color: var(--gs-blue); font-size: 12px !important; font-weight: 850; }
.article-card-foot time { color: #8391a1; font-size: 10px; }
.article-card-foot > a { color: var(--gs-blue); font-size: 12px; font-weight: 850; text-decoration: none; }
.g-wp-column-archive .article-card-cover { position: relative; min-height: 220px; border: 0; }
.g-wp-column-archive .article-card-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(8,31,70,.9),rgba(8,31,70,.38)); pointer-events: none; }
.g-wp-column-archive .article-card-overlay { position: absolute; z-index: 2; right: 22px; bottom: 22px; left: 22px; color: #fff; }
.g-wp-column-archive .article-card-overlay small { width: max-content; margin-bottom: 13px; padding: 5px 10px; display: block; border-radius: 6px; color: var(--gs-blue); background: #fff; font-size: 10px !important; font-weight: 850; }
.g-wp-column-archive .article-card-overlay strong { display: block; color: #fff; font-size: 20px; line-height: 1.55; }
.problem-search--compact > div { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.problem-search--compact a { position: relative; min-height: 106px; padding: 16px 44px 16px 18px; display: grid; grid-template-columns: 28px 1fr; align-items: center; gap: 4px 10px; }
.problem-search--compact a > span { grid-row: 1 / 3; align-self: start; padding-top: 2px; }
.problem-search--compact h3 { min-height: 0; margin: 0; font-size: 14px; }
.problem-search--compact p { margin: 0; font-size: 10px; }
.problem-search--compact a > b { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); }
.column-categories > div:not(.tool-tags) { grid-template-columns: repeat(5,1fr); border: 0; gap: 8px; }
.column-categories > div:not(.tool-tags) a { min-height: 84px; padding: 15px 10px; justify-content: center; border: 1px solid #d8e3ed; border-radius: 12px; background: #fff; }

.column-cover {
  border-width: 0;
  border-radius: 14px;
  color: var(--gs-navy);
  background: linear-gradient(145deg,#f4f8fd,#e7f1fc);
}
.column-cover::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,transparent 35%,rgba(15,99,215,.06));
  pointer-events: none;
}
.column-cover.has-image::before { background: linear-gradient(90deg,rgba(9,38,74,.86),rgba(9,38,74,.3)); }
.column-cover-copy small { border-radius: 6px; }
.column-cover-accent { opacity: .45; }

/* Article page follows the supplied magazine reference: title and TOC start together. */
.article-mag-layout--reference {
  width: min(1100px,calc(100% - 48px));
  margin: 58px auto 96px;
  grid-template-columns: minmax(0,760px) 280px;
  gap: 60px;
}
.article-mag-column { min-width: 0; }
.article-mag-layout--reference .article-mag-header {
  width: 100%;
  padding: 0 0 32px;
  border-bottom: 1px dashed #aab6c4;
}
.article-mag-layout--reference .article-mag-header h1 {
  max-width: 760px;
  font-size: clamp(34px,3.25vw,44px);
  line-height: 1.42;
}
.article-mag-layout--reference .article-mag-info { margin-top: 26px; }
.article-mag-layout--reference .article-mag-main { padding-top: 36px; }
.article-mag-layout--reference .article-mag-main .column-cover.is-featured {
  min-height: 430px;
  border-radius: 0;
  box-shadow: none;
}
.article-mag-layout--reference .article-mag-sidebar > div { top: 104px; }
.article-mag-layout--reference .article-mag-sidebar .article-toc {
  padding: 28px 26px;
  border-radius: 0;
  background: #eaf5ff;
}
.article-mag-layout--reference .article-mag-sidebar .article-toc > b {
  color: #0783df;
  font-size: 19px;
}
.article-mag-layout--reference .article-mag-sidebar .article-toc a {
  grid-template-columns: 27px 1fr;
  border-bottom: 0;
  color: #203247;
  font-size: 12px;
}
.article-mag-layout--reference .article-mag-sidebar .article-toc a span {
  width: 21px;
  height: 21px;
  display: grid;
  place-items: center;
  border: 1px solid #0783df;
  border-radius: 50%;
  color: #0783df;
  font-size: 8px;
}
.article-mag-layout--reference .article-side-cta { border-radius: 12px; }

@media (max-width: 1020px) {
  .gzen-hero { grid-template-columns: minmax(0,1fr) 410px; gap: 40px; }
  .gzen-guide { grid-template-columns: 1fr; gap: 30px; }
  .gzen-guide__heading { max-width: 680px; }
  .gzen-content__inner { grid-template-columns: 1fr; }
  .gzen-news { margin-top: 16px; }
  .editorial-section { width: min(100% - 40px,900px); }
  .problem-search > div { grid-template-columns: repeat(3,1fr); }
  .article-grid > div { grid-template-columns: 1fr 1fr; }
  .article-grid--visual > div { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
  .gzen-hero { min-height: 0; padding-top: 58px; grid-template-columns: 1fr; }
  .gzen-hero__copy { max-width: 680px; }
  .gzen-hero__visual { width: min(680px,100%); }
  .gzen-brand-grid { grid-template-columns: 1fr; }
  .gzen-brand-card { min-height: 0; display: grid; grid-template-columns: 210px 1fr; column-gap: 26px; }
  .gzen-brand-card__visual { width: 210px; height: calc(100% + 28px); min-height: 290px; margin: 0 0 -28px -28px; grid-row: 1 / 7; align-items: center; flex-direction: column; justify-content: center; gap: 18px; }
  .gzen-brand-card > small { margin-top: 26px; }
  .gzen-column-list { grid-template-columns: repeat(3,1fr); }
  .editorial-hero { grid-template-columns: 1fr 190px; padding: 34px; }
  .editorial-hero > img { height: 200px; }
  .problem-search > div { grid-template-columns: 1fr 1fr; }
  .featured-article > article { grid-template-columns: 1fr; }
  .featured-article .column-cover { min-height: 320px; }
  .article-mag-layout--reference { grid-template-columns: 1fr; gap: 0; }
}

@media (max-width: 640px) {
  .gzen-hero { width: calc(100% - 32px); padding: 46px 0 62px; gap: 42px; }
  .gzen-eyebrow { margin-bottom: 16px; font-size: 10px; }
  .gzen-hero h1 { font-size: 34px; line-height: 1.48; letter-spacing: -.045em; }
  .gzen-hero h1 > span { white-space: normal; }
  .gzen-hero h1 em { white-space: normal; }
  .gzen-hero__lead { margin-top: 18px; font-size: 14px; line-height: 1.9; }
  .gzen-actions { align-items: stretch; display: grid; grid-template-columns: 1fr; }
  .gzen-button { width: 100%; min-height: 54px; }
  .gzen-hero__visual::before { inset: -10px 12px 16px -10px; border-radius: 22px; }
  .gzen-hero__visual img { border-radius: 16px; }
  .gzen-hero__helper { position: relative; right: auto; bottom: auto; width: calc(100% - 20px); margin: -18px auto 0; padding-left: 78px; }
  .gzen-hero__helper img { width: 64px; height: 64px; }
  .gzen-hero__visual figcaption { top: 7px; right: 7px; bottom: auto; }
  .gzen-proof__inner { width: calc(100% - 32px); padding: 22px 0; display: block; }
  .gzen-proof__names { margin: 14px -16px 0; padding: 0 16px 6px; overflow-x: auto; }
  .gzen-proof__names span { padding-inline: 6px; }
  .gzen-proof a { display: inline-block; margin-top: 12px; }
  .gzen-guide { width: calc(100% - 28px); margin-top: 58px; padding: 28px 18px; gap: 24px; border-radius: 20px; }
  .gzen-guide__heading h2 { font-size: 25px; }
  .gzen-guide ol { grid-template-columns: 1fr; }
  .gzen-guide li { min-height: 118px; padding: 16px 16px 16px 94px; }
  .gzen-guide li:not(:last-child)::after { top: auto; right: calc(50% - 13px); bottom: -17px; content: "↓"; }
  .gzen-guide__icon { position: absolute; left: 17px; top: 26px; margin: 0; }
  .gzen-guide li b { min-height: 0; margin-top: 5px; }
  .gzen-section { width: calc(100% - 32px); padding: 72px 0 78px; }
  .gzen-section__head h2 { font-size: 27px; }
  .gzen-brand-card { padding: 0 20px 22px; display: flex; }
  .gzen-brand-card__visual { width: auto; height: 100px; min-height: 0; margin: 0 -20px 20px; flex-direction: row; justify-content: space-between; }
  .gzen-brand-card > small { margin-top: 0; }
  .gzen-brand-card h3 { font-size: 19px; }
  .gzen-content__inner { width: calc(100% - 32px); padding: 68px 0 74px; gap: 42px; }
  .gzen-column-list { display: flex; margin-right: -16px; padding-right: 16px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .gzen-column-list > a { min-width: 78%; scroll-snap-align: start; }
  .gzen-cta { padding: 56px 18px; }
  .gzen-cta__inner { grid-template-columns: 1fr; }
  .gzen-cta h2 { font-size: 24px; }
  .editorial-hero { width: calc(100% - 24px); margin-top: 12px; padding: 30px 20px 18px; grid-template-columns: 1fr; border-radius: 17px; }
  .editorial-hero h1 { font-size: 35px; }
  .editorial-hero > img { width: 150px; height: 150px; margin: 4px auto 0; }
  .editorial-hero form { min-height: 50px; }
  .editorial-hero form button { min-width: 76px; padding-inline: 18px; }
  .editorial-section { width: calc(100% - 32px); margin-block: 58px; }
  .problem-search > div { display: flex; margin-right: -16px; padding-right: 16px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .problem-search a { min-width: 76%; min-height: 138px; scroll-snap-align: start; }
  .featured-article .column-cover { min-height: 250px; }
  .featured-article > article > div:last-child { padding: 24px 20px 28px; }
  .featured-article h3 { font-size: 21px; }
  .article-grid > div { grid-template-columns: 1fr; }
  .article-grid--visual > div { grid-template-columns: 1fr; }
  .article-grid .column-cover { min-height: 220px; }
  .article-grid article h3,.article-grid article p { min-height: 0; }
  .problem-search--compact > div { display: grid; margin-right: 0; padding-right: 0; overflow: visible; grid-template-columns: 1fr; }
  .problem-search--compact a { min-width: 0; min-height: 96px; }
  .column-categories > div:not(.tool-tags) { grid-template-columns: 1fr 1fr; }
  .article-mag-layout--reference { width: calc(100% - 32px); margin-top: 42px; }
  .article-mag-layout--reference .article-mag-header { width: 100%; padding-top: 0; }
  .article-mag-layout--reference .article-mag-header h1 { font-size: 31px; }
  .article-mag-layout--reference .article-mag-main { padding-top: 28px; }
  .article-mag-layout--reference .article-mag-main .column-cover.is-featured { min-height: 245px; }
}

@media (max-width: 360px) {
  .gzen-hero { width: calc(100% - 24px); }
  .gzen-hero h1 { font-size: 31px; }
  .gzen-guide,.gzen-section,.gzen-content__inner { width: calc(100% - 24px); }
  .gzen-brand-card__visual img { max-width: 145px; }
  .editorial-hero h1 { font-size: 32px; }
  .column-categories > div:not(.tool-tags) { grid-template-columns: 1fr; }
}

/* Development LP: explain the service with a visible before/after instead of a text wall. */
.development-lp { color: var(--gs-ink); background: #fff; }
.development-hero {
  width: min(1180px,calc(100% - 48px));
  min-height: 610px;
  margin: 28px auto 0;
  display: grid;
  grid-template-columns: .94fr 1.06fr;
  overflow: hidden;
  border: 1px solid var(--gs-line);
  border-radius: 22px;
  background: #f5f8fc;
}
.development-hero__copy { padding: 66px 52px; align-self: center; }
.development-hero__copy h1 { margin: 0; white-space: pre-line; color: var(--gs-navy); font-size: clamp(40px,3.8vw,54px); line-height: 1.42; letter-spacing: -.055em; }
.development-hero__copy > p:not(.eyebrow) { margin: 22px 0 0; color: #485c73; font-size: 15px; font-weight: 620; line-height: 1.95; }
.development-hero__copy ul { margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 7px; list-style: none; }
.development-hero__copy li { padding: 6px 10px; border: 1px solid #c8d7e7; border-radius: 999px; color: #43576f; background: #fff; font-size: 10px; font-weight: 800; }
.development-hero__copy > div { margin-top: 30px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.development-hero__copy > div > a:last-child { color: var(--gs-blue); font-size: 12px; font-weight: 850; text-decoration: none; }
.development-hero__visual { position: relative; min-width: 0; margin: 0; padding: 34px; display: grid; place-items: center; background: #eaf2fb; }
.development-hero__visual img { width: 100%; height: auto; display: block; border-radius: 18px; box-shadow: 0 28px 60px -44px rgba(16,43,78,.65); }
.development-hero__visual figcaption { position: absolute; right: 42px; bottom: 42px; padding: 5px 8px; border-radius: 6px; color: #fff; background: rgba(16,43,78,.78); font-size: 9px; }
.development-proof { width: min(1060px,calc(100% - 48px)); margin: 0 auto; padding: 27px 0; display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid var(--gs-line); }
.development-proof p { margin: 0; padding: 0 24px; display: grid; gap: 3px; text-align: center; }
.development-proof p + p { border-left: 1px solid var(--gs-line); }
.development-proof b { color: var(--gs-navy); font-size: 13px; }
.development-proof span { color: #718094; font-size: 10px; }
.development-section { width: min(1080px,calc(100% - 48px)); margin: 0 auto; padding: 100px 0; }
.development-section > header { max-width: 760px; margin-bottom: 40px; }
.development-section > header small,.development-after > div > small { color: var(--gs-blue); font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.development-section > header h2,.development-after h2 { margin: 9px 0 12px; color: var(--gs-navy); font-size: clamp(29px,3vw,41px); line-height: 1.5; letter-spacing: -.04em; }
.development-section > header p,.development-after > div > p { margin: 0; color: var(--gs-muted); font-size: 14px; line-height: 1.95; }
.development-before-after { display: grid; grid-template-columns: 1fr 54px 1fr; align-items: center; }
.development-before-after article { min-height: 260px; padding: 30px; display: flex; flex-wrap: wrap; align-content: flex-start; gap: 8px; border: 1px solid #d9e3ed; border-radius: 18px; background: #f7f9fb; }
.development-before-after article:last-child { border-color: #a8c9ee; background: #ecf5ff; }
.development-before-after article > span { width: 100%; color: #8794a4; font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.development-before-after article:last-child > span { color: var(--gs-blue); }
.development-before-after article > b { width: 100%; margin: 8px 0 24px; color: var(--gs-navy); font-size: 22px; line-height: 1.65; }
.development-before-after article > i { flex: 1; min-height: 72px; padding: 10px; display: grid; place-items: center; border: 1px solid #d6e0ea; border-radius: 10px; color: #53657a; background: #fff; font-size: 11px; font-style: normal; font-weight: 800; }
.development-before-after article:last-child > i { border-color: #bcd4ef; color: #175da9; }
.development-before-after > em { width: 38px; height: 38px; margin: auto; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--gs-blue); font-size: 16px; font-style: normal; }
.development-examples { padding-top: 28px; }
.development-examples > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.development-examples article { min-height: 290px; padding: 24px; border: 1px solid var(--gs-line); border-radius: 17px; background: #fff; }
.development-examples article > span { color: var(--gs-blue); font-size: 9px; font-weight: 900; }
.development-icon { position: relative; width: 64px; height: 64px; margin: 16px 0 20px; border-radius: 18px; background: var(--gs-sky); }
.development-icon i { position: absolute; left: 16px; right: 16px; height: 6px; border-radius: 4px; background: #8cb9ed; }
.development-icon i:nth-child(1) { top: 16px; }
.development-icon i:nth-child(2) { top: 29px; width: 22px; }
.development-icon i:nth-child(3) { top: 42px; width: 30px; background: var(--gs-blue); }
.development-examples h3 { margin: 0 0 10px; color: var(--gs-navy); font-size: 18px; }
.development-examples article p { margin: 0; color: var(--gs-muted); font-size: 12px; line-height: 1.85; }
.development-flow { background: #f2f6fb; }
.development-flow .development-section { padding-block: 90px; }
.development-flow ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; list-style: none; }
.development-flow li { position: relative; min-height: 230px; padding: 24px 21px; border-radius: 16px; background: #fff; }
.development-flow li > span { color: var(--gs-blue); font-size: 11px; font-weight: 900; }
.development-flow li b { display: block; margin: 28px 0 10px; color: var(--gs-navy); font-size: 17px; }
.development-flow li p { margin: 0; color: var(--gs-muted); font-size: 11px; line-height: 1.8; }
.development-flow li > i { position: absolute; z-index: 2; top: 50%; right: -18px; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; color: var(--gs-blue); background: #fff; box-shadow: 0 8px 20px -13px rgba(16,43,78,.8); font-size: 11px; font-style: normal; font-weight: 900; }
.development-after { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 58px; }
.development-after figure { position: relative; margin: 0; }
.development-after figure img { width: 100%; height: auto; display: block; border-radius: 20px; }
.development-after figcaption { position: absolute; right: 9px; bottom: 9px; padding: 4px 7px; border-radius: 5px; color: #fff; background: rgba(16,43,78,.75); font-size: 9px; }
.development-after ul { margin: 24px 0; padding: 0; display: grid; gap: 10px; list-style: none; }
.development-after li { padding-left: 22px; position: relative; color: #42576f; font-size: 13px; font-weight: 750; }
.development-after li::before { content: "✓"; position: absolute; left: 0; color: var(--gs-blue); }
.development-after a { color: var(--gs-blue); font-size: 12px; font-weight: 850; }
.development-faq { width: min(880px,calc(100% - 48px)); }
.development-faq details { border-top: 1px solid var(--gs-line); }
.development-faq details:last-child { border-bottom: 1px solid var(--gs-line); }
.development-faq summary { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--gs-navy); font-size: 14px; font-weight: 800; cursor: pointer; list-style: none; }
.development-faq summary::-webkit-details-marker { display: none; }
.development-faq summary span { color: var(--gs-blue); font-size: 20px; }
.development-faq details p { margin: 0 0 22px; color: var(--gs-muted); font-size: 13px; line-height: 1.9; }
.development-final { padding: 66px max(28px,calc((100vw - 1000px)/2)); display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 38px; color: #fff; background: var(--gs-navy); }
.development-final small { color: #9ac8ff; font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.development-final h2 { margin: 8px 0; color: #fff; font-size: 30px; line-height: 1.5; }
.development-final p { margin: 0; color: #d3dfec; font-size: 13px; }
.development-final > a { min-height: 54px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; border-radius: 12px; color: var(--gs-navy); background: #fff; font-size: 13px; font-weight: 850; text-decoration: none; }

@media (max-width: 900px) {
  .development-hero { grid-template-columns: 1fr; }
  .development-hero__visual { min-height: 400px; }
  .development-examples > div { grid-template-columns: 1fr 1fr; }
  .development-flow ol { grid-template-columns: 1fr 1fr; }
  .development-flow li:nth-child(2) > i { display: none; }
  .development-after { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .development-hero { width: calc(100% - 24px); margin-top: 12px; border-radius: 17px; }
  .development-hero__copy { padding: 38px 20px 30px; }
  .development-hero__copy h1 { font-size: 34px; line-height: 1.48; }
  .development-hero__copy > p:not(.eyebrow) { font-size: 14px; }
  .development-hero__copy > div { align-items: stretch; flex-direction: column; gap: 14px; }
  .development-hero__copy .primary-button { width: 100%; }
  .development-hero__visual { min-height: 0; padding: 16px; }
  .development-hero__visual figcaption { right: 22px; bottom: 22px; }
  .development-proof { width: calc(100% - 32px); grid-template-columns: 1fr; }
  .development-proof p { padding: 15px 0; }
  .development-proof p + p { border-top: 1px solid var(--gs-line); border-left: 0; }
  .development-section { width: calc(100% - 32px); padding: 70px 0; }
  .development-before-after { grid-template-columns: 1fr; gap: 10px; }
  .development-before-after > em { transform: rotate(90deg); }
  .development-before-after article { min-height: 230px; padding: 23px 18px; }
  .development-before-after article > b { font-size: 19px; }
  .development-examples { padding-top: 0; }
  .development-examples > div { grid-template-columns: 1fr; }
  .development-examples article { min-height: 0; }
  .development-flow ol { grid-template-columns: 1fr; }
  .development-flow li { min-height: 175px; }
  .development-flow li > i { top: auto; right: calc(50% - 13px); bottom: -18px; transform: rotate(90deg); }
  .development-flow li:nth-child(2) > i { display: grid; }
  .development-after { gap: 30px; }
  .development-faq { width: calc(100% - 32px); }
  .development-final { padding: 52px 20px; grid-template-columns: 1fr; }
  .development-final h2 { font-size: 25px; }
  .development-final > a { width: 100%; }
}

/* Final visual QA refinements for sparse or data-dependent pages. */
.referral-hero h1 {
  white-space: pre-line;
  font-size: clamp(42px,3.75vw,54px);
  line-height: 1.34;
  word-break: keep-all;
}
.partner-recruit-hero aside {
  position: relative;
  min-height: 310px;
  padding: 34px 32px 30px 178px;
  display: flex;
  align-items: center;
  border: 1px solid #c6dcf4;
  border-radius: 20px;
  background: linear-gradient(145deg,#f4f9ff,#eaf3fe);
  overflow: hidden;
}
.partner-recruit-hero aside > img {
  position: absolute;
  left: 15px;
  bottom: 10px;
  width: 155px;
  height: 190px;
  object-fit: contain;
}
.partner-recruit-hero aside b {
  display: block;
  margin-bottom: 12px;
  color: var(--gs-blue);
  font-size: 18px;
}
.partner-recruit-hero aside p { margin: 0; color: #4d627a; font-size: 13px; line-height: 1.9; }
.partner-recruit-hero aside > small { position: absolute; right: 16px; bottom: 12px; color: #7a8b9e; font-size: 9px; }

.labo-lp .labo-influencers > div.labo-influencers__empty { display: block; grid-template-columns: 1fr; }
.labo-influencers__empty aside {
  position: relative;
  min-height: 220px;
  padding: 30px 30px 30px 190px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 28px;
  border: 1px solid #bddbcf;
  border-radius: 18px;
  background: linear-gradient(135deg,#f4fbf7,#eef7f3);
}
.labo-influencers__empty aside > img { position: absolute; width: 150px; height: 170px; object-fit: contain; }
.labo-influencers__empty aside > div { height: auto !important; }
.labo-influencers__empty aside small { color: #148762; font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.labo-influencers__empty aside h3 { margin: 8px 0; color: var(--gs-navy); font-size: 20px; }
.labo-influencers__empty aside p { margin: 0; color: var(--gs-muted); font-size: 13px; }
.labo-influencers__empty aside > a { padding: 14px 18px; border: 1px solid #7cc5aa; border-radius: 11px; color: #0d7656; background: #fff; font-size: 12px; font-weight: 850; text-decoration: none; white-space: nowrap; }

.case-list > div.is-single,
.case-list > div:has(> article:only-child) { grid-template-columns: 1fr; }
.case-list > div.is-single article,
.case-list > div:has(> article:only-child) article {
  display: grid;
  grid-template-columns: minmax(340px,.9fr) 1.1fr;
  grid-template-rows: auto auto 1fr auto;
  column-gap: 32px;
  padding-right: 28px;
}
.case-list > div.is-single .case-thumb,
.case-list > div:has(> article:only-child) .case-thumb {
  grid-row: 1 / 5;
  min-height: 390px;
}
.case-list > div.is-single article > *:not(.case-thumb),
.case-list > div:has(> article:only-child) article > *:not(.case-thumb) { margin-left: 0; margin-right: 0; }
.case-list > div.is-single h3,
.case-list > div:has(> article:only-child) h3 { margin-top: 28px; font-size: 25px; }
.case-list > div.is-single article > a:last-child,
.case-list > div:has(> article:only-child) article > a:last-child { width: max-content; min-width: 170px; margin-top: 12px; padding: 12px 18px; border-radius: 10px; color: #fff; background: var(--gs-blue); }

@media (max-width: 760px) {
  .referral-hero h1 { font-size: 36px; line-height: 1.4; }
  .partner-recruit-hero aside { min-height: 235px; padding: 28px 20px 28px 136px; }
  .partner-recruit-hero aside > img { left: 4px; width: 126px; height: 155px; }
  .partner-recruit-hero aside b { font-size: 16px; }
  .labo-influencers__empty aside { padding: 24px 18px; grid-template-columns: 1fr; text-align: center; }
  .labo-influencers__empty aside > img { position: static; width: 112px; height: 120px; margin: 0 auto -8px; }
  .labo-influencers__empty aside > a { white-space: normal; }
  .case-list > div.is-single article,
  .case-list > div:has(> article:only-child) article { display: block; padding-right: 0; }
  .case-list > div.is-single .case-thumb,
  .case-list > div:has(> article:only-child) .case-thumb { min-height: 220px; }
  .case-list > div.is-single article > *:not(.case-thumb),
  .case-list > div:has(> article:only-child) article > *:not(.case-thumb) { margin-left: 18px; margin-right: 18px; }
  .case-list > div.is-single article > a:last-child,
  .case-list > div:has(> article:only-child) article > a:last-child { width: auto; }
}

/* 2026 final human-first polish: warmer surfaces, clearer hierarchy and useful motion. */
:root {
  --gs-blue: #1769d2;
  --gs-blue-deep: #0d4fa8;
  --gs-navy: #17324f;
  --gs-ink: #27384b;
  --gs-muted: #607187;
  --gs-soft: #f7f9fc;
  --gs-sky: #edf6ff;
  --gs-mint: #eef8f4;
  --gs-cream: #fff8ec;
  --gs-line: #d8e3ee;
}

body { color: var(--gs-ink); background: #fbfcfe; }
.g-brand-managed,.gzen-page,.gallery-lp,.article-magazine { color: var(--gs-ink); }

.site-hover-card {
  --site-tilt-x: 0deg;
  --site-tilt-y: 0deg;
  position: relative;
  transform: perspective(900px) rotateX(var(--site-tilt-x)) rotateY(var(--site-tilt-y));
  transform-style: preserve-3d;
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
  will-change: transform;
}
.site-hover-card[data-pointer="active"] {
  border-color: #a9c8e9 !important;
  box-shadow: 0 24px 48px -34px rgba(23,77,132,.55) !important;
}
[data-site-motion="ready"] { opacity: .72; transform: translateY(12px); }
[data-site-motion="visible"] { opacity: 1; transform: translateY(0); transition: opacity .58s ease, transform .58s cubic-bezier(.22,1,.36,1); }

/* Dark blocks now use light, familiar office colours. */
.gsrc-service-visual { color: var(--gs-navy) !important; background: #eaf4ff !important; }
.gsrc-service-gateway .is-development .gsrc-service-visual { background: #edf8f4 !important; }
.gsrc-service-gateway .is-training .gsrc-service-visual { background: #fff6e5 !important; }
.gsrc-service-icon { border-color: rgba(23,105,210,.22) !important; color: var(--gs-blue) !important; background: #fff !important; box-shadow: 0 12px 26px -20px rgba(23,105,210,.6); }
.gsrc-service-visual b { color: #6b7d91 !important; }
.gsrc-hero__badges span { border-color: rgba(255,255,255,.85); color: var(--gs-navy); background: rgba(255,255,255,.9); }
.gsrc-hero__badges b { color: var(--gs-blue); }
.gsrc-hero h1 { font-size: clamp(40px,3.45vw,48px) !important; white-space: pre-line; word-break: keep-all; letter-spacing: -.045em !important; }
.rental-hero h1 { font-size: clamp(38px,3.25vw,46px); white-space: pre-line; word-break: keep-all; letter-spacing: -.04em; }

/* A concrete, non-invented before/after model for G-Support. */
.gsrc-outcomes {
  padding: 92px max(24px,calc((100vw - 1180px) / 2));
  background: linear-gradient(135deg,#f3f8fe 0,#f7fbf9 100%);
}
.gsrc-outcomes .gsrc-section-title { max-width: 780px; margin-bottom: 38px; }
.gsrc-outcome-list { display: grid; gap: 12px; }
.gsrc-outcome-list article {
  min-height: 108px;
  padding: 22px 26px;
  display: grid;
  grid-template-columns: 88px minmax(0,1fr) 42px minmax(0,1fr);
  align-items: center;
  gap: 18px;
  border: 1px solid #d4e2ef;
  border-radius: 14px;
  background: rgba(255,255,255,.9);
}
.gsrc-outcome-list span { color: #7a8796; font-size: 11px; font-weight: 800; }
.gsrc-outcome-list p { margin: 0; color: #56697e; font-size: 14px; line-height: 1.75; }
.gsrc-outcome-list i { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; color: var(--gs-blue); background: var(--gs-sky); font-style: normal; }
.gsrc-outcome-list strong { color: var(--gs-navy); font-size: 16px; line-height: 1.7; }
.gsrc-outcome-note { display: block; margin-top: 14px; color: #748397; font-size: 10px; }

/* Gallery: a catalogue first, rather than a wall of tiny app-like cards. */
.gallery-lp { --g-blue: var(--gs-blue); --g-navy: var(--gs-navy); --g-line: var(--gs-line); background: linear-gradient(180deg,#fff 0,#fbfcfe 32%,#fff 100%); }
.gallery-lp .gallery-hero {
  width: min(1160px,calc(100% - 48px));
  min-height: 560px;
  padding: 60px 0 70px;
  grid-template-columns: minmax(0,.92fr) minmax(460px,1.08fr);
  gap: 58px;
}
.gallery-hero > div:first-child { padding-left: 0; }
.gallery-lp .gallery-hero > div:first-child > p:first-child { margin-bottom: 16px; padding: 7px 12px; color: #0f669c; background: #eaf7fb; font-size: 11px; letter-spacing: .02em; }
.gallery-lp .gallery-hero h1 { margin: 0 0 20px; color: var(--gs-navy); font-size: clamp(42px,3.6vw,50px); line-height: 1.42; letter-spacing: -.045em; white-space: pre-line; word-break: keep-all; }
.gallery-lp .gallery-hero h1 + p { max-width: 520px; color: #51657a; font-size: 15px; font-weight: 600; line-height: 1.9; }
.gallery-hero form { margin-top: 24px; gap: 10px; }
.gallery-hero form label { min-height: 54px; padding: 0 17px; align-items: center; border-color: #a9bdd2; border-radius: 12px; background: #fff; }
.gallery-hero form label:focus-within { border-color: var(--gs-blue); box-shadow: 0 0 0 3px rgba(23,105,210,.1); }
.gallery-hero form input { min-height: 50px; color: var(--gs-navy); font-size: 14px; background: transparent; }
.gallery-hero form > button { min-width: 74px; border: 0; border-radius: 12px; font-size: 13px; }
.gallery-hero > div:first-child > div { margin-top: 12px; gap: 7px; }
.gallery-hero > div:first-child > div a { padding: 6px 11px; border-radius: 999px; color: #496177; font-size: 11px; }
.gallery-shelf {
  min-height: 430px;
  padding: 24px 22px 24px 138px;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 11px;
  border: 1px solid #dce6ed;
  border-radius: 24px !important;
  background: linear-gradient(145deg,#f1f7fc 0,#f8f3e9 100%);
  box-shadow: 0 28px 70px -50px rgba(23,58,97,.55);
}
.gallery-shelf > img { left: 10px; bottom: 18px; width: 118px; height: 170px; mix-blend-mode: normal; }
.gallery-shelf .template-visual.is-compact { min-height: 178px; padding: 9px; border-color: #d3dee8; border-radius: 11px; box-shadow: 0 12px 24px -22px rgba(23,58,97,.55); }
.gallery-shelf .template-visual.is-compact > small { min-height: 29px; display: grid; place-items: center; color: #36516d; font-size: 10px !important; line-height: 1.25; }

.gallery-intro {
  width: min(1160px,calc(100% - 48px));
  margin: 0 auto 28px;
  padding: 28px 32px;
  display: grid;
  grid-template-columns: minmax(310px,.8fr) 1.2fr;
  align-items: center;
  gap: 44px;
  border-left: 5px solid #2fa78a;
  border-radius: 0 14px 14px 0;
  background: var(--gs-mint);
}
.gallery-intro span,.gallery-heading > div > span { color: #168166; font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.gallery-intro h2 { margin: 8px 0 0; color: var(--gs-navy); font-size: 22px; line-height: 1.6; }
.gallery-intro p { margin: 0; color: #52687b; font-size: 13px; line-height: 1.9; }

.gallery-toolbar {
  position: sticky;
  z-index: 12;
  top: 0;
  width: min(1160px,calc(100% - 48px));
  margin: 0 auto 32px;
  padding: 12px;
  border: 1px solid #d6e2ed;
  border-radius: 14px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 15px 38px -32px rgba(22,56,92,.55);
  backdrop-filter: blur(10px);
}
.gallery-toolbar .gallery-types { width: 100%; margin: 0; grid-template-columns: repeat(7,minmax(0,1fr)); border: 0; border-radius: 9px; background: #f5f8fb; }
.gallery-toolbar .gallery-types a { min-height: 46px; padding: 7px 5px; border: 0; border-radius: 8px; color: #4c6176; background: transparent; font-size: 11px; }
.gallery-toolbar .gallery-types a.is-active { color: var(--gs-blue); background: #fff; box-shadow: 0 8px 18px -16px rgba(23,105,210,.8),inset 0 0 0 1px #c8dcef; }
.gallery-toolbar .gallery-filters { width: 100%; margin: 10px 0 0; grid-template-columns: 1fr 1fr auto; gap: 8px; }
.gallery-toolbar .gallery-filters select:first-of-type { display: none; }
.gallery-toolbar .gallery-filters select,.gallery-toolbar .gallery-filters button { min-height: 44px; border-radius: 9px; font-size: 12px; }
.gallery-toolbar .gallery-filters button { min-width: 110px; }

.gallery-section { width: min(1160px,calc(100% - 48px)); padding: 48px 0; }
.gallery-heading { align-items: center; margin-bottom: 24px; }
.gallery-section > h2,.gallery-heading h2 { margin: 7px 0 0; color: var(--gs-navy); font-size: clamp(26px,2.6vw,34px); line-height: 1.5; }
.gallery-count { padding: 7px 12px; border-radius: 999px; background: #eef4fa; font-size: 11px; white-space: nowrap; }
.gallery-list > div:not(.gallery-heading):not(.gallery-empty) { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.gallery-list article { min-width: 0; padding: 14px 14px 16px; border-color: #d9e4ee; border-radius: 15px; background: #fff; box-shadow: 0 18px 42px -38px rgba(19,54,90,.55); }
.gallery-list .gallery-preview-link { aspect-ratio: 16 / 9.5; border-radius: 11px; }
.gallery-list .gallery-preview-link .template-visual { padding: 14px; color: var(--gs-navy); background: #edf6ff; }
.gallery-list .gallery-preview-link .template-sheet { background: #eaf8f1; }
.gallery-list .gallery-preview-link .template-doc { background: #f1f5fb; }
.gallery-list .gallery-preview-link .template-code { background: #edf3fa; }
.gallery-list .gallery-preview-link .template-prompt { background: #fff6e7; }
.gallery-list .gallery-preview-link .template-form { background: #f2effd; }
.gallery-list .gallery-preview-link .template-visual > small { color: #246d5a; background: #fff; }
.gallery-list .gallery-preview-link .template-visual .template-paper { padding: 16px; border-color: rgba(67,102,137,.2); border-radius: 8px; }
.gallery-card-meta { margin-top: 13px; display: flex !important; align-items: center; justify-content: space-between; gap: 10px; }
.gallery-card-meta small { margin: 0 !important; color: #6b7d90 !important; font-size: 10px !important; }
.gallery-card-meta span { padding: 3px 8px; border-radius: 999px; color: #176b59; background: #edf8f4; font-size: 9px; font-weight: 800; }
.gallery-list h3 { margin: 8px 0 7px; color: var(--gs-navy); font-size: 18px; line-height: 1.55; }
.gallery-list p { min-height: 48px; margin-bottom: 10px; color: #5b6d80; font-size: 12px; line-height: 1.75; }
.gallery-list article > b { color: #65778b; font-size: 10px; font-weight: 750; }
.gallery-card-actions { margin-top: 15px !important; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
.gallery-card-actions a { min-height: 44px; padding: 8px !important; border-radius: 10px !important; font-size: 11px !important; }
.gallery-customize { margin-top: 11px !important; color: #58708a !important; font-size: 10px !important; text-align: left !important; }
.gallery-pagination a { width: 40px; height: 40px; border-color: #bfd1e3; border-radius: 10px; color: var(--gs-blue); font-size: 12px; }
.gallery-pagination a.is-active { background: var(--gs-blue); }

.gallery-purpose > div { grid-template-columns: repeat(4,1fr); gap: 12px; }
.gallery-purpose a { min-height: 82px; padding: 15px; display: flex; align-items: center; justify-content: flex-start; gap: 14px; border-radius: 12px; color: #344b63; background: #fff; font-size: 13px; box-shadow: 0 16px 32px -30px rgba(17,53,89,.45); }
.gallery-purpose a span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: #18846b; background: #eaf8f3; font-size: 10px; }
.gallery-receive { margin-top: 20px; padding: 52px 34px; border-radius: 20px; background: #f2f7fc; }
.gallery-receive > div { gap: 12px; }
.gallery-receive article { min-height: 155px; padding: 22px; border: 1px solid #d9e4ee; border-radius: 12px; background: #fff; }
.gallery-receive h3 { margin: 12px 0 7px; color: var(--gs-navy); font-size: 15px; }
.gallery-receive p { color: #607287; font-size: 11px; line-height: 1.7; }
.gallery-receive article > span { width: 31px; height: 31px; font-size: 11px !important; }
.gallery-info { gap: 14px; }
.gallery-info article { min-height: 230px; padding: 28px; border: 1px solid #e0e8ef; border-radius: 14px; background: #fff; }
.gallery-info article:nth-child(2) { background: var(--gs-mint); }
.gallery-info article:nth-child(3) { background: var(--gs-cream); }
.gallery-info h2 { color: var(--gs-navy); font-size: 20px; }
.gallery-info p,.gallery-info li { color: #566a7e; font-size: 12px; line-height: 1.8; }
.gallery-faq { max-width: 920px; }
.gallery-faq > div { grid-template-columns: 1fr; }
.gallery-faq details { border-color: #d9e4ee; }
.gallery-faq summary { min-height: 58px; padding: 16px 4px; align-items: center; color: #334960; font-size: 13px; cursor: pointer; }
.gallery-faq details p { padding: 0 4px 17px; color: #5b6e82; font-size: 12px; line-height: 1.8; }
.gallery-actions { grid-template-columns: 1fr 1fr; gap: 16px; }
.gallery-actions article { min-height: 230px; padding: 30px; border: 1px solid #d9e4ee; border-radius: 16px; background: #f1f8f5; }
.gallery-actions article:last-child { background: #edf5ff; }
.gallery-actions article > span { color: #18816a; font-size: 10px; font-weight: 850; letter-spacing: .06em; }
.gallery-actions h2 { margin: 9px 0 10px; color: var(--gs-navy); font-size: 21px; }
.gallery-actions p { color: #566a7e; font-size: 12px; line-height: 1.8; }
.gallery-actions a { margin-top: auto; display: inline-flex; color: var(--gs-blue); font-size: 12px; }
.gallery-final { position: relative; margin-top: 40px; padding: 32px 36px; overflow: hidden; border: 1px solid #d2e2e9; border-left: 5px solid var(--gs-brand-cyan); border-radius: 18px; color: var(--gs-navy); background: #f7fafc; box-shadow: 0 18px 50px -44px rgba(16,44,80,.5); }
.gallery-final h2 { color: var(--gs-footer-ink); font-size: 24px; }
.gallery-final p { color: #536a7d; font-size: 13px; }
.gallery-final a { border: 1px solid #155f9a; border-radius: 11px; color: #fff; background: #155f9a; box-shadow: none !important; transition: background .18s ease, transform .18s ease; }
.gallery-final a:hover,.gallery-final a:focus-visible { background: #0d4f82; transform: translateY(-1px); }

/* Rental: show the change, not only the feature list. */
.rental-impact { padding: 92px max(24px,calc((100vw - 1120px) / 2)); background: linear-gradient(135deg,#eef6ff,#f5faf8); }
.rental-impact > div { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.rental-impact > div > article { padding: 26px; display: grid; grid-template-columns: minmax(0,1fr) 44px minmax(0,1fr); align-items: stretch; gap: 16px; border: 1px solid #d5e2ed; border-radius: 16px; background: #fff; }
.rental-impact article > div { padding: 20px; display: flex; flex-direction: column; justify-content: center; border-radius: 11px; background: #f7f9fb; }
.rental-impact article > div:last-child { background: #edf8f4; }
.rental-impact span { margin-bottom: 9px; color: #748397; font-size: 10px; font-weight: 850; }
.rental-impact b,.rental-impact strong { color: var(--gs-navy); font-size: 15px; line-height: 1.75; }
.rental-impact small { margin-top: 8px; color: #607487; font-size: 10px; line-height: 1.6; }
.rental-impact article > i { align-self: center; color: var(--gs-blue); font-style: normal; text-align: center; }
.rental-impact > p { margin: 14px 0 0; color: #748397; font-size: 10px; }

/* Editorial reading: a visible path through a long article. */
.article-reading-progress { position: fixed; z-index: 60; top: 0; right: 0; left: 0; height: 4px; transform: scaleX(var(--reading-progress,0)); transform-origin: left center; background: linear-gradient(90deg,#1769d2,#2bab89); pointer-events: none; }
.article-mag-layout--reference { grid-template-columns: minmax(0,748px) 292px; gap: 54px; }
.article-mag-layout--reference .article-mag-header { border-bottom: 1px solid #d7e1eb; }
.article-mag-layout--reference .article-mag-header h1 { color: var(--gs-navy); font-size: clamp(36px,3.3vw,46px); letter-spacing: -.035em; }
.article-mag-layout--reference .article-mag-header h1 { max-width: 100%; text-wrap: balance; overflow-wrap: anywhere; }
.article-mag-layout--reference .article-mag-column { min-width: 0; }
.article-mag-info img.avatar--logo { padding: 2px; border: 1px solid #d8e3ec; background: #fff; object-fit: cover; }
.column-cover-brand__logo { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; }
.article-mag-main .article-conclusion { border-left-color: #2aa484; color: #29445a; background: #edf8f4; }
.article-mag-main .article-conclusion b { color: #177b65; }
.article-mag-main .wp-entry-content { color: #324459; font-size: 16.5px; line-height: 2.08; }
.article-mag-main .wp-entry-content > p { margin-bottom: 32px; }
.article-mag-main .wp-entry-content h2 { margin-top: 78px; padding: 16px 18px; border: 0; border-left: 5px solid var(--gs-blue); border-radius: 0 9px 9px 0; color: var(--gs-navy); background: #eff6fd; font-size: 27px; }
.article-mag-main .wp-entry-content h3 { margin-top: 48px; padding: 0 0 10px; border: 0; border-bottom: 1px solid #b8cce0; color: #28415b; font-size: 21px; }
.article-mag-main .wp-entry-content ul,.article-mag-main .wp-entry-content ol { border: 1px solid #dce6ef; background: #f8fafc; }
.article-mag-layout--reference .article-mag-sidebar .article-toc { border: 1px solid #d4e4f1; border-radius: 13px; background: #f1f7fc; }
.article-side-cta { border: 1px solid #cce3da !important; color: var(--gs-navy) !important; background: #edf8f4 !important; }
.article-side-cta small { color: #17826a !important; }
.article-side-cta b { color: var(--gs-navy) !important; }
.article-side-cta p { color: #526a7c !important; }
.article-magazine .sticky-like-cta { color: var(--gs-navy); background: linear-gradient(105deg,#edf6ff,#eef8f4); }
.article-magazine .sticky-like-cta p,.article-magazine .sticky-like-cta p b { color: var(--gs-navy); }
.article-toc-mobile summary { padding: 16px 18px; list-style: none; color: var(--gs-navy); font-weight: 850; cursor: pointer; }
.article-toc-mobile summary::after { content: "+"; float: right; color: var(--gs-blue); }
.article-toc-mobile[open] summary::after { content: "−"; }

/* Case pages make verified change and activity visible without inventing outcomes. */
.case-thumb { position: relative; overflow: hidden; background: linear-gradient(145deg,#edf6ff,#eaf8f2) !important; }
.case-thumb > span { position: absolute; right: 24px; bottom: 24px; color: #34556e; font-size: 18px; font-weight: 800; line-height: 1.6; text-align: right; }
.case-detail-visual { min-height: 390px; padding: 42px; display: flex; flex-direction: column; justify-content: center; gap: 14px; border: 1px solid #d5e3ee; border-radius: 16px; background: linear-gradient(145deg,#edf6ff,#eef9f5); }
.case-detail-visual > span { width: max-content; padding: 6px 11px; border-radius: 999px; color: #177e67; background: #fff; font-size: 11px; font-weight: 850; }
.case-detail-visual strong { padding: 15px 18px; border: 1px solid #d5e2ed; border-radius: 10px; color: var(--gs-navy); background: #fff; font-size: 16px; }
.case-detail-visual i { color: var(--gs-blue); font-style: normal; text-align: center; }
.case-transformation { width: min(1120px,calc(100% - 40px)); margin: 74px auto; padding: 42px; border-radius: 18px; background: #f3f8fd; }
.case-transformation header { max-width: 730px; margin-bottom: 28px; }
.case-transformation header small { color: var(--gs-blue); font-size: 10px; font-weight: 850; }
.case-transformation h2 { margin: 8px 0 0; color: var(--gs-navy); font-size: 28px; line-height: 1.55; }
.case-transformation > div { display: grid; grid-template-columns: 1fr 36px 1fr 36px 1fr; align-items: center; gap: 8px; }
.case-transformation article { min-height: 170px; padding: 22px; display: flex; flex-direction: column; justify-content: center; border: 1px solid #d8e3ed; border-radius: 12px; background: #fff; }
.case-transformation article span { margin-bottom: 10px; color: #178169; font-size: 10px; font-weight: 850; }
.case-transformation article b { color: #344b62; font-size: 14px; line-height: 1.8; }
.case-transformation > div > i { color: var(--gs-blue); font-style: normal; text-align: center; }

@media (max-width: 900px) {
  .article-mag-layout--reference { grid-template-columns: 1fr; gap: 0; }
  .article-mag-layout--reference .article-mag-header h1 { font-size: clamp(32px,5vw,40px); }
  .gallery-lp .gallery-hero { min-height: 0; grid-template-columns: 1fr; }
  .gallery-lp .gallery-hero > div:first-child { max-width: 680px; }
  .gallery-shelf { width: min(680px,100%); }
  .gallery-list > div:not(.gallery-heading):not(.gallery-empty) { grid-template-columns: 1fr 1fr; }
  .gsrc-outcome-list article { grid-template-columns: 74px 1fr 36px 1fr; }
  .rental-impact > div { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .gzen-brand.gzen-brand--zen { width: 195px !important; min-width: 195px !important; }
  .gzen-brand__company-symbol { width: 38px; height: 38px; flex-basis: 38px; }
  [data-site-motion="ready"],[data-site-motion="visible"] { transform: none; }
  .gsrc-outcomes { padding: 70px 16px; }
  .gsrc-outcome-list article { padding: 20px; grid-template-columns: 1fr; gap: 8px; }
  .gsrc-outcome-list i { margin: 2px 0; transform: rotate(90deg); }
  .gsrc-outcome-list strong { font-size: 15px; }

  .gallery-lp .gallery-hero { width: 100%; padding: 38px 18px 44px; gap: 34px; }
  .gallery-lp .gallery-hero h1 { font-size: 35px; line-height: 1.48; }
  .gallery-lp .gallery-hero h1 + p { font-size: 14px; }
  .gallery-hero form { grid-template-columns: 1fr auto; }
  .gallery-hero form > button { min-width: 68px; min-height: 50px; }
  .gallery-shelf { min-height: 335px; padding: 16px 14px 16px 92px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; border-radius: 18px !important; }
  .gallery-shelf > img { left: 2px; bottom: 12px; width: 86px; height: 128px; }
  .gallery-shelf .template-visual.is-compact { min-height: 95px; padding: 6px; }
  .gallery-shelf .template-visual.is-compact > small { min-height: 20px; font-size: 8px !important; }
  .gallery-shelf .template-visual.is-compact .template-paper { padding: 6px; }
  .gallery-intro { width: calc(100% - 32px); margin-bottom: 20px; padding: 24px 20px; grid-template-columns: 1fr; gap: 14px; }
  .gallery-intro h2 { font-size: 20px; }
  .gallery-toolbar { position: relative; top: auto; width: calc(100% - 24px); margin-bottom: 20px; padding: 10px; }
  .gallery-toolbar .gallery-types { display: none; }
  .gallery-toolbar .gallery-filters { margin: 0; grid-template-columns: 1fr 1fr; }
  .gallery-toolbar .gallery-filters select:first-of-type { display: block; grid-column: 1 / -1; }
  .gallery-toolbar .gallery-filters button { min-width: 0; }
  .gallery-section { width: calc(100% - 32px); padding: 38px 0; }
  .gallery-heading { align-items: flex-start; gap: 12px; }
  .gallery-section > h2,.gallery-heading h2 { font-size: 27px; }
  .gallery-list > div:not(.gallery-heading):not(.gallery-empty) { grid-template-columns: 1fr; gap: 16px; }
  .gallery-list article { padding: 13px; }
  .gallery-list .gallery-preview-link { aspect-ratio: 16 / 8.6; }
  .gallery-list p { min-height: 0; font-size: 13px; }
  .gallery-card-actions { grid-template-columns: 1fr 1fr !important; }
  .gallery-purpose > div { grid-template-columns: 1fr 1fr; }
  .gallery-purpose a { min-height: 72px; padding: 12px; font-size: 12px; }
  .gallery-receive { width: calc(100% - 24px); padding: 34px 16px; }
  .gallery-receive > h2 { max-width: 9em; }
  .gallery-receive > div { grid-template-columns: 1fr; }
  .gallery-receive article { min-height: 0; padding: 18px 18px 18px 64px; }
  .gallery-receive article > span { position: absolute; left: 18px; top: 20px; }
  .gallery-receive h3 { margin-top: 0; }
  .gallery-receive i { right: auto; top: auto; bottom: -21px; left: 29px; transform: rotate(90deg); }
  .gallery-info { grid-template-columns: 1fr; }
  .gallery-info article { min-height: 0; padding: 24px 22px; }
  .gallery-actions { grid-template-columns: 1fr; }
  .gallery-actions article { min-height: 0; }
  .gallery-final { width: calc(100% - 24px); padding: 28px 22px; }

  .rental-impact { padding: 70px 16px; }
  .rental-impact > div > article { padding: 16px; grid-template-columns: 1fr; }
  .rental-impact article > i { transform: rotate(90deg); }
  .article-mag-layout--reference { width: calc(100% - 28px); margin-top: 30px; }
  .article-mag-layout--reference .article-mag-header h1 { font-size: 30px; line-height: 1.5; }
  .article-mag-main .wp-entry-content { font-size: 16px; line-height: 2; }
  .article-mag-main .wp-entry-content h2 { margin-top: 58px; padding: 14px 15px; font-size: 23px; }
  .article-mag-main .wp-entry-content h3 { font-size: 19px; }
  .article-toc-mobile { border: 1px solid #d4e2ed; border-radius: 12px; background: #f3f8fd; }
  .article-toc-mobile ol { padding: 0 18px 16px !important; }
  .case-detail-visual { min-height: 300px; padding: 24px; }
  .case-transformation { width: calc(100% - 24px); margin: 52px auto; padding: 28px 18px; }
  .case-transformation h2 { font-size: 23px; }
  .case-transformation > div { grid-template-columns: 1fr; }
  .case-transformation article { min-height: 0; }
  .case-transformation > div > i { transform: rotate(90deg); }
}

@media (prefers-reduced-motion: reduce) {
  .site-hover-card,[data-site-motion="ready"],[data-site-motion="visible"],.article-reading-progress { transform: none !important; transition: none !important; }
  [data-site-motion="ready"] { opacity: 1; }
  .article-reading-progress { display: none; }
}

/* Final interaction and layout refinements: calm motion, clearer states. */
:where(.rental-faq,.development-faq,.tlp-bottom,.partner-recruit-faq,.recruit-faq,.labo-bottom,.gallery-faq,.gzen-faq) details > summary {
  position: relative;
  min-height: 56px;
  transition: color .2s ease, background-color .2s ease, padding-left .2s ease;
}
:where(.rental-faq,.development-faq,.tlp-bottom,.partner-recruit-faq,.recruit-faq,.labo-bottom,.gallery-faq,.gzen-faq) details > summary > span:last-child { display: none; }
:where(.rental-faq,.development-faq,.tlp-bottom,.partner-recruit-faq,.recruit-faq,.labo-bottom,.gallery-faq,.gzen-faq) details > summary::after {
  content: "＋";
  width: 32px;
  height: 32px;
  margin-left: auto;
  display: inline-grid;
  place-items: center;
  flex: 0 0 32px;
  border-radius: 50%;
  color: var(--gs-blue,#1769d2);
  background: #edf5ff;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  transition: transform .2s ease, color .2s ease, background-color .2s ease;
}
:where(.rental-faq,.development-faq,.tlp-bottom,.partner-recruit-faq,.recruit-faq,.labo-bottom,.gallery-faq,.gzen-faq) details[open] > summary::after {
  content: "−";
  color: #fff;
  background: var(--gs-blue,#1769d2);
  transform: rotate(180deg);
}
:where(.rental-faq,.development-faq,.tlp-bottom,.partner-recruit-faq,.recruit-faq,.labo-bottom,.gallery-faq,.gzen-faq) details[open] > p {
  animation: faq-answer-in .22s ease-out both;
}
@media (hover:hover) and (pointer:fine) {
  :where(.rental-faq,.development-faq,.tlp-bottom,.partner-recruit-faq,.recruit-faq,.labo-bottom,.gallery-faq,.gzen-faq) details > summary:hover {
    color: var(--gs-blue,#1769d2);
    background: rgba(23,105,210,.045);
    padding-left: 12px;
  }
  :where(.primary-button,.gzen-button,.gsrc-button,.rental-primary,.tlp-primary,.gallery-card-actions a,.case-cta a,.article-side-cta a) {
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
  }
  :where(.primary-button,.gzen-button,.gsrc-button,.rental-primary,.tlp-primary,.gallery-card-actions a,.case-cta a,.article-side-cta a):hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -16px rgba(8,52,106,.65);
    filter: saturate(1.05);
  }
}
@keyframes faq-answer-in {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Gallery: align the result count and protect the guide illustration. */
.gallery-heading { align-items: center; gap: 18px; }
.gallery-count {
  min-height: 34px;
  margin: 0;
  padding: 7px 12px;
  display: inline-flex;
  align-items: center;
  align-self: center;
  border: 1px solid #d3e1ed;
  border-radius: 999px;
  color: #536b82;
  background: #f6f9fc;
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
}
.gallery-shelf > img,
.editorial-cta > img,
.case-cta > img,
.gsrc-final > img,
.article-author-illustration {
  max-width: 100%;
  object-fit: contain !important;
  object-position: center !important;
}
.gallery-preview-link > img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  padding: 10px;
  display: block;
  object-fit: contain;
  object-position: center;
  background: #f4f8fc;
}

/* Editorial: the TOC remains visible and follows the active heading. */
.article-mag-layout--reference .article-mag-sidebar {
  position: sticky;
  top: 92px;
  align-self: start;
  max-height: calc(100vh - 110px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
.article-mag-layout--reference .article-mag-sidebar > div { position: static; }
.article-mag-layout--reference .article-toc a {
  position: relative;
  margin: 2px -10px;
  padding: 9px 10px;
  border-radius: 8px;
  transition: color .18s ease, background-color .18s ease, transform .18s ease;
}
.article-mag-layout--reference .article-toc a.is-active,
.article-mag-layout--reference .article-toc a[aria-current="location"] {
  color: #0b5fc7;
  background: #fff;
  box-shadow: 0 7px 18px -14px rgba(15,80,155,.7);
  transform: translateX(3px);
}
.article-magazine .related-articles > div > a {
  padding: 0 0 20px;
  overflow: hidden;
  background: #fff;
}
.article-magazine .related-articles .column-cover {
  width: 100%;
  min-height: 150px;
  margin: 0 0 17px;
  border-radius: 0;
}
.article-magazine .related-articles > div > a > small,
.article-magazine .related-articles > div > a > b,
.article-magazine .related-articles > div > a > span {
  margin-right: 18px;
  margin-left: 18px;
}

/* Case archive: one case uses the same card size as future cases. */
.case-list > div.is-single,
.case-list > div:has(> article:only-child) {
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.case-list > div.is-single article,
.case-list > div:has(> article:only-child) article {
  display: flex;
  min-width: 0;
  padding-right: 0;
  flex-direction: column;
}
.case-list > div.is-single .case-thumb,
.case-list > div:has(> article:only-child) .case-thumb {
  width: 100%;
  min-height: 210px;
  height: 210px;
}
.case-list > div.is-single article > *:not(.case-thumb),
.case-list > div:has(> article:only-child) article > *:not(.case-thumb) {
  margin-right: 18px;
  margin-left: 18px;
}
.case-list > div.is-single h3,
.case-list > div:has(> article:only-child) h3 {
  margin-top: 20px;
  font-size: 19px;
}
.case-list > div.is-single article > a:last-child,
.case-list > div:has(> article:only-child) article > a:last-child {
  width: auto;
  min-width: 0;
  margin-top: auto;
  padding: 0;
  color: var(--gs-blue,#1769d2);
  background: transparent;
}

/* One-hour experience: enough detail to decide, one clear form route. */
.experience-page { color: var(--gs-navy,#102c50); background: #fff; }
.experience-page .detail-hero {
  width: min(1160px,calc(100% - 48px));
  margin-top: 34px;
  padding: 58px;
  overflow: hidden;
  border: 1px solid #d5e3ef;
  border-radius: 22px;
  background: linear-gradient(135deg,#f5f9fe 0%,#edf6ff 58%,#eef9f5 100%);
}
.experience-page .detail-hero > div { max-width: 720px; }
.experience-page .detail-hero > ul {
  padding: 28px;
  border: 1px solid #cbdced;
  border-radius: 16px;
  background: rgba(255,255,255,.88);
}
.experience-page .detail-body { width: min(980px,calc(100% - 48px)); }
.experience-page .detail-body article {
  padding: 36px 22px;
  border-bottom-color: #d9e4ee;
  scroll-margin-top: 100px;
}
.experience-page .detail-body article > span {
  color: #168169;
  font-size: 24px;
}
.experience-page .detail-body h2 { color: var(--gs-navy,#102c50); }
.experience-page #experience-application {
  margin-top: 16px;
  padding: 38px 30px;
  border: 1px solid #bbd8cf;
  border-radius: 18px;
  background: #eef8f4;
}
.experience-form-button { width: max-content; margin-top: 20px; }
.experience-form-note {
  margin-top: 18px;
  padding: 12px 15px;
  display: block;
  border-radius: 9px;
  color: #526a7e;
  background: #fff;
  font-size: 13px;
}

@media (max-width: 900px) {
  .article-mag-layout--reference .article-mag-sidebar { display: none; }
  .case-list > div.is-single,
  .case-list > div:has(> article:only-child) { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .gallery-heading { align-items: flex-start; flex-direction: column; }
  .gallery-count { align-self: flex-start; }
  .article-magazine .related-articles > div {
    margin-right: -16px;
    padding: 2px 16px 18px 0;
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  .article-magazine .related-articles > div > a {
    flex: 0 0 min(82vw,320px);
    scroll-snap-align: start;
  }
  .case-list > div.is-single,
  .case-list > div:has(> article:only-child) { grid-template-columns: 1fr; }
  .experience-page .detail-hero {
    width: calc(100% - 24px);
    margin-top: 12px;
    padding: 38px 22px;
  }
  .experience-page .detail-body { width: calc(100% - 32px); }
  .experience-page .detail-body article { padding: 30px 8px; }
  .experience-page #experience-application { padding: 28px 20px; }
  .experience-form-button { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  :where(.rental-faq,.development-faq,.tlp-bottom,.partner-recruit-faq,.recruit-faq,.labo-bottom,.gallery-faq,.gzen-faq) details[open] > p { animation: none; }
  :where(.primary-button,.gzen-button,.gsrc-button,.rental-primary,.tlp-primary,.gallery-card-actions a,.case-cta a,.article-side-cta a) { transition: none; }
  .article-mag-layout--reference .article-toc a { transition: none; }
}

/* September review: contextual navigation, editorial ranking, Labo trust and human motion. */
.gzen-brand-switcher { position: relative; z-index: 30; min-width: 172px; }
.gzen-brand-switcher > summary {
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 9px;
  list-style: none;
  cursor: pointer;
}
.gzen-brand-switcher > summary::-webkit-details-marker { display: none; }
.gzen-brand-switcher > summary .gzen-brand__image { width: auto; max-width: 158px; height: 35px; object-fit: contain; object-position: left center; }
.gzen-brand-switcher > summary > span:last-child { color: #5f7184; font-size: 16px; transition: transform .2s ease; }
.gzen-brand-switcher[open] > summary > span:last-child { transform: rotate(180deg); }
.gzen-brand-switcher > nav {
  position: absolute;
  top: calc(100% + 10px);
  left: -14px;
  width: 230px;
  padding: 10px;
  display: grid;
  gap: 3px;
  border: 1px solid var(--gs-line);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 20px 48px -24px rgba(16,44,80,.55);
}
.gzen-brand-switcher > nav a {
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--gs-navy);
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
  transition: color .18s ease, background-color .18s ease, transform .18s ease;
}
.gzen-brand-switcher > nav a:hover,.gzen-brand-switcher > nav a:focus-visible { color: var(--gs-blue); background: #eff6ff; transform: translateX(3px); }
.gzen-menu hr { width: 100%; border: 0; border-top: 1px solid var(--gs-line); }
.gzen-menu__label { padding: 4px 0; color: #748599; font-size: 10px !important; font-weight: 850; letter-spacing: .08em; }

/* Ranking uses verified manual positions from WordPress; fallback copy is explicitly editorial. */
.popular-ranking { padding-top: 44px !important; }
.popular-ranking__heading { margin-bottom: 22px; display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.popular-ranking__heading h2 { margin: 2px 0 0; font-size: clamp(28px,3vw,39px); }
.popular-ranking__heading > small { max-width: 390px; color: #66798e; text-align: right; }
.popular-ranking ol {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid #d8e3ed;
  border-radius: 15px;
  background: #d8e3ed;
  list-style: none;
}
.popular-ranking li:first-child { grid-row: span 2; }
.popular-ranking li a {
  min-height: 104px;
  padding: 22px 24px;
  display: grid;
  grid-template-columns: 46px minmax(0,1fr) 22px;
  align-items: center;
  gap: 14px;
  color: var(--gs-navy);
  background: #fff;
  text-decoration: none;
  transition: background-color .2s ease;
}
.popular-ranking li:first-child a { height: 100%; min-height: 209px; background: #f0f6ff; }
.popular-ranking li a > b { color: var(--gs-blue); font-size: 25px; font-weight: 900; }
.popular-ranking li a span { min-width: 0; display: grid; gap: 5px; }
.popular-ranking li a small { color: var(--gs-blue); font-weight: 800; }
.popular-ranking li a strong { font-size: 15px; line-height: 1.55; }
.popular-ranking li a i { color: var(--gs-blue); font-size: 19px; font-style: normal; transition: transform .18s ease; }
.popular-ranking li a:hover { background: #f6faff; }
.popular-ranking li a:hover i,.popular-ranking li a:focus-visible i { transform: translateX(5px); }

/* The final column CTA stays compact and readable at every width. */
.editorial-cta {
  width: min(1100px,calc(100% - 48px)) !important;
  min-height: 0 !important;
  margin: 54px auto 0 !important;
  padding: 28px 34px !important;
  grid-template-columns: minmax(320px,1fr) 112px minmax(230px,300px) !important;
  gap: 24px !important;
  border: 1px solid #d4e3f0;
  border-radius: 18px;
  background: #f1f6fb !important;
}
.editorial-cta > div { min-width: 0; }
.editorial-cta h2 {
  max-width: 24em;
  margin: 0 !important;
  color: var(--gs-navy);
  font-size: clamp(21px,2.1vw,28px) !important;
  line-height: 1.5;
  word-break: normal;
  overflow-wrap: anywhere;
}
.editorial-cta p { margin-top: 8px !important; color: #5a7085; font-size: 13px !important; line-height: 1.75; }
.editorial-cta > img { width: 108px !important; height: 108px !important; }
.editorial-cta > a { min-height: 54px; display: grid; place-items: center; transition: transform .2s ease,box-shadow .2s ease; }
.editorial-cta > a:hover,.editorial-cta > a:focus-visible { transform: translateY(-2px); box-shadow: 0 12px 24px -17px rgba(23,105,210,.72); }

/* G-Labo: proof, distinct influencer profiles and transparent donation reporting. */
.labo-stats {
  width: min(1120px,calc(100% - 48px));
  margin: -18px auto 18px;
  position: relative;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  border: 1px solid #cfe0dc;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 18px 45px -35px rgba(9,75,68,.55);
}
.labo-stats article { padding: 22px 28px; text-align: center; }
.labo-stats article + article { border-left: 1px solid #dbe8e4; }
.labo-stats small { display: block; color: #2b7565; font-weight: 850; }
.labo-stats strong { display: block; margin: 3px 0; color: #0d5d51; font-size: 30px; line-height: 1.25; }
.labo-stats strong span { margin-left: 3px; font-size: 14px; }
.labo-stats p { margin: 0; color: #6b7d82; font-size: 11px; }
.labo-influencers > p { max-width: 720px; margin: 0 auto 24px; font-size: 13px !important; line-height: 1.8; }
.labo-influencers article { padding: 0 0 18px; overflow: hidden; border-radius: 13px; text-align: left; background: #fff; transition: transform .2s ease,box-shadow .2s ease; }
.labo-influencers article:hover { transform: translateY(-4px); box-shadow: 0 18px 34px -26px rgba(8,78,67,.58); }
.labo-influencers article > .labo-influencer-photo { height: 174px; display: block; overflow: hidden; background: #edf5f2; }
.labo-influencer-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.labo-influencers article:hover .labo-influencer-photo img { transform: scale(1.025); }
.labo-influencers article > small,.labo-influencers article > h3,.labo-influencers article > p,.labo-influencers article > .text-link { margin-right: 16px; margin-left: 16px; }
.labo-influencers article > small { display: block; margin-top: 14px; color: #178568; font-weight: 850; }
.labo-influencers article > .text-link { display: inline-block; color: #0d765c; font-size: 12px; font-weight: 850; text-decoration: none; }
.labo-donations > p { max-width: 760px; color: #5b6f7b; font-size: 14px; line-height: 1.85; }
.labo-donation-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; }
.labo-donation-grid > a { padding: 24px; border: 1px solid #cfe2dc; border-radius: 13px; color: var(--gs-navy); background: #fff; text-decoration: none; transition: transform .2s ease,box-shadow .2s ease; }
.labo-donation-grid > a:hover { transform: translateY(-3px); box-shadow: 0 18px 35px -27px rgba(11,92,77,.7); }
.labo-donation-grid h3 { margin: 8px 0; font-size: 17px; }
.labo-donation-grid p { color: #5f7480; font-size: 12px; }
.labo-donation-grid span { color: #0d765c; font-size: 12px; font-weight: 850; }
.labo-donation-pending {
  margin-top: 24px;
  padding: 28px 32px;
  display: grid;
  grid-template-columns: 70px 1fr;
  align-items: center;
  gap: 22px;
  border: 1px solid #bcdcd2;
  border-radius: 15px;
  background: #f0f8f5;
}
.labo-donation-pending > span { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #188267; font-size: 12px; font-weight: 850; }
.labo-donation-pending small { color: #17735d; font-weight: 850; }
.labo-donation-pending h3 { margin: 5px 0; font-size: 20px; }
.labo-donation-pending p { margin: 0; color: #5c706f; font-size: 13px; }
.labo-influencer-detail > article > header { margin-bottom: 44px; display: grid; grid-template-columns: 260px 1fr; align-items: center; gap: 42px; }
.labo-influencer-detail > article > header > img,.labo-influencer-detail > article > header > .profile-placeholder { width: 260px; height: 260px; object-fit: cover; border-radius: 16px; }
.labo-influencer-detail > article > section { margin: 34px 0; }
.labo-social-links { display: flex; flex-wrap: wrap; gap: 10px; }
.labo-social-links a { padding: 12px 15px; display: flex; gap: 18px; border: 1px solid #bcd8d0; border-radius: 9px; color: #0a6e56; text-decoration: none; font-weight: 750; }
.labo-social-links a span { transition: transform .18s ease; }
.labo-social-links a:hover span { transform: translate(3px,-3px); }

/* Partner recruitment: a calm person-to-person support conversation. */
.partner-recruit-hero .partner-human-chat {
  min-height: 360px;
  padding: 30px !important;
  display: grid;
  align-content: center;
  gap: 18px;
  overflow: hidden;
  border: 1px solid #caddec;
  border-radius: 22px;
  background: #f3f7fb;
}
.partner-human-chat__heading span { display: block; margin-bottom: 4px; color: #587087; font-size: 11px; font-weight: 750; }
.partner-human-chat__heading b { margin: 0 !important; color: var(--gs-navy) !important; font-size: 18px !important; }
.partner-chat-row { display: flex; align-items: end; gap: 9px; }
.partner-chat-row.is-partner { flex-direction: row-reverse; }
.partner-chat-row i { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #526b82; font-size: 12px; font-style: normal; font-weight: 850; }
.partner-chat-row.is-partner i { background: var(--gs-blue); }
.partner-chat-row p { max-width: 78%; margin: 0 !important; padding: 13px 15px; border: 1px solid #d7e2ec; border-radius: 15px 15px 15px 4px; color: #385067 !important; background: #fff; font-size: 12px !important; line-height: 1.7 !important; box-shadow: 0 10px 24px -22px rgba(16,44,80,.65); }
.partner-chat-row.is-partner p { border-color: #bdd3ee; border-radius: 15px 15px 4px 15px; background: #eaf3ff; }
.partner-human-chat > small { position: static !important; color: #718397 !important; font-size: 10px !important; text-align: center; }
.partner-recruit-form { grid-template-columns: minmax(250px,.72fr) minmax(0,1.28fr) !important; padding: 54px !important; gap: 40px !important; }
.partner-recruit-form > div { position: sticky; top: 100px; }
.partner-recruit-form > ol { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
.partner-recruit-form li { min-height: 92px; align-items: flex-start; border-radius: 12px !important; transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.partner-recruit-form li:hover { transform: translateY(-3px); border-color: #9fc0e7; box-shadow: 0 15px 26px -23px rgba(22,91,167,.75); }
.partner-recruit-form li > span { min-width: 25px; }
.partner-recruit-form li b { display: block; line-height: 1.5; }
.partner-recruit-form li p,.partner-recruit-form li small { margin: 5px 0 0; line-height: 1.55; }

/* Shared micro-interactions: arrows and cards respond without constant motion. */
@media (hover:hover) and (pointer:fine) {
  :where(.labo-heading a,.article-card-foot>a,.gsrc-center-link,.text-link,.column-categories a,.problem-search a,.partner-recruit-cta a,.labo-partner-band a,.labo-final a) { transition: transform .18s ease,color .18s ease,box-shadow .18s ease; }
  :where(.labo-heading a,.article-card-foot>a,.gsrc-center-link,.text-link):hover { transform: translateX(4px); }
  :where(.column-categories a,.problem-search a):hover { transform: translateY(-3px); box-shadow: 0 14px 26px -22px rgba(20,83,153,.65); }
  .partner-chat-row { animation: human-chat-in .48s ease-out both; }
  .partner-chat-row.is-partner { animation-delay: .16s; }
}
@keyframes human-chat-in { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 900px) {
  .gzen-brand-switcher { min-width: 150px; }
  .popular-ranking ol { grid-template-columns: 1fr; }
  .popular-ranking li:first-child { grid-row: auto; }
  .popular-ranking li:first-child a { min-height: 112px; }
  .editorial-cta { grid-template-columns: minmax(0,1fr) 96px !important; }
  .editorial-cta > a { grid-column: 1 / -1; }
  .partner-recruit-form { grid-template-columns: 1fr !important; padding: 42px 28px !important; }
  .partner-recruit-form > div { position: static; }
}
@media (max-width: 640px) {
  .gzen-header__inner { width: calc(100% - 28px) !important; }
  .gzen-brand-switcher > summary .gzen-brand__image { max-width: 132px; height: 31px; }
  .gzen-brand-switcher > nav { width: min(230px,calc(100vw - 30px)); }
  .popular-ranking { padding-top: 28px !important; }
  .popular-ranking__heading { align-items: start; flex-direction: column; gap: 9px; }
  .popular-ranking__heading > small { text-align: left; }
  .popular-ranking li a,.popular-ranking li:first-child a { min-height: 96px; padding: 17px 15px; grid-template-columns: 38px minmax(0,1fr) 18px; }
  .popular-ranking li a > b { font-size: 20px; }
  .popular-ranking li a strong { font-size: 14px; }
  .editorial-cta {
    width: calc(100% - 28px) !important;
    padding: 25px 20px !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    text-align: left !important;
  }
  .editorial-cta h2 { max-width: none; font-size: 21px !important; }
  .editorial-cta > img { width: 84px !important; height: 84px !important; margin: 0 auto !important; }
  .editorial-cta > a { grid-column: auto; width: 100%; }
  .labo-stats { width: calc(100% - 28px); margin-top: 14px; grid-template-columns: 1fr; }
  .labo-stats article { padding: 17px 20px; display: grid; grid-template-columns: 1fr auto; align-items: center; text-align: left; }
  .labo-stats article + article { border-top: 1px solid #dbe8e4; border-left: 0; }
  .labo-stats article p { grid-column: 1 / -1; }
  .labo-stats strong { font-size: 24px; }
  .labo-donation-grid { grid-template-columns: 1fr; }
  .labo-donation-pending { padding: 22px 18px; grid-template-columns: 52px 1fr; gap: 14px; }
  .labo-donation-pending > span { width: 48px; height: 48px; }
  .labo-donation-pending h3 { font-size: 17px; }
  .labo-influencer-detail > article > header { grid-template-columns: 100px 1fr; gap: 18px; }
  .labo-influencer-detail > article > header > img,.labo-influencer-detail > article > header > .profile-placeholder { width: 100px; height: 100px; }
  .partner-recruit-hero .partner-human-chat { min-height: 0; padding: 24px 18px !important; }
  .partner-chat-row p { max-width: 84%; }
  .partner-recruit-form { padding: 38px 18px !important; border-radius: 0 !important; }
  .partner-recruit-form > ol { grid-template-columns: 1fr !important; }
  .partner-recruit-form li { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .partner-chat-row { animation: none !important; }
  .gzen-brand-switcher > summary > span,.popular-ranking li a i,.labo-social-links a span,.partner-recruit-form li { transition: none !important; }
}

:where(.rental-faq,.development-faq,.tlp-bottom,.partner-recruit-faq,.recruit-faq,.labo-bottom,.gallery-faq,.gzen-faq) details > summary > span { display: none; }
@media (max-width: 900px) {
  .partner-recruit-hero { grid-template-columns: 1fr !important; gap: 28px !important; padding-top: 50px !important; }
  .partner-recruit-hero .partner-human-chat { width: 100%; max-width: 620px; min-height: 0; }
.partner-human-chat__heading b { font-size: 17px !important; }
}

/* 2026-09 final interaction and conversion pass */
:where(.gzen-header__cta,.gzen-menu__cta,.gzen-button,.gsrc-button,.primary-button,.rental-primary,.rental-final a,.development-final a,.training-final a,.gallery-final a,.article-side-cta a,.article-inline-trial a,.sticky-like-cta a,.experience-form-button){transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease;will-change:transform}
:where(.gzen-header__cta,.gzen-menu__cta,.gzen-button,.gsrc-button,.primary-button,.rental-primary,.rental-final a,.development-final a,.training-final a,.gallery-final a,.article-side-cta a,.article-inline-trial a,.sticky-like-cta a,.experience-form-button):hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,63,121,.2)}
:where(.gzen-header__cta,.gzen-menu__cta,.gzen-button,.gsrc-button,.primary-button,.rental-primary,.rental-final a,.development-final a,.training-final a,.gallery-final a,.article-side-cta a,.article-inline-trial a,.sticky-like-cta a,.experience-form-button):active{transform:translateY(1px) scale(.985);box-shadow:0 4px 10px rgba(16,63,121,.16)}
:where(.gzen-nav,.gzen-brand-switcher nav,.gzen-menu nav) a{position:relative;transition:color .2s ease,background-color .2s ease,transform .2s ease}
.gzen-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:#1469d2;transition:right .24s cubic-bezier(.2,.8,.2,1)}
.gzen-nav a:hover{color:#1469d2;transform:translateY(-1px)}.gzen-nav a:hover::after{right:0}
.gzen-brand-switcher nav,.gzen-menu nav{overflow:hidden;transform-origin:top right}
.gzen-brand-switcher[open] nav,.gzen-menu[open] nav{animation:ninjaMenuReveal .28s cubic-bezier(.2,.9,.24,1.08) both}
.gzen-brand-switcher nav::before,.gzen-menu nav::before{content:"";height:3px;display:block;position:absolute;left:12px;right:12px;top:8px;background:linear-gradient(90deg,transparent,#1469d2 24%,#55b8e9 70%,transparent);transform:skewX(-28deg)}
.gzen-brand-switcher nav small:first-child{display:block;padding:9px 12px 7px;color:#718196;font-size:12px;font-weight:800;letter-spacing:.06em}
.gzen-brand-switcher nav a:hover,.gzen-menu nav a:hover{padding-left:18px;color:#0d5fc7;background:#eef6ff}
.gzen-brand-switcher summary>span:last-child{transition:transform .22s ease}.gzen-brand-switcher[open] summary>span:last-child{transform:rotate(180deg)}
.gzen-menu[open] summary span:nth-child(1){transform:translateY(7px) rotate(45deg)}.gzen-menu[open] summary span:nth-child(2){opacity:0;transform:translateX(8px)}.gzen-menu[open] summary span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.gzen-menu summary span{transition:transform .22s ease,opacity .16s ease}
@keyframes ninjaMenuReveal{from{opacity:0;transform:translateY(-10px) scale(.96);clip-path:polygon(70% 0,100% 0,100% 0,70% 0)}to{opacity:1;transform:none;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}

.popular-ranking ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.popular-ranking li{min-width:0}.popular-ranking li>a{height:100%;padding:0;display:flex;flex-direction:column;align-items:stretch;gap:0;overflow:hidden;border:1px solid #dbe5ef;border-radius:14px;background:#fff;box-shadow:0 8px 26px rgba(12,42,78,.05)}
.popular-ranking__cover{position:relative;aspect-ratio:16/10;overflow:hidden;background:#eaf2fb}.popular-ranking__cover .column-cover{height:100%;min-height:0;border:0;border-radius:0}.popular-ranking__cover>img{width:100%;height:100%;display:block;object-fit:cover}.popular-ranking__cover>b{position:absolute;left:10px;top:10px;padding:6px 9px;border-radius:999px;color:#fff;background:#0d2a4c;font-size:12px;letter-spacing:.04em;box-shadow:0 5px 14px rgba(0,0,0,.18)}
.popular-ranking li:nth-child(1) .popular-ranking__cover>b{color:#1d2836;background:#f1c95d}.popular-ranking li:nth-child(2) .popular-ranking__cover>b{color:#1d2836;background:#d9e0e8}.popular-ranking li:nth-child(3) .popular-ranking__cover>b{background:#b77a48}
.popular-ranking li>a>span{padding:15px;display:flex;flex:1;flex-direction:column;gap:8px}.popular-ranking li>a>span small{color:#1265ca;font-size:12px;font-weight:800}.popular-ranking li>a>span strong{color:#142b47;font-size:15px;line-height:1.65}.popular-ranking li>a>span em{margin-top:auto;color:#1265ca;font-size:13px;font-style:normal;font-weight:800}.popular-ranking li>a>i{display:none}.popular-ranking li>a:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(12,42,78,.12)}

.article-inline-trial{margin:48px 0;padding:28px 30px;display:grid;grid-template-columns:1fr auto;gap:8px 24px;border:2px solid #e15a5a;border-radius:16px;background:linear-gradient(135deg,#fff 0%,#fff7f4 100%);box-shadow:0 12px 32px rgba(123,37,30,.08)}.article-inline-trial small{grid-column:1/-1;color:#c8423c;font-size:13px;font-weight:900;letter-spacing:.06em}.article-inline-trial strong{font-size:22px;line-height:1.5;color:#142b47}.article-inline-trial p{margin:0!important;grid-column:1;color:#53667a;font-size:15px!important}.article-inline-trial a{grid-column:2;grid-row:2/4;align-self:center;padding:16px 22px;border-radius:9px;color:#fff;background:#1569d2;text-decoration:none;font-weight:900;white-space:nowrap}
.article-side-cta,.sticky-like-cta{position:relative;border:2px solid #e05959!important}.article-side-cta::after,.sticky-like-cta::after{content:"";position:absolute;inset:-6px;border:2px solid rgba(220,58,58,.5);border-radius:inherit;pointer-events:none;animation:trialSignal 1s ease-in-out infinite alternate}@keyframes trialSignal{from{opacity:.2;transform:scale(.99)}to{opacity:1;transform:scale(1.015)}}
.article-magazine .article-inline-trial a{color:#fff!important}

.gallery-hero.gallery-hero--focused{min-height:0;padding:64px max(24px,calc((100% - 1180px)/2));grid-template-columns:minmax(0,1.05fr) minmax(360px,.65fr);gap:58px;align-items:center;background:linear-gradient(135deg,#f7fbff 0%,#fff 65%,#f4fbfa 100%)}.gallery-hero--focused>div:first-child{padding:0}.gallery-hero--focused h1{max-width:680px;font-size:clamp(42px,5vw,68px);line-height:1.25}.gallery-hero--focused h1+p{max-width:700px;font-size:17px;line-height:1.9}.gallery-hero--focused form{max-width:760px}.gallery-hero--focused form label{min-height:64px;border-radius:12px}.gallery-hero--focused form>button{min-width:124px;border-radius:12px;font-size:16px}
.gallery-hero__quick{padding:24px;border:1px solid #dbe6f0;border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 18px 50px rgba(12,42,78,.08)}.gallery-hero__quick>span{display:block;margin-bottom:14px;color:#597086;font-size:13px;font-weight:850}.gallery-hero__quick nav{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gallery-hero__quick a{min-height:58px;padding:10px 12px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;border:1px solid #dbe5ef;border-radius:10px;color:#173150;background:#fff;font-size:13px;font-weight:800;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.gallery-hero__quick a b{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;color:#1769d2;background:#edf5ff;font-size:11px}.gallery-hero__quick a i{color:#1769d2;font-style:normal;transition:transform .18s ease}.gallery-hero__quick a:hover{transform:translateY(-2px);border-color:#8ab7e9;box-shadow:0 10px 22px rgba(18,81,154,.1)}.gallery-hero__quick a:hover i{transform:translateX(4px)}

.experience-page{background:#fff}.experience-page .detail-hero{width:min(1180px,calc(100% - 48px));min-height:0;margin:42px auto 0;padding:72px;grid-template-columns:minmax(0,1fr) 340px;gap:58px;overflow:hidden;border:1px solid #dbe6f0;border-radius:24px;color:#142b47;background:linear-gradient(125deg,#fff 0%,#f5f9ff 66%,#e9f4ff 100%);box-shadow:0 24px 70px rgba(13,48,89,.1)}.experience-page .detail-hero::after{content:"体験";position:absolute;right:-26px;bottom:-64px;color:rgba(20,105,210,.055);font-size:180px;font-weight:950;letter-spacing:-.12em}.experience-page .detail-hero>div,.experience-page .detail-hero>ul{position:relative;z-index:1}.experience-page .detail-hero .eyebrow{color:#1265ca}.experience-page .detail-hero h1{max-width:760px;color:#112b4a;font-size:clamp(38px,4.8vw,62px);line-height:1.32}.experience-page .detail-hero h1+p{max-width:760px;color:#52667b;font-size:17px;line-height:2}.experience-page .detail-hero>ul{margin:0;padding:24px;display:grid;align-content:center;gap:12px;border:1px solid #cddff1;border-radius:18px;color:#173150;background:#fff;box-shadow:0 14px 34px rgba(16,63,121,.08)}.experience-page .detail-hero>ul li{padding:12px 10px 12px 38px;position:relative;border-bottom:1px solid #e5edf5;font-size:16px;font-weight:800}.experience-page .detail-hero>ul li:last-child{border-bottom:0}.experience-page .detail-hero>ul li::before{content:"✓";position:absolute;left:8px;color:#148b78}.experience-page .detail-actions .text-link{color:#38526e}
.experience-assurance{width:min(1060px,calc(100% - 48px));margin:42px auto 0;padding:34px;border-radius:18px;background:#102d53;color:#fff}.experience-assurance>p{margin:0 0 26px;display:grid;gap:5px;text-align:center}.experience-assurance>p b{font-size:22px}.experience-assurance>p span{color:#c6d7eb;font-size:15px}.experience-assurance>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.experience-assurance article{padding:20px;display:grid;grid-template-columns:42px 1fr;gap:4px 12px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.07)}.experience-assurance article small{grid-row:1/3;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:#0d4d98;background:#fff;font-weight:900}.experience-assurance article b{font-size:17px}.experience-assurance article span{color:#c6d7eb;font-size:13px}.experience-page .detail-body article{border-color:#dbe6f0;background:#fff;box-shadow:0 8px 28px rgba(12,42,78,.04)}.experience-page .detail-cta{background:linear-gradient(110deg,#0d315d,#1769d2)}

.gsrc-trust div,.gsrc-logo-row{overflow:hidden}.gsrc-trust div span,.gsrc-logo-row span{min-height:72px;display:grid;place-items:center;padding:12px 20px;background:#fff}.gsrc-trust img,.gsrc-logo-row img{width:auto;max-width:150px;height:44px;object-fit:contain}.gsrc-logo-note{margin:14px 0 0;color:#708195;font-size:13px;text-align:center}.gsrc-service-gateway>div{gap:22px}.gsrc-service-gateway article{position:relative;overflow:hidden;border-radius:18px;box-shadow:0 14px 42px rgba(12,42,78,.07);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.gsrc-service-gateway article::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#1769d2}.gsrc-service-gateway article:nth-child(2)::before{background:#16866f}.gsrc-service-gateway article:nth-child(3)::before{background:#d38b30}.gsrc-service-gateway article:hover{transform:translateY(-7px);border-color:#9fc2e8;box-shadow:0 24px 54px rgba(12,42,78,.14)}.gsrc-service-gateway article a span{transition:transform .18s ease}.gsrc-service-gateway article a:hover span{transform:translate(3px,-3px)}
.rental-tools>div{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.rental-tools>div span{min-height:82px;padding:12px;display:flex;align-items:center;gap:10px;border:1px solid #dbe5ef;border-radius:12px;color:#173150;background:#fff;font-size:13px;text-align:left;box-shadow:0 7px 20px rgba(12,42,78,.05)}.rental-tools>div span b{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:10px;color:#fff;background:#1769d2;font-size:12px}.rental-tools>div span:nth-child(3n+2) b{background:#7652cc}.rental-tools>div span:nth-child(3n) b{background:#158870}.rental-tools>aside{margin-top:18px;padding:15px 18px;border-left:4px solid #1769d2;color:#556a80;background:#f3f7fb;font-size:13px;line-height:1.75}
.labo-stats article{position:relative;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}.labo-stats article::after{content:"";position:absolute;left:-30%;bottom:-50%;width:80%;height:70%;border-radius:50%;background:rgba(26,164,133,.07);transition:transform .35s ease}.labo-stats article:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(12,72,64,.11)}.labo-stats article:hover::after{transform:translate(70%,-45%) scale(1.2)}.labo-stats strong{display:inline-block;animation:statFloat 3.2s ease-in-out infinite}.labo-stats article:nth-child(2) strong{animation-delay:.35s}.labo-stats article:nth-child(3) strong{animation-delay:.7s}@keyframes statFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.labo-event-feature{margin:26px 0;display:grid;grid-template-columns:1.15fr .85fr;gap:28px;padding:32px!important;border:1px solid #cce7df!important;border-radius:18px!important;background:linear-gradient(135deg,#f3fbf8,#fff)!important;box-shadow:0 14px 38px rgba(13,92,74,.07)}.labo-event-feature>div small{color:#12806b;font-size:13px;font-weight:900}.labo-event-feature h3{margin:8px 0 12px;font-size:25px;line-height:1.5}.labo-event-feature p{font-size:15px;line-height:1.9}.labo-event-feature ol{margin:0;padding:0;display:grid;gap:8px;list-style:none}.labo-event-feature li{padding:12px;display:grid!important;grid-template-columns:38px 1fr;gap:2px 10px;border:1px solid #d8ebe6;border-radius:10px;background:#fff}.labo-event-feature li span{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#13806b;font-weight:900}.labo-event-feature li b{font-size:15px}.labo-event-feature li small{color:#677b78;font-size:12px}
.labo-event-feature li b,.labo-event-feature li small{grid-column:2!important}
.gsrc-news-list a span,.news-list>a>span,.simple-detail p,.simple-detail li,.gzen-news-list a{font-size:max(15px,1rem);line-height:1.75}.gsrc-news-list a time,.gsrc-news-list a b,.news-list>a time,.news-list>a b{font-size:13px}

@media(max-width:1000px){.popular-ranking ol{grid-template-columns:repeat(2,minmax(0,1fr))}.popular-ranking li:first-child{grid-column:1/-1}.popular-ranking li:first-child>a{display:grid;grid-template-columns:minmax(240px,.8fr) 1.2fr}.popular-ranking li:first-child .popular-ranking__cover{height:100%;aspect-ratio:auto}.rental-tools>div{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.gzen-brand-switcher nav{position:fixed;left:12px;right:12px;top:76px;width:auto;z-index:70}.gzen-menu nav{position:fixed;left:12px;right:12px;top:76px;width:auto;z-index:71}.popular-ranking ol{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 18px 18px;margin-inline:-18px}.popular-ranking li,.popular-ranking li:first-child{min-width:82%;grid-column:auto;scroll-snap-align:start}.popular-ranking li:first-child>a{display:flex}.popular-ranking__cover{aspect-ratio:16/10!important;height:auto!important}.article-inline-trial{padding:22px;grid-template-columns:1fr}.article-inline-trial a{grid-column:1;grid-row:auto;text-align:center;white-space:normal}.article-side-cta::after,.sticky-like-cta::after{inset:-3px}.gallery-hero.gallery-hero--focused{padding:42px 18px;grid-template-columns:1fr;gap:28px}.gallery-hero--focused h1{font-size:36px}.gallery-hero--focused h1+p{font-size:15px}.gallery-hero__quick{padding:16px}.gallery-hero__quick nav{grid-template-columns:1fr 1fr}.gallery-hero__quick a{grid-template-columns:30px 1fr;padding:9px;font-size:12px}.gallery-hero__quick a i{display:none}.experience-page .detail-hero{width:calc(100% - 24px);margin-top:18px;padding:34px 22px;grid-template-columns:1fr;gap:28px;border-radius:18px}.experience-page .detail-hero h1{font-size:34px}.experience-page .detail-hero h1+p{font-size:15px}.experience-page .detail-hero>ul{padding:14px}.experience-page .detail-hero>ul li{font-size:14px}.experience-assurance{width:calc(100% - 24px);padding:24px 18px}.experience-assurance>div{grid-template-columns:1fr}.experience-assurance>p b{font-size:19px}.rental-tools>div{grid-template-columns:1fr 1fr}.rental-tools>div span{min-height:72px;padding:10px;font-size:12px}.rental-tools>aside{font-size:12px}.labo-event-feature{grid-template-columns:1fr;padding:22px!important}.labo-event-feature h3{font-size:21px}.labo-stats strong{animation:none}.gsrc-news-list a span,.news-list>a>span,.simple-detail p,.simple-detail li,.gzen-news-list a{font-size:15px}}
@media(prefers-reduced-motion:reduce){.gzen-brand-switcher[open] nav,.gzen-menu[open] nav,.article-side-cta::after,.sticky-like-cta::after,.labo-stats strong{animation:none!important}:where(.gzen-header__cta,.gzen-menu__cta,.gzen-button,.gsrc-button,.primary-button,.rental-primary,.rental-final a,.development-final a,.training-final a,.gallery-final a,.article-side-cta a,.article-inline-trial a,.sticky-like-cta a,.experience-form-button){transition:none!important}}
.rental-lp-v3 .rental-tools>div span:last-child{grid-column:auto}

/* Human support chat demo and refined service gateway. */
.gsrc-svelte-section .chat-demo.line-style{overflow:hidden;border:1px solid #cbd7e3;border-radius:20px;background:#fff;box-shadow:0 26px 60px rgba(19,55,92,.16)}
.line-style .window-bar{min-height:76px;padding:14px 18px;background:#fff}
.line-style .status-dot{width:44px;height:44px;border-radius:50%;color:#fff;background:#1769d2;box-shadow:0 0 0 4px #e8f2ff;font-size:13px}
.line-style .window-person b{font-size:15px}.line-style .window-person small{margin-top:3px;font-size:11px}
.line-style .secure-label{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;color:#137b4a;background:#eefaf2;font-size:11px}.line-style .secure-label i{width:7px;height:7px;border-radius:50%;background:#06c755;box-shadow:0 0 0 3px rgba(6,199,85,.13)}
.line-style .chat-area{min-height:460px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;background:#91a9bd}
.line-style .chat-date{align-self:center;margin:0 auto 18px;padding:4px 11px;border-radius:999px;color:#fff;background:rgba(45,67,86,.42);font-size:11px}
.line-style .message-row.is-visible,.line-style .typing-row.is-visible,.line-style .result-card.is-visible{max-height:280px;margin-bottom:17px}
.line-style .message-body{max-width:74%}.line-style .company .avatar{display:none}.line-style .partner .avatar,.line-style .typing-row .avatar{width:38px;height:38px;flex-basis:38px;margin-top:18px;border-radius:50%;color:#fff;background:#1769d2;font-size:12px;box-shadow:0 2px 8px rgba(16,50,84,.18)}
.line-style .sender{margin:0 4px 5px;color:#526679;font-size:11px;font-weight:700}.line-style .bubble{position:relative;padding:12px 15px;border:0;border-radius:5px 18px 18px 18px;color:#1c2c3d;background:#fff;font-size:14px;line-height:1.7;box-shadow:0 2px 7px rgba(25,52,75,.13)}
.line-style .company .bubble{border:0;border-radius:18px 5px 18px 18px;color:#132516;background:#8de06a}
.line-style .message-meta{display:block;margin-top:4px;color:#536b7d;font-size:10px;font-weight:500}.line-style .company .message-meta{text-align:right}
.line-style .typing-bubble{margin-top:18px;border:0;border-radius:5px 18px 18px 18px;box-shadow:0 2px 7px rgba(25,52,75,.13)}
.line-style .result-card{margin-left:50px;border:0;border-radius:16px;box-shadow:0 3px 12px rgba(25,52,75,.15)}
.line-style .progress-track span{background:#06c755}.line-style .demo-controls{background:#fff}.line-style .control-buttons button{min-height:34px;font-size:11px}.line-style .demo-caption{padding:4px 18px 14px;color:#66778a;font-size:11px;line-height:1.6;text-align:left}

.gsrc-service-gateway article{--service-accent:#1769d2;--service-soft:#edf5ff}.gsrc-service-gateway article.is-development{--service-accent:#16866f;--service-soft:#edf8f4}.gsrc-service-gateway article.is-training{--service-accent:#c77a17;--service-soft:#fff6e5}
.gsrc-service-visual{height:172px;padding:24px!important;display:flex!important;align-items:stretch!important;justify-content:space-between!important;flex-direction:column;color:#173150!important;background:var(--service-soft)!important}
.gsrc-service-visual>small{color:var(--service-accent);font-size:12px;font-weight:850;letter-spacing:.04em}
.gsrc-service-steps{position:relative;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;list-style:none}.gsrc-service-steps::before{content:"";position:absolute;left:12%;right:12%;top:50%;height:2px;background:color-mix(in srgb,var(--service-accent) 30%,white)}
.gsrc-service-steps li{position:relative;z-index:1;min-height:46px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--service-accent) 35%,white);border-radius:12px;color:var(--service-accent);background:#fff;font-size:12px;font-weight:850;box-shadow:0 7px 18px rgba(18,67,112,.07)}.gsrc-service-steps li:last-child{color:#fff;background:var(--service-accent);border-color:var(--service-accent)}

.article-inline-trial{border-color:#8eb9e8;background:linear-gradient(135deg,#fff 0%,#f4f9ff 100%);box-shadow:0 12px 32px rgba(20,92,169,.08)}.article-inline-trial small{color:#1167c9}
.article-side-cta,.sticky-like-cta{border-color:#78ace3!important}.article-side-cta::after,.sticky-like-cta::after{border-color:rgba(57,139,222,.34);animation:trialSignalCalm 1.8s ease-in-out infinite alternate}
@keyframes trialSignalCalm{from{opacity:.16;transform:scale(.996)}to{opacity:.72;transform:scale(1.008)}}

@media(max-width:900px) and (min-width:641px){.gsrc-service-gateway article{grid-template-columns:210px 1fr}.gsrc-service-visual{width:210px;height:100%;min-height:230px;margin:0 0 -26px -26px}.gsrc-service-steps{grid-template-columns:1fr;gap:10px}.gsrc-service-steps::before{left:50%;right:auto;top:12%;bottom:12%;width:2px;height:auto}}
@media(max-width:640px){.gsrc-service-visual{width:auto;height:142px;min-height:0;margin:0 -20px 22px}.line-style .chat-area{min-height:520px;padding:18px 13px}.line-style .message-body{max-width:84%}.line-style .bubble{font-size:13px}.line-style .window-person small{font-size:10px}.line-style .secure-label{padding:6px 8px;font-size:10px}.line-style .demo-caption{font-size:10px}}
@media(prefers-reduced-motion:reduce){.article-side-cta::after,.sticky-like-cta::after{animation:none!important}}

/* 2026-09-04 final responsive and interaction corrections. */
.gzen-brand-switcher--zen{min-width:224px}.gzen-brand-switcher--zen>summary{min-height:54px;gap:8px}.gzen-brand-switcher--zen>summary>.gzen-brand{min-width:0;padding:0}.gzen-brand-switcher--zen>summary>.gzen-brand>span{min-width:0}.gzen-brand-switcher--zen>summary>.gzen-brand b{white-space:nowrap}.gzen-brand-switcher--zen>summary>.gzen-brand+span{flex:0 0 auto}
.rental-flow>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.rental-flow article{min-height:240px;padding:22px 16px;border:1px solid #d8e4ef;background:#fff;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.rental-flow article:nth-child(5){animation-delay:8s}.rental-flow article:nth-child(6){animation-delay:10s}.rental-flow article:nth-child(3n)>b{display:none}.rental-flow article:hover{transform:translateY(-5px);border-color:#8db8e6;box-shadow:0 18px 38px -28px rgba(13,84,163,.72)}
.rental-tools>div span{overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.rental-tools>div span:hover{transform:translateY(-3px);border-color:#91b9e4;box-shadow:0 15px 30px -24px rgba(16,85,159,.7)}.rental-tools>div span img{width:42px;height:42px;flex:0 0 42px;padding:4px;display:block;object-fit:contain;border-radius:9px;background:#fff}.rental-tools>aside{text-align:left}.rental-compare-note{margin:18px 0 0;color:#63768a;font-size:12px;line-height:1.75;text-align:center}
.column-pagination{margin:34px auto 0;display:flex!important;align-items:center;justify-content:center;gap:8px!important}.column-pagination a,.column-pagination b{min-width:42px;height:42px;padding:0 13px;display:grid;place-items:center;border:1px solid #cddceb;border-radius:9px;color:#145fbc;background:#fff;font-size:13px;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.column-pagination b{color:#fff;border-color:#1569d2;background:#1569d2}.column-pagination a:hover{transform:translateY(-2px);border-color:#80afe1;background:#f3f8ff;box-shadow:0 10px 24px -19px rgba(15,82,160,.75)}.column-pagination a:active{transform:translateY(1px) scale(.98)}
.news-filter a,.news-filter button,.important-news,.news-list>a,.news-list nav a{transition:transform .2s ease,color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.news-filter a:hover{color:#1164c9;background:#f2f7fd}.news-filter button:hover{transform:translateY(-2px);background:#0e5fc3;box-shadow:0 10px 22px -16px rgba(13,82,162,.8)}.news-filter button:active{transform:translateY(1px) scale(.98)}.important-news{border:1px solid transparent;border-radius:12px}.important-news:hover{transform:translateY(-3px);border-color:#a8c9ec;background:#f4f9ff;box-shadow:0 16px 34px -27px rgba(12,73,144,.72)}.important-news i,.news-list>a i{transition:transform .2s ease}.important-news:hover i,.news-list>a:hover i{transform:translateX(5px)}.news-list>a{border-radius:10px}.news-list>a:hover{padding-right:24px;padding-left:36px;background:#f5f9fe}.news-list>a:active{transform:scale(.994)}.news-list nav a{padding:7px 11px;border-radius:8px}.news-list nav a:hover{transform:translateY(-2px);background:#edf5ff}
.article-mag-layout--reference .article-mag-sidebar{position:relative;top:auto;max-height:none;overflow:visible}.article-mag-layout--reference .article-mag-sidebar>div{position:sticky;top:92px;max-height:calc(100vh - 108px);display:flex;flex-direction:column;gap:12px;overflow:hidden}.article-mag-layout--reference .article-mag-sidebar .article-toc{min-height:0;max-height:min(42vh,360px);padding:16px 17px;overflow-y:auto}.article-mag-layout--reference .article-mag-sidebar .article-toc>b{margin-bottom:8px;font-size:16px}.article-mag-layout--reference .article-mag-sidebar .article-toc a{margin:1px -6px;padding:7px 6px;font-size:11px;line-height:1.45}.article-mag-layout--reference .article-side-cta{flex:0 0 auto;padding:17px}.article-mag-layout--reference .article-side-cta>b{margin-top:6px;font-size:16px;line-height:1.45}.article-mag-layout--reference .article-side-cta p{margin:7px 0;font-size:10px;line-height:1.55}.article-mag-layout--reference .article-side-cta a{min-height:42px}.article-side-cta::after,.sticky-like-cta::after{inset:-4px}
.gallery-request-page{color:#142d4a;background:#fff}.gallery-request-hero{width:min(1180px,calc(100% - 48px));margin:42px auto 0;padding:72px;position:relative;overflow:hidden;border:1px solid #d5e5f1;border-radius:24px;background:linear-gradient(135deg,#f7fbff,#fff 60%,#effaf7)}.gallery-request-hero::after{content:"REQUEST";position:absolute;right:-20px;bottom:-42px;color:rgba(18,105,210,.05);font-size:110px;font-weight:950;letter-spacing:-.06em}.gallery-request-hero>*{position:relative;z-index:1}.gallery-request-hero h1{max-width:760px;margin:12px 0 18px;font-size:clamp(38px,5vw,62px);line-height:1.3}.gallery-request-hero>p:not(.eyebrow){max-width:720px;color:#536b81;font-size:17px;line-height:1.9}.gallery-request-hero .primary-button{margin-top:16px}.gallery-request-guide,.gallery-request-difference,.gallery-request-final{width:min(1060px,calc(100% - 48px));margin:72px auto}.gallery-request-guide>header{text-align:center}.gallery-request-guide>header h2{margin:8px 0;font-size:32px}.gallery-request-guide>header small{color:#13856d;font-weight:900}.gallery-request-guide>ol{margin:34px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none}.gallery-request-guide li{padding:26px;border:1px solid #d4e3ef;border-radius:15px;background:#fff;box-shadow:0 12px 32px -27px rgba(10,62,119,.55);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.gallery-request-guide li:hover{transform:translateY(-4px);border-color:#91bae4;box-shadow:0 20px 38px -28px rgba(10,71,145,.7)}.gallery-request-guide li span{color:#1769d2;font-weight:900}.gallery-request-guide li b{display:block;margin:12px 0 6px;font-size:19px}.gallery-request-guide li p{margin:0;color:#60758a;font-size:13px;line-height:1.75}.gallery-request-guide aside{margin-top:22px;padding:18px 20px;border-left:4px solid #d69735;background:#fff8eb}.gallery-request-guide aside p{margin:5px 0 0;color:#685e4d;font-size:13px}.gallery-request-difference{display:grid;grid-template-columns:1fr 1fr;gap:18px}.gallery-request-difference article{padding:34px;border:1px solid #d5e3ef;border-radius:17px;background:#fff}.gallery-request-difference article:last-child{background:#f1f7ff}.gallery-request-difference small{color:#1769d2;font-weight:900}.gallery-request-difference h2{margin:9px 0;font-size:25px}.gallery-request-difference p{color:#596e83;line-height:1.8}.gallery-request-difference a{color:#1266c9;font-weight:900;text-decoration:none}.gallery-request-final{padding:34px 40px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-radius:18px;color:#fff;background:#0f3767}.gallery-request-final small{color:#9bc7f6;font-weight:900}.gallery-request-final h2{margin:5px 0;font-size:26px}.gallery-request-final a{padding:15px 24px;border-radius:9px;color:#12345c;background:#fff;font-weight:900;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.gallery-request-final a:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.18)}
@media(max-width:900px){.rental-flow>div{grid-template-columns:repeat(2,minmax(0,1fr))}.rental-flow article:nth-child(3n)>b{display:block}.rental-flow article:nth-child(2n)>b{display:none}.article-mag-layout--reference .article-mag-sidebar{display:none}.gallery-request-guide>ol{grid-template-columns:1fr}.gallery-request-difference{grid-template-columns:1fr}}
@media(max-width:640px){.gzen-brand-switcher--zen{min-width:0}.gzen-brand-switcher--zen>summary{min-height:48px}.gzen-brand-switcher--zen>summary>.gzen-brand{max-width:180px}.gzen-brand-switcher--zen>summary>.gzen-brand b{font-size:14px}.gzen-brand-switcher--zen>summary>.gzen-brand small{font-size:9px}.rental-flow>div{grid-template-columns:1fr}.rental-flow article{min-height:0}.rental-flow article>b{display:none!important}.rental-tools>div{grid-template-columns:1fr 1fr}.rental-tools>div span{min-height:84px;flex-direction:column;justify-content:center;text-align:center}.rental-price{width:100%}.rental-price strong{font-size:52px}.column-pagination{flex-wrap:wrap}.column-pagination a,.column-pagination b{min-width:38px;height:38px;padding:0 10px}.news-list>a:hover{padding-right:4px;padding-left:4px}.gallery-request-hero{width:calc(100% - 24px);margin-top:18px;padding:40px 22px;border-radius:17px}.gallery-request-hero h1{font-size:34px}.gallery-request-hero>p:not(.eyebrow){font-size:15px}.gallery-request-guide,.gallery-request-difference,.gallery-request-final{width:calc(100% - 28px);margin:48px auto}.gallery-request-guide>header h2{font-size:25px}.gallery-request-difference article{padding:24px}.gallery-request-final{padding:26px 22px;align-items:stretch;flex-direction:column}.gallery-request-final h2{font-size:22px}.gallery-request-final a{text-align:center}}
@media(prefers-reduced-motion:reduce){.rental-flow article,.rental-tools>div span,.column-pagination a,.news-filter a,.news-filter button,.important-news,.news-list>a,.news-list>a i,.gallery-request-guide li,.gallery-request-final a{animation:none!important;transition:none!important;transform:none!important}}


/* G-Support consultation flow and shared column covers. */
.gsrc-consult-card > h2 {
  text-wrap: balance;
  word-break: keep-all;
}
.gsrc-column-image {
  height: auto;
  min-height: 150px;
  aspect-ratio: 16 / 10;
  margin-bottom: 0;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(12,42,78,.08);
  transition: transform .2s ease, box-shadow .2s ease;
}
.gsrc-column-image .column-cover {
  height: 100%;
  min-height: 0;
  border-radius: inherit;
}
.gsrc-column-image .column-cover-brand__logo {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  object-fit: cover;
}
.gsrc-column-image .column-cover-copy { max-width: 94%; }
.gsrc-column-image .column-cover-copy strong { font-size: clamp(14px,1.15vw,18px); }
.gsrc-column-image:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(12,42,78,.14);
}
.gsrc-column-meta {
  margin-top: 12px;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 6px;
}
.gsrc-column-meta small { font-size: 12px !important; }
.gsrc-column-meta a {
  color: var(--gs-blue,var(--gsrc-blue,#1769d2));
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}
.gsrc-column-meta a span {
  display: inline-block;
  transition: transform .18s ease;
}
.gsrc-column-meta a:hover span { transform: translateX(4px); }

@media (max-width:760px) {
  .gsrc-consult-flow > div {
    grid-template-columns: 92px minmax(0,1fr);
    column-gap: 18px;
  }
  .gsrc-consult-flow > div > span {
    width: 92px !important;
    height: 92px !important;
  }
  .gsrc-consult-flow b,
  .gsrc-consult-flow small {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .gsrc-column-image { min-height: 180px; }
  .gsrc-column-image .column-cover-copy strong { font-size: 17px; }
}

@media (prefers-reduced-motion:reduce) {
  .gsrc-column-image,
  .gsrc-column-meta a span {
    transition: none !important;
    transform: none !important;
  }
}


/* The imported WordPress fidelity sheet uses a more specific five-column rule.
   Match that specificity so product names stay readable on tablet and mobile. */
@media(max-width:1000px){.rental-lp-v3 .rental-tools>div{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.rental-lp-v3 .rental-tools>div{grid-template-columns:1fr 1fr}.rental-lp-v3 .rental-tools>div span{overflow:visible;min-width:0;word-break:normal;overflow-wrap:anywhere}}
#supported-tools{scroll-margin-top:90px}
