.access-main{
  width:min(100%,1560px);
  margin:0 auto;
  padding:calc(var(--nav-h) + 82px) calc(var(--pad-x) + 40px) 0 calc(var(--rail-x) + 56px);
}
.access-hero{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  align-items:end;
  gap:clamp(40px,6vw,100px);
  padding-bottom:76px;
}
.access-kicker,.access-offer__heading > span{
  font-size:11px;
  font-weight:600;
  letter-spacing:.16em;
  color:var(--accent-text);
}
.access-hero h1{
  margin-top:30px;
  font-family:var(--serif-cjk);
  font-size:clamp(56px,6.5vw,104px);
  font-weight:600;
  letter-spacing:-.06em;
  line-height:1.24;
}
.access-hero h1 em{font-style:normal;color:var(--accent-text);}
.access-hero__side > p{
  max-width:31em;
  margin-bottom:40px;
  font-family:var(--sans-cjk);
  font-size:16px;
  font-weight:300;
  line-height:1.9;
  color:var(--ink-soft);
}
.access-hero__links{border-top:1px solid var(--ink);}
.access-hero__links a{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:16px 0;
  border-bottom:1px solid var(--line);
  font-size:13px;
  font-weight:600;
  letter-spacing:.04em;
}
.access-hero__links a:hover,.access-text-link:hover,.access-scan > a:last-child:hover{color:var(--accent-text);}
.access-compare{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
}
.access-compare p{display:flex;flex-direction:column;gap:9px;padding:26px 32px 30px;}
.access-compare p:first-child{padding-left:0;border-right:1px solid var(--line);}
.access-compare span{font-size:10px;font-weight:600;letter-spacing:.17em;color:var(--accent-text);}
.access-compare strong{font-family:var(--serif-cjk);font-size:23px;font-weight:600;}
.access-compare small{font-family:var(--sans-cjk);font-size:13px;line-height:1.8;color:var(--muted);}
.access-offer{padding-top:118px;scroll-margin-top:100px;}
.access-offer__heading{max-width:730px;margin-bottom:42px;}
.access-offer__heading h2{
  margin:17px 0 18px;
  font-family:var(--serif-cjk);
  font-size:clamp(38px,4.5vw,64px);
  font-weight:600;
  letter-spacing:-.05em;
  line-height:1.35;
}
.access-offer__heading h2 span{color:var(--accent);}
.access-offer__heading p,.access-offer__copy > p{
  font-family:var(--sans-cjk);
  font-size:15px;
  font-weight:300;
  line-height:1.9;
  color:var(--ink-soft);
}
.access-offer__body{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(40px,5vw,82px);
  padding-top:44px;
  border-top:1px solid var(--ink);
}
.access-offer__copy h3{
  margin-bottom:14px;
  font-family:var(--serif-cjk);
  font-size:clamp(24px,2.2vw,31px);
  font-weight:600;
  letter-spacing:-.03em;
}
.access-steps{list-style:none;margin:31px 0 28px;border-top:1px solid var(--line);}
.access-steps li{
  display:grid;
  grid-template-columns:33px 1fr;
  gap:10px;
  padding:15px 0;
  border-bottom:1px solid var(--line);
  font-family:var(--sans-cjk);
  font-size:14px;
  line-height:1.8;
  color:var(--ink-soft);
}
.access-steps span{font-family:var(--sans);font-size:11px;font-weight:600;color:var(--accent-text);}
.access-text-link{display:inline-block;padding-bottom:8px;border-bottom:1px solid var(--ink);font-size:13px;}
.access-offer__media{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:start;gap:20px;}
.access-scan{display:flex;flex-direction:column;align-items:center;padding:25px 19px;background:#EAE1D4;border:1px solid var(--line);}
.access-scan > p{align-self:start;margin-bottom:20px;font-size:10px;font-weight:600;letter-spacing:.14em;color:var(--accent-text);}
.access-code{position:relative;display:block;overflow:hidden;width:244px;height:244px;max-width:100%;background:#fff;border-radius:16px;}
.access-code img{position:absolute;max-width:none;height:auto;}
.access-code--trial img{width:1080px;left:-761px;top:-1416px;}
.access-code--paid{width:218px;height:218px;border-radius:0;}
.access-code--paid img{width:1125px;left:-747px;top:-1385px;}
.access-scan > span{margin:20px 0 13px;text-align:center;font-size:12px;line-height:1.6;color:var(--muted);}
.access-scan > a:last-child{padding-bottom:5px;border-bottom:1px solid var(--ink);font-size:12px;}
.access-poster{display:block;overflow:hidden;border:1px solid var(--line);background:#fff;}
.access-poster img{width:100%;height:auto;transition:transform .35s var(--ease);}
.access-poster:hover img{transform:scale(1.02);}
.access-offer--paid{margin-top:120px;padding-top:90px;border-top:1px solid var(--line);}
.access-offer__copy > .access-offer__fineprint{margin-top:24px;font-size:13px;color:var(--muted);}
.access-note{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:30px;
  margin:118px 0 100px;
  padding:32px 36px;
  background:var(--ink);
  color:var(--paper);
}
.access-note span{padding-top:6px;font-size:10px;font-weight:600;letter-spacing:.16em;color:#F0A37C;}
.access-note p{font-family:var(--sans-cjk);font-size:13px;font-weight:300;line-height:1.9;}
.access-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:32px var(--pad-x) 32px calc(var(--rail-x) + 56px);border-top:1px solid var(--line);}
.access-footer a{font-family:var(--serif);font-size:28px;font-weight:600;}
.access-footer a span{margin-left:18px;font-family:var(--sans-cjk);font-size:13px;font-weight:400;}
.access-footer > span{font-size:10px;letter-spacing:.15em;color:var(--muted);}
.access-footer a:hover{color:var(--accent-text);}

@media (max-width:1000px){
  .access-offer__body{grid-template-columns:1fr;}
  .access-offer__copy{max-width:680px;}
  .access-offer__media{max-width:670px;}
}
@media (max-width:700px){
  .access-main{padding:calc(var(--nav-h) + 48px) var(--pad-x) 0;}
  .access-hero{grid-template-columns:1fr;gap:34px;padding-bottom:56px;}
  .access-hero h1{font-size:clamp(48px,11vw,70px);}
  .access-hero__side > p{margin-bottom:24px;font-size:14px;}
  .access-compare{grid-template-columns:1fr;}
  .access-compare p,.access-compare p:first-child{padding:22px 0;border-right:0;}
  .access-compare p + p{border-top:1px solid var(--line);}
  .access-compare strong{font-size:20px;}
  .access-offer{padding-top:78px;}
  .access-offer__heading h2{font-size:40px;}
  .access-offer__heading p,.access-offer__copy > p{font-size:14px;}
  .access-offer__body{gap:34px;padding-top:32px;}
  .access-offer__media{grid-template-columns:1fr;}
  .access-poster{width:min(100%,280px);justify-self:center;}
  .access-offer--paid{margin-top:78px;padding-top:0;border-top:0;}
  .access-note{grid-template-columns:1fr;gap:12px;margin:80px 0 72px;padding:28px;}
  .access-footer{padding:26px var(--pad-x);}
  .access-footer > span{display:none;}
}
