/* ================= CONTACT ================= */
.contact-page .lv-hero .ab-h1{font-size:calc(76*var(--u));transform:rotate(-5deg)}
.contact-page .lv-hero .ab-h1-brush{width:calc(560*var(--u));margin-left:calc(40*var(--u))}
.contact-page .lv-hero .ab-lead{margin-top:calc(46*var(--u))}
.ct-wrap{position:relative;padding:calc(60*var(--u)) 0 calc(120*var(--u));overflow:hidden}
.ct-streak{position:absolute;height:calc(70*var(--u));border-radius:50%;background:linear-gradient(90deg,transparent,rgba(255,138,190,.55) 30%,rgba(255,170,210,.35) 70%,transparent);transform:rotate(-38deg);filter:blur(1px);pointer-events:none}
.ct-streak.s1{left:calc(-120*var(--u));top:calc(560*var(--u));width:calc(420*var(--u))}
.ct-streak.s2{left:calc(-80*var(--u));top:calc(1150*var(--u));width:calc(380*var(--u))}
.ct-streak.s3{right:calc(-110*var(--u));top:calc(620*var(--u));width:calc(400*var(--u))}
.ct-streak.s4{right:calc(-90*var(--u));top:calc(1320*var(--u));width:calc(360*var(--u))}
.ct-hand-l{position:absolute;left:calc(54*var(--u));top:calc(700*var(--u));font-size:calc(44*var(--u));line-height:1.3;transform:rotate(-16deg);-webkit-text-stroke:calc(.8*var(--u)) currentColor}
.ct-hand-r{position:absolute;right:calc(50*var(--u));top:calc(1030*var(--u));font-size:calc(34*var(--u));line-height:1.35;color:var(--ink-deep);transform:rotate(-14deg);-webkit-text-stroke:calc(.7*var(--u)) currentColor}
.ct-hand-r .ul{display:block;width:110%;height:2px;background:var(--ink-deep);margin-top:calc(4*var(--u));transform:rotate(-4deg)}
.ct-inner{position:relative;z-index:1;width:calc(720*var(--u));margin:0 auto}
.ct-head{display:flex;align-items:flex-end;justify-content:center;gap:calc(8*var(--u));margin-left:calc(-60*var(--u))}
.ct-head .script{font-size:calc(58*var(--u))}
.ct-title{font-size:calc(54*var(--u));font-weight:900;color:var(--ink);letter-spacing:.04em;line-height:1.1}
.ct-lead{margin-top:calc(28*var(--u));text-align:center;font-size:calc(17*var(--u));line-height:1.95;font-weight:500;color:#2a2f35}
.ct-form{margin-top:calc(46*var(--u))}
.field{margin-top:calc(30*var(--u))}
.field > label{display:flex;align-items:center;gap:calc(14*var(--u));font-weight:900;font-size:calc(18*var(--u));color:var(--ink);letter-spacing:.04em}
.req{display:inline-block;background:var(--pink);color:#fff;font-size:calc(12.5*var(--u));font-weight:700;padding:calc(3*var(--u)) calc(12*var(--u));border-radius:calc(3*var(--u));letter-spacing:.06em}
.field input[type=text],.field input[type=email],.field textarea,.select select{width:100%;margin-top:calc(12*var(--u));padding:calc(18*var(--u)) calc(22*var(--u));border:1.5px solid #d8dbe0;border-radius:calc(8*var(--u));background:#F7F8FA;font:500 max(16px,calc(17*var(--u))) var(--sans);color:var(--ink);transition:border-color .2s,background .2s,box-shadow .2s;appearance:none;-webkit-appearance:none}
.field textarea{min-height:calc(170*var(--u));resize:vertical;line-height:1.7}
.field input::placeholder,.field textarea::placeholder{color:#a3a8b0}
.field input:focus,.field textarea:focus,.select select:focus{outline:none;border-color:var(--pink);background:#fff;box-shadow:0 0 0 calc(4*var(--u)) rgba(254,17,121,.12)}
.select{position:relative}
.select select{cursor:pointer;padding-right:calc(56*var(--u))}
.select select:invalid{color:#6c7178}
.select svg{position:absolute;right:calc(22*var(--u));top:calc(50% + calc(6*var(--u)));width:calc(15*var(--u));height:calc(10*var(--u));translate:0 -50%;pointer-events:none;color:var(--ink)}
.err{display:none;margin-top:calc(8*var(--u));font-size:calc(13.5*var(--u));font-weight:700;color:#E0114F}
.field.is-error .err{display:block}
.field.is-error input,.field.is-error textarea,.field.is-error select{border-color:#E0114F;background:#fff6f9}
.agree{margin-top:calc(38*var(--u))}
.check{display:inline-flex;align-items:center;gap:calc(12*var(--u));font-size:calc(15*var(--u));font-weight:500;color:var(--ink);cursor:pointer}
.check input{position:absolute;opacity:0;width:1px;height:1px}
.check .box{width:calc(26*var(--u));height:calc(26*var(--u));border:1.5px solid #9aa0a8;border-radius:calc(4*var(--u));background:#fff;display:grid;place-items:center;transition:background .2s,border-color .2s;flex:none}
.check input:checked + .box{background:var(--pink);border-color:var(--pink)}
.check input:checked + .box::after{content:"";width:calc(7*var(--u));height:calc(13*var(--u));border:solid #fff;border-width:0 calc(3*var(--u)) calc(3*var(--u)) 0;transform:rotate(45deg) translate(-1px,-1px)}
.check input:focus-visible + .box{outline:2px solid var(--pink);outline-offset:3px}
.check a{color:#2C6FD6;text-decoration:underline}
.ct-submit{display:flex;width:100%;height:calc(76*var(--u));margin-top:calc(34*var(--u));font-size:calc(20*var(--u));letter-spacing:.1em;border:none;cursor:pointer;font-family:var(--sans)}
.ct-submit:disabled{opacity:.6;cursor:wait}
.ct-done{margin-top:calc(24*var(--u));text-align:center;font-weight:700;color:var(--pink);font-size:calc(16*var(--u))}
@media (max-width: 820px){
  .contact-page .lv-hero .ab-h1{font-size:36px}
  .contact-page .lv-hero .ab-h1-brush{width:220px}
  .contact-page .lv-hero .ab-lead{margin-top:22px}
  .ct-wrap{padding:44px 22px 70px}
  .ct-hand-l,.ct-hand-r{display:none}
  .ct-streak{opacity:.6}
  .ct-inner{width:auto}
  .ct-head{margin-left:0}.ct-head .script{font-size:36px}.ct-title{font-size:30px}
  .ct-lead{font-size:14px;text-align:left}.ct-lead br{display:none}
  .ct-form{margin-top:30px}
  .field{margin-top:24px}.field > label{font-size:15px;gap:10px}.req{font-size:11px;padding:2px 8px}
  .field input[type=text],.field input[type=email],.field textarea,.select select{padding:14px 16px;margin-top:10px}
  .select svg{right:16px;width:13px;height:9px;top:calc(50% + 5px)}
  .err{font-size:12.5px}
  .check{font-size:14px}.check .box{width:22px;height:22px}
  .ct-submit{height:62px;font-size:17px}
}

/* ================= Contact Form 7 ================= */
.ct-form-cf7{margin-top:calc(46*var(--u))}
.ct-form-cf7 .wpcf7-form-control-wrap{display:block}
.ct-form-cf7 .select select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%231F262D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right calc(22*var(--u)) center;background-size:calc(15*var(--u)) calc(10*var(--u))}
.ct-form-cf7 .wpcf7-not-valid-tip{display:block;margin-top:calc(8*var(--u));font-size:calc(13.5*var(--u));font-weight:700;color:#E0114F}
.ct-form-cf7 .wpcf7-not-valid{border-color:#E0114F !important;background-color:#fff6f9 !important}
.ct-form-cf7 .wpcf7-acceptance .wpcf7-list-item{margin:0}
.ct-form-cf7 .wpcf7-acceptance label{display:inline-flex;align-items:center;gap:calc(12*var(--u));font-size:calc(15*var(--u));font-weight:500;color:var(--ink);cursor:pointer}
.ct-form-cf7 .wpcf7-acceptance input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;width:calc(26*var(--u));height:calc(26*var(--u));margin:0;border:1.5px solid #9aa0a8;border-radius:calc(4*var(--u));background:#fff center/60% no-repeat;cursor:pointer;transition:background-color .2s,border-color .2s}
.ct-form-cf7 .wpcf7-acceptance input[type=checkbox]:checked{background-color:var(--pink);border-color:var(--pink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ct-form-cf7 .wpcf7-acceptance input[type=checkbox]:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.ct-form-cf7 .wpcf7-acceptance a{color:#2C6FD6;text-decoration:underline}
.ct-form-cf7 .wpcf7-submit{appearance:none;-webkit-appearance:none;border:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'%3E%3Cpath d='M1 5h11M8 1l4 4-4 4' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:calc(50% + 3.6em) center;background-size:calc(14*var(--u)) calc(10*var(--u))}
.ct-form-cf7 .wpcf7-submit:disabled{opacity:.6;cursor:wait}
.ct-form-cf7 .wpcf7-spinner{display:block;margin:calc(14*var(--u)) auto 0}
.ct-form-cf7 .wpcf7 form .wpcf7-response-output{margin:calc(24*var(--u)) 0 0;padding:calc(14*var(--u)) calc(18*var(--u));border:1.5px solid #E0114F;border-radius:calc(8*var(--u));background:#fff6f9;color:#E0114F;font-weight:700;font-size:calc(15*var(--u));text-align:center;line-height:1.7}
.ct-form-cf7 .wpcf7 form.sent .wpcf7-response-output{border-color:var(--pink);background:#fff5f9;color:var(--pink)}
.ct-form-cf7 .wpcf7 form.init .wpcf7-response-output{display:none}
@media (max-width: 820px){
  .ct-form-cf7{margin-top:30px}
  .ct-form-cf7 .select select{background-position:right 16px center;background-size:13px 9px}
  .ct-form-cf7 .wpcf7-not-valid-tip{font-size:12.5px}
  .ct-form-cf7 .wpcf7-acceptance label{font-size:14px}
  .ct-form-cf7 .wpcf7-acceptance input[type=checkbox]{width:22px;height:22px}
  .ct-form-cf7 .wpcf7-submit{background-size:12px 9px}
  .ct-form-cf7 .wpcf7 form .wpcf7-response-output{font-size:13.5px}
}
