/* =========================================================
   RYTHON CONTACT PAGE + CONTACT FORM 7 SKIN
========================================================= */

.contact-page{
  --c-blue:#1465f5;
  --c-blue2:#0757ea;
  --c-navy:#071b46;
  --c-text:#52617c;
  --c-line:#dce6f4;
  font-family:Inter,system-ui,sans-serif;
  color:var(--c-navy);
  background:#fff;
}
.contact-page *{box-sizing:border-box}
.contact-container{width:min(1180px,calc(100% - 48px));margin:auto}

.contact-main{
  position:relative;
  padding:110px 0 76px !important;
  overflow:hidden;
  background:
    radial-gradient(circle at 17% 42%,rgba(69,137,255,.10),transparent 30%),
    radial-gradient(circle at 83% 18%,rgba(69,137,255,.07),transparent 27%),
    linear-gradient(180deg,#fbfdff,#f7faff);
}
.contact-bg-dot{position:absolute;width:150px;height:150px;opacity:.25;background-image:radial-gradient(circle,#73a5ff 1.5px,transparent 1.5px);background-size:15px 15px}
.contact-bg-dot-one{left:12%;top:40px}.contact-bg-dot-two{right:2%;top:90px}

.contact-layout{position:relative;z-index:2;display:grid;grid-template-columns:430px minmax(0,1fr);gap:50px;align-items:start}

.contact-intro{padding:25px 0}
.contact-tag{width:max-content;display:flex;align-items:center;gap:8px;padding:9px 14px;color:var(--c-blue);font-size:12px;font-weight:800;border-radius:999px;background:#edf4ff}
.contact-tag svg{width:15px;height:15px}
.contact-intro h1{margin:20px 0 0;font-size:clamp(44px,4.5vw,62px);line-height:1.03;letter-spacing:-2.5px}
.contact-intro h1 span{color:var(--c-blue)}
.contact-title-line{width:58px;height:4px;margin:23px 0;border-radius:5px;background:linear-gradient(90deg,var(--c-blue),#83afff)}
.contact-lead{max-width:390px;margin:0 0 22px;color:var(--c-text);font-size:14px;line-height:1.8}

.contact-info-list{display:grid;gap:10px}
.contact-info-card{display:flex;align-items:center;gap:18px;padding:18px 20px;border:1px solid var(--c-line);border-radius:13px;background:rgba(255,255,255,.9);box-shadow:0 8px 26px rgba(15,23,42,.035);transition:.28s}
.contact-info-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(18,100,246,.08)}
.contact-info-icon{width:55px;height:55px;flex:0 0 55px;display:grid;place-items:center;color:#075ef0;border-radius:50%;background:#eaf2ff}
.contact-info-icon.green{color:#169447;background:#ebf8ef}.contact-info-icon.purple{color:#7340d8;background:#f1ebff}
.contact-info-icon svg{width:24px}
.contact-info-card h3{margin:0 0 5px;font-size:14px}.contact-info-card p{margin:4px 0;color:var(--c-text);font-size:11px;line-height:1.5}
.contact-info-card a{color:var(--c-navy);font-size:13px;font-weight:700;text-decoration:none}
.contact-info-card .contact-inline-link{display:inline-flex;align-items:center;gap:6px;color:var(--c-blue);font-size:11px}
.contact-inline-link svg{width:13px}

.contact-trust{display:flex;align-items:center;gap:18px;margin-top:20px;padding:20px;border:1px solid #cfe0ff;border-radius:13px;background:linear-gradient(110deg,#edf5ff,#f8fbff)}
.contact-trust-icon{width:58px;height:58px;flex:0 0 58px;display:grid;place-items:center;color:#fff;border-radius:15px;background:linear-gradient(145deg,#287cff,#0758e7)}
.contact-trust-icon svg{width:30px}.contact-trust h3{margin:0 0 7px;color:#0c50c9;font-size:13px}.contact-trust p{margin:0;color:var(--c-text);font-size:11px;line-height:1.6}

/* FORM CARD */
.contact-form-card{padding:38px 42px 28px;border:1px solid #dfe7f2;border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 22px 55px rgba(21,48,93,.09)}
.contact-form-heading{margin-bottom:27px}.contact-form-heading h2{margin:0 0 7px;font-size:25px;letter-spacing:-.7px}.contact-form-heading p{margin:0;color:var(--c-text);font-size:13px}

.rython-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 24px}
.rython-field{display:block;margin:0}
.rython-field>span:first-child{display:block;margin-bottom:8px;color:var(--c-navy);font-size:11.5px;font-weight:700}
.rython-field b{color:#ef4444}
.rython-control{position:relative;display:block}
.rython-control input,.rython-control select,.rython-control textarea{
  width:100%;outline:none;border:1px solid #d9e2ef;border-radius:7px;background:#fff;color:#27334d;
  font:400 12px/1.4 Inter,sans-serif;transition:.2s;
}
.rython-control input,.rython-control select{height:43px;padding:0 42px 0 13px}
.rython-control textarea{height:88px;resize:vertical;padding:13px 42px 13px 13px}
.rython-control input::placeholder,.rython-control textarea::placeholder{color:#94a0b5}
.rython-control input:focus,.rython-control select:focus,.rython-control textarea:focus{border-color:#6ca2ff;box-shadow:0 0 0 3px rgba(20,101,245,.08)}
.rython-control>svg{position:absolute;right:13px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:#71809d;pointer-events:none}
.rython-textarea-control>svg{top:15px;transform:none}
.rython-field-full{grid-column:1/-1}

.rython-consent{display:flex;align-items:flex-start;gap:9px;color:#63708a;font-size:10.5px;line-height:1.5}
.rython-consent input{margin-top:2px}.rython-consent a{color:var(--c-blue)}

.rython-submit{
  width:100%;height:48px;display:flex;align-items:center;justify-content:center;gap:10px;
  border:0;border-radius:7px;color:#fff;background:linear-gradient(90deg,#1265f4,#0758e7);
  font:800 12px Inter,sans-serif;cursor:pointer;box-shadow:0 10px 22px rgba(18,100,246,.16);transition:.25s;
}
.rython-submit:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(18,100,246,.24)}
.rython-submit svg{width:16px}
.rython-secure{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:12px;color:#8290a8;font-size:10px}.rython-secure svg{width:12px}

/* =========================================================
   CONTACT FORM 7
   These selectors skin the real CF7 form using the same UI.
========================================================= */
.contact-form-card .wpcf7{margin:0}
.contact-form-card .wpcf7-form{margin:0}
.contact-form-card .wpcf7-form .rython-form-grid p{margin:0}
.contact-form-card .wpcf7-form-control-wrap{display:block;width:100%}
.contact-form-card .wpcf7 input[type="text"],
.contact-form-card .wpcf7 input[type="email"],
.contact-form-card .wpcf7 input[type="tel"],
.contact-form-card .wpcf7 select,
.contact-form-card .wpcf7 textarea{
  width:100%;outline:none;border:1px solid #d9e2ef;border-radius:7px;background:#fff;color:#27334d;
  font:400 12px/1.4 Inter,sans-serif;transition:.2s;
}
.contact-form-card .wpcf7 input[type="text"],
.contact-form-card .wpcf7 input[type="email"],
.contact-form-card .wpcf7 input[type="tel"],
.contact-form-card .wpcf7 select{height:43px;padding:0 13px}
.contact-form-card .wpcf7 textarea{height:88px;resize:vertical;padding:13px}
.contact-form-card .wpcf7 input:focus,.contact-form-card .wpcf7 select:focus,.contact-form-card .wpcf7 textarea:focus{border-color:#6ca2ff;box-shadow:0 0 0 3px rgba(20,101,245,.08)}
.contact-form-card .wpcf7 input[type="submit"]{
  width:100%;height:48px;border:0;border-radius:7px;color:#fff;background:linear-gradient(90deg,#1265f4,#0758e7);
  font:800 12px Inter,sans-serif;cursor:pointer;box-shadow:0 10px 22px rgba(18,100,246,.16)
}
.contact-form-card .wpcf7-not-valid-tip{margin-top:5px;font-size:10px}
.contact-form-card .wpcf7-response-output{margin:15px 0 0!important;padding:11px 14px!important;border-radius:7px;font-size:11px}
.contact-form-card .wpcf7-spinner{display:block;margin:10px auto 0}
.contact-form-card .wpcf7-acceptance .wpcf7-list-item{margin:0}
.contact-form-card .wpcf7-acceptance label{display:flex;align-items:flex-start;gap:8px;color:#63708a;font-size:10.5px}

/* responsive */
@media(max-width:1000px){
  .contact-layout{grid-template-columns:360px minmax(0,1fr);gap:30px}
  .contact-form-card{padding:32px 28px}
}
@media(max-width:820px){
  .contact-main{padding:45px 0 60px!important}
  .contact-layout{grid-template-columns:1fr}
  .contact-intro{padding:0}
  .contact-lead{max-width:650px}
}
@media(max-width:600px){
  .contact-container{width:calc(100% - 30px)}
  .contact-intro h1{font-size:44px}
  .contact-form-card{padding:27px 18px;border-radius:15px}
  .rython-form-grid{grid-template-columns:1fr;gap:16px}
  .rython-field-full{grid-column:1}
}


/* STATIC CONTACT PAGE → CONTACT FORM 7 REST */
.rython-form-response{display:none;margin-top:13px;padding:11px 13px;border-radius:7px;font-size:11px;line-height:1.55;text-align:center}
.rython-form-response.is-success{display:block;color:#137333;border:1px solid #b8e3c5;background:#effaf2}
.rython-form-response.is-error{display:block;color:#b42318;border:1px solid #f2c7c3;background:#fff4f3}
.rython-control input.is-invalid,.rython-control select.is-invalid,.rython-control textarea.is-invalid{border-color:#e05252!important;box-shadow:0 0 0 3px rgba(224,82,82,.08)!important}
.rython-field-error{display:block;margin-top:5px;color:#c43c35;font-size:10px;line-height:1.35}
.rython-submit:disabled{opacity:.72;cursor:not-allowed;transform:none!important}


/* =========================================================
   CONTACT PAGE — RYTHON TYPOGRAPHY SYNC
========================================================= */

.contact-page,
.contact-page *,
.contact-section,
.contact-section * {
    font-family: "Inter", sans-serif !important;
}

/* Main heading */
.contact-page h1,
.contact-section h1 {
    font-family: "Inter", sans-serif !important;
    font-weight: 750;
    letter-spacing: -0.04em;
}

/* Form heading */
.contact-page h2,
.contact-section h2 {
    font-family: "Inter", sans-serif !important;
    font-weight: 700;
    letter-spacing: -0.025em;
}

/* Form labels */
.contact-page label,
.contact-section label {
    font-family: "Inter", sans-serif !important;
    font-weight: 600;
}

/* Inputs */
.contact-page input,
.contact-page select,
.contact-page textarea,
.contact-page button,
.contact-section input,
.contact-section select,
.contact-section textarea,
.contact-section button {
    font-family: "Inter", sans-serif !important;
}

/* =========================================================
   FIXED HEADER OFFSET — CONTACT PAGE
========================================================= */

.contact-page{
    padding-top:76px;
}

@media (max-width:1100px){

    .contact-page{
        padding-top:72px;
    }

}

@media (max-width:576px){

    .contact-page{
        padding-top:68px;
    }

}