/* Essence Group Associate Partner Request - focused Financial Consultancy + Solar Services */
:root{--ap-navy:#061b3d;--ap-navy-2:#0b3978;--ap-blue:#1767c9;--ap-orange:#f45b0b;--ap-orange-soft:#fff2e9;--ap-ink:#12233c;--ap-muted:#63738a;--ap-line:#dfe7f0;--ap-soft:#f6f9fc;--ap-success:#0b7a4b}

/* Header CTA */
.eu-v8-btn.eu-partner-header-cta{background:#fff7f2;color:#b64200;border:1px solid #ffc6a4;white-space:nowrap;box-shadow:0 8px 20px rgba(244,91,11,.08)}
.eu-v8-btn.eu-partner-header-cta:hover{background:#f45b0b;color:#fff;border-color:#f45b0b;transform:translateY(-1px)}
.eu-partner-header-cta .ap-short{display:none}
.partner-request-header{background:#fff7f2!important;color:#b64200!important;border:1px solid #ffc6a4!important}
.partner-request-header:hover{background:#f45b0b!important;color:#fff!important;border-color:#f45b0b!important}

/* Page */
.ap-page{background:#f8fbff;color:var(--ap-ink)}
.ap-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 12%,rgba(244,91,11,.24),transparent 25%),radial-gradient(circle at 20% 0%,rgba(60,142,255,.2),transparent 34%),linear-gradient(125deg,#041a3d 0%,#0b3978 58%,#082c5f 100%);color:#fff;padding:62px 0 56px}
.ap-hero:after{content:"";position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}
.ap-hero .container{position:relative;z-index:1}
.ap-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:36px;align-items:center}
.ap-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);font-size:.7rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#d9e8fb}
.ap-kicker i{width:7px;height:7px;border-radius:50%;background:#ff7b32;box-shadow:0 0 0 5px rgba(255,123,50,.14)}
.ap-hero h1{font-size:clamp(2.6rem,5vw,5rem);line-height:.98;letter-spacing:-.045em;color:#fff;margin:16px 0 16px;max-width:820px}
.ap-hero h1 em{font-style:normal;color:#ff8b4a}
.ap-hero p{max-width:760px;color:#cbd9eb;font-size:1rem;line-height:1.65}
.ap-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}
.ap-hero-actions .btn{padding:12px 17px}
.ap-hero-actions .ap-secondary{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.25)}
.ap-hero-actions .ap-secondary:hover{background:#fff;color:#082c5f}
.ap-hero-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px;color:#aebfd6;font-size:.75rem;font-weight:800}
.ap-hero-meta span:before{content:"✓";color:#ff8b4a;margin-right:6px}
.ap-focus-card{background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.55);border-radius:22px;padding:18px;color:var(--ap-ink);box-shadow:0 28px 75px rgba(1,17,42,.28)}
.ap-focus-head{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--ap-line);padding-bottom:12px;margin-bottom:12px}
.ap-focus-head small{font-weight:900;color:#6b7d93;letter-spacing:.08em}.ap-focus-head b{color:var(--ap-navy)}
.ap-focus-status{font-size:.68rem;font-weight:900;color:var(--ap-success);background:#eaf8f1;border-radius:999px;padding:6px 9px}
.ap-service-preview{display:grid;gap:9px}
.ap-service-preview article{display:grid;grid-template-columns:42px 1fr;gap:10px;padding:12px;border-radius:15px;background:#f5f8fc;border:1px solid #e4ebf2}
.ap-service-preview i{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-style:normal;font-weight:900;background:#eaf2ff;color:#114f9e}
.ap-service-preview article:last-child i{background:#fff1e8;color:#c34a04}
.ap-service-preview b{display:block;font-size:.9rem;color:var(--ap-navy)}
.ap-service-preview span{display:block;margin-top:2px;font-size:.72rem;color:var(--ap-muted);line-height:1.45}
.ap-focus-foot{margin-top:12px;padding:10px 12px;border-radius:12px;background:#fff7f2;color:#8c3b0f;font-size:.73rem;line-height:1.5;border:1px solid #ffe0cc}

.ap-form-section{padding:58px 0 72px;background:linear-gradient(180deg,#f8fbff,#fff)}
.ap-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}
.ap-section-head small{font-size:.7rem;font-weight:900;letter-spacing:.1em;color:var(--ap-orange)}
.ap-section-head h2{font-size:clamp(2rem,3.6vw,3.4rem);margin:4px 0 0;color:var(--ap-navy);letter-spacing:-.035em}
.ap-section-head p{max-width:560px;color:var(--ap-muted);font-size:.88rem;line-height:1.6}
.ap-form-shell{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}
.ap-form-aside,.ap-form-card{background:#fff;border:1px solid var(--ap-line);border-radius:20px;box-shadow:0 16px 45px rgba(6,27,61,.07)}
.ap-form-aside{padding:18px;position:sticky;top:92px}
.ap-form-aside small{font-size:.66rem;font-weight:900;color:var(--ap-orange);letter-spacing:.08em}.ap-form-aside h3{font-size:1.25rem;color:var(--ap-navy);margin:5px 0 7px}.ap-form-aside>p{font-size:.8rem;color:var(--ap-muted);line-height:1.55}
.ap-step-list{display:grid;gap:8px;margin-top:14px}
.ap-step-list div{display:grid;grid-template-columns:32px 1fr;gap:9px;align-items:start;padding:10px;border-radius:12px;background:#f7f9fc}
.ap-step-list b{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--ap-navy);color:#fff;font-size:.72rem}.ap-step-list strong{display:block;color:var(--ap-navy);font-size:.78rem}.ap-step-list span{display:block;color:var(--ap-muted);font-size:.68rem;margin-top:2px;line-height:1.4}
.ap-aside-note{margin-top:13px;border-top:1px solid var(--ap-line);padding-top:12px;font-size:.68rem!important;color:#75849a!important}
.ap-form-card{padding:20px}
.ap-form-block{padding:0 0 19px;margin-bottom:19px;border-bottom:1px solid #e8edf3}.ap-form-block:last-of-type{border-bottom:0;margin-bottom:5px}
.ap-block-title{display:flex;align-items:center;gap:9px;margin-bottom:12px}.ap-block-title b{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#edf4ff;color:#155aa8;font-size:.72rem}.ap-block-title h3{font-size:1rem;color:var(--ap-navy);margin:0}.ap-block-title p{margin:2px 0 0;color:var(--ap-muted);font-size:.69rem}
.ap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.ap-field{display:block;font-size:.72rem;font-weight:850;color:#31445f}.ap-field.full{grid-column:1/-1}.ap-field input,.ap-field select,.ap-field textarea{display:block;width:100%;margin-top:5px;border:1px solid #d7e0ea;border-radius:11px;padding:11px 12px;background:#fff;color:#13243d;font:inherit;font-weight:600;outline:none;transition:border .15s,box-shadow .15s}.ap-field textarea{min-height:92px;resize:vertical}.ap-field input:focus,.ap-field select:focus,.ap-field textarea:focus{border-color:#5c94d7;box-shadow:0 0 0 3px rgba(28,103,196,.11)}.ap-field .ap-help{display:block;font-size:.64rem;font-weight:600;color:#8996a7;margin-top:4px}
.ap-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ap-choice{position:relative;display:flex;gap:10px;align-items:flex-start;padding:13px;border:1px solid #dce5ee;border-radius:14px;background:#fbfdff;cursor:pointer;transition:.15s}.ap-choice:hover{border-color:#8fb6e3;transform:translateY(-1px)}.ap-choice input{margin-top:2px;accent-color:var(--ap-orange)}.ap-choice strong{display:block;color:var(--ap-navy);font-size:.82rem}.ap-choice span{display:block;margin-top:2px;color:var(--ap-muted);font-size:.68rem;line-height:1.4}
.ap-product-panel{display:none;margin-top:11px;padding:13px;border:1px solid #e1e8ef;border-radius:14px;background:#f8fafc}.ap-product-panel.is-open{display:block}.ap-product-panel>strong{display:block;color:var(--ap-navy);font-size:.78rem;margin-bottom:8px}.ap-chip-grid{display:flex;gap:7px;flex-wrap:wrap}.ap-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #d8e1eb;background:#fff;border-radius:999px;padding:7px 9px;font-size:.67rem;font-weight:800;color:#38506e;cursor:pointer}.ap-chip input{accent-color:var(--ap-orange)}
.ap-consent{display:flex;gap:9px;align-items:flex-start;padding:12px;border-radius:12px;background:#f7f9fc;color:#596a81;font-size:.7rem;line-height:1.45}.ap-consent input{margin-top:2px;accent-color:var(--ap-orange)}
.ap-submit-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}.ap-submit-row .btn{min-width:210px;padding:12px 17px}.ap-form-msg{font-size:.72rem;font-weight:750;line-height:1.45;min-height:20px}
.ap-disclaimer{margin-top:10px;color:#8a96a6;font-size:.64rem;line-height:1.45}
.ap-hide{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(max-width:1120px){.eu-v8-btn.eu-partner-header-cta{padding:10px 12px}.eu-partner-header-cta .ap-long{display:none}.eu-partner-header-cta .ap-short{display:inline}.ap-form-shell{grid-template-columns:250px minmax(0,1fr)}}
@media(max-width:860px){.ap-hero-grid{grid-template-columns:1fr}.ap-focus-card{max-width:720px}.ap-section-head{display:block}.ap-section-head p{margin-top:10px}.ap-form-shell{grid-template-columns:1fr}.ap-form-aside{position:static}.ap-step-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.eu-v8-btn.eu-partner-header-cta{padding:9px 10px;font-size:.68rem}.ap-hero{padding:42px 0 38px}.ap-hero h1{font-size:2.8rem}.ap-form-section{padding:42px 0 55px}.ap-form-card{padding:14px}.ap-grid,.ap-choice-grid{grid-template-columns:1fr}.ap-field.full{grid-column:auto}.ap-step-list{grid-template-columns:1fr}.ap-submit-row{align-items:stretch;flex-direction:column}.ap-submit-row .btn{width:100%}.partner-request-header{display:none!important}}
.ap-step-list p{margin:0}

/* Incremental deployment patch: visible parent -> child product selection UX */
.ap-product-panel[hidden]{display:none!important}
.ap-panel-note{display:block;margin:-2px 0 9px;color:var(--ap-muted);font-size:.65rem;line-height:1.45}
.ap-product-panel.has-error{border-color:#d92d20;box-shadow:0 0 0 3px rgba(217,45,32,.08)}
.ap-inline-error{margin:9px 0 0;color:#b42318;font-size:.68rem;font-weight:850;line-height:1.45}
.ap-inline-error[hidden]{display:none!important}
.ap-product-panel input:focus-visible{outline:2px solid #1767c9;outline-offset:2px}
