/* Sollevante emergency global layout audit — 2026-09-11.
 * Applies the permanent grid, category header and typography rules without
 * changing approved copy, imagery, HERO media or WORKS content.
 */
:root {
  --sol-container-max: 1320px;
  --sol-reading-max: 1080px;
  --sol-page-padding-pc: 60px;
  --sol-page-padding-sp: 20px;
  --sol-section-space-xl: 96px;
  --sol-section-space-md: 72px;
  --sol-global-grid-gap: 18px;
  --sol-global-card-gap: 16px;
  --sol-global-radius: 2px;
  --sol-global-heading-gap: 18px;
}

#sol-wrap,
#sol-wrap * { box-sizing: border-box; }

#sol-wrap #sol-header .sol-nav a,
#sol-wrap #sol-header .sol-contact-btn {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}

#sol-wrap #sol-header .sol-nav a { padding: 8px 6px; }

/* 03 / CO-CREATION: one editorial unit with a balanced two-column reading flow. */
#sol-wrap .sol-answer-cocreation {
  padding: 80px var(--sol-page-padding-pc) 88px;
}

#sol-wrap .sol-answer-cocreation-inner {
  display: block;
  max-width: var(--sol-reading-max);
}

#sol-wrap .sol-answer-cocreation header {
  position: static;
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: 40px 64px;
  align-items: end;
  margin-bottom: 44px;
  padding-bottom: 34px;
  border-bottom: 1px solid #bad2d1;
}

#sol-wrap .sol-answer-cocreation header .sol-editorial-kicker {
  grid-column: 1 / -1;
  margin-bottom: -16px;
}

#sol-wrap .sol-answer-cocreation h3 { margin: 0; }

#sol-wrap .sol-answer-cocreation header > p:last-child {
  max-width: 460px;
  margin: 0;
}

#sol-wrap .sol-answer-cocreation-body {
  max-width: none;
  columns: 2;
  column-gap: 64px;
  column-rule: 1px solid rgba(0, 127, 131, .16);
}

#sol-wrap .sol-answer-cocreation-body > p,
#sol-wrap .sol-answer-cocreation-body blockquote,
#sol-wrap .sol-answer-cocreation-body ul,
#sol-wrap .sol-answer-cocreation-body nav {
  break-inside: avoid;
}

#sol-wrap .sol-answer-cocreation-body > p:first-child { margin-top: 0; }
#sol-wrap .sol-answer-cocreation-lead,
#sol-wrap .sol-answer-cocreation-emphasis { margin: 1.6em 0 !important; }
#sol-wrap .sol-answer-elements { margin: 28px 0; }

/* Common chapter-header geometry for the PC view. */
@media (min-width: 1001px) {
  #sol-wrap #sol-design-style .sol-ds-banner,
  #sol-wrap .sol-service-banner,
  #sol-wrap #sol-works .sol-wk-banner,
  #sol-wrap #sol-philosophy.sol-category-banner .sol-pb-banner,
  #sol-wrap .sol-category-banner.sol-sv-banner,
  #sol-wrap .sol-category-banner.sol-ab-banner,
  #sol-wrap .sol-category-banner.sol-jn-banner,
  #sol-wrap .sol-category-banner.sol-ct-banner {
    height: 280px !important;
    min-height: 280px !important;
  }
}

#sol-wrap #sol-works { padding-top: 0 !important; }
#sol-wrap #sol-philosophy.sol-category-banner { padding: 0 !important; }
#sol-wrap #sol-ph-values { padding-top: 0 !important; }

/* Shared outer baseline. Full-bleed photographs remain full width. */
#sol-wrap #sol-design-style .sol-ds-wrap,
#sol-wrap #sol-services .sol-s2-inner,
#sol-wrap #sol-works .sol-wk-cat-inner,
#sol-wrap #sol-ph-values .sol-pv-inner,
#sol-wrap #sol-method > .sol-cm-wrap,
#sol-wrap #sol-about > div,
#sol-wrap #sol-journal .sol-jn-wrap,
#sol-wrap #sol-access > div {
  width: 100% !important;
  max-width: calc(var(--sol-container-max) + (var(--sol-page-padding-pc) * 2)) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: var(--sol-page-padding-pc) !important;
  padding-left: var(--sol-page-padding-pc) !important;
}

#sol-wrap #sol-shop.sol-shop-v2 .sol-shop-v2-inner {
  width: calc(100% - (var(--sol-page-padding-pc) * 2)) !important;
  max-width: var(--sol-container-max) !important;
}

#sol-wrap #sol-method,
#sol-wrap #sol-about,
#sol-wrap #sol-journal,
#sol-wrap #sol-contact,
#sol-wrap #sol-access { scroll-margin-top: 72px; }

#sol-wrap #sol-journal .sol-jn-leaf {
  right: max(0px, calc((100vw - var(--sol-container-max)) / 2));
  max-width: min(420px, 34vw);
}

/* Category numbers and English titles share one restrained scale. */
#sol-wrap .sol-ds-bnum,
#sol-wrap .sol-wk-num,
#sol-wrap .sol-pb-num,
#sol-wrap .sol-sv-num,
#sol-wrap .sol-ab-num,
#sol-wrap .sol-jn-num,
#sol-wrap .sol-ct-num,
#sol-wrap .sol-emergency-number,
#sol-wrap #sol-access .sol-sec-num {
  font-family: Didot, 'Bodoni 72', 'Playfair Display', serif !important;
  font-size: 48px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

#sol-wrap .sol-wk-title,
#sol-wrap .sol-pb-title,
#sol-wrap .sol-sv-title,
#sol-wrap .sol-ab-title,
#sol-wrap .sol-jn-title,
#sol-wrap .sol-ct-title,
#sol-wrap #sol-access .sol-sec-en,
#sol-wrap .sol-emergency-title {
  font-family: 'Cormorant Garamond', 'Noto Serif JP', serif !important;
  font-size: 30px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  letter-spacing: .12em !important;
}

/* 12 / HOME CONCIERGE */
#sol-wrap #sol-home-concierge {
  padding: 88px var(--sol-page-padding-pc) 96px;
  color: #18333f;
  background: #edf4f2;
  font-family: 'Noto Sans JP', sans-serif;
  scroll-margin-top: 72px;
}

#sol-wrap .sol-emergency-concierge-inner {
  width: 100%;
  max-width: var(--sol-container-max);
  margin: 0 auto;
}

#sol-wrap .sol-emergency-heading {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px 24px;
  align-items: center;
  margin-bottom: 48px;
}

#sol-wrap .sol-emergency-heading::after {
  grid-column: 1 / -1;
  width: 72px;
  height: 1px;
  background: #009e9e;
  content: '';
}

#sol-wrap .sol-emergency-heading p {
  grid-column: 1 / -1;
  margin: 0;
  color: #31484e;
  font: 500 26px/1.6 'Noto Serif JP', serif;
}

#sol-wrap .sol-emergency-concierge-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr);
  gap: 64px;
  align-items: center;
}

#sol-wrap .sol-emergency-concierge-copy { max-width: 660px; }
#sol-wrap .sol-emergency-concierge-copy h3 {
  margin: 0 0 24px;
  font: 500 28px/1.55 'Noto Serif JP', serif;
}
#sol-wrap .sol-emergency-concierge-copy p {
  margin: 0 0 18px;
  color: #405359;
  font-size: 15px;
  line-height: 1.95;
}
#sol-wrap .sol-emergency-concierge-records {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin: 30px 0;
  padding: 1px;
  background: #bad2d1;
  list-style: none;
}
#sol-wrap .sol-emergency-concierge-records li {
  padding: 13px 10px;
  background: #fff;
  color: #29464b;
  font-size: 13px;
  text-align: center;
}
#sol-wrap .sol-emergency-concierge-visual {
  min-height: 280px;
  margin: 0;
  overflow: hidden;
  background: #dce9e6;
}
#sol-wrap .sol-emergency-concierge-visual svg,
#sol-wrap .sol-emergency-concierge-visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
}
#sol-wrap .sol-emergency-note {
  margin: 42px 0 0;
  padding-top: 20px;
  color: #637479;
  border-top: 1px solid #c4d7d4;
  font-size: 11px;
  line-height: 1.85;
}

/* CONTACT header already communicates the category; suppress the duplicate title only. */
#sol-wrap #sol-contact .sol-sec-hd { display: none !important; }
#sol-wrap #sol-contact > div > .sol-body { margin-top: 0 !important; }

/* 15 / FOOTER */
#sol-wrap #sol-footer { position: relative; }
#sol-wrap #sol-footer .sol-footer-index {
  grid-column: 1 / -1;
  margin: 0 0 4px;
  color: rgba(255,255,255,.72);
  font: 500 13px/1.2 'Cormorant Garamond', serif;
  letter-spacing: .18em;
}
#sol-wrap #sol-footer .sol-footer-index strong {
  margin-right: 12px;
  color: #009e9e;
  font: 400 30px/1 Didot, 'Bodoni 72', serif;
  letter-spacing: 0;
}

@media (max-width: 1000px) {
  #sol-wrap .sol-answer-cocreation-body { column-gap: 40px; }
  #sol-wrap .sol-emergency-concierge-layout { grid-template-columns: 1fr 1fr; gap: 40px; }
}

@media (max-width: 700px) {
  #sol-wrap #sol-header .sol-nav a { width: 100%; padding: 10px 20px; }
  #sol-wrap .sol-answer-cocreation { padding: 56px var(--sol-page-padding-sp) 64px; }
  #sol-wrap .sol-answer-cocreation header {
    display: block;
    margin-bottom: 32px;
    padding-bottom: 28px;
  }
  #sol-wrap .sol-answer-cocreation header .sol-editorial-kicker { margin-bottom: 18px; }
  #sol-wrap .sol-answer-cocreation h3 { margin-bottom: 14px; }
  #sol-wrap .sol-answer-cocreation-body { columns: 1; }

  #sol-wrap #sol-design-style .sol-ds-wrap,
  #sol-wrap #sol-services .sol-s2-inner,
  #sol-wrap #sol-works .sol-wk-cat-inner,
  #sol-wrap #sol-ph-values .sol-pv-inner,
  #sol-wrap #sol-method > .sol-cm-wrap,
  #sol-wrap #sol-about > div,
  #sol-wrap #sol-journal .sol-jn-wrap,
  #sol-wrap #sol-access > div {
    padding-right: var(--sol-page-padding-sp) !important;
    padding-left: var(--sol-page-padding-sp) !important;
  }

  #sol-wrap #sol-shop.sol-shop-v2 .sol-shop-v2-inner {
    width: calc(100% - (var(--sol-page-padding-sp) * 2)) !important;
  }

  #sol-wrap #sol-design-style .sol-ds-wrap,
  #sol-wrap #sol-services .sol-s2-inner { padding-top: 52px !important; }

  #sol-wrap .sol-service-banner {
    height: 360px !important;
    min-height: 360px !important;
  }
  #sol-wrap .sol-service-banner .sol-sv-banner-bg { height: 140px !important; }
  #sol-wrap .sol-service-banner .sol-sv-content {
    height: 220px !important;
    min-height: 220px !important;
    padding: 20px var(--sol-page-padding-sp) !important;
    overflow: hidden !important;
  }
  #sol-wrap .sol-service-banner .sol-sv-body { display: none !important; }
  #sol-wrap .sol-service-banner .sol-sv-headline {
    max-width: 250px !important;
    font-size: 21px !important;
    line-height: 1.65 !important;
  }

  #sol-wrap #sol-philosophy.sol-category-banner .sol-pb-banner {
    height: 360px !important;
    min-height: 360px !important;
    overflow: hidden !important;
  }
  #sol-wrap #sol-philosophy.sol-category-banner .sol-pb-banner-bg {
    position: relative !important;
    height: 140px !important;
  }
  #sol-wrap #sol-philosophy.sol-category-banner .sol-pb-content {
    position: relative !important;
    width: 100% !important;
    height: 220px !important;
    padding: 20px var(--sol-page-padding-sp) !important;
    background: rgba(246,245,242,.96) !important;
  }
  #sol-wrap #sol-philosophy.sol-category-banner .sol-pb-body { display: none !important; }

  #sol-wrap #sol-journal .sol-jn-leaf {
    right: 0;
    width: 100%;
    max-width: 100%;
  }

  #sol-wrap .sol-ds-bnum,
  #sol-wrap .sol-wk-num,
  #sol-wrap .sol-pb-num,
  #sol-wrap .sol-sv-num,
  #sol-wrap .sol-ab-num,
  #sol-wrap .sol-jn-num,
  #sol-wrap .sol-ct-num,
  #sol-wrap .sol-emergency-number,
  #sol-wrap #sol-access .sol-sec-num { font-size: 36px !important; }

  #sol-wrap .sol-wk-title,
  #sol-wrap .sol-pb-title,
  #sol-wrap .sol-sv-title,
  #sol-wrap .sol-ab-title,
  #sol-wrap .sol-jn-title,
  #sol-wrap .sol-ct-title,
  #sol-wrap #sol-access .sol-sec-en,
  #sol-wrap .sol-emergency-title { font-size: 24px !important; }

  #sol-wrap #sol-home-concierge { padding: 64px var(--sol-page-padding-sp) 72px; }
  #sol-wrap .sol-emergency-heading {
    gap: 12px 16px;
    margin-bottom: 34px;
  }
  #sol-wrap .sol-emergency-heading p { font-size: 22px; }
  #sol-wrap .sol-emergency-concierge-layout { grid-template-columns: 1fr; gap: 36px; }
  #sol-wrap .sol-emergency-concierge-copy h3 { font-size: 23px; }
  #sol-wrap .sol-emergency-concierge-copy p { font-size: 15px; }
  #sol-wrap .sol-emergency-concierge-records { grid-template-columns: repeat(2, 1fr); }
  #sol-wrap .sol-emergency-concierge-visual,
  #sol-wrap .sol-emergency-concierge-visual svg,
  #sol-wrap .sol-emergency-concierge-visual img { min-height: 220px; }
  #sol-wrap #sol-footer { padding-right: var(--sol-page-padding-sp) !important; padding-left: var(--sol-page-padding-sp) !important; }
  #sol-wrap #sol-footer > div:first-child { grid-template-columns: 1fr !important; gap: 28px !important; }
}
