/* Contact page: shared page opening (.b-eyebrow/.b-h1/.b-sub), same left edge as every page, one screen */
.ct-shell{max-width:calc(var(--b-wide) + 2 * var(--b-gutter));margin:0 auto;padding:32px var(--b-gutter) 40px;box-sizing:border-box}
.ct-shell > .b-sub{max-width:var(--b-read)}
.ct-body{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;align-items:start;margin-top:24px}
.ct-info{display:flex;flex-direction:column;gap:20px;padding-top:4px}
.ct-k{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--b-text-3);margin-bottom:4px}
.ct-v{font-size:16px;color:var(--b-text)}
.ct-email{font-size:16px;font-weight:700;color:var(--b-teal);text-decoration:none}
.ct-email:hover,.ct-link:hover{text-decoration:underline}
.ct-link{font-size:16px;color:var(--b-teal);text-decoration:none}
.ct-form{display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--b-surface);border:1px solid var(--b-line);border-radius:var(--b-r-card)}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ct-field{display:flex;flex-direction:column;gap:6px;margin:0}
.ct-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--b-text-2)}
.ct-input{width:100%;box-sizing:border-box;padding:11px 14px;background:var(--b-bg);border:1px solid var(--b-line);border-radius:var(--b-r-sm);color:var(--b-text);font:16px var(--b-font);outline:none}
.ct-input::placeholder{color:var(--b-text-3)}
.ct-input:focus{border-color:var(--b-teal)}
.ct-text{height:120px;resize:vertical;line-height:1.5}
.ct-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ct-send{padding:12px 26px;background:var(--b-teal);color:#0F1117;border:0;border-radius:var(--b-r-pill);font:700 14px var(--b-font);cursor:pointer}
.ct-send:hover{opacity:.85}
.ct-status{font-size:14px}
.ct-error{color:var(--b-red)}
.ct-ok{color:var(--b-teal)}
@media (max-width:760px){.ct-body{grid-template-columns:1fr;gap:24px}.ct-row{grid-template-columns:1fr}.ct-info{flex-direction:row;flex-wrap:wrap;gap:16px 28px}}
/* Phones: one screen above the tab bar (the footer is hidden here, see mobile_app.js) */
@media (max-width:760px){
  .ct-shell{padding-top:16px;padding-bottom:12px}
  .ct-shell .b-h1{margin-bottom:4px}
  .ct-shell > .b-sub{font-size:14px;margin:0 0 12px}
  .ct-body{gap:12px}
  .ct-info{gap:4px 18px;font-size:14px}
  .ct-info > div:nth-child(2){display:none}          /* "Response time" moves into the line below the button */
  .ct-info > div{display:flex;align-items:baseline;gap:6px}
  .ct-k{margin:0}
  .ct-form{padding:14px 16px}
  .ct-field{margin-bottom:10px}
  .ct-input{padding:10px 12px}
  .ct-text{min-height:84px;height:84px}
  .ct-send{width:100%}
}
