:root{
  --open-purple:#7851a9;
  --open-violet:#9966cc;
  --open-deep:#51246c;
  --open-button:#9400d3;
}
*{box-sizing:border-box}
html{min-height:100%;background:#fff}
body.open-landing{min-height:100%;margin:0;color:#000;background:#fff;font-family:"Open Sans",sans-serif}
body.open-landing img{display:block;max-width:100%;height:auto}
body.open-landing button,body.open-landing input{font-family:inherit}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.open-page{min-height:100vh;padding:20px 0 40px;background:linear-gradient(to right,#fff 0%,var(--open-violet) 100%);overflow:hidden}
.open-card{width:calc(100% - 30px);max-width:1110px;min-height:1126px;margin:0 auto;padding:134px 43px 124px 20px;border-radius:50px;background:var(--open-purple)}
.open-grid{display:grid;grid-template-columns:minmax(0,492px) 555px;align-items:start}
.open-copy{color:#fff;text-align:center;transform:translateY(-31.5px)}
.open-logo{width:262.5px;margin:0 auto 10.6px;transform:translateX(-.5px)}
.open-copy h1{width:525px;margin:0;font-family:Inter,sans-serif;font-size:45px;font-weight:700;letter-spacing:0;line-height:1.3;transform:translateX(-31px)}
.open-intro{width:525px;margin-top:48px;margin-left:-17px;padding:0 17px;text-align:left;font-family:"Noto Sans",sans-serif;font-size:25px;font-weight:400;line-height:1.6}
.open-intro p{margin:0 0 39px}
.open-intro p:last-child{margin-bottom:0}
.open-intro strong{font-weight:700}
.open-signup-card{min-height:867.2px;margin-top:1px;padding:25px 15px 15px;border-radius:10px;background:#fff;text-align:center}
.open-signup-card h2{margin:0;color:var(--open-deep);font-family:"Noto Sans",sans-serif;font-size:28px;font-weight:800;line-height:1.3}
.open-capacity{margin:8px 0 0;color:#7b1fa2;font-family:"Noto Sans JP",sans-serif;font-size:19px;line-height:1.2}
.open-portraits{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:28px;padding:0 15px}
.open-portraits--1{grid-template-columns:1fr;max-width:285px;margin-right:auto;margin-left:auto}
.open-portraits img{width:100%;border-radius:55px;box-shadow:4px 6px 7px -2px #98b4c6}
.open-signup-form{width:90%;margin:35px auto 0;padding:43px 10px 10px;background:#9966cc;opacity:.7;text-align:left}
.open-signup-form input[type="text"],.open-signup-form input[type="email"]{display:block;width:100%;height:51px;margin:0 0 48px;padding:8px 16px;border:1px solid #6c757d;border-radius:4px;background:#f7f7fb;color:#000;font-size:22px;line-height:1.5;text-align:left}
.open-signup-form #open-email{margin-bottom:15px}
.open-signup-form input::placeholder{color:#4b4b4b;opacity:1}
.open-signup-form button{display:block;width:100%;min-height:64px;padding:10px 30px;border:1px solid rgba(0,0,0,.2);border-radius:3px;background:var(--open-button);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.2);font-family:"Open Sans",sans-serif;font-size:28px;font-weight:700;line-height:normal;text-align:center;cursor:pointer}
.open-signup-form button:hover{filter:brightness(1.06)}
.open-signup-form input:focus-visible,.open-signup-form button:focus-visible{outline:3px solid #51246c;outline-offset:2px}
.open-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.open-form-error{margin:-31px 0 12px;padding:8px;border-radius:4px;background:#fff6f6;color:#9f3a38;font-size:14px;text-align:center}
.open-privacy{margin:22px 0 0;font-family:"Open Sans",sans-serif;font-size:16px;line-height:1.2}
.open-copyright{display:flex;align-items:center;justify-content:center;width:calc(100% - 60px);max-width:1080px;min-height:99px;margin:35px auto 0;padding:18px;border-radius:40px;background:#f7f7fb;text-align:center}
.open-copyright p{margin:0;font-family:"Open Sans",sans-serif;font-size:18px;line-height:1.5}

@media(max-width:768px){
  .open-page{padding:0 0 22px;background:linear-gradient(to right,#fff 0%,var(--open-violet) 100%)}
  .open-card{width:100%;min-height:0;padding:0 0 80px;border-radius:40px 0 40px 40px}
  .open-grid{display:block}
  .open-copy{min-height:0;padding:24px 15px 39px;transform:none}
  .open-logo{width:180px;margin:0 auto 46px;transform:translate(-12px,31px)}
  .open-copy h1{width:360px;font-size:34px;line-height:1.3;transform:translateX(-5px)}
  .open-intro{width:360px;margin-top:24px;margin-left:0;padding:0 17px;font-size:17px;line-height:1.6;text-align:center;transform:translateX(-3px)}
  .open-intro p{margin-bottom:27.2px}
  .open-signup-card{width:360px;height:auto;margin:0 0 0 16px;padding:25px 15px 15px;border-radius:0}
  .open-signup-card h2{font-size:34px;line-height:1.3}
  .open-capacity{margin:8px 0;font-size:17px}
  .open-portraits{display:block;margin:0;padding:20px 15px 0}
  .open-portraits img{width:100%;margin-bottom:35px;border-radius:55px}
  .open-signup-form{width:90%;margin:0 auto 22px;padding:43px 10px 10px}
  .open-signup-form input[type="text"],.open-signup-form input[type="email"]{height:51px;margin-bottom:48px;font-size:22px}
  .open-signup-form #open-email{margin-bottom:15px}
  .open-signup-form button{min-height:49px;font-size:17px}
  .open-privacy{margin:0 0 12px;font-size:12px;line-height:1.2}
  .open-copyright{display:block;width:360px;min-height:81px;margin-top:49px;padding:21px 0 10px;border-radius:40px}
  .open-copyright p{font-size:12px;line-height:18px}
}

@media(max-width:420px){
  .open-copy h1{font-size:34px}
  .open-intro{font-size:17px}
}
