.studio-hero{min-height:550px;position:relative;display:flex;align-items:center;background:#0d2818 url('/heritage-green-seats.png') center 50%/cover;color:#fff;isolation:isolate}.studio-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,15,6,.93),rgba(0,18,8,.57) 58%,rgba(0,15,5,.18))}.studio-hero-content{padding:80px clamp(24px,6vw,105px);max-width:1050px}.studio-overline{font-size:12px;letter-spacing:.21em;font-weight:900;margin:0 0 24px}.studio-hero h1{font-weight:900;font-style:italic;font-size:clamp(65px,11vw,174px);letter-spacing:-.085em;line-height:.9;margin:0 0 25px}.studio-hero h1 span{color:#74cf83}.studio-hero-content>p:not(.studio-overline){font-size:clamp(17px,2vw,25px);line-height:1.4;margin:0 0 30px}.hero-index{position:absolute;right:30px;bottom:25px;font-size:11px;font-weight:900;letter-spacing:.13em}.studio-intro,.studio-library,.studio-bottom{padding:80px clamp(24px,5.5vw,100px)}.studio-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:end;border-bottom:1px solid var(--border)}.studio-intro h2,.studio-library h2,.studio-bottom h2{font-weight:900;font-style:italic;font-size:clamp(44px,5.5vw,88px);letter-spacing:-.075em;line-height:.96;margin:0}.studio-intro h2 em,.studio-library h2 em,.studio-bottom h2 em{color:var(--green)}.studio-intro>p{color:var(--muted);font-size:clamp(17px,1.5vw,22px);line-height:1.55;margin:0;max-width:610px}.library-top{display:flex;justify-content:space-between;align-items:end;gap:25px}.library-count{font-weight:900;color:var(--green);font-size:12px;letter-spacing:.12em;white-space:nowrap}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin:35px 0 24px}.filter{border:1px solid var(--border);background:var(--bg);color:var(--fg);font-size:12px;font-weight:900;letter-spacing:.03em;padding:13px 18px;border-radius:5px;cursor:pointer}.filter.active,.filter:hover{background:var(--green);color:white;border-color:var(--green)}.studio-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.studio-card{min-width:0}.studio-card[hidden]{display:none}.graphic-preview{aspect-ratio:4/5;overflow:hidden;position:relative;padding:18px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;isolation:isolate;background:#183c25}.graphic-preview:before{content:"";position:absolute;inset:0;z-index:-1;background:url('/heritage-green-seats.png') center/cover;opacity:.28;filter:contrast(1.2)}.graphic-top{font-size:clamp(8px,.7vw,11px);font-weight:900;letter-spacing:.08em;display:flex;justify-content:space-between}.graphic-top b{color:#79d58a;font-size:20px;line-height:10px;letter-spacing:-.15em}.graphic-micro,.full-time-label{position:absolute;top:29%;font-size:11px;font-weight:900;letter-spacing:.18em}.graphic-big{font-weight:900;font-style:italic;font-size:clamp(35px,4.4vw,86px);line-height:.84;letter-spacing:-.085em;margin:auto 0}.graphic-dot{color:#83e096}.graphic-bottom{display:flex;justify-content:space-between;align-items:end;gap:8px;font-size:clamp(8px,.75vw,11px);font-weight:900;letter-spacing:.08em}.graphic-bottom strong{font-size:20px}.preview-goal{background:#091c10}.preview-goal:before{opacity:.13}.goal-outline{position:absolute;top:26%;left:-7%;font-size:clamp(65px,8vw,160px);font-weight:900;font-style:italic;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px #568567;opacity:.65;transform:rotate(-7deg)}.preview-goal .graphic-big{position:relative;font-size:clamp(54px,6.6vw,125px)}.goal-score{position:absolute;top:64%;right:18px;font-size:clamp(23px,3vw,50px);font-weight:900}.preview-full{background:#244d32}.preview-full:before{opacity:.17}.full-score{font-size:clamp(45px,5.5vw,105px);font-weight:900;letter-spacing:-.08em;margin:auto 0 10px}.full-score span{color:#8fdaa1}.preview-full .graphic-big{font-size:clamp(35px,4vw,75px);margin:0 0 auto}.preview-lineup{background:#e8eee8;color:#102d1c}.preview-lineup:before{opacity:.06}.preview-lineup .graphic-top b{color:#326B46}.lineup-title{font-size:clamp(33px,4vw,76px);line-height:.87;font-weight:900;font-style:italic;letter-spacing:-.075em;margin-top:24%}.lineup-title .graphic-dot{color:#326B46}.lineup-lines{margin:auto 0;display:flex;flex-direction:column;gap:9px}.lineup-lines span{border-bottom:1px solid #8ba998;padding-bottom:7px;font-size:clamp(9px,.9vw,13px);color:#326B46}.lineup-lines b{color:#102d1c;margin-left:16px}.card-info{display:flex;justify-content:space-between;gap:10px;padding:17px 1px}.card-label{font-size:10px;letter-spacing:.09em;color:var(--green);font-weight:900}.card-info h3{font-size:clamp(22px,2.2vw,35px);letter-spacing:-.05em;font-style:italic;font-weight:900;margin:5px 0}.card-info p{color:var(--muted);font-size:13px;margin:0;line-height:1.5}.coming{align-self:start;border:1px solid var(--border);border-radius:3px;padding:6px;font-size:9px;font-weight:900;color:var(--muted)}.library-note{font-size:13px;color:var(--muted);margin:20px 0 0}.studio-bottom{background:var(--panel);display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.studio-bottom h2{font-size:clamp(65px,7vw,115px)}.studio-bottom p:not(.kicker){color:var(--muted);font-size:19px;line-height:1.55;max-width:500px}.soon-pill{display:inline-block;border:1px solid var(--green);color:var(--green);padding:12px 15px;border-radius:4px;font-size:11px;letter-spacing:.08em;font-weight:900}.studio-bottom-art{min-height:360px;background:#143d26;display:flex;flex-direction:column;justify-content:center;align-items:center;color:white;position:relative;overflow:hidden}.studio-bottom-art:before{content:"";position:absolute;inset:0;background:url('/heritage-green-seats.png') center/cover;opacity:.18}.studio-bottom-art>span{position:relative;font-size:clamp(70px,9vw,160px);font-weight:900;font-style:italic;letter-spacing:-.09em;line-height:.78}.studio-bottom-art>b{position:absolute;right:30px;top:18px;font-size:45px;letter-spacing:-.17em;color:#8bd79b}.studio-bottom-art small{position:absolute;bottom:20px;left:25px;letter-spacing:.15em;font-weight:900}@media(max-width:1100px){.studio-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.graphic-big{font-size:clamp(60px,8vw,110px)}.preview-goal .graphic-big{font-size:clamp(80px,11vw,145px)}.preview-full .graphic-big,.lineup-title{font-size:clamp(60px,8vw,100px)}.full-score{font-size:clamp(70px,9vw,120px)}.graphic-top,.graphic-bottom{font-size:11px}}@media(max-width:750px){.studio-hero{min-height:530px;align-items:end}.studio-hero:before{background:linear-gradient(0deg,rgba(0,15,6,.95),rgba(0,18,8,.45) 80%)}.studio-hero-content{padding:45px 24px 65px}.studio-hero h1{font-size:clamp(59px,12vw,94px)}.studio-intro,.studio-bottom{grid-template-columns:1fr;gap:23px}.studio-intro,.studio-library,.studio-bottom{padding:55px 20px}.studio-bottom-art{min-height:290px}.studio-bottom-art>span{font-size:clamp(80px,17vw,135px)}.graphic-preview{padding:12px}.studio-cards{gap:12px}.graphic-big{font-size:clamp(34px,8vw,75px)}.preview-goal .graphic-big{font-size:clamp(46px,11vw,90px)}.preview-full .graphic-big,.lineup-title{font-size:clamp(32px,7vw,65px)}.full-score{font-size:clamp(40px,9vw,75px)}.graphic-top,.graphic-bottom{font-size:8px}.card-info{flex-wrap:wrap}.card-info h3{font-size:25px}.card-info p{font-size:12px}.goal-outline{font-size:18vw}.goal-score{font-size:5vw}.library-top{align-items:start}.filter{padding:11px 12px;font-size:10px}}@media(max-width:380px){.studio-cards{grid-template-columns:1fr}.graphic-big{font-size:20vw}.preview-goal .graphic-big{font-size:23vw}.preview-full .graphic-big,.lineup-title{font-size:18vw}.full-score{font-size:21vw}.graphic-top,.graphic-bottom{font-size:11px}.goal-score{font-size:12vw}}

/* Founding Four refinement — fluid type, deliberate spacing, no decorative overlap */
.refined-graphic{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(12px,1.45vw,24px);min-width:0;container-type:inline-size;overflow:hidden}
.refined-graphic::before{opacity:.18}
.refined-graphic .rg-head,.refined-graphic .rg-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative;z-index:1;font-weight:900;font-size:clamp(8px,2.7cqw,13px);letter-spacing:.035em;min-width:0}
.refined-graphic .rg-head b{font-size:clamp(17px,7cqw,32px);letter-spacing:-.19em;color:#91dfa2;line-height:1}
.refined-graphic .rg-center{display:flex;flex-direction:column;justify-content:center;flex:1;min-height:0;position:relative;z-index:1}
.refined-graphic .rg-title{font-weight:900;font-style:italic;letter-spacing:-.075em;line-height:.88;font-size:clamp(30px,23cqw,108px);white-space:nowrap}
.refined-graphic .rg-title.goal-word{font-size:clamp(30px,26cqw,125px)}
.refined-graphic .rg-accent{color:#9de4a8}
.refined-graphic .rg-fixture{display:flex;align-items:center;gap:clamp(4px,2cqw,12px);font-size:clamp(9px,4.5cqw,20px);letter-spacing:-.02em}
.refined-graphic .rg-fixture span{color:#9de4a8;font-size:.75em}
.refined-graphic .rg-foot{align-items:end;flex-wrap:wrap;row-gap:5px}
.refined-graphic .rg-meta{font-size:clamp(7px,2.8cqw,12px);opacity:.85;letter-spacing:0;white-space:nowrap}
.refined-goal{background:#102919}.refined-goal::before{opacity:.1}
.refined-goal .rg-player{font-weight:900;font-size:clamp(11px,6cqw,27px);margin-top:clamp(9px,4cqw,18px);letter-spacing:-.025em}
.refined-goal .rg-foot strong{font-size:clamp(20px,10cqw,45px)}
.refined-full{background:#28543a}.refined-full::before{opacity:.12}
.refined-full .rg-score{font-weight:900;font-style:italic;font-size:clamp(55px,34cqw,160px);letter-spacing:-.095em;line-height:1;white-space:nowrap}
.refined-full .rg-score span{font-size:.65em;color:#a3e7b0;padding:0 .05em}
.refined-full .rg-score-teams{display:flex;justify-content:space-between;max-width:75%;font-weight:900;font-size:clamp(10px,5cqw,20px);margin-top:8px}
.refined-lineup{background:#e9f0e9;color:#112e1b}.refined-lineup::before{opacity:.05}
.refined-lineup .rg-head b,.refined-lineup .rg-accent{color:#326B46}
.refined-lineup .rg-lineup-title{font-size:clamp(25px,17cqw,78px);font-weight:900;font-style:italic;line-height:.94;letter-spacing:-.07em;margin-bottom:clamp(10px,6cqw,24px)}
.refined-lineup .rg-players{display:grid;gap:clamp(5px,2.4cqw,12px);font-size:clamp(8px,3.7cqw,16px);font-weight:900}
.refined-lineup .rg-players div{border-bottom:1px solid #9db5a5;padding-bottom:clamp(3px,1.4cqw,8px);white-space:nowrap}
.refined-lineup .rg-players span{color:#326B46;margin-right:clamp(7px,3cqw,14px)}
@media(max-width:750px){.refined-graphic{padding:clamp(10px,3cqw,18px)}.refined-graphic .rg-foot{gap:3px}}
@media(max-width:380px){.refined-graphic .rg-title{font-size:23cqw}.refined-graphic .rg-title.goal-word{font-size:26cqw}}

.card-info .coming{text-decoration:none;cursor:pointer}.card-info .coming:hover{color:#326b46}.soon-pill{text-decoration:none;display:inline-block}

/* Half Time: companion to the approved Full Time composition */
.refined-half .rg-score-teams{display:block;text-align:left;font-size:clamp(10px,1.05vw,17px);font-weight:900;font-style:italic;letter-spacing:0}.refined-half .rg-score-teams span{display:block}.refined-half .rg-score{justify-content:flex-start;text-align:left}.refined-half .rg-score span{color:#A3E7B0}

/* Founding Collection — substitution */
.refined-sub{background:linear-gradient(180deg,rgba(20,60,35,.58),rgba(7,38,20,.75)),url('../heritage-green-seats.png') center/cover;color:#fff}
.refined-sub .rg-center{display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:0 7%;gap:14px}
.refined-sub .sub-title{font-family:Archivo,Arial,sans-serif;font-weight:900;font-style:italic;font-size:clamp(35px,4.5vw,65px);line-height:.9;letter-spacing:-.06em;margin-bottom:14px}
.refined-sub .sub-row{display:flex;align-items:center;gap:15px;border-top:1px solid rgba(163,231,176,.65);padding-top:12px}
.refined-sub .sub-arrow{font-size:42px;font-weight:900;color:#A3E7B0;line-height:1}
.refined-sub .sub-off{color:#fff}
.refined-sub .sub-row div{min-width:0}
.refined-sub .sub-row small{display:block;font-size:11px;font-weight:900;color:#A3E7B0}
.refined-sub .sub-row strong{display:block;font-size:clamp(13px,1.5vw,21px);font-family:Archivo,Arial,sans-serif;font-style:italic;font-weight:900;line-height:1.15}

/* Studio previews are live canvases from the exact same renderer as editor/export. */
.exact-editor-preview{display:block;padding:0!important;background:transparent!important;aspect-ratio:4/5;overflow:hidden}
.exact-editor-preview::before{display:none!important}
.exact-editor-preview iframe{display:block;width:100%;height:100%;border:0;pointer-events:none;background:#28543a}

/* Keep long graphic titles from pushing their action into adjacent cards. */
.studio-card .card-info{min-width:0;gap:8px}.studio-card .card-info>div{min-width:0}.studio-card .card-info h3{overflow-wrap:anywhere}.studio-card .card-info .coming{flex-shrink:0}
