/* Contact & thanks pages */
.contact-page{padding-top:84px}
.cp-hero{position:relative;overflow:hidden;text-align:center;padding:84px 6% 76px;background:radial-gradient(ellipse at 50% 10%,#34496745,transparent 60%),linear-gradient(135deg,#17243b 0%,#111929 60%,#101521 100%)}
.cp-hero .hero-emblem{width:78px;margin-bottom:22px}
.cp-hero .eyebrow{letter-spacing:.32em;margin-bottom:18px}
.cp-hero h1{font-size:clamp(28px,3.4vw,46px);line-height:1.6;margin:0 0 20px}
.cp-hero h1 em{font-style:normal;color:#e2cca2}
.cp-lead{color:#c3cad6;line-height:2;margin:0 auto;max-width:560px}
.cp-features{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:34px 0 0}
.cp-features li{border:1px solid #c9ae7566;color:#e1c88f;font-size:12px;letter-spacing:.06em;padding:9px 18px}

.cp-body{background:var(--cream);color:var(--ink);padding:80px 6% 96px}
.cp-card{max-width:820px;margin:0 auto;background:#fff;padding:56px 60px;box-shadow:0 24px 60px #10172714;border-top:3px solid var(--gold)}
.cp-card h2{font-size:24px;margin:0 0 6px}
.cp-card-note{color:var(--muted);font-size:12px;margin:0 0 34px}
.cp-alert{border:1px solid #b5554a;background:#fbefed;color:#8a2f25;padding:14px 18px;margin:0 0 28px;font-size:13px}
.cp-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.cp-field{margin-bottom:26px;border:0;padding:0;min-width:0}
.cp-label{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:500;margin-bottom:9px;padding:0}
.cp-req,.cp-opt{font-size:10px;font-weight:500;letter-spacing:.06em;padding:2px 7px;line-height:1.5}
.cp-req{background:var(--navy);color:#e1c88f}
.cp-opt{border:1px solid #c9cfd8;color:var(--muted)}
.cp-input,.cp-textarea{width:100%;box-sizing:border-box;border:1px solid #d5d9e0;background:#fbfaf7;font:inherit;font-size:15px;color:var(--ink);padding:13px 15px;border-radius:0;transition:border-color .2s,box-shadow .2s}
.cp-input:focus,.cp-textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px #c9ae7533;background:#fff}
.cp-textarea{min-height:190px;resize:vertical;line-height:1.8}
.cp-hint{font-size:11px;color:var(--muted);margin:7px 0 0}
.cp-counter{font-size:11px;color:var(--muted);text-align:right;margin:6px 0 0}
.cp-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.cp-choice{position:relative;display:flex;align-items:center;gap:11px;border:1px solid #d5d9e0;background:#fbfaf7;padding:13px 15px;cursor:pointer;font-size:13px;line-height:1.5;transition:border-color .2s,background .2s}
.cp-choice input{accent-color:var(--navy);margin:0;flex:none}
.cp-choice:hover{border-color:#c9ae75}
.cp-choice:has(input:checked){border-color:var(--navy);background:#f1ede2}
.cp-choice small{display:block;font-size:10px;color:var(--muted);letter-spacing:.04em}
.cp-submit{display:flex;justify-content:center;margin-top:10px}
.cp-submit .button{min-width:300px;border:0;cursor:pointer;font:inherit;font-size:14px}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

.cp-flow{max-width:820px;margin:64px auto 0}
.cp-flow h2{font-size:22px;margin:0 0 24px;text-align:center}
.cp-flow ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cp-flow li{border-top:1px solid #c9ae75;padding-top:16px}
.cp-flow b{font-family:Georgia,serif;font-size:13px;color:#9e814e;letter-spacing:.12em}
.cp-flow h3{font-family:var(--serif);font-size:17px;font-weight:500;margin:6px 0}
.cp-flow p{font-size:12px;color:var(--muted);margin:0;line-height:1.9}

.thanks-body{text-align:center}
.thanks-body .cp-card{max-width:640px}
.thanks-body .cp-card p{color:#4c5866;line-height:2.1}
.thanks-body .button{margin-top:22px}

@media(max-width:900px){.contact-page{padding-top:76px}}
@media(max-width:760px){
 .cp-hero{padding:60px 7% 56px}
 .cp-hero .hero-emblem{width:62px}
 .cp-hero h1{font-size:21px;letter-spacing:.03em}
 .pc-only{display:none}
 .cp-body{padding:48px 4% 72px}
 .cp-card{padding:36px 22px}
 .cp-row,.cp-choices,.cp-flow ol{grid-template-columns:1fr}
 .cp-row{gap:0}
 .cp-submit .button{min-width:0;width:100%}
}
