/* V58: each content block has its own space. No absolute mascot placement. */
.access-layout{grid-template-columns:minmax(0,54fr) minmax(0,46fr);align-items:stretch;min-height:100svh}
.access-visual{container-type:inline-size;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(140px,1fr) auto;align-content:start;gap:clamp(16px,2vw,28px);min-width:0;min-height:100svh;padding:clamp(28px,3.5vw,56px) clamp(24px,4vw,70px)}
.access-visual>.access-brands{min-width:0;max-width:100%;gap:16px;padding-bottom:24px;flex-wrap:wrap}
.access-partnership{min-width:0;max-width:100%;gap:clamp(12px,2cqi,25px)}
.access-partnership .access-gep{box-sizing:border-box;width:clamp(110px,22cqi,143px);max-width:100%}
.access-visual>.access-welcome{position:relative;margin:0;min-width:0;max-width:100%;width:100%;align-self:start}
.access-welcome h1{font-size:clamp(30px,8.5cqi,76px);line-height:1.08;letter-spacing:-.035em;max-width:100%;margin:18px 0 22px;white-space:normal;word-break:normal;overflow-wrap:normal}
.access-welcome h1 br{display:block}
.access-welcome p{font-size:clamp(15px,2.6cqi,19px);line-height:1.6;margin:0;max-width:100%}
.access-points{margin-top:24px;gap:12px}
.access-visual>.access-mascots{position:static;inset:auto;display:block;justify-self:end;align-self:end;width:clamp(210px,62cqi,430px);max-width:100%;height:auto;max-height:none;object-fit:contain;object-position:center bottom;z-index:1;margin:0}
.access-visual>.access-caption{position:static;inset:auto;display:flex;align-self:end;flex-wrap:wrap;gap:8px 12px;min-width:0;max-width:100%;margin:0;font-size:12px}
.access-form-area{min-width:0;min-height:100svh;width:100%;max-width:none;padding:clamp(24px,3vw,45px) clamp(24px,3.2vw,60px)}
.access-card,.access-topline{max-width:510px;min-width:0;width:100%}
.access-card h2{overflow-wrap:break-word}
.access-card .field input{min-width:0;width:100%}
@media(max-width:900px){
 .access-layout{grid-template-columns:minmax(0,1fr)}
 .access-visual{min-height:0;grid-template-rows:auto auto auto auto;gap:18px;padding:28px 30px}
 .access-visual>.access-brands{padding-bottom:18px}
 .access-welcome h1{font-size:clamp(30px,7cqi,52px);margin:14px 0 16px}
 .access-visual>.access-mascots{width:clamp(170px,40cqi,280px)}
 .access-points{display:grid;margin-top:20px;font-size:14px}
 .access-visual>.access-caption{display:flex;font-size:11px}
 .access-caption span:last-child{display:inline}
 .access-form-area{min-height:0;padding:28px 30px}
 .access-card{margin:20px 0;padding:28px;max-width:520px}
 .access-topline{max-width:520px}
 .access-footer{margin-top:12px}
}
@media(max-width:480px){
 .access-visual{padding:24px 20px;gap:16px}
 .access-welcome h1{font-size:clamp(30px,10cqi,38px)}
 .access-welcome p{font-size:15px}
 .access-points{display:none}
 .access-visual>.access-mascots{width:clamp(160px,58cqi,210px)}
 .access-caption span:last-child{display:none}
 .access-form-area{padding:24px 18px}
 .access-card{padding:25px 22px}
 .access-product-label{display:none}
}
