/* Guillermo Marin portfolio — V11 refinements layered over the preserved V10. */
html:has(body.gm-site-v11),
body.gm-site-v11 {
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
}

.gm-site-v11 :is(#page-container, #et-main-area, #main-content, main, .gm-divi-section, .gm-shell, .gm-signature-grid, .gm-signature-card, .gm-signature-media, .gm-case-body, .gm-case-media, .gm-case-graphic, .gm-embedded-stage) {
  min-width: 0;
  max-width: 100%;
}

.gm-site-v11 :is(img, video, iframe, svg) {
  max-width: 100%;
}

.gm-site-v11 .gm-v11-scores {
  color: var(--v10-paper);
  background: #17181a;
}

.gm-site-v11 .gm-v11-scores :is(h2, h3, strong) { color: var(--v10-paper); }
.gm-site-v11 .gm-v11-scores .gm-v10-intro > p,
.gm-site-v11 .gm-score-demo-copy p { color: #c5c3bd; }
.gm-site-v11 .gm-v11-scores .gm-kicker,
.gm-site-v11 .gm-score-demo-copy .gm-project-index { color: #9d9b95; }
.gm-site-v11 .gm-score-demo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.gm-site-v11 .gm-score-demo { min-width: 0; border: 1px solid #3a3b3d; background: #111214; }
.gm-site-v11 .gm-score-demo--lead { grid-column: 1 / -1; display: grid; grid-template-columns: 7fr 5fr; }
.gm-site-v11 .gm-score-demo .gm-embedded-stage { aspect-ratio: 16 / 9; }
.gm-site-v11 .gm-score-demo--lead .gm-embedded-stage { height: 100%; min-height: 440px; aspect-ratio: auto; }
.gm-site-v11 .gm-score-demo-copy { padding: clamp(24px, 4vw, 52px); }
.gm-site-v11 .gm-score-demo-copy h3 { margin: 0; font-size: clamp(1.8rem, 3.4vw, 3.8rem); font-weight: 520; letter-spacing: -.055em; line-height: .98; }
.gm-site-v11 .gm-score-demo-copy p:last-child { margin: 22px 0 0; line-height: 1.5; }

.gm-site-v11 .gm-worldcup-case .gm-case-graphic {
  min-height: min(700px, 62vw);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  gap: 36px;
  color: #fff;
  background: #174da4;
}
.gm-site-v11 .gm-worldcup-mark { display: flex; justify-content: space-between; align-items: center; gap: clamp(28px, 7vw, 100px); }
.gm-site-v11 .gm-worldcup-mark img { width: min(320px, 38%); height: auto; max-height: 190px; object-fit: contain; filter: brightness(0) invert(1); }
.gm-site-v11 .gm-worldcup-case .gm-case-graphic > p { margin: auto 0 0; font-size: clamp(1.2rem, 2vw, 2rem); text-transform: uppercase; }
.gm-site-v11 .gm-worldcup-case .gm-case-graphic > strong { max-width: 8ch; color: #fff; font-size: clamp(4.5rem, 11vw, 11rem); font-weight: 520; letter-spacing: -.08em; line-height: .78; }
.gm-site-v11 .gm-worldcup-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-inline: 1px solid #bbb7ae; }
.gm-site-v11 .gm-worldcup-summary article { min-width: 0; padding: clamp(32px, 5vw, 72px); border-bottom: 1px solid #bbb7ae; }
.gm-site-v11 .gm-worldcup-summary article + article { border-left: 1px solid #bbb7ae; }
.gm-site-v11 .gm-worldcup-summary h2 { margin: 0; font-size: clamp(2.2rem, 4.2vw, 4.8rem); font-weight: 520; letter-spacing: -.055em; line-height: .96; }
.gm-site-v11 .gm-worldcup-summary article > p:last-child { margin: 28px 0 0; font-size: 18px; line-height: 1.55; }
.gm-site-v11 .gm-worldcup-tournament { padding: clamp(60px, 8vw, 100px) 0; }
.gm-site-v11 .gm-worldcup-tournament-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid #aaa69d; }
.gm-site-v11 .gm-worldcup-tournament-grid p { min-width: 0; margin: 0; padding: clamp(28px, 4vw, 52px); }
.gm-site-v11 .gm-worldcup-tournament-grid p + p { border-left: 1px solid #aaa69d; }
.gm-site-v11 .gm-worldcup-tournament-grid strong,
.gm-site-v11 .gm-worldcup-tournament-grid span { display: block; }
.gm-site-v11 .gm-worldcup-tournament-grid strong { margin-bottom: 14px; font-size: clamp(1.7rem, 3vw, 3.2rem); font-weight: 520; letter-spacing: -.045em; line-height: 1; }
.gm-site-v11 .gm-worldcup-tournament-grid span { color: #5f5d57; line-height: 1.45; }
.gm-site-v11 .gm-case-context { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding: 32px 0; border-top: 1px solid #aaa69d; }
.gm-site-v11 .gm-case-context p { max-width: 900px; margin: 0; }
.gm-site-v11 .gm-case-context a { flex: none; }

.gm-site-v11 .gm-related-scores { padding-top: clamp(80px, 11vw, 150px); }
.gm-site-v11 .gm-related-scores-head { display: grid; grid-template-columns: 7fr 5fr; gap: 36px; align-items: end; margin-bottom: 50px; }
.gm-site-v11 .gm-related-scores-head .gm-kicker { grid-column: 1 / -1; }
.gm-site-v11 .gm-related-scores-head h2 { max-width: 10ch; margin: 0; font-size: clamp(3rem, 6vw, 6.2rem); font-weight: 520; letter-spacing: -.06em; line-height: .92; }
.gm-site-v11 .gm-related-scores-head > p:last-child { max-width: 540px; margin: 0; font-size: 19px; }
.gm-site-v11 .gm-related-score-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.gm-site-v11 .gm-related-score-grid article { min-width: 0; }
.gm-site-v11 .gm-related-score-grid .gm-embedded-stage { aspect-ratio: 16 / 9; }
.gm-site-v11 .gm-related-score-grid h3 { margin: 22px 0 6px; font-size: clamp(1.5rem, 2.8vw, 2.8rem); font-weight: 520; letter-spacing: -.045em; line-height: 1; }
.gm-site-v11 .gm-related-score-grid article > p { margin: 0; color: #65635d; }

.gm-site-v11 .gm-credit-selection-note { max-width: 800px; margin: 0; padding: 0 0 44px; font-size: 18px; }
.gm-site-v11 .gm-credit-filters { top: 0; }
.gm-site-v11 .gm-credit-chapter { padding: clamp(70px, 9vw, 120px) 0; border-bottom: 1px solid #aaa69d; }
.gm-site-v11 .gm-credit-chapter[hidden] { display: none; }
.gm-site-v11 .gm-credit-chapter > header { display: grid; grid-template-columns: 110px 5fr 5fr; gap: 34px; align-items: start; margin-bottom: 46px; }
.gm-site-v11 .gm-credit-chapter > header .gm-project-index { margin-top: 8px; }
.gm-site-v11 .gm-credit-chapter > header h2 { margin: 0; font-size: clamp(2.8rem, 5.3vw, 5.8rem); font-weight: 520; letter-spacing: -.06em; line-height: .92; }
.gm-site-v11 .gm-credit-chapter > header > p:last-child { max-width: 600px; margin: 5px 0 0; font-size: 19px; line-height: 1.5; }
.gm-site-v11 .gm-credit-chapter-items { margin-left: calc(110px + 34px); border-top: 1px solid #aaa69d; }
.gm-site-v11 .gm-credit-chapter-items article { display: grid; grid-template-columns: 5fr 5fr; gap: 34px; padding: 24px 0; border-bottom: 1px solid #cbc7be; }
.gm-site-v11 .gm-credit-chapter-items h3 { margin: 0; font-size: clamp(1.35rem, 2.4vw, 2.5rem); font-weight: 520; letter-spacing: -.035em; line-height: 1.05; }
.gm-site-v11 .gm-credit-chapter-items p { margin: 0; color: #5b5953; }
.gm-site-v11 .gm-credit-breadth { margin: 28px 0 0 calc(110px + 34px); color: #5b5953; font-size: 15px; font-style: italic; }
.gm-site-v11 .gm-credit-close { max-width: 850px; padding: clamp(80px, 10vw, 130px) 0 0; }
.gm-site-v11 .gm-credit-close h2 { margin: 0; font-size: clamp(3rem, 6vw, 6rem); font-weight: 520; letter-spacing: -.06em; line-height: .92; }
.gm-site-v11 .gm-credit-close > p { margin: 26px 0 34px; font-size: 20px; }
.gm-site-v11 .gm-credit-close .gm-v10-action { max-width: 420px; }

.gm-site-v11 .gm-contact-form .gm-field-help,
.gm-site-v11 .gm-preview-form small { display: block; margin-top: 8px; color: #aaa8a2; font-size: 13px; line-height: 1.45; }

@media (max-width: 768px) {
  .gm-site-v11 .gm-shell { width: calc(100% - 28px); }
  .gm-site-v11 .gm-signature-card,
  .gm-site-v11 .gm-signature-card--wide,
  .gm-site-v11 .gm-signature-card--tall { width: 100%; min-width: 0; max-width: 100%; }
  .gm-site-v11 .gm-signature-copy { min-width: 0; }
  .gm-site-v11 .gm-v10-about .gm-education {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-inline: 0;
  }
  .gm-site-v11 .gm-score-demo-grid,
  .gm-site-v11 .gm-score-demo--lead,
  .gm-site-v11 .gm-worldcup-summary,
  .gm-site-v11 .gm-worldcup-tournament-grid,
  .gm-site-v11 .gm-related-scores-head,
  .gm-site-v11 .gm-related-score-grid { grid-template-columns: 1fr; }
  .gm-site-v11 .gm-score-demo--lead { display: block; }
  .gm-site-v11 .gm-score-demo--lead .gm-embedded-stage { min-height: 0; aspect-ratio: 16 / 9; }
  .gm-site-v11 .gm-worldcup-case .gm-case-graphic { min-height: 520px; padding: 34px 24px; }
  .gm-site-v11 .gm-worldcup-mark { flex-direction: column; align-items: flex-start; }
  .gm-site-v11 .gm-worldcup-mark img { width: min(250px, 70%); }
  .gm-site-v11 .gm-worldcup-case .gm-case-graphic > strong { font-size: clamp(4rem, 22vw, 7rem); }
  .gm-site-v11 .gm-worldcup-summary article + article { border-left: 0; }
  .gm-site-v11 .gm-worldcup-tournament-grid p + p { border-left: 0; border-top: 1px solid #aaa69d; }
  .gm-site-v11 .gm-case-context { align-items: flex-start; flex-direction: column; }
  .gm-site-v11 .gm-related-scores-head .gm-kicker { grid-column: auto; }
  .gm-site-v11 .gm-credit-chapter > header { grid-template-columns: 1fr; gap: 12px; }
  .gm-site-v11 .gm-credit-chapter-items { margin-left: 0; }
  .gm-site-v11 .gm-credit-chapter-items article { grid-template-columns: 1fr; gap: 9px; }
  .gm-site-v11 .gm-credit-breadth { margin-left: 0; }
  .gm-site-v11 .gm-credit-filters { max-width: 100%; margin-inline: 0; padding-inline: 0; overscroll-behavior-inline: contain; }
}

@media (max-width: 480px) {
  .gm-site-v11 .gm-shell { width: calc(100% - 24px); }
  .gm-site-v11 .gm-case-hero h1 { font-size: clamp(3.2rem, 16vw, 5rem); overflow-wrap: anywhere; }
  .gm-site-v11 .gm-case-header .gm-shell { gap: 12px; }
  .gm-site-v11 .gm-case-header nav { gap: 8px; }
  .gm-site-v11 .gm-worldcup-case .gm-case-graphic { min-height: 470px; }
  .gm-site-v11 .gm-worldcup-summary article { padding-inline: 22px; }
}
