/* AIVy contact: one clear route from curiosity to a conversation. */
.contact-hero{overflow:clip}
@media(max-width:700px){.contact-page .contact-lead{max-width:62%;font-size:15px;text-wrap:balance}}
.contact-page{--contact-blue:#3154f0;--contact-purple:#ebe8fb;--contact-error:#a62d45;overflow-x:clip}.contact-page [hidden]{display:none!important}.contact-page>header{position:relative;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);z-index:50}.contact-page>header .brand-logo{filter:none}.contact-page>header nav{font-size:17px;gap:28px}.contact-page>header .contact-link{background:var(--contact-blue);color:#fff;font-size:14px}.contact-page>header .menu-toggle{color:var(--ink)}.contact-hero{padding:42px 7% 65px;display:grid;grid-template-columns:minmax(0,1fr) 29%;column-gap:5%;position:relative;isolation:isolate;max-width:1800px;margin:0 auto}.contact-breadcrumb{display:flex;gap:14px;align-items:center;font-size:12px;color:#72746e;margin:0 0 55px}.contact-breadcrumb a:hover{color:var(--contact-blue)}.contact-kicker{font-family:'DM Sans','Noto Sans JP',sans-serif;font-size:14px;font-weight:800;letter-spacing:.07em;margin:0 0 22px}.contact-hero h1{font-size:clamp(68px,7.7vw,126px);line-height:1.35;letter-spacing:-.075em;font-weight:900;font-style:italic;rotate:-3deg;transform-origin:left center;margin:0 0 30px}.contact-hero h1 em{font-style:inherit;color:var(--contact-blue);white-space:nowrap}.contact-lead{font-size:20px;font-weight:700;line-height:2;margin:0;letter-spacing:-.025em}.contact-hero-character{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;padding:90px 0 40px}.contact-hero-character img{position:relative;width:105%;height:400px;object-fit:contain;z-index:1;filter:drop-shadow(0 14px 15px #6153ac14);animation:contact-float 7s ease-in-out infinite}.contact-orbit{position:absolute;top:28%;left:-12%;width:120%;aspect-ratio:1;background:var(--contact-purple);border-radius:50%;transform:rotate(-12deg)}.contact-orbit:after{content:'';position:absolute;inset:-16px;border:1px solid #c6c2dd;border-radius:50%;transform:scaleX(1.12) rotate(-20deg)}.contact-character-word{position:absolute;bottom:52px;left:0;right:0;text-align:center;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.09em;font-weight:700;z-index:2}.contact-hero-bottom{grid-column:1/-1;display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-top:48px;padding-top:30px;border-top:1px solid var(--line)}.contact-hero-bottom p{font-size:15px;line-height:2;margin:0}.contact-hero-bottom>a{display:flex;gap:40px;align-items:center;font-size:14px;font-weight:800;border-bottom:1px solid var(--ink);padding:0 0 14px}.contact-hero-bottom>a span{font-size:26px;line-height:1}.contact-form-section{background:var(--contact-purple);padding:100px 7% 120px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:8%;align-items:start;scroll-margin-top:20px}.contact-intro{position:sticky;top:45px}.contact-intro>.contact-kicker{color:var(--contact-blue);font-size:13px}.contact-intro h2{font-size:clamp(34px,3.35vw,54px);font-weight:900;line-height:1.65;letter-spacing:-.065em}.contact-intro>p:not(.contact-kicker){font-size:16px;line-height:2;margin:26px 0}.contact-topics{list-style:none;margin:37px 0 0;padding:0}.contact-topics li{border-top:1px solid #cbc7df;padding:21px 0}.contact-topics strong{display:block;font-size:16px;font-weight:800}.contact-topics span{display:block;font-size:12px;color:#696777;line-height:1.9;margin-top:7px}.contact-intro>.contact-intro-note{font-size:12px!important;line-height:1.9!important;max-width:320px;color:#696777}.contact-form-panel{min-width:0}.contact-progress{display:flex;justify-content:space-between;list-style:none;padding:0 0 25px;margin:0 0 40px;border-bottom:1px solid #cac6de;gap:15px}.contact-progress li{display:flex;align-items:center;gap:11px;color:#817d96;font-size:14px;font-weight:700}.contact-progress li>span{font-family:'DM Sans',sans-serif;font-size:12px;border:1px solid #c6c1d9;width:33px;height:33px;border-radius:50%;display:grid;place-items:center}.contact-progress li[aria-current]{color:var(--contact-blue)}.contact-progress li[aria-current]>span{background:var(--contact-blue);border-color:var(--contact-blue);color:#fff}.contact-required-note{font-size:12px;line-height:1.8;margin:0 0 29px}.contact-required,.contact-optional{display:inline-block;font-size:10px;font-weight:700;line-height:1.5;padding:3px 7px;letter-spacing:.02em;vertical-align:middle;border-radius:3px;margin-left:10px}.contact-required{color:#fff;background:var(--contact-blue)}.contact-optional{color:#6b687c;background:#dcd8ee}.contact-required-note>.contact-required{margin:0 6px 0 0}.contact-service-field{margin:0 0 33px;border:0;padding:0;min-width:0}.contact-service-field legend{font-size:16px;font-weight:800;line-height:1.8;margin-bottom:15px;padding:0}.contact-service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contact-service-options>label{position:relative;display:flex;align-items:center;margin:0;gap:11px;border:1px solid #d3cee5;padding:18px 15px;background:#f7f6fd;border-radius:5px;cursor:pointer;transition:border-color .2s,background .2s;min-width:0}.contact-service-options>label:hover{border-color:#9d9bc7}.contact-service-options>label:has(input:checked){border-color:var(--contact-blue);background:#fff;box-shadow:inset 0 0 0 1px var(--contact-blue)}.contact-service-options input{appearance:auto;margin:0;width:17px;height:17px;padding:0;flex:0 0 17px;accent-color:var(--contact-blue);border:0;background:none}.contact-service-options strong{display:block;font-size:15px;font-weight:800;line-height:1.6}.contact-service-options small{display:block;font-size:10px;line-height:1.7;color:#656273;margin-top:4px}.contact-field{margin:0 0 29px}.contact-field>label{font-size:16px;font-weight:800;line-height:1.8;display:block;margin:0}.contact-field>input,.contact-field>textarea{display:block;width:100%;border:1px solid #d0cbe2;border-radius:4px;background:#fff;padding:17px 18px;font-size:16px;line-height:1.7;margin:12px 0 0;color:var(--ink);transition:border-color .15s,box-shadow .15s}.contact-field>textarea{resize:vertical;min-height:210px}.contact-field>input::placeholder,.contact-field>textarea::placeholder{color:#93909e;opacity:1}.contact-field>input:focus,.contact-field>textarea:focus{outline:0;border-color:var(--contact-blue);box-shadow:0 0 0 3px #3154f020}.contact-field>[aria-invalid=true]{border-color:var(--contact-error);box-shadow:0 0 0 1px var(--contact-error)}.contact-field-help{font-size:11px!important;line-height:1.9!important;margin:8px 0 0!important;color:#6f6b7e}.contact-field-error{font-size:12px!important;color:var(--contact-error);line-height:1.8!important;margin:9px 0 0!important;font-weight:600}.contact-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.contact-privacy{padding:25px 0 33px;border-top:1px solid #cac6de;margin-top:32px}.contact-privacy>label{display:flex;gap:13px;align-items:flex-start;margin:0;font-size:13px;font-weight:600;line-height:2.1;cursor:pointer}.contact-privacy input{appearance:auto;accent-color:var(--contact-blue);width:18px;height:18px;flex:0 0 18px;margin:5px 0 0;padding:0;background:none}.contact-privacy a{text-decoration:underline;text-underline-offset:4px;color:#263fc4}.contact-new-window{font-size:10px;display:inline-block;text-decoration:none;margin:0 2px}.contact-privacy .contact-required{margin-left:7px}.contact-primary{display:flex;align-items:center;justify-content:space-between;gap:25px;width:100%;border:0;border-radius:50px;background:var(--contact-blue);color:white;padding:23px 27px;font-size:16px;font-weight:800;line-height:1.6;text-align:left;transition:background .2s,transform .2s}.contact-primary:hover:not(:disabled){background:#233bc0;transform:translateY(-2px)}.contact-primary>span{font-size:23px;line-height:1}.contact-primary:disabled,.contact-secondary:disabled{cursor:wait;opacity:.6}.contact-button-note{font-size:11px;text-align:center;color:#6f6b7e;line-height:1.9;margin:13px 0 0}.contact-alert{background:#fff3f3;border:1px solid #dcb4be;border-left:3px solid var(--contact-error);padding:19px 21px;font-size:14px;line-height:1.9;color:#7f2338;margin-bottom:26px;overflow-wrap:anywhere}.contact-review h3{font-size:30px;font-weight:900;line-height:1.7;letter-spacing:-.04em;margin:0 0 12px}.contact-review>p{font-size:14px;line-height:1.9;margin:0 0 25px}.contact-review dl{margin:0 0 26px}.contact-review-row{padding:23px 0;border-top:1px solid #cac6de;min-width:0}.contact-review-row dt{font-size:12px;color:#716b88;font-weight:700;line-height:1.7;margin:0 0 8px}.contact-review-row dd{font-size:16px;line-height:1.9;font-weight:500;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.contact-review-consent{font-size:12px;line-height:1.8;margin-bottom:30px;display:flex;gap:10px;align-items:center}.contact-review-consent>span{color:var(--contact-blue);font-size:18px;font-weight:900}.contact-review-actions{display:grid;gap:15px}.contact-secondary{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:20px 27px;border:1px solid #b9b2cf;border-radius:50px;background:transparent;font-size:14px;font-weight:700;color:var(--ink)}.contact-secondary:hover{background:#f4f1ff}.contact-send-status{font-size:13px;line-height:1.9;margin:16px 0 0}.contact-complete{padding:18px 0 0}.contact-complete-mark{display:grid;place-items:center;border-radius:50%;background:var(--contact-blue);color:#fff;font-size:29px;font-weight:700;width:63px;height:63px;margin-bottom:28px}.contact-complete>.contact-kicker{font-size:13px;color:var(--contact-blue);margin-bottom:15px}.contact-complete h3{font-size:clamp(32px,3.4vw,54px);line-height:1.65;letter-spacing:-.065em;font-weight:900;margin:0 0 24px}.contact-complete>p:not(.contact-kicker){font-size:16px;line-height:2;margin:0 0 23px}.contact-complete>.contact-reference{font-size:11px!important;color:#6f6b7e;margin-bottom:34px!important;overflow-wrap:anywhere}.contact-complete-pitary{font-size:14px;font-weight:700;display:flex;justify-content:space-between;align-items:center;padding:23px 0;border-bottom:1px solid #cac6de;margin-top:10px}.contact-page .contact-footer a[aria-current]{color:var(--contact-blue)}.contact-page :is(button,a,input,textarea):focus-visible{outline:3px solid var(--contact-blue);outline-offset:4px}.contact-page :is(h3,.contact-alert)[tabindex="-1"]:focus{outline:none}
@keyframes contact-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(1deg)}}
.contact-direct{padding-top:22px;border-top:1px solid #cbc7df;margin-top:30px;max-width:350px}.contact-direct>span{display:block;font-size:11px;color:#696777;line-height:1.8;margin-bottom:8px}.contact-direct>a{font-family:'DM Sans',sans-serif;font-size:18px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:16px;letter-spacing:-.025em;overflow-wrap:anywhere}.contact-direct>a:hover{color:var(--contact-blue)}.contact-progress .contact-final-step{font-family:inherit;font-size:14px;border:0;width:auto;height:auto;display:inline;background:none;color:inherit;border-radius:0}.contact-primary>.contact-action-label{font:inherit}.contact-mail-help{padding:22px 0 0;margin-top:6px}.contact-mail-help>p{font-size:11px;line-height:2;margin:0 0 10px;color:#6f6b7e}.contact-mail-help a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.contact-mail-help>button{border:0;background:transparent;border-bottom:1px solid #9690ad;padding:6px 0 8px;display:flex;gap:28px;align-items:center;font-size:12px;font-weight:700}.contact-mail-help>textarea{font-size:13px;line-height:1.8;margin-top:16px;width:100%;resize:vertical;min-height:200px}
@media(min-width:1800px){.contact-form-section{padding-left:max(7%,calc((100vw - 1548px)/2));padding-right:max(7%,calc((100vw - 1548px)/2))}}
@media(max-width:1050px){.contact-page>header{padding-left:5%;padding-right:5%;gap:22px}.contact-page>header nav{font-size:14px;gap:20px}.contact-page>header .contact-link{font-size:12px;padding:12px 19px;gap:17px}.contact-hero{padding:34px 5% 58px;grid-template-columns:minmax(0,1fr) 27%;gap:4%}.contact-breadcrumb{margin-bottom:40px}.contact-hero h1{font-size:8.4vw}.contact-lead{font-size:18px}.contact-hero-character img{height:340px;width:130%}.contact-character-word{font-size:8px;bottom:40px;white-space:nowrap}.contact-orbit{width:125%;left:-12%;top:29%}.contact-hero-bottom{margin-top:40px}.contact-hero-bottom p{font-size:13px}.contact-form-section{padding:80px 5% 95px;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:6%}.contact-intro h2{font-size:3.5vw;line-height:1.8}.contact-intro>p:not(.contact-kicker){font-size:14px}.contact-topics strong{font-size:14px}.contact-topics span{font-size:11px}.contact-service-options>label{padding:16px 12px;gap:9px}.contact-service-options small{font-size:9px}.contact-service-options strong{font-size:14px}.contact-new-window{display:none}}
@media(max-width:700px){.contact-page>header{height:82px;padding:0 6%;gap:16px}.contact-page>header .contact-link{font-size:11px;padding:10px 15px;gap:10px}.contact-hero{display:block;padding:27px 6% 40px}.contact-breadcrumb{font-size:11px;margin-bottom:38px;gap:11px}.contact-kicker{font-size:12px;margin-bottom:22px}.contact-hero h1{font-size:12vw;line-height:1.5;rotate:-3deg;margin:0 0 20px}.contact-lead{font-size:16px;line-height:1.9;max-width:72%}.contact-hero-character{position:absolute;right:4%;top:214px;display:block;width:27%;height:180px;padding:0;pointer-events:none}.contact-hero-character img{width:135%;height:190px;max-width:none;transform:none;margin-left:-11%;animation:none}.contact-orbit{top:28%;left:0;width:110%}.contact-orbit:after{inset:-7px}.contact-character-word{display:none}.contact-hero-bottom{display:block;margin-top:50px;padding-top:23px}.contact-hero-bottom p{font-size:13px;line-height:2}.contact-hero-bottom>a{width:max-content;max-width:100%;font-size:13px;gap:45px;margin-top:25px;padding-bottom:12px}.contact-hero-bottom>a span{font-size:22px}.contact-form-section{display:block;padding:55px 6% 70px;scroll-margin-top:12px}.contact-intro{position:static;margin-bottom:35px}.contact-intro>.contact-kicker{font-size:12px;margin-bottom:17px}.contact-intro h2{font-size:9vw;line-height:1.65}.contact-intro>p:not(.contact-kicker){font-size:15px;margin:21px 0 0}.contact-topics{display:none}.contact-intro>.contact-intro-note{font-size:11px!important;max-width:none;margin-top:15px!important}.contact-progress{padding-bottom:22px;margin-bottom:28px;gap:10px}.contact-progress li{font-size:12px;gap:8px}.contact-progress li>span{font-size:10px;width:28px;height:28px}.contact-required-note{font-size:11px;margin-bottom:26px}.contact-service-field{margin-bottom:27px}.contact-service-field legend,.contact-field>label{font-size:15px}.contact-service-options{gap:8px}.contact-service-options>label{padding:15px 11px;gap:8px;align-items:flex-start}.contact-service-options input{margin-top:3px;width:15px;height:15px;flex-basis:15px}.contact-service-options strong{font-size:14px}.contact-service-options small{font-size:9px;line-height:1.7;margin-top:5px}.contact-field{margin-bottom:25px}.contact-field>input,.contact-field>textarea{padding:15px;font-size:16px;margin-top:11px}.contact-field>textarea{min-height:230px}.contact-required,.contact-optional{font-size:9px;padding:3px 6px;margin-left:8px}.contact-field-help{font-size:10px!important}.contact-field-error{font-size:11px!important}.contact-privacy{margin-top:28px;padding:22px 0 29px}.contact-privacy>label{font-size:12px;gap:10px;line-height:2}.contact-privacy input{width:17px;height:17px;flex-basis:17px}.contact-privacy .contact-required{margin-left:4px}.contact-primary{font-size:14px;padding:21px 23px}.contact-primary>span{font-size:21px}.contact-button-note{font-size:10px}.contact-alert{padding:16px;font-size:12px;margin-bottom:23px}.contact-review h3{font-size:26px}.contact-review>p{font-size:13px}.contact-review-row{padding:20px 0}.contact-review-row dt{font-size:11px}.contact-review-row dd{font-size:15px}.contact-secondary{font-size:13px;padding:19px 23px}.contact-complete-mark{width:55px;height:55px;font-size:25px;margin-bottom:23px}.contact-complete h3{font-size:9.3vw}.contact-complete>p:not(.contact-kicker){font-size:15px}.contact-complete-pitary{font-size:12px}.contact-page .contact-footer>p{max-width:none}.contact-page .contact-footer>div{gap:16px}.contact-page .contact-footer .footer-legal{margin-top:0}}
@media(max-width:360px){.contact-hero-character{top:220px;width:24%;right:3%}.contact-hero-character img{height:155px}.contact-hero h1{font-size:11.5vw}.contact-service-options{grid-template-columns:minmax(0,1fr)}.contact-service-options small{font-size:10px}.contact-service-options>label{align-items:center}.contact-service-options input{margin-top:0}.contact-service-options small{margin-top:2px}.contact-progress{gap:6px}.contact-progress li{gap:6px}.contact-progress li>span{width:25px;height:25px}}
@media(prefers-reduced-motion:reduce){.contact-hero-character img{animation:none}.contact-page{scroll-behavior:auto}.contact-primary,.contact-secondary,.contact-service-options>label{transition:none}}
@media(max-width:700px){.contact-direct{margin-top:23px;padding-top:18px;max-width:none}.contact-direct>a{font-size:17px;max-width:310px}.contact-progress .contact-final-step{font-size:12px}.contact-mail-help>p{font-size:10px}.contact-mail-help>button{font-size:11px}}
/* Contact is a utility page: concise labels and a compact, quiet hero. */
.contact-page .contact-hero{grid-template-columns:minmax(0,1fr) 22%;padding-top:34px;padding-bottom:42px;column-gap:7%}
.contact-page .contact-hero h1{font-size:clamp(50px,6vw,86px);font-style:normal;rotate:none;letter-spacing:-.055em;line-height:1.4;margin-bottom:24px}
.contact-page .contact-hero-character{padding:10px 0 0;align-items:center}
.contact-page .contact-hero-character img{width:100%;height:230px;animation:none}
.contact-page .contact-orbit{width:100%;left:0;top:15%}
.contact-page .contact-hero-bottom{margin-top:34px;padding-top:23px}
.contact-page .contact-lead{font-size:17px;font-weight:500;line-height:1.95}
.contact-page .contact-intro h2{font-size:clamp(28px,2.7vw,42px);line-height:1.6;letter-spacing:-.04em;margin:0}
.contact-page .contact-breadcrumb{margin-bottom:35px}
.contact-page .contact-form-section{padding-top:75px}
@media(max-width:700px){.contact-page .contact-hero{display:block;padding:26px 6% 34px}.contact-page .contact-hero h1{font-size:42px;white-space:nowrap}.contact-page .contact-lead{max-width:none;font-size:15px;padding-right:100px}.contact-page .contact-hero-character{top:112px;right:5%;width:23%;height:150px;padding:0}.contact-page .contact-hero-character img{height:140px;width:100%;margin:0}.contact-page .contact-orbit{top:20%;width:100%}.contact-page .contact-hero-bottom{margin-top:30px}.contact-page .contact-form-section{padding-top:48px}.contact-page .contact-intro h2{font-size:28px}.contact-page .contact-breadcrumb{margin-bottom:28px}}
@media(max-width:360px){.contact-page .contact-hero h1{font-size:36px}.contact-page .contact-hero-character{width:20%;top:110px}.contact-page .contact-lead{padding-right:75px;font-size:14px}}
