/* contact page */
.page>section.ct{min-height:max(760px,100svh);box-sizing:border-box;position:relative;overflow:hidden;isolation:isolate;margin-inline:clamp(6px,.8vw,12px);border-radius:0 0 var(--r-sec) var(--r-sec);background:radial-gradient(60% 60% at 30% 0%,#FDFDFE,transparent 70%),#F3F5F9;color:#151B33;padding:calc(var(--safe-top) + clamp(108px,10vw,120px)) 0 clamp(40px,4vw,48px)}
.ct a{color:#151B33}.ct a:hover{color:#3A4766}
.ct-rings{position:absolute;left:50%;top:clamp(320px,40vw,560px);z-index:-1;pointer-events:none}
.ct-rings i{position:absolute;left:0;top:0;border-radius:50%;transform:translate(-50%,-50%);background:linear-gradient(180deg,#F7F8FB,#EEF1F5);box-shadow:inset 0 2px 1px rgba(255,255,255,.95),inset 0 0 0 1px rgba(255,255,255,.7),0 40px 80px -40px rgba(34,43,67,.18),0 0 0 1px rgba(34,43,67,.035)}
.ct-rings i:nth-child(1){width:min(1180px,128vw);aspect-ratio:1}
.ct-rings i:nth-child(2){width:min(940px,104vw);aspect-ratio:1}
.ct-rings i:nth-child(3){width:min(680px,78vw);aspect-ratio:1}
.ct-in{display:flex;flex-direction:column;align-items:center;text-align:center}
.ct-tag{display:inline-flex;align-items:center;height:44px;padding:0 30px;border-radius:999px;background:#FAFBFC;box-shadow:inset 0 1px 0 #fff,0 0 0 1px rgba(34,43,67,.05),0 10px 24px -14px rgba(34,43,67,.3);font-size:17px;font-weight:500;color:#151B33}
.ct-h{margin:0;display:flex;flex-direction:column;align-items:center;font-family:var(--font-identity);font-weight:800;font-size:clamp(38px,5.2vw,72px);line-height:1.02;letter-spacing:-.05em}
.ct-h .l1{color:#151B33}
.ct-h{max-width:none;width:auto}.ct-h>span{display:block;white-space:nowrap}
@media (max-width:640px){.ct-h>span{white-space:normal;text-wrap:balance}}
.ct-h mark{color:#151B33;background:linear-gradient(180deg,#D7E5FB,#C7DAF8);border-radius:.16em;padding:0 .08em;margin:0 -.02em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.ct-h .l2{margin-top:.04em;color:#0E1633;font-weight:400;font-size:calc(.8 * clamp(34px,4.6vw,88px));line-height:1.04;letter-spacing:-.04em}
.ct-sub{margin:clamp(14px,1.4vw,18px) 0 0;font-size:clamp(17px,1.7vw,25px);line-height:1.38;letter-spacing:-.015em;color:#6B7186;text-wrap:balance}
@media (max-width:640px){.ct-sub br{display:none}}
.ct-stage{position:relative;width:100%;max-width:1200px;margin-top:clamp(28px,3vw,36px);text-align:left}
.ct-card-main{position:relative;z-index:1;padding:clamp(8px,.8vw,12px);border-radius:28px;background:rgba(255,255,255,.55);box-shadow:inset 0 1px 0 #fff,0 0 0 1px rgba(34,43,67,.06),0 40px 80px -40px rgba(34,43,67,.28);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.ct-card-main>form,.ct-done{padding:clamp(24px,3.4vw,40px) clamp(20px,3.4vw,38px) clamp(20px,2.4vw,28px);border-radius:22px;background:#FDFDFE;box-shadow:0 0 0 1px rgba(34,43,67,.05)}
.ct-card-main h2{margin:0 0 clamp(20px,2.4vw,28px);font-family:var(--font-identity);font-weight:800;font-size:clamp(26px,2.9vw,38px);line-height:1.1;letter-spacing:-.04em;color:#151B33}
.ct-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2vw,26px) clamp(16px,2.4vw,30px)}
.ct-f{display:flex;flex-direction:column;gap:10px;min-width:0}
.ct-f.full{grid-column:1/-1}
.ct-f .lb{font-size:16px;font-weight:500;color:#1E2438}
.ct-f .lb i{font-style:normal;color:#E5484D;margin-left:6px}
.ct-f input,.ct-f textarea{width:100%;box-sizing:border-box;height:52px;padding:0 20px;border:0;border-radius:11px;background:#FCFCFD;box-shadow:inset 0 0 0 1px rgba(34,43,67,.12),0 1px 2px rgba(34,43,67,.04);font:400 16px/1.4 var(--font-body);color:#151B33;outline:none;transition:box-shadow .3s var(--ease),background .3s var(--ease)}
.ct-f textarea{height:104px;padding:16px 20px;resize:vertical;min-height:88px}
.ct-f input::placeholder,.ct-f textarea::placeholder{color:#9AA0B0}
.ct-f input:hover,.ct-f textarea:hover{box-shadow:inset 0 0 0 1px rgba(34,43,67,.22),0 1px 2px rgba(34,43,67,.04)}
.ct-f input:focus,.ct-f textarea:focus{background:#fff;box-shadow:inset 0 0 0 1.5px #3A4766,0 0 0 4px rgba(182,209,249,.6)}
.ct-f.bad input,.ct-f.bad textarea{box-shadow:inset 0 0 0 1.5px #E5484D,0 0 0 4px rgba(229,72,77,.12)}
.ct-f .er{font-size:13px;color:#C9353A}
.ct-req{margin:14px 0 0 8px;font-size:13px;color:#6B7186}
.ct-btn{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:24px;width:min(100%,388px);height:58px;margin:clamp(14px,1.6vw,20px) auto 0;border-radius:12px;background:#18213E;color:#FEFEFE;font-size:18px;font-weight:500;letter-spacing:-.01em;box-shadow:0 14px 30px -16px rgba(24,33,62,.7);transition:background .3s var(--ease),transform .3s var(--expo),box-shadow .3s var(--ease)}
.ct-btn .ico{transition:transform .4s var(--expo)}
.ct-btn:hover{background:#222D52;transform:translateY(-1px);box-shadow:0 18px 34px -16px rgba(24,33,62,.75)}
.ct-btn:hover .ico{transform:translateX(4px)}
.ct-btn:active{transform:scale(.98)}
.ct-btn:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.ct-btn[disabled]{opacity:.8;cursor:progress}
.ct-note{margin:16px 0 0;text-align:center;font-size:13.5px;color:#6B7186}
.ct-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;min-height:420px;justify-content:center;animation:pageIn .7s var(--expo) both}
.ct-done .ok{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#DDF6E6;color:#1E6B4C}
.ct-done h2{margin:6px 0 0}
.ct-done p{margin:0;font-size:17px;color:#6B7186;max-width:42ch}
.ct-done .ctas{margin-top:14px}
.ct-fx{position:absolute;z-index:2;pointer-events:none;background:#FCFCFD;box-shadow:inset 0 1px 0 #fff,0 0 0 1px rgba(34,43,67,.05),0 24px 44px -22px rgba(34,43,67,.38);animation:ctIn 1.2s var(--expo) both,ctFloat 6s ease-in-out infinite alternate;animation-delay:var(--dl,.5s),calc(var(--dl,.5s) + 1.2s)}
@keyframes ctIn{from{opacity:0;translate:0 24px;scale:.94}}
@keyframes ctFloat{to{translate:0 -9px}}
.ct-chip{left:-150px;top:-66px;display:flex;align-items:center;gap:22px;height:66px;padding:0 38px 0 16px;border-radius:999px;font-size:18px;font-weight:500;color:#151B33;white-space:nowrap;rotate:-8deg;--dl:.6s}
.ct-chip .d{position:relative;width:20px;height:20px;border-radius:50%;background:#5FD08F;box-shadow:0 0 0 7px #E3F6EA}
.ct-chip .d::after{content:"";position:absolute;inset:0;border-radius:50%;background:#5FD08F;animation:scPing 2.4s var(--ease) infinite}
.ct-card{display:flex;align-items:center;gap:22px;padding:22px 34px 22px 22px;border-radius:24px}
.ct-card .ib{display:grid;place-items:center;width:96px;height:96px;border-radius:20px;flex:none;color:#151B33}
.ct-card .tx{display:flex;flex-direction:column;gap:9px}
.ct-card b{font-family:var(--font-identity);font-weight:700;font-size:22px;line-height:1.12;letter-spacing:-.03em;color:#151B33}
.ct-card.ec{right:-84px;top:-34px;width:290px;rotate:12deg;--dl:.8s}
.ct-card.ec .ib{background:linear-gradient(160deg,#D6E4FB,#C3D7F7)}
.ct-card.ec .tx i{display:block;height:7px;border-radius:4px;background:#E2E5EB}
.ct-card.ec .tx i:first-of-type{width:94px;margin-top:6px}.ct-card.ec .tx i:last-of-type{width:100px}
.ct-card.us{left:-84px;bottom:56px;width:auto;rotate:14deg;--dl:1s}.ct-card.us b{white-space:nowrap}
.ct-card.us .ib{background:linear-gradient(160deg,#FAF3C6,#F3E9A8);width:88px;height:88px}
.ct-card.us .pg{position:relative;display:block;width:142px;height:9px;margin-top:6px;border-radius:5px;background:#E6E8ED;overflow:hidden}
.ct-card.us .pg i{position:absolute;inset:0;border-radius:inherit;background:#7DD8A1;transform-origin:left;transform:scaleX(.55);animation:ctBar 4.8s var(--expo) infinite alternate}
@keyframes ctBar{from{transform:scaleX(.2)}to{transform:scaleX(.72)}}
.ct-card .sp{position:absolute;display:block;width:44px;height:44px}
.ct-card .sp i{position:absolute;width:3px;height:16px;border-radius:2px;transform-origin:50% 100%;animation:ctSpark 2.8s var(--ease) infinite}
.ct-card .s1{right:-30px;top:-34px}.ct-card .s1 i{background:#7AA5EE}
.ct-card .s1 i:nth-child(1){left:0;top:14px;rotate:-12deg}.ct-card .s1 i:nth-child(2){left:16px;top:8px;rotate:18deg;animation-delay:.2s}.ct-card .s1 i:nth-child(3){left:32px;top:20px;rotate:52deg;animation-delay:.4s}
.ct-card .s2{left:-10px;top:-46px}.ct-card .s2 i{background:#7DD8A1}
.ct-card .s2 i:nth-child(1){left:0;top:20px;rotate:-40deg}.ct-card .s2 i:nth-child(2){left:22px;top:12px;rotate:-6deg;animation-delay:.25s}
@keyframes ctSpark{0%,100%{opacity:1}50%{opacity:.35}}
.ct-sig{display:flex;align-items:center;gap:clamp(20px,3vw,44px);margin:clamp(28px,3vw,36px) 0 0;font-size:clamp(18px,1.7vw,24px);letter-spacing:-.015em;color:#151B33}
.ct-sig i{display:block;width:clamp(40px,6vw,84px);height:1px;background:rgba(34,43,67,.3)}
@media (max-width:1280px){.ct-chip{left:-70px}.ct-card.ec{right:-36px}.ct-card.us{left:-36px}}
@media (max-width:1100px){.ct-fx{scale:.72}.ct-chip{left:-30px;top:-34px}.ct-card.ec{right:-30px;top:40px;transform-origin:right top}.ct-card.us{left:-50px;bottom:-30px}}
@media (max-width:1024px){.ct-card{display:none}}
@media (max-width:860px){.ct-card{display:none}.ct-chip{left:50%;top:-40px;translate:-50% 0;scale:.85;animation:none}.ct-grid{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.ct *{animation:none!important}}
html.static .ct *{animation:none!important}

.ct .ph-orbit{--lc1:#3E6FF0;--lc2:#8EB5FA;--lg:rgba(91,141,247,.7);--o:20px}
.ct .ph-orbit .of{border-radius:calc(28px + var(--o))}
.ct .ph-orbit .oh.t0,.ct .ph-orbit .ox.t0{top:calc(28px + var(--o))}