.gsoc-page { display:block !important; pointer-events:auto !important; height:auto !important; min-height:0 !important; color:#f7f8fa; background:#0b2033; font-family:wf_717bd931499847df8ef165f33,sans-serif; }
.gsoc-page * { box-sizing:border-box; }
.gsoc-page h1,.gsoc-page h2 { margin:0; font-family:wf_db88ef0b45fa46279b7afeb6b,sans-serif; font-weight:400; text-wrap:balance; }
.gsoc-page p { margin:0; }
.gsoc-shell { width:calc(100% - clamp(48px,11vw,192px)); max-width:1280px; margin-inline:auto; }
.gsoc-hero { position:relative; height:clamp(440px,45vw,680px); overflow:hidden; background:#071725; }
.gsoc-hero > img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 42%; }
.gsoc-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 25%,rgba(7,23,37,.18) 46%,rgba(7,23,37,.94)); pointer-events:none; }
.gsoc-hero-title { position:absolute; z-index:1; left:clamp(24px,5.5vw,96px); right:24px; bottom:clamp(32px,4vw,64px); }
.gsoc-hero h1 { max-width:12ch; font-size:clamp(48px,5.3vw,84px); line-height:1.06; }
.gsoc-intro { padding-block:60px 20px; }
.gsoc-heading { position:relative; top:auto !important; margin-bottom:32px; }
.gsoc-page h2 { font-size:clamp(30px,3vw,48px); line-height:1.2; }
.gsoc-copy,.gsoc-deck { font-size:clamp(18px,1.3vw,21px); line-height:1.6; font-weight:400; min-width:0; }
.gsoc-copy p+p { margin-top:1.1em; }
.gsoc-deck { max-width:68ch; color:#c2ccd7; }
.gsoc-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,4vw,64px); align-items:center; }
.gsoc-intro-row { grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); }
.gsoc-intro-row > .gsoc-art { width:100%; max-width:350px; margin-inline:auto; }
.gsoc-art { display:block; min-width:0; width:100%; margin:0; padding:0; border:0; border-radius:0; background:none; cursor:zoom-in; }
.gsoc-art img { display:block; width:100%; height:auto; object-fit:contain; }
.gsoc-art:focus-visible,.gsoc-page a:focus-visible { outline:3px solid #ef233c; outline-offset:6px; }
.gsoc-chapter { padding-block:48px; }
.gsoc-gap { margin-top:32px; }
.gsoc-pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:28px; }
.gsoc-guides { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:start; }
.gsoc-wide-pair { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:28px; align-items:center; }
.gsoc-feature { max-width:1080px; margin-inline:auto; }
.gsoc-films { padding-top:36px; }
.gsoc-film { aspect-ratio:16/9; width:100%; min-width:0; background:#071725; }
.gsoc-film iframe.local-video { display:block; width:100%; height:auto; aspect-ratio:16/9; min-height:0; border:0; }
.gsoc-collateral { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
.gsoc-collateral > .gsoc-art:last-child { max-width:300px; margin-left:auto; }
.gsoc-closing { padding-bottom:64px; }
@media(max-width:900px) {
 .gsoc-intro { padding-block:40px 12px; }
 .gsoc-heading { margin-bottom:26px; }
 .gsoc-chapter { padding-block:38px; }
 .gsoc-split { grid-template-columns:minmax(0,1fr); gap:28px; }
 .gsoc-split > .gsoc-art,.gsoc-split > .gsoc-collateral { grid-row:1; }
 .gsoc-intro-row > .gsoc-art { max-width:240px; }
 .gsoc-pair,.gsoc-guides,.gsoc-wide-pair { gap:20px; }
 .gsoc-collateral { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); align-items:center; gap:20px; }
 .gsoc-films { padding-top:28px; }
 .gsoc-closing { padding-bottom:48px; }
}
@media(max-width:600px) {
 .gsoc-hero { height:430px; }
 .gsoc-hero > img { object-position:57% center; }
 .gsoc-hero-title { bottom:30px; }
 .gsoc-hero h1 { font-size:48px; }
 .gsoc-pair,.gsoc-guides,.gsoc-wide-pair { grid-template-columns:minmax(0,1fr); gap:24px; }
 .gsoc-gap { margin-top:24px; }
 .gsoc-intro-row > .gsoc-art { max-width:200px; }
 .gsoc-collateral { grid-template-columns:minmax(0,1fr); }
 .gsoc-collateral > .gsoc-art:last-child { max-width:240px; }
}
