/* BMI4U - Contact Us page. Loaded after base/header/logo/footer css. */
.ct-page{background:#fff;color:#1b2b45;font-family:'Inter',system-ui,sans-serif}
.ct-page main{display:block}
.ct-page a{color:inherit}

/* Hero */
.ct-hero{background:linear-gradient(180deg,#f3f9fb 0%,#f7fbfc 100%);padding:44px 0 48px;overflow:hidden}
.ct-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center}
.ct-pill{display:inline-flex;gap:8px;align-items:center;background:#e3f5ee;color:#0f7a55;border:1px solid #c5e9dc;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}
.ct-hero-title{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(32px,5vw,46px);line-height:1.15;color:#123a7a;margin:16px 0 14px}
.ct-accent{display:block;color:#16a36a}
.ct-hero-sub{max-width:460px;font-size:17px;line-height:1.7;color:#4a5a73;margin:0}
.ct-hero-right{position:relative;display:flex;justify-content:center;align-items:center}
.ct-orbit{width:100%;max-width:340px;height:auto}
.ct-script{position:absolute;right:0;top:18%;margin:0;font-family:'Caveat',cursive;font-weight:700;font-size:28px;line-height:1.1;color:#123a7a;transform:rotate(-8deg);border-bottom:0}
.ct-script::after{content:"";display:block;width:90px;height:3px;background:#16a36a;border-radius:3px;margin-top:8px;transform:rotate(-4deg)}

/* Layout cards */
.ct-main{padding:20px 0 36px}
.ct-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:start}
.ct-card{background:#fff;border:1px solid #e3ecf1;border-radius:18px;padding:28px;box-shadow:0 6px 24px rgba(18,58,122,.06)}
.ct-h2{font-family:'Sora',sans-serif;font-weight:700;font-size:22px;color:#123a7a;margin:0 0 8px}
.ct-muted{color:#5b6b83;font-size:15px;line-height:1.6;margin:0 0 22px}
.ct-small{font-size:14px;color:#6b7a91;margin:4px 0 0;line-height:1.55}
.ct-small a{color:#0f8f6a;font-weight:600;text-decoration:none}
.ct-small a:hover{text-decoration:underline}

/* Info items */
.ct-info-item{display:flex;gap:16px;padding:20px 0;border-top:1px solid #e9f0f4}
.ct-info-item:first-of-type{border-top:0}
.ct-info-item h3{font-size:16px;font-weight:700;color:#123a7a;margin:2px 0 4px}
.ct-info-icon{flex:0 0 56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:24px}
.ct-info-icon.red{background:#fde8e8}.ct-info-icon.green{background:#e3f5ee}.ct-info-icon.blue{background:#e3f0fd}
.ct-mail{color:#0f8f6a;font-weight:600;text-decoration:none;word-break:break-all}
.ct-mail:hover{text-decoration:underline}

/* Form */
.ct-field{margin-bottom:18px}
.ct-field label{display:block;font-size:14px;font-weight:600;color:#1b2b45;margin-bottom:8px}
.ct-field .req{color:#e5323b}
.ct-input{display:flex;align-items:center;gap:10px;border:1px solid #d5e0e8;border-radius:10px;background:#fff;padding:0 14px;min-height:46px;transition:border-color .15s,box-shadow .15s}
.ct-input:focus-within{border-color:#16a36a;box-shadow:0 0 0 3px rgba(22,163,106,.15)}
.ct-input.invalid{border-color:#e5323b}
.ct-ico{font-size:16px;opacity:.7}
.ct-input input,.ct-input select,.ct-input textarea{flex:1;width:100%;border:0;outline:0;background:transparent;font:inherit;font-size:15px;color:#1b2b45;padding:12px 0}
.ct-input input::placeholder,.ct-input textarea::placeholder{color:#9aa8ba}
.ct-input.has-select{padding:0 6px}
.ct-input.has-select select{padding:12px 8px;cursor:pointer}
.ct-textarea{align-items:flex-start}
.ct-textarea .ct-ico{padding-top:13px}
.ct-textarea textarea{resize:vertical;min-height:100px}
.ct-check{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;font-size:14px;color:#4a5a73;cursor:pointer}
.ct-check input{width:18px;height:18px;margin-top:2px;accent-color:#16a36a;flex:0 0 auto}
.ct-check a{color:#0f8f6a;text-decoration:underline}
.ct-error{min-height:0;margin:6px 0 0;font-size:13px;color:#e5323b}
.ct-error:empty{display:none}
.ct-submit{width:100%;border:0;border-radius:10px;padding:14px 18px;cursor:pointer;font:inherit;font-weight:700;font-size:16px;color:#fff;background:linear-gradient(90deg,#e5323b,#f0433f);box-shadow:0 8px 18px rgba(229,50,59,.25);transition:transform .15s,box-shadow .15s}
.ct-submit:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(229,50,59,.32)}
.ct-note{margin:12px 0 0;font-size:14px;color:#0f7a55;text-align:center}
.ct-note:empty{display:none}

/* Quick help */
.ct-help{padding:12px 0 28px}
.ct-help-card{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;background:#f3f9fb;border:1px solid #e3ecf1;border-radius:18px;padding:28px}
.ct-help-left{display:flex;gap:16px;align-items:flex-start;padding-right:24px;border-right:1px solid #dbe6ec}
.ct-help-icon{flex:0 0 56px;height:56px;border-radius:50%;background:#dff3ec;display:grid;place-items:center;font-size:26px}
.ct-help-right h3{font-size:15px;font-weight:700;color:#123a7a;margin:0 0 14px}
.ct-topics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ct-topics a{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px solid #e3ecf1;border-radius:10px;padding:14px 16px;font-size:14px;color:#33445f;text-decoration:none;transition:border-color .15s,transform .15s}
.ct-topics a:hover{border-color:#16a36a;transform:translateY(-1px)}
.ct-btn-outline{display:inline-block;margin-top:14px;padding:10px 20px;border:1.5px solid #16a36a;border-radius:10px;color:#0f8f6a!important;font-weight:600;font-size:14px;text-decoration:none;background:#fff;transition:background .15s}
.ct-btn-outline:hover{background:#eaf8f2}
.ct-btn-outline.red{border-color:#e5323b;color:#e5323b!important;margin-top:0;white-space:nowrap}
.ct-btn-outline.red:hover{background:#fff1f1}

/* Closing strip */
.ct-future{padding:0 0 48px}
.ct-future-card{display:flex;align-items:center;gap:20px;background:#fff5f5;border:1px solid #f9e0e0;border-radius:18px;padding:26px 32px}
.ct-future-icon{font-size:40px}
.ct-future-text{flex:1}
.ct-future-text h2{font-family:'Sora',sans-serif;font-size:20px;color:#123a7a;margin:0 0 4px}
.ct-future-text p{margin:0;color:#5b6b83;font-size:15px}

/* Responsive */
@media (max-width:900px){
  .ct-hero-grid,.ct-grid,.ct-help-card{grid-template-columns:1fr}
  .ct-hero-right{order:-1;max-width:320px;margin:0 auto}
  .ct-script{right:-4px;font-size:22px}
  .ct-help-left{border-right:0;border-bottom:1px solid #dbe6ec;padding:0 0 22px}
}
@media (max-width:600px){
  .ct-hero{padding:28px 0 32px}
  .ct-card,.ct-help-card{padding:20px}
  .ct-topics{grid-template-columns:1fr}
  .ct-future-card{flex-direction:column;align-items:flex-start;padding:22px}
  .ct-hero-right{display:none}
}
