/* ═══════════════════════════════════════════════════════════════
   Customer Registration — American AirHVAC Brand Design
   LIGHT THEME — logo's dark blue AIRHVAC text fully visible
═══════════════════════════════════════════════════════════════ */
.cr-page *,.cr-page *::before,.cr-page *::after{box-sizing:border-box;margin:0;padding:0}
.cr-page{font-family:'DM Sans',Arial,sans-serif;background:#F4F1ED;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:3rem 1.25rem;position:relative}
.cr-page::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 70% 50% at 20% 0%,rgba(232,98,28,0.05) 0%,transparent 70%),radial-gradient(ellipse 60% 60% at 80% 100%,rgba(27,43,91,0.04) 0%,transparent 70%);pointer-events:none;z-index:0}
.cr-page::after{content:'';position:fixed;inset:0;opacity:0.3;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");background-size:128px;pointer-events:none;z-index:0}
body:has(.cr-page){background:#F4F1ED !important}
.cr-page-wrapper{width:100%;max-width:720px;position:relative;z-index:1;animation:cr-fadeUp .7s cubic-bezier(.23,1,.32,1) both}
@keyframes cr-fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* Logo */
.cr-logo-wrap{text-align:center;margin-bottom:1.75rem;animation:cr-fadeUp .7s .05s cubic-bezier(.23,1,.32,1) both}
.cr-logo-wrap img{height:72px;width:auto;object-fit:contain;filter:drop-shadow(0 4px 16px rgba(232,98,28,0.15));transition:transform .3s ease}
.cr-logo-wrap img:hover{transform:scale(1.03)}

/* Brand Header */
.cr-brand-header{text-align:center;margin-bottom:2.5rem;animation:cr-fadeUp .7s .1s cubic-bezier(.23,1,.32,1) both}
.cr-brand-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(232,98,28,0.08);border:1px solid rgba(232,98,28,0.2);border-radius:999px;padding:7px 18px;font-size:11px;font-weight:500;color:#E8621C;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.5rem}
.cr-brand-badge::before{content:'';width:6px;height:6px;background:#E8621C;border-radius:50%;animation:cr-pulse 2.5s ease-in-out infinite;box-shadow:0 0 6px rgba(232,98,28,0.4)}
@keyframes cr-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
.cr-brand-title{font-family:'Playfair Display',Georgia,serif;font-size:2.5rem;font-weight:600;color:#1B2B5B;line-height:1.18;margin-bottom:.85rem;letter-spacing:-0.01em}
.cr-brand-title span{color:#E8621C}
.cr-brand-sub{font-size:14.5px;color:#7A8399;font-weight:400;letter-spacing:.015em;line-height:1.5}

/* Error Icon */
.cr-error-icon{width:72px;height:72px;background:rgba(232,98,28,0.08);border:1.5px solid rgba(232,98,28,0.2);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:#E8621C;animation:cr-appear .4s ease}

/* Help Tip */
.cr-help-tip{display:flex;align-items:flex-start;gap:12px;background:#EEF6FA;border:1px solid #D4E8F2;border-radius:12px;padding:14px 16px;margin-bottom:1.5rem;animation:cr-fieldIn .5s cubic-bezier(.23,1,.32,1) both}
.cr-help-tip-icon{width:32px;min-width:32px;height:32px;background:#DDF0F8;border:1px solid #C2E2F0;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#3A8BB5;flex-shrink:0}
.cr-help-tip-text{font-size:12.5px;color:#5A6B80;line-height:1.55}
.cr-help-tip-text strong{color:#1B2B5B;font-weight:600}

/* Help Example */
.cr-help-example{display:flex;align-items:center;gap:14px;background:#FFF8F2;border:1px solid #F5E0CC;border-radius:12px;padding:12px 16px;margin-bottom:1.5rem;cursor:pointer;transition:all .3s ease}
.cr-help-example:hover{background:#FFF3E8;border-color:#E8C4A0}
.cr-help-example-thumb{width:48px;min-width:48px;height:48px;border-radius:8px;overflow:hidden;border:1px solid #F0D8C0;display:flex;align-items:center;justify-content:center;background:#FFF0E5;color:#E8621C}
.cr-help-example-thumb img{width:100%;height:100%;object-fit:cover}
.cr-help-example-info{flex:1}
.cr-help-example-title{font-size:12.5px;font-weight:500;color:#1B2B5B;margin-bottom:2px}
.cr-help-example-desc{font-size:11px;color:#7A8399}
.cr-help-example-expand{color:#7A8399;transition:transform .3s}
.cr-help-example.open .cr-help-example-expand{transform:rotate(180deg)}
.cr-help-example-preview{display:none;margin-bottom:1.5rem;border-radius:12px;overflow:hidden;border:1px solid #E8E2DA;animation:cr-fieldIn .3s ease}
.cr-help-example-preview.open{display:block}
.cr-help-example-preview img{width:100%;height:auto;display:block}

/* Form Card */
.cr-form-card{background:#FFFFFF;border:1px solid #E8E2DA;border-radius:22px;overflow:hidden;box-shadow:0 1px 0 0 rgba(255,255,255,0.8) inset,0 24px 80px -12px rgba(27,43,91,0.08),0 4px 24px -4px rgba(27,43,91,0.05);animation:cr-fadeUp .7s .25s cubic-bezier(.23,1,.32,1) both;position:relative}
.cr-form-card::before{content:'';position:absolute;top:0;left:5%;right:5%;height:3px;background:linear-gradient(90deg,transparent,#E8621C,#F5921B,#6BB8D9,transparent);border-radius:2px;opacity:.7}
.cr-form-inner{padding:2.75rem 2.75rem 1.75rem}

/* Section Label */
.cr-section-label{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#E8621C;margin-bottom:1.5rem;display:flex;align-items:center;gap:12px;scroll-margin-top:20px}
.cr-section-label::before{content:'';width:16px;height:2px;background:linear-gradient(90deg,#E8621C,#F5921B);border-radius:2px}
.cr-section-label::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(232,98,28,0.15),transparent)}
.cr-section-number{display:inline-flex;align-items:center;justify-content:center;width:22px;min-width:22px;height:22px;background:rgba(232,98,28,0.1);border:1px solid rgba(232,98,28,0.2);border-radius:6px;font-size:10px;font-weight:700;color:#E8621C}

/* Field Grid */
.cr-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem;margin-bottom:1.15rem}
.cr-field-group{display:flex;flex-direction:column;gap:7px;margin-bottom:1.15rem;position:relative}

/* Labels */
.cr-form-card label{font-size:11.5px;font-weight:600;color:#4A5570;letter-spacing:.05em;text-transform:uppercase;display:block;margin-bottom:0;transition:color .25s}
.cr-field-group:focus-within label{color:#E8621C}
.cr-label-hint{font-weight:400;color:#9AA3B5;font-size:11px;text-transform:none;letter-spacing:0}
.cr-required::after{content:'';display:inline-block;width:4px;height:4px;background:#E8621C;border-radius:50%;margin-left:5px;vertical-align:super}

/* Inputs */
.cr-form-card input[type="text"],.cr-form-card input[type="tel"],.cr-form-card input[type="email"],.cr-form-card select,.cr-form-card textarea{background:#F9F7F5;border:1px solid #E0DAD2;border-radius:12px;padding:13px 16px;font-family:'DM Sans',Arial,sans-serif;font-size:16px;color:#1B2B5B;width:100%;transition:all .3s cubic-bezier(.23,1,.32,1);-webkit-appearance:none;appearance:none;outline:none}
.cr-form-card input::placeholder,.cr-form-card textarea::placeholder{color:#B0A89E;transition:opacity .2s}
.cr-form-card input:focus::placeholder{opacity:.4}
.cr-form-card input:focus,.cr-form-card select:focus,.cr-form-card textarea:focus{border-color:#E8621C;background:#FFFFFF;box-shadow:0 0 0 3px rgba(232,98,28,0.1)}
.cr-form-card select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234A5570' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-color:#F9F7F5;padding-right:40px}
.cr-form-card select option{background:#FFFFFF;color:#1B2B5B}

/* Validation Error */
.cr-has-error input,.cr-has-error select{border-color:#E24B4A !important;box-shadow:0 0 0 3px rgba(226,75,74,0.1) !important;background:#FFF8F8 !important}
.cr-has-error label{color:#E24B4A !important}
.cr-error-msg{font-size:11px;color:#E24B4A;margin-top:2px;display:flex;align-items:center;gap:4px}
.cr-error-msg::before{content:'!';display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:rgba(226,75,74,0.1);border-radius:50%;font-size:9px;font-weight:700;flex-shrink:0}

/* Divider */
.cr-divider{height:1px;background:linear-gradient(90deg,transparent,#E0DAD2,transparent);margin:2rem 0}

/* Upload */
.cr-upload-area{border:1.5px dashed #D0C8BE;border-radius:12px;padding:1.5rem;text-align:center;cursor:pointer;transition:all .3s cubic-bezier(.23,1,.32,1);position:relative;background:#FAFAF8}
.cr-upload-area:hover{border-color:#E8621C;background:#FFF8F2;transform:translateY(-1px)}
.cr-upload-area input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;border:none !important;background:transparent !important;padding:0;border-radius:0;font-size:16px}
.cr-upload-icon{width:40px;height:40px;background:rgba(232,98,28,0.08);border:1px solid rgba(232,98,28,0.15);border-radius:10px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;color:#E8621C;transition:all .3s}
.cr-upload-area:hover .cr-upload-icon{background:rgba(232,98,28,0.15);transform:translateY(-2px)}
.cr-upload-title{font-size:13px;font-weight:500;color:#4A5570;margin-bottom:5px}
.cr-upload-hint{font-size:11px;color:#9AA3B5}
.cr-upload-area.cr-has-file{border-color:#E8621C;border-style:solid;background:#FFF8F2}
.cr-upload-area.cr-has-file .cr-upload-title{color:#E8621C}

/* Form Footer */
.cr-form-footer{background:#F9F7F5;border-top:1px solid #E8E2DA;padding:1.5rem 2.75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.cr-privacy-note{font-size:12px;color:#7A8399;display:flex;align-items:center;gap:7px;flex:1}
.cr-privacy-note svg{flex-shrink:0;color:#3A8BB5}

/* Submit Button */
.cr-submit-btn{background:linear-gradient(135deg,#D4551A 0%,#E8621C 40%,#F5921B 100%);border:none;border-radius:12px;padding:14px 32px;font-family:'DM Sans',Arial,sans-serif;font-size:14px;font-weight:600;color:#fff;cursor:pointer;white-space:nowrap;transition:all .3s cubic-bezier(.23,1,.32,1);display:flex;align-items:center;gap:9px;letter-spacing:.02em;outline:none;position:relative;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,0.15);min-height:48px}
.cr-submit-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0.18),transparent);opacity:0;transition:opacity .3s}
.cr-submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(232,98,28,0.3)}
.cr-submit-btn:hover::before{opacity:1}
.cr-submit-btn:active{transform:translateY(0);box-shadow:0 2px 8px rgba(232,98,28,0.2)}
.cr-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}

/* Animations */
.cr-field-group,.cr-field-grid,.cr-upload-area,.cr-divider,.cr-section-label,.cr-help-tip,.cr-help-example{animation:cr-fieldIn .5s cubic-bezier(.23,1,.32,1) both}
@keyframes cr-fieldIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.cr-form-inner > *:nth-child(1){animation-delay:.30s}.cr-form-inner > *:nth-child(2){animation-delay:.35s}.cr-form-inner > *:nth-child(3){animation-delay:.40s}.cr-form-inner > *:nth-child(4){animation-delay:.45s}.cr-form-inner > *:nth-child(5){animation-delay:.50s}.cr-form-inner > *:nth-child(6){animation-delay:.55s}.cr-form-inner > *:nth-child(7){animation-delay:.60s}.cr-form-inner > *:nth-child(8){animation-delay:.65s}.cr-form-inner > *:nth-child(9){animation-delay:.70s}.cr-form-inner > *:nth-child(10){animation-delay:.75s}.cr-form-inner > *:nth-child(11){animation-delay:.80s}.cr-form-inner > *:nth-child(12){animation-delay:.85s}.cr-form-inner > *:nth-child(13){animation-delay:.90s}.cr-form-inner > *:nth-child(14){animation-delay:.95s}.cr-form-inner > *:nth-child(15){animation-delay:1s}.cr-form-inner > *:nth-child(16){animation-delay:1.05s}.cr-form-inner > *:nth-child(17){animation-delay:1.1s}.cr-form-inner > *:nth-child(18){animation-delay:1.15s}.cr-form-inner > *:nth-child(19){animation-delay:1.2s}.cr-form-inner > *:nth-child(20){animation-delay:1.25s}.cr-form-inner > *:nth-child(21){animation-delay:1.3s}.cr-form-inner > *:nth-child(22){animation-delay:1.35s}

/* Success */
.cr-success-screen{text-align:center;padding:4rem 2rem}
.cr-success-icon{width:80px;height:80px;background:rgba(232,98,28,0.08);border:1.5px solid rgba(232,98,28,0.2);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.75rem;color:#E8621C;animation:cr-appear .5s .2s cubic-bezier(.175,.885,.32,1.275) both}
@keyframes cr-appear{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}
.cr-success-title{font-family:'Playfair Display',Georgia,serif;font-size:1.85rem;color:#1B2B5B;margin-bottom:.85rem}
.cr-success-text{font-size:14px;color:#5A6B80;line-height:1.7;margin-bottom:0}
.cr-ref-number{display:inline-block;margin-top:1.5rem;background:rgba(232,98,28,0.08);border:1px solid rgba(232,98,28,0.2);border-radius:8px;padding:9px 22px;font-size:13px;color:#E8621C;font-weight:600;letter-spacing:.06em}

/* Field Hints */
.cr-field-hint{font-size:11px;color:#9AA3B5;margin-top:4px;display:flex;align-items:center;gap:4px;line-height:1.4}
.cr-field-hint svg{flex-shrink:0;color:#3A8BB5;opacity:.6}

/* Progress */
.cr-step-dot{transition:all .3s ease}
.cr-step-label{transition:color .3s ease}

/* ── RESPONSIVE ────────────────────────────────────────────────── */
@media(max-width:768px){.cr-page{padding:1.5rem .75rem;align-items:flex-start}.cr-form-inner{padding:2rem 1.75rem 1.5rem}.cr-form-footer{padding:1.25rem 1.75rem}.cr-brand-title{font-size:2rem}}

@media(max-width:600px){
.cr-page{padding:1rem .5rem;align-items:flex-start;min-height:100dvh}
.cr-page-wrapper{max-width:100%}
.cr-logo-wrap{margin-bottom:1.25rem}
.cr-logo-wrap img{height:56px}
.cr-brand-header{margin-bottom:1.5rem}
.cr-brand-title{font-size:1.65rem}
.cr-brand-sub{font-size:13px}
.cr-brand-badge{padding:6px 14px;font-size:10px;margin-bottom:1rem}
.cr-step-label{display:none !important}
.cr-step-line{width:20px !important}
.cr-form-card{border-radius:16px}
.cr-form-inner{padding:1.75rem 1.25rem 1.25rem}
.cr-field-grid{grid-template-columns:1fr;gap:0}
.cr-form-card input[type="text"],.cr-form-card input[type="tel"],.cr-form-card input[type="email"],.cr-form-card select,.cr-form-card textarea{padding:15px 16px;font-size:16px;border-radius:10px;min-height:50px}
.cr-form-card select{min-height:50px}
.cr-form-card label{font-size:12px;margin-bottom:2px}
.cr-field-group{margin-bottom:1.25rem;gap:6px}
.cr-section-label{font-size:10.5px;margin-bottom:1.25rem;scroll-margin-top:16px}
.cr-help-tip{flex-direction:column;gap:8px;padding:12px 14px;margin-bottom:1.25rem}
.cr-help-tip-icon{width:28px;min-width:28px;height:28px}
.cr-help-tip-text{font-size:12px}
.cr-upload-area{padding:2rem 1rem;min-height:100px}
.cr-upload-title{font-size:14px}
.cr-upload-hint{font-size:12px}
.cr-form-footer{flex-direction:column;align-items:stretch;padding:1.25rem;gap:.75rem}
.cr-privacy-note{justify-content:center;font-size:11px;order:2}
.cr-submit-btn{justify-content:center;width:100%;padding:16px 24px;font-size:15px;min-height:52px;border-radius:14px;order:1}
.cr-error-msg{font-size:12px;padding:4px 0}
.cr-divider{margin:1.5rem 0}
.cr-success-screen{padding:3rem 1.5rem}
.cr-success-title{font-size:1.5rem}
.cr-success-icon{width:64px;height:64px}
.cr-error-icon{width:60px;height:60px}
.cr-help-example{padding:14px 16px;min-height:56px}
}

@media(max-width:380px){.cr-page{padding:.5rem .35rem}.cr-form-inner{padding:1.5rem 1rem 1rem}.cr-form-footer{padding:1rem}.cr-brand-title{font-size:1.4rem}.cr-brand-sub{font-size:12px}.cr-form-card input[type="text"],.cr-form-card input[type="tel"],.cr-form-card input[type="email"],.cr-form-card select{padding:14px 12px}}
/* 3-column field grid for City / State / Zip */
.cr-field-grid-3{grid-template-columns:1fr 1fr 1fr}
@media(max-width:600px){.cr-field-grid-3{grid-template-columns:1fr}}
.cr-form-card input:focus-visible,.cr-form-card select:focus-visible{outline:2px solid #E8621C;outline-offset:2px}
html:has(.cr-page){scroll-behavior:smooth}

@media(max-width:600px){
.cr-field-group:focus-within{position:relative}
.cr-field-group:focus-within::before{content:'';position:absolute;left:-8px;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#E8621C,#F5921B);border-radius:3px;animation:cr-barIn .3s ease both}
@keyframes cr-barIn{from{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}
}

.cr-page,.cr-page-wrapper,.cr-form-card{overflow-x:hidden}

@media(max-height:500px) and (orientation:landscape){.cr-page{padding:.5rem;align-items:flex-start}.cr-logo-wrap{margin-bottom:.5rem}.cr-logo-wrap img{height:40px}.cr-brand-header{margin-bottom:.75rem}.cr-progress{margin-bottom:.75rem !important}}