/* Generated from docs/redesign/mockups/project/Contact.dc.html (approved mockup); container queries -> media queries */
body{margin:0;background:#ffffff}
a{color:#1f1633}a:hover{color:#6a5fc1}
:focus-visible{outline:2px solid #2f63d6;outline-offset:2px}
.sm-input,.sm-select{box-sizing:border-box}
/* Public page frame: phone first, wider layouts added by page width */
.pg{position:relative;overflow-x:clip;background:#ffffff;color:#1f1633;font-family:Rubik,system-ui,sans-serif}
.pg-wrap{max-width:1152px;margin:0 auto;padding-left:16px;padding-right:16px;box-sizing:border-box}
.pg-stars{background-color:#1f1633;background-image:radial-gradient(rgba(255,255,255,.28) 1px,transparent 1.2px),radial-gradient(rgba(255,255,255,.14) 1px,transparent 1.2px);background-size:120px 120px,64px 64px;background-position:0 0,32px 40px}
.pg-hero{color:#ffffff;padding-bottom:40px}
.pg-nav{display:flex;align-items:center;gap:12px;padding-top:12px;padding-bottom:12px}
.pg-logo{height:32px;width:auto;display:block}
.pg-navlinks{display:none;align-items:center;gap:4px;margin-left:16px;font-weight:500}
.pg-navlinks a{color:#ffffff;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:8px}
.pg-navlinks a:hover{background:rgba(255,255,255,.08);color:#ffffff}
.pg-actions{display:flex;align-items:center;gap:12px;margin-left:auto}
.pg-actions .pg-signin,.pg-actions .pg-signup{display:none}
.pg-iconbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;min-width:44px;padding:0 10px;border:1px solid #362d59;border-radius:10px;background:transparent;color:#ffffff;cursor:pointer;font:500 14px/1 Rubik,system-ui,sans-serif;box-sizing:border-box}
.pg-iconbtn span{display:none}
.pg-title{display:grid;gap:12px;max-width:44em;padding-top:24px}
.pg-eyebrow{font-size:14px;font-weight:500;letter-spacing:.2px;text-transform:uppercase;color:rgba(255,255,255,.72)}
.pg-h1{margin:0;font-family:Archivo,Rubik,sans-serif;font-stretch:88%;font-weight:800;font-size:36px;line-height:1.08;text-wrap:balance}
.pg-lead{margin:0;font-size:17px;line-height:1.7;color:rgba(255,255,255,.72)}
.pg-sec{padding-top:40px;padding-bottom:56px}
.pg-h2{margin:0;font-size:22px;line-height:1.3;font-weight:500}
.pg-foot{position:relative;background:#1f1633;color:#ffffff;margin-top:56px}
.pg-foot__wave{position:absolute;left:0;top:-55px;width:100%;height:56px;display:block}
.pg-foot__in{padding-top:48px;padding-bottom:32px}
.pg-foot a{color:rgba(255,255,255,.78);text-decoration:none}
.pg-foot a:hover{color:#ffffff;text-decoration:underline}
.pg-foot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}
.pg-foot-brand{grid-column:1 / -1;display:grid;gap:16px;align-content:start}
.pg-foot-brand p{margin:0;color:rgba(255,255,255,.72);line-height:1.8;max-width:30em}
.pg-foot-col{display:grid;align-content:start}
.pg-foot-col h4{margin:0 0 6px;font-size:13px;letter-spacing:.8px;text-transform:uppercase;color:rgba(255,255,255,.6)}
.pg-foot-col a{display:flex;align-items:center;min-height:40px}
.pg-foot-base{display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center;border-top:1px solid #362d59;margin-top:32px;padding-top:20px;color:rgba(255,255,255,.72);font-size:14px}

/* Contact */
.ct-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
.ct-help{display:grid;gap:12px}
.ct-tile{display:flex;gap:14px;align-items:flex-start;border:1px solid #e5e7eb;border-radius:12px;padding:16px}
.ct-tile .ic{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;flex:none}
.ct-tile strong{display:block;font-size:16px;margin-bottom:4px}
.ct-tile p{margin:0 0 6px;color:#6b6475;line-height:1.55;font-size:15px}
.ct-tile a{font-weight:500;font-size:15px}
.ct-form{border:1px solid #e5e7eb;border-radius:12px;padding:20px 16px;display:grid;gap:16px}
.ct-2{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.ct-form textarea.sm-input{min-height:160px;resize:vertical;line-height:1.6;box-sizing:border-box}
.ct-check{display:flex;align-items:flex-start;gap:10px;min-height:44px;cursor:pointer;line-height:1.5}
.ct-check input{width:20px;height:20px;margin:2px 0 0;accent-color:#150f23;flex:none}
.ct-check a{font-weight:500}
.ct-captcha{display:flex;align-items:center;gap:12px;min-height:64px;padding:0 14px;border:1px solid #e5e7eb;border-radius:8px;background:#faf9fc;color:#6b6475;font-size:14px}
.ct-submit{width:100%;min-height:48px;box-sizing:border-box}
.ct-done{display:grid;gap:12px;justify-items:start}
.ct-done .ic{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:#e6f4ec;color:#1e7a46}
.ct-done p{margin:0;color:#6b6475;line-height:1.6}
.ct-member{margin:0;padding:12px 14px;border-radius:8px;background:#faf9fc;border:1px solid #e5e7eb;color:#6b6475;font-size:15px;line-height:1.6}

@media (min-width:576px){
.pg-wrap{padding-left:24px;padding-right:24px}
.pg-iconbtn span{display:inline}
.ct-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ct-form{padding:24px}
.ct-submit{width:auto;justify-self:start;padding-left:28px;padding-right:28px}
}
@media (min-width:768px){
.pg-nav{gap:28px;padding-top:20px;padding-bottom:20px}
.pg-logo{height:42px}
.pg-navlinks{display:flex}
.pg-actions .pg-signin,.pg-actions .pg-signup{display:inline-flex}
.pg-menubtn{display:none}
.pg-hero{padding-bottom:64px}
.pg-title{padding-top:40px}
.pg-h1{font-size:48px}
.pg-sec{padding-top:56px;padding-bottom:72px}
.pg-foot__in{padding-top:56px;padding-bottom:40px}
.pg-foot-grid{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:40px}
.pg-foot-brand{grid-column:auto}
.pg-foot-col a{min-height:36px}
.pg-foot-base{flex-direction:row;flex-wrap:wrap;justify-content:space-between;margin-top:40px}
}
@media (min-width:992px){
.pg-h1{font-size:60px}
.pg-lead{font-size:18px}
.ct-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:40px}
.ct-form{padding:28px}
}
/* Page title centred, as on the text page and blog */
.pg-title{justify-items:center;text-align:center;margin-left:auto;margin-right:auto}

/* QA: links in the help tiles are at least 24px tall to tap */
.ct-tile a{display:inline-flex;align-items:center;min-height:24px}
