/* KlensClock — pilot application page. External stylesheet (site CSP: style-src 'self').
   Chrome (nav/footer/kc-btn/kc-container) comes from klensclock.css; this styles the
   hero + application form only. */

:root {
  --pf-navy:#0F2340; --pf-gold:#C9A24A; --pf-gold-deep:#A8842F; --pf-cream:#FAF6ED;
  --pf-ink:#13233F; --pf-body:#3B4A63; --pf-mut:#77839A; --pf-line:#D9DEE8; --pf-bg:#F5F6F8;
}

/* hero */
.pf-hero { background:linear-gradient(160deg,#0F2340 0%,#1B2F52 100%); color:#fff; padding:44px 0 40px; border-bottom:4px solid var(--pf-gold); }
.pf-eyebrow { margin:0 0 8px; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--pf-gold); }
.pf-h1 { margin:0 0 12px; font-size:34px; line-height:1.12; font-weight:800; letter-spacing:-.02em; max-width:20ch; }
.pf-lede { margin:0; max-width:66ch; font-size:15.5px; line-height:1.6; color:#C4D0E4; }
.pf-lede strong { color:#fff; }

/* form layout */
.pf-main { padding:34px 0 56px; }
.pf-form { max-width:820px; margin:0 auto; }
.pf-section { background:#fff; border:1px solid var(--pf-line); border-radius:14px; padding:22px 22px 24px; margin-bottom:18px; box-shadow:0 2px 8px rgba(15,35,64,.05); }
.pf-section--flat { background:var(--pf-cream); border-color:#EADFBF; box-shadow:none; }
.pf-legend { margin:0 0 16px; font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#fff; background:var(--pf-navy); padding:8px 14px; border-radius:7px; }
.pf-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px 20px; }
.pf-field { display:flex; flex-direction:column; gap:6px; }
.pf-field--full { grid-column:1 / -1; }
.pf-label { font-size:12.5px; font-weight:700; color:var(--pf-ink); letter-spacing:.01em; }
.pf-opt-tag { font-weight:400; color:var(--pf-mut); text-transform:none; letter-spacing:0; }
.pf-input { font:inherit; font-size:15px; color:var(--pf-ink); background:#fff; border:1.5px solid var(--pf-line); border-radius:9px; padding:11px 13px; width:100%; transition:border-color .15s, box-shadow .15s; }
.pf-input:focus { outline:none; border-color:var(--pf-gold); box-shadow:0 0 0 3px rgba(201,162,74,.18); }
.pf-input::placeholder { color:#A6AEBD; }
select.pf-input { appearance:none; background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2377839A' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:34px; }
.pf-textarea { resize:vertical; min-height:74px; line-height:1.5; }

/* consent + dpa */
.pf-consent { display:flex; align-items:flex-start; gap:11px; font-size:14px; line-height:1.55; color:var(--pf-body); }
.pf-consent input[type=checkbox] { flex:0 0 auto; width:18px; height:18px; margin-top:2px; accent-color:var(--pf-navy); }
.pf-consent strong { color:var(--pf-ink); }
.pf-dpa { margin:14px 0 0; font-size:12.5px; line-height:1.5; color:var(--pf-mut); }

/* submit */
.pf-submit-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:6px; }
.pf-submit { font-size:15px; padding:13px 26px; }
.pf-submit[disabled] { opacity:.6; cursor:default; }
.pf-submit-note { font-size:13px; color:var(--pf-mut); }

/* status (shown by JS) */
.pf-status { margin-top:20px; border-radius:12px; padding:18px 20px; font-size:15px; line-height:1.55; }
.pf-status--ok { background:#EAF6EE; border:1px solid #B9E0C7; color:#1A5C38; }
.pf-status--ok strong { color:#123f27; }
.pf-status--err { background:#FCEDEA; border:1px solid #F0C4BB; color:#8A2318; }

/* honeypot — visually hidden, kept in the DOM for bots */
.pf-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* collapse the form to a clean thank-you state on success (class toggle, not
   inline style — keeps us within style-src 'self' with zero 'unsafe-inline') */
.pf-hidden { display:none !important; }

@media (max-width:640px) {
  .pf-h1 { font-size:27px; }
  .pf-grid { grid-template-columns:1fr; }
  .pf-hero { padding:34px 0 30px; }
}
