/* Rostify — contact page. Builds on legal.css (tokens, hero, eyebrow). */
.ct-h1::after{content:none}
.ct-h1{max-width:14ch}
.ct-sub{display:block;margin-top:.12em;color:var(--teal)}
.ct-intro{align-items:start}
.ct-customer{margin:0;padding:16px 0 16px 18px;border-left:2px solid var(--teal);font-size:15.5px;line-height:1.55;color:var(--ink2)}
.ct-customer p{margin:0}
.ct-customer a,.ct-privacy a,.ct-notice a{color:var(--teal);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;
  text-decoration-color:light-dark(rgba(47,106,112,.35),rgba(134,195,196,.4))}
.ct-customer a:hover,.ct-privacy a:hover,.ct-notice a:hover{color:var(--ink);text-decoration-color:currentColor}

.ct-body{background:var(--bg);border-top:1px solid var(--rule)}
.ct-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.ct-label{margin:0;font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}

/* form card */
.ct-card{position:relative;background:var(--paper);border:1px solid var(--rule);border-radius:16px;padding:clamp(24px,3.4vw,48px);
  box-shadow:0 50px 100px -60px light-dark(rgba(14,32,35,.45),rgba(0,0,0,.9))}
.ct-card::before{content:'';position:absolute;left:clamp(24px,3.4vw,48px);right:clamp(24px,3.4vw,48px);top:0;height:2px;background:var(--teal);border-radius:0 0 2px 2px}
.ct-card-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;margin-bottom:clamp(20px,2.4vw,30px)}
.ct-required{margin:0;font-size:13.5px;color:var(--mute)}

.ct .form-wrapper{margin:0}
.ct form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.ct form .form-field{margin:0;padding:0;min-width:0}
.ct form .form-field:has(textarea),.ct form .form-field:has([name*="subject"]),.ct form .buttons{grid-column:1 / -1}
.ct form .form-field:has(.cap-invisible){display:none}
.ct form .form-label{display:block;margin:0 0 8px;padding:0}
.ct form .form-label label{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--ink)}
.ct form .required{color:var(--teal);margin-left:2px}
.ct form input[type=text],.ct form input[type=email],.ct form textarea{
  display:block;width:100%;margin:0;padding:14px 16px;border:1px solid var(--rule2);border-radius:10px;background:var(--paper);color:var(--ink);
  font:inherit;font-size:16px;line-height:1.45;outline:none;box-shadow:none;transition:border-color .15s,box-shadow .15s,background .15s;-webkit-appearance:none;appearance:none}
.ct form textarea{min-height:190px;resize:vertical}
.ct form input:hover,.ct form textarea:hover{border-color:light-dark(rgba(14,32,35,.45),rgba(230,239,238,.4))}
.ct form input:focus,.ct form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px light-dark(rgba(47,106,112,.14),rgba(134,195,196,.18))}
.ct form .has-errors input,.ct form .has-errors textarea{border-color:light-dark(#B3261E,#FF8A80)}
.ct form .form-errors,.ct form .form-errors p{margin:6px 0 0;font-size:13.5px;color:light-dark(#B3261E,#FF8A80)}
.ct form .buttons{display:flex;align-items:center;gap:16px;margin-top:6px}
.ct form .ct-send,.ct form .buttons .button,.ct form button[type=submit]{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 30px;border:0;border-radius:999px;cursor:pointer;
  background:light-dark(#3E767C,#73B2B5);color:light-dark(#FFFFFF,#062021);font:inherit;font-size:15.5px;font-weight:600;
  transition:background .2s,transform .2s,box-shadow .2s;box-shadow:none}
.ct form button[type=submit]::after{content:'→';font-weight:500;transition:transform .2s}
.ct form button[type=submit]:hover{background:light-dark(#2F6A70,#8CC6C8)}
.ct form button[type=submit]:hover::after{transform:translateX(3px)}
.ct form button[type=submit]:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.ct form button[type=submit][disabled]{opacity:.6;cursor:progress}
.ct-privacy{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--rule);font-size:13.5px;line-height:1.5;color:var(--mute)}
.ct-privacy p{margin:0}

/* messages from the form plugin */
.ct .notices{margin:0 0 22px;padding:14px 16px;border-radius:10px;font-size:15px;line-height:1.45;border:1px solid var(--rule2);background:var(--chip);color:var(--ink)}
.ct .notices.green,.ct .notices.success{border-color:light-dark(#2E7D32,#81C995);background:light-dark(#EAF5EC,#12281A);color:light-dark(#1E5B23,#BFE7C4)}
.ct .notices.red,.ct .notices.error{border-color:light-dark(#B3261E,#FF8A80);background:light-dark(#FCEBEA,#3A1614);color:light-dark(#8C1D18,#FFD2CD)}
.ct .notices p{margin:0}

/* legal notice */
.ct-notice{position:sticky;top:96px;padding:clamp(24px,3vw,40px) 0 0;border-top:2px solid var(--ink)}
.ct-company{margin:18px 0 6px;font-weight:700;font-stretch:80%;font-size:clamp(30px,3vw,40px);line-height:1;letter-spacing:-.015em;color:var(--ink)}
.ct-address{margin:0;font-size:16px;line-height:1.55;color:var(--ink2)}
.ct-reach{display:flex;flex-wrap:wrap;gap:4px 10px;margin:16px 0 0;padding:14px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  font-family:var(--mono);font-size:13px;color:var(--ink)}
.ct-reach span[aria-hidden]{color:var(--mute)}
.ct-reach a{text-decoration:none!important}
.ct-facts{margin:14px 0 22px;font-size:15px;line-height:1.55;color:var(--ink2)}
.ct-facts p{margin:0 0 4px}
.ct-k{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--mute)}
.ct-facts .ct-k + span{color:var(--ink);font-weight:600}
.ct-small{margin:0 0 12px;font-size:13px;line-height:1.55;color:var(--mute)}

@media (max-width:1000px){
  .ct-grid{grid-template-columns:minmax(0,1fr)}
  .ct-notice{position:static}
}
@media (max-width:640px){
  .ct form{grid-template-columns:minmax(0,1fr)}
  .ct form .buttons{flex-direction:column;align-items:stretch}
  .ct-h1{font-size:10.5vw}
}
@media print{.ct-card{box-shadow:none}}
