/* ========================================================================
 * pages/contact.css
 *
 * Styles specific to the contact page.
 * Shared tokens, nav, footer, buttons, and animation primitives come from
 * static/css/public-shared.css (loaded before this file).
 * ======================================================================== */



/* HERO */
.hero{padding:144px 24px 56px;text-align:center;position:relative;overflow:hidden;}

.hero-glow{position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:800px;height:800px;border-radius:50%;background:radial-gradient(circle,rgba(13,148,136,.06) 0%,rgba(13,148,136,.02) 40%,transparent 70%);pointer-events:none;}

.hero::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,rgba(0,0,0,.014) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.014) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,black 0%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,black 0%,transparent 100%);}

[data-theme="dark"] .hero::after{background-image:linear-gradient(to right,rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.018) 1px,transparent 1px);}

.hero-inner{position:relative;}

.badge{display:inline-flex;align-items:center;gap:8px;padding:4px 14px;border-radius:var(--r-full);border:1px solid var(--bd);background:var(--surface);font-size:12px;font-weight:500;color:var(--t2);margin-bottom:28px;letter-spacing:.01em;}

.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 7px rgba(13,148,136,.5);animation:pdot 2.2s ease-in-out infinite;flex-shrink:0;}

@keyframes pdot{0%,100%{opacity:1;}50%{opacity:.25;}}

.hero h1{font-size:clamp(2.4rem,5vw,3.75rem);font-weight:700;letter-spacing:-.042em;line-height:1.05;max-width:640px;margin:0 auto 20px;text-wrap:pretty;}

.grad{background:linear-gradient(135deg,#0f766e 0%,var(--teal) 42%,#2dd4bf 72%,#10b981 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

.hero p{font-size:16px;color:var(--t2);max-width:500px;margin:0 auto;line-height:1.65;letter-spacing:-.01em;}


/* MAIN LAYOUT */
.contact-section{padding:48px 24px 96px;}

.contact-grid{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start;}


/* FORM CARD */
.form-card{background:var(--surface);border:1px solid var(--bd);border-radius:var(--r-xl);padding:36px;box-shadow:0 0 0 1px rgba(0,0,0,.02),0 2px 8px rgba(0,0,0,.04);}

.form-card h2{font-size:20px;font-weight:700;letter-spacing:-.022em;margin-bottom:6px;}

.form-intro{font-size:13.5px;color:var(--t2);line-height:1.6;margin-bottom:28px;}

.form-intro .req{color:var(--teal-text);font-weight:700;}


/* FORM ELEMENTS */
.frow{margin-bottom:18px;}

.frow-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;}

label.lbl{display:block;font-size:12px;font-weight:600;color:var(--t2);margin-bottom:6px;letter-spacing:.01em;}

label.lbl .req{color:var(--teal-text);}

.inp, .sel, .ta{width:100%;font-family:var(--font);font-size:14px;color:var(--t1);background:var(--surface);border:1px solid var(--bd);border-radius:var(--r-sm);transition:border-color var(--fast),box-shadow var(--fast);}

.inp,.sel{height:38px;padding:0 12px;}

.ta{padding:10px 12px;resize:vertical;min-height:110px;line-height:1.55;}

.inp:focus,.sel:focus,.ta:focus{outline:none;border-color:var(--teal-text);box-shadow:0 0 0 3px rgba(13,148,136,.1);}

.inp::placeholder,.ta::placeholder{color:var(--t4);}

.inp.err,.sel.err,.ta.err{border-color:var(--err);}

.err-msg{font-size:12px;color:var(--err);margin-top:4px;display:none;}

.err-msg.vis{display:block;}

.sel{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%238e8880' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer;}


/* RADIO GROUP */
.radio-group{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px;}

.radio-opt{position:relative;}

.radio-opt input{position:absolute;opacity:0;width:0;height:0;}

.radio-lbl{display:flex;flex-direction:column;padding:11px 14px;border:1px solid var(--bd);border-radius:var(--r-sm);cursor:pointer;transition:border-color var(--fast),background var(--fast);background:var(--surface);}

.radio-lbl:hover{border-color:var(--bd-h);background:var(--surface-h);}

.radio-opt input:checked + .radio-lbl{border-color:var(--teal-text);background:var(--teal-10);}

.radio-lbl strong{font-size:13px;font-weight:600;color:var(--t1);margin-bottom:2px;}

.radio-lbl small{font-size:11px;color:var(--t3);}


/* SUBMIT */
.submit-btn{width:100%;padding:12px;font-size:15px;font-weight:600;font-family:var(--font);background:var(--teal-text);color:#fff;border:none;border-radius:var(--r-sm);cursor:pointer;letter-spacing:-.006em;transition:background var(--fast),transform var(--fast),box-shadow var(--fast);margin-top:6px;}

.submit-btn:hover{background:var(--color-primary-active);transform:translateY(-1px);box-shadow:0 4px 14px rgba(13,148,136,.28);}

.submit-btn:active{transform:none;}

.submit-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;}


/* SUCCESS STATE */
.success-state{text-align:center;padding:40px 20px;}

.success-icon{width:56px;height:56px;border-radius:50%;background:var(--teal-10);color:var(--teal-text);display:inline-flex;align-items:center;justify-content:center;margin-bottom:20px;border:1px solid color-mix(in srgb,var(--teal) 20%,var(--bd));}

.success-icon svg{width:26px;height:26px;}

.success-state h3{font-size:22px;font-weight:700;letter-spacing:-.022em;margin-bottom:10px;}

.success-state p{font-size:14px;color:var(--t2);line-height:1.6;max-width:400px;margin:0 auto 20px;}

.success-state .hint{font-size:13px;color:var(--t3);}

.success-state .hint a{color:var(--teal-text);font-weight:500;}


/* SIDEBAR */
.sidebar{display:flex;flex-direction:column;gap:16px;}

.side-card{background:var(--surface);border:1px solid var(--bd);border-radius:var(--r-xl);padding:26px;}

.side-card h3{font-size:14px;font-weight:600;letter-spacing:-.01em;margin-bottom:18px;color:var(--t1);}


/* NEXT STEPS */
.next-list{list-style:none;display:flex;flex-direction:column;gap:16px;}

.next-item{display:flex;align-items:flex-start;gap:12px;}

.next-num{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--teal-text);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;}

.next-body strong{display:block;font-size:13px;font-weight:600;color:var(--t1);margin-bottom:2px;}

.next-body span{font-size:12.5px;color:var(--t2);line-height:1.5;}


/* PILOT TERMS */
.pilot-list{list-style:none;display:flex;flex-direction:column;gap:10px;}

.pilot-list li{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--t2);line-height:1.5;}

.pilot-list li svg{width:13px;height:13px;flex-shrink:0;margin-top:3px;color:var(--teal-text);}

.pilot-list li strong{color:var(--t1);font-weight:600;}


/* CONTACT INFO */
.contact-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;font-size:13px;border-bottom:1px solid var(--bd);}

.contact-row:last-child{border:none;}

.contact-row .lbl-sm{color:var(--t3);}

.contact-row a{color:var(--teal-text);font-weight:500;}

.contact-row a:hover{text-decoration:underline;}


/* RESP */
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;}.sidebar{order:2;}}

@media(max-width:640px){
  .nav-link{display:none;}.nav-ham{display:inline-flex;}
  .hero{padding:120px 20px 44px;}.contact-section{padding:36px 16px 64px;}
  .form-card{padding:24px;}.frow-2{grid-template-columns:1fr;}
  .radio-group{grid-template-columns:1fr;}
  .footer-in{justify-content:center;text-align:center;flex-direction:column;}
}

@media(max-width:480px){.hero h1{font-size:2.1rem;}}
