/* Contact page only. Shared header, fonts and motion remain untouched. */
.ripo-contact-page{width:min(1380px,calc(100% - 60px));margin:56px auto 72px}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.contact-intro{padding:0 8px 0 0}
.contact-kicker{font-size:12px;letter-spacing:.12em;font-weight:500;color:#9565ff;margin-bottom:12px}
.contact-intro h1{font-size:clamp(36px,4vw,58px);line-height:1.12;letter-spacing:-.045em;font-weight:600;margin-bottom:28px}
.contact-lead{max-width:560px;color:#626b79;font-size:17px;line-height:1.7;margin-bottom:38px}
.contact-team{display:flex;align-items:center;gap:16px;margin:0 0 46px}
.contact-team-mark{display:grid;place-items:center;width:76px;height:76px;border-radius:20px;background:linear-gradient(135deg,#eef4ff,#f8edff);flex:none}
.contact-team-mark img{width:45px;height:45px}
.contact-team strong{font-size:20px;font-weight:500}.contact-team p{color:#626b79;font-size:15px;margin:3px 0 0}
.contact-direct{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:18px}
.contact-direct a{font-size:clamp(20px,2.1vw,28px);letter-spacing:-.025em;overflow-wrap:anywhere;transition:color .2s}
.contact-address{color:#626b79;font-size:14px;line-height:1.7;margin:0 0 24px}
.contact-address span{display:block}
.contact-social{display:flex;flex-wrap:wrap;gap:12px 26px;margin-bottom:24px}
.contact-social a{display:inline-flex;gap:10px;align-items:center;font-size:16px}.contact-social a span{font-size:21px}
.contact-reply{border-left:2px solid #ca6fff;padding-left:16px;color:#626b79;font-size:13px;max-width:490px}
.contact-form-panel{background:#f7f8fa;border-radius:32px;padding:38px;min-width:0}
.contact-form{display:flex;flex-direction:column;gap:20px}
.contact-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.contact-field>label,.contact-field-label{font-size:13px;font-weight:500;color:#505b6b;padding-left:3px}
.contact-field small{font-weight:400;color:#8790a1}
.contact-input-wrap{position:relative;display:flex;align-items:center;min-width:0}
.contact-input-wrap svg{position:absolute;left:18px;top:19px;width:22px;height:22px;stroke:#626b79;fill:none;stroke-width:1.7;pointer-events:none}
.contact-input-wrap input,.contact-input-wrap textarea,.contact-topic-trigger{width:100%;border:1px solid #edf0f4;border-radius:17px;background:#fff;color:#212529;font:inherit;font-size:15px;line-height:1.5;padding:18px 18px 18px 52px;min-height:60px;transition:border-color .2s,box-shadow .2s}
.contact-input-wrap textarea{min-height:136px;resize:vertical;padding-top:17px}
.contact-input-wrap input::placeholder,.contact-input-wrap textarea::placeholder{color:#8790a1}
.contact-input-wrap input:focus,.contact-input-wrap textarea:focus,.contact-topic-trigger:focus-visible{outline:none;border-color:#b69aff;box-shadow:0 0 0 3px #9565ff15}
.contact-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-topic{position:relative}
.contact-topic-trigger{display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer;padding-right:18px}
.contact-topic-trigger .contact-topic-chevron{position:static;width:16px;height:16px;flex:none;transition:transform .2s}
.contact-topic-trigger[aria-expanded=true] .contact-topic-chevron{transform:rotate(180deg)}
.contact-topic-options{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:10;background:#fff;border:1px solid #e9ecf3;border-radius:17px;padding:8px;box-shadow:0 14px 35px #29365a16;max-height:280px;overflow:auto}
.contact-topic-options[hidden]{display:none}
.contact-topic-options .policy-nav-item{display:flex;width:100%;text-align:left;justify-content:flex-start;font:inherit;font-size:14px;padding:11px 16px;white-space:normal;cursor:pointer}
.contact-topic-options [aria-selected=true]{color:#9565ff}
.contact-consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:#626b79;line-height:1.7}
.contact-consent input{accent-color:#9565ff;flex:none;width:16px;height:16px;margin:3px 0 0}
.contact-consent a{color:#8562ea;text-decoration:underline;text-underline-offset:3px}
.contact-submit{border:0;border-radius:12px;background:linear-gradient(90deg,#1177fe,#ca6fff 52%,#ff3b7d);color:#fff;font:inherit;font-size:16px;padding:14px 20px;min-height:52px;cursor:pointer;overflow:hidden;perspective:600px}
.contact-submit span{display:block;transition:transform .35s cubic-bezier(.2,.7,.3,1)}
.contact-submit:hover span{transform:rotateX(12deg) translateY(-2px)}
.contact-delivery-note{font-size:12px;color:#8790a1;line-height:1.7;text-align:center;margin:-9px 0 0}
.contact-form-result{border:1px solid #d8dfff;border-radius:15px;padding:16px;background:#fff;color:#505b6b;font-size:13px;line-height:1.7}
.contact-form-result[hidden]{display:none}.contact-form-result p{margin-bottom:10px}
.contact-topic-error{color:#a52c72;font-size:12px;padding-left:3px}.contact-topic-error[hidden]{display:none}
.contact-email-action{display:inline-flex;align-items:center;gap:10px;color:#8562ea;font-size:15px;text-decoration:underline;text-underline-offset:4px}
.contact-preparation{margin-top:44px;border-top:1px solid #e9ecf3;padding-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:24px 64px}
.contact-preparation h2{font-size:19px;font-weight:500;letter-spacing:-.02em;margin-bottom:10px}
.contact-preparation p{font-size:13px;color:#626b79;line-height:1.8;margin-bottom:0}
.contact-preparation a{color:#8562ea;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){.contact-layout{gap:32px}.contact-form-panel{padding:26px}.contact-field-row{grid-template-columns:1fr}.contact-intro h1{font-size:40px}.contact-team{margin-bottom:30px}}
@media(max-width:760px){.ripo-contact-page{width:calc(100% - 30px);margin:34px auto 48px}.contact-layout{grid-template-columns:1fr;gap:28px}.contact-intro{padding:0 8px}.contact-intro h1{font-size:39px;margin-bottom:20px}.contact-lead{font-size:16px;margin-bottom:26px}.contact-team{margin-bottom:26px}.contact-team-mark{width:62px;height:62px}.contact-form-panel{padding:24px 18px;border-radius:24px}.contact-form{gap:17px}.contact-field-row{grid-template-columns:1fr 1fr;gap:12px}.contact-preparation{grid-template-columns:1fr;gap:20px;margin-top:32px}}
@media(max-width:430px){.contact-field-row{grid-template-columns:1fr}.contact-intro h1{font-size:35px}.contact-direct a{font-size:22px}}
@media(prefers-reduced-motion:reduce){.contact-submit span,.contact-topic-chevron{transition:none}}
