:root {
  --gutter:clamp(20px,4vw,80px);
  font-family:'Manrope',sans-serif;
  font-synthesis:none;
  text-rendering:optimizeLegibility;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:#252b2b; }
body { margin:0; min-width:320px; }
body,button,a { font-family:inherit; }
a { color:inherit; text-decoration:none; }
button { border:0; cursor:pointer; }
img { display:block; max-width:100%; }
::selection { color:#f1f2ec; background:#405c49; }
.kicker { margin:0; font:11px/1.5 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.text-link { font-size:14px; font-weight:600; border-bottom:1px solid; padding-bottom:3px; color:var(--deep-sage); }
.case-body { padding-top:clamp(40px,5vw,72px); }
.case-section { display:grid; grid-template-columns:minmax(130px,.32fr) minmax(0,1fr); gap:clamp(24px,4vw,60px); padding:clamp(32px,4vw,56px) 0; border-top:1px solid var(--line); }
.case-section>div { min-width:0; }
.folder-document h4 { margin:0; font:400 clamp(30px,3.2vw,44px)/1.08 'Instrument Serif',Georgia,serif; letter-spacing:-.01em; }
.folder-document h5 { margin:30px 0 12px; font:600 clamp(21px,2vw,28px)/1.25 'Manrope',sans-serif; letter-spacing:-.025em; }
.folder-document h5:first-child { margin-top:0; }
.folder-document p { max-width:65ch; margin:0 0 18px; font-size:16px; line-height:1.8; color:var(--muted); }
.folder-document strong { color:var(--ink); }
.folder-document :is(figure,figure>a,.gcs-image-frame,.riftbound-image-frame),.folder-project-image,.folder-project-image figure {
  min-width:0; margin:0; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none;
}
.folder-document figure>a { display:block; }
.folder-project :is(.folder-project-image,.folder-document) img {
  display:block; width:100%; height:auto; max-height:none; object-fit:contain;
  padding:0; margin:0; background:transparent; border:0; border-radius:0; box-shadow:none;
}
.folder-project figcaption { margin:12px 0 0; font:13px/1.6 'Manrope',sans-serif; color:#aebbb1; }
.folder-project-image :is(.gcs-cover-image,.riftbound-cover-image) figcaption { display:none; }
.gcs-gallery,.riftbound-gallery,.off-rack-gallery,.real-estate-gallery,.diagram-set {
  display:grid; gap:28px 22px; margin:28px 0; min-width:0; align-items:start;
}
.gcs-gallery-split { grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr); }
.gcs-gallery-web,.riftbound-gallery-interface,.off-rack-gallery,.diagram-set { grid-template-columns:repeat(2,minmax(0,1fr)); }
.gcs-gallery-mobile { grid-template-columns:repeat(4,minmax(0,1fr)); }
.riftbound-gallery-map { grid-template-columns:repeat(3,minmax(0,1fr)); }
.off-rack-gallery-wide,.single-diagram .diagram-set { grid-template-columns:1fr; }
.gcs-interface-note { margin-top:44px !important; }
.design-decision { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:30px; padding:28px 0; border-top:1px solid var(--line); }
.design-decision:first-child { border-top:0; padding-top:0; }
.design-decision>div { min-width:0; }
.off-rack-sitemap { margin:28px 0 36px !important; }
.off-rack-journey { color:var(--ink) !important; }
.off-rack-details { margin:28px 0; border-block:1px solid var(--line); }
.off-rack-details summary { padding:18px 0; cursor:pointer; font-size:15px; }
.collection-list { display:grid; gap:56px; }
.collection-entry { padding-top:30px; border-top:1px solid var(--line); }
.collection-entry:first-child { padding-top:0; border:0; }
.collection-entry-head { display:flex; justify-content:space-between; align-items:start; gap:24px; }
.collection-entry-head .kicker { margin-bottom:12px; }
.collection-entry-head .text-link { flex-shrink:0; }
.collection-context { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:24px 0; }
.collection-context p,.diagram-annotation p { margin-top:8px; }
.diagram-annotation { max-width:65ch; }
.supplementary-media { margin-top:40px !important; }
@media(max-width:1000px) {
  .case-section { grid-template-columns:1fr; gap:24px; }
}
@media(max-width:700px) {
  .gcs-gallery-split,.gcs-gallery-web,.riftbound-gallery-map,.riftbound-gallery-interface,.off-rack-gallery,.diagram-set,.design-decision,.collection-context { grid-template-columns:1fr; }
  .gcs-gallery-mobile { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gcs-gallery-split .gcs-screen:last-child { width:65%; }
  .collection-entry-head { flex-direction:column; gap:16px; }
  .folder-document p { font-size:16px; }
  .folder-project figcaption { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}
