body{margin:0}

body {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: auto;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: auto !important;
  box-sizing: border-box;
}
/* Drop any inline grid-row placements that leave empty rows behind —
   sections always auto-flow vertically, only their column placement
   is user-controlled. */
body > * {
  min-width: 0; min-height: 0;
  grid-column: 1 / -1;
  grid-row: auto !important;
  max-width: 100%;
}
/* Media never overflows its container on a narrow viewport. */
body img, body video, body iframe, body svg {
  max-width: 100%;
  height: auto;
}
/* Mirrors the editor preview's mobile chrome (page_editor_controller.js
   GRID_CSS @media block) so what the owner sees in the iframe is what
   phone visitors see. The corpus's per-section CSS rarely ships its own
   mobile rules; these blanket overrides — !important so they win over
   the section-scoped class declarations — keep typography readable,
   padding sane, and inner grids / flex rows collapsed to a single
   column under 768px. */
@media (max-width: 768px) {
  body {
    grid-template-columns: 1fr !important;
  }
  body > * {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }
  body > section {
    padding-left:  clamp(14px, 4vw, 28px) !important;
    padding-right: clamp(14px, 4vw, 28px) !important;
    padding-top:    clamp(28px, 7vw, 56px) !important;
    padding-bottom: clamp(28px, 7vw, 56px) !important;
  }
  body > section h1 {
    font-size: clamp(26px, 8vw, 40px) !important;
    line-height: 1.15 !important;
    word-wrap: break-word;
  }
  body > section h2 {
    font-size: clamp(22px, 6.5vw, 32px) !important;
    line-height: 1.2 !important;
  }
  body > section h3 {
    font-size: clamp(18px, 5vw, 24px) !important;
    line-height: 1.25 !important;
  }
  body > section[style*="grid"],
  body > section {
    grid-template-columns: 1fr !important;
  }
  body > section [style*="display: flex"],
  body > section [style*="display:flex"] {
    flex-wrap: wrap !important;
  }
}

.about-portrait-side-1 {
    padding:64px 24px;
    background:#FBF6F1;
    font-family:system-ui,sans-serif;
    color:#3A2A23;
  }
  .about-portrait-side-2 {
    max-width:920px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:36px;
    align-items:center;
  }
  .about-portrait-side-3 {
    aspect-ratio:1;
    background:linear-gradient(135deg,#D6BFAE,#9A6F60);
    border-radius:50%;
  }
  .about-portrait-side-4 {
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:11px;
    color:#9A6F60;
    margin:0 0 10px;
  }
  .about-portrait-side-5 {
    font-size:30px;
    margin:0 0 14px;
    font-family:Georgia,serif;
    letter-spacing:-.01em;
  }
  .about-portrait-side-6 {
    color:#7A5C52;
    line-height:1.7;
    margin:0 0 14px;
  }
  .about-portrait-side-7 {
    color:#7A5C52;
    line-height:1.7;
    margin:0;
  }

.about-team-mission-1 {
    padding:80px 24px;
    background:#fff;
    font-family:system-ui,sans-serif;
    color:#1B1B1B;
    text-align:center;
  }
  .about-team-mission-2 {
    max-width:720px;
    margin:0 auto 40px;
  }
  .about-team-mission-3 {
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:11px;
    color:#888;
    margin:0 0 14px;
  }
  .about-team-mission-4 {
    font-size:34px;
    line-height:1.2;
    margin:0 0 16px;
    letter-spacing:-.01em;
  }
  .about-team-mission-5 {
    color:#666;
    line-height:1.7;
    margin:0;
    font-size:16px;
  }
  .about-team-mission-6 {
    max-width:760px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:20px;
    border-top:1px solid #eee;
    padding-top:32px;
  }
  .about-team-mission-7 {
    font-size:30px;
    font-weight:600;
    letter-spacing:-.02em;
  }
  .about-team-mission-8 {
    color:#888;
    font-size:13px;
  }

.footer-credits-1 {
    padding:36px 24px;
    background:#FAFAF7;
    color:#888;
    font-family:system-ui,sans-serif;
    font-size:13px;
    text-align:center;
    border-top:1px solid #eee;
  }
  .footer-credits-2 {
    max-width:680px;
    margin:0 auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
  }
  .footer-credits-3 {
    color:#888;
    text-decoration:none;
    margin:0 10px;
  }