/* The home is a reading gateway; full guides live on linked pages. */
.portal .project-bottom { grid-template-columns: 1fr; }
.portal .identity-preview { grid-template-columns: minmax(130px,.45fr) 1fr; gap: clamp(30px,5vw,80px); padding: 32px 48px; }
.portal .identity-preview-art { max-width: 240px; }
.portal .identity-preview p { max-width: 640px; }
.portal .method-item p { margin-bottom: 26px; }
.portal .method-item h3 { font-size: clamp(21px,2vw,28px); line-height: 1.5; }
.service-overview { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; border-top: 1px solid var(--line); }
.service-overview>a { padding: 32px 24px 4px; border-right: 1px solid var(--line); }
.service-overview>a:first-child { padding-left: 0; }
.service-overview>a:last-child { padding-right: 0; border-right: 0; }
.service-overview h3 { font-size: clamp(20px,1.7vw,25px); line-height: 1.55; margin: 22px 0 16px; letter-spacing: -.04em; }
.service-overview h3 span { font-size: 16px; color: var(--blue); white-space: nowrap; }
.service-overview p { color: var(--ink-soft); font-size: 14px; line-height: 1.95; margin: 0; }
.service-overview>a:hover h3 { color: var(--blue); }
.essay-archive-link { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 28px 0 4px; color: var(--lime); font-size: 14px; }
.essay-archive-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.portal .contact-summary { min-height: 0; }
.contact-summary .inner { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: clamp(35px,6vw,90px); }
.contact-summary h2 { font-size: clamp(42px,5vw,72px); }
.contact-invitation p { max-width: 470px; font-size: 16px; line-height: 1.95; margin: 0 0 28px; }
.contact-invitation small { display: block; font-size: 12px; margin-top: 20px; }
@media (max-width: 1100px) {
  .service-overview { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-overview>a { padding: 28px; }
  .service-overview>a:nth-child(even) { border-right: 0; padding-right: 0; }
  .service-overview>a:nth-child(odd) { padding-left: 0; }
  .service-overview>a:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media (max-width: 800px) {
  .contact-summary .inner { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .portal .identity-preview { grid-template-columns: 1fr; padding: 28px; gap: 22px; }
  .portal .identity-preview-art { max-width: 230px; padding: 5px 0; }
  .service-overview { grid-template-columns: 1fr; }
  .service-overview>a:nth-child(n) { padding: 25px 0; border-right: 0; border-bottom: 1px solid var(--line); border-top: 0; }
  .service-overview>a:last-child { padding-bottom: 0; border-bottom: 0; }
  .service-overview h3 { display: flex; justify-content: space-between; gap: 16px; font-size: 24px; margin: 12px 0; }
  .portal .method-item h3 { margin: 20px 0 14px; font-size: 25px; }
  .portal .method-list { margin-top: 36px; }
  .portal .method-item { padding: 30px 0; }
  .contact-invitation p { font-size: 15px; }
}
@media print {
  .service-overview { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-overview>a { padding: 20px; }
  .essay-archive-link { color: black; }
}
