.uk-formation-page { color: var(--color-text-primary, #222325); background: var(--color-bg-primary, #fff); }
.uk-formation-hero { padding: 84px 0 74px; background: radial-gradient(circle at 82% 28%, rgba(29,191,115,.12), transparent 32%), linear-gradient(145deg,#f7fbf9,#fff 68%); border-bottom: 1px solid var(--color-border,#e4e5e7); }
.uk-formation-hero-grid,.uk-name-grid,.uk-enquiry-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr); align-items:center; gap:clamp(34px,6vw,82px); }
.uk-formation-hero-copy { max-width:690px; }
.uk-formation-kicker,.uk-section-label { display:inline-flex; align-items:center; gap:8px; color:#12854f; font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.uk-formation-kicker { padding:9px 13px; border:1px solid rgba(29,191,115,.22); border-radius:999px; background:#eefaf4; letter-spacing:.04em; }
.uk-formation-hero h1 { margin:22px 0 18px; max-width:700px; font-size:clamp(40px,5.5vw,66px); line-height:1.04; letter-spacing:-.055em; color:#202a26; }
.uk-formation-hero-copy>p,.uk-section-copy>p,.uk-section-heading>p { color:var(--color-text-secondary,#62646a); font-size:17px; line-height:1.75; }
.uk-formation-hero-copy>p { max-width:620px; }
.uk-formation-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.uk-button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:0 18px; border:1px solid transparent; border-radius:10px; font:inherit; font-size:14px; font-weight:750; text-decoration:none; cursor:pointer; transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }
.uk-button:hover { transform:translateY(-2px); }
.uk-button-primary { color:#fff; background:#17b874; box-shadow:0 8px 18px rgba(23,184,116,.2); }
.uk-button-primary:hover { background:#109c60; }
.uk-button-secondary { color:#222925; background:#fff; border-color:#cfd6d2; }
.uk-formation-trust { display:flex; align-items:flex-start; gap:9px; max-width:620px; margin-top:25px; color:#63716a; font-size:13px; line-height:1.6; }
.uk-formation-trust i { flex:0 0 auto; color:#168d55; font-size:19px; }
.uk-formation-summary { padding:26px; border:1px solid #dce7e1; border-radius:22px; background:#fff; box-shadow:0 20px 65px rgba(25,57,41,.08); }
.uk-summary-top { display:flex; justify-content:space-between; align-items:center; gap:14px; color:#68766f; font-size:13px; font-weight:700; }
.uk-live-dot { padding:6px 9px; color:#12854f; background:#eaf8f0; border-radius:999px; font-size:11px; }
.uk-summary-title { margin:20px 0 21px; font-size:25px; font-weight:800; line-height:1.2; letter-spacing:-.035em; }
.uk-steps-list { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.uk-steps-list li { display:flex; gap:14px; align-items:flex-start; padding:15px 0; border-top:1px solid #edf0ee; }
.uk-steps-list li>span { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:11px; color:#12854f; background:#eaf8f0; font-size:12px; font-weight:800; }
.uk-steps-list strong,.uk-steps-list small { display:block; }
.uk-steps-list strong { margin:1px 0 4px; font-size:14px; }
.uk-steps-list small { color:#77827c; font-size:12px; line-height:1.5; }
.uk-summary-note { margin:10px 0 0; color:#78837d; font-size:12px; line-height:1.55; }
.uk-section { padding:82px 0; }
.uk-name-grid { align-items:start; }
.uk-section-copy h2,.uk-section-heading h2 { margin:13px 0 13px; font-size:clamp(30px,4vw,44px); line-height:1.13; letter-spacing:-.045em; }
.uk-section-copy>p { margin:0; }
.uk-check-list { display:grid; gap:12px; margin:24px 0 0; padding:0; list-style:none; color:#56635c; font-size:14px; }
.uk-check-list li { display:flex; gap:9px; align-items:flex-start; line-height:1.55; }
.uk-check-list i { flex:0 0 auto; color:#13a663; font-size:19px; }
.uk-check-list li:last-child i { color:#bd8b2a; }
.uk-name-card { padding:27px; border:1px solid #e0e5e2; border-radius:18px; background:#fff; box-shadow:0 12px 40px rgba(30,45,36,.055); }
.uk-name-form label,.uk-formation-form label:not(.uk-terms-check) { display:block; margin-bottom:8px; color:#333b36; font-size:13px; font-weight:750; }
.uk-name-input-row { display:flex; gap:9px; }
.uk-name-input-row input,.uk-formation-form input,.uk-formation-form select,.uk-formation-form textarea { width:100%; min-width:0; min-height:48px; padding:12px 13px; border:1px solid #d8dedb; border-radius:9px; background:#fff; color:#252b27; font:inherit; font-size:14px; }
.uk-name-input-row input:focus,.uk-formation-form input:focus,.uk-formation-form select:focus,.uk-formation-form textarea:focus { outline:3px solid rgba(29,191,115,.16); border-color:#17b874; }
.uk-name-input-row .uk-button { flex:0 0 auto; }
.uk-name-form>small { display:block; margin-top:10px; color:#7b8580; font-size:12px; line-height:1.55; }
.uk-name-result { margin-top:18px; padding:16px; border:1px solid #d9e8df; border-radius:12px; background:#f6fbf8; color:#3e5046; font-size:14px; line-height:1.6; }
.uk-name-result[hidden] { display:none; }
.uk-name-result.is-error { border-color:#f0caca; background:#fff8f7; color:#853c37; }
.uk-result-title { margin:0 0 8px; font-size:15px; font-weight:800; }
.uk-result-matches { display:grid; gap:8px; margin:12px 0 0; padding:0; list-style:none; }
.uk-result-matches li { display:flex; flex-wrap:wrap; justify-content:space-between; gap:5px 14px; padding:10px 0; border-top:1px solid #e2e9e5; }
.uk-result-matches a { color:#147447; font-weight:700; }
.uk-result-footnote { margin:10px 0 0; color:#78837d; font-size:12px; }
.uk-packages-section { background:#f7f9f8; border-top:1px solid #eef1ef; border-bottom:1px solid #eef1ef; }
.uk-section-heading { max-width:760px; margin:0 auto 34px; text-align:center; }
.uk-section-heading>p { margin:0; font-size:15px; }
.uk-package-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:18px; }
.uk-package-card { display:flex; flex-direction:column; padding:25px; border:1px solid #e0e5e2; border-radius:17px; background:#fff; box-shadow:0 10px 32px rgba(30,45,36,.04); }
.uk-package-card-featured { border-color:#25bb77; box-shadow:0 14px 38px rgba(23,184,116,.12); }
.uk-package-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.uk-package-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; color:#108b53; background:#eaf8f0; font-size:22px; }
.uk-package-tag { color:#168552; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.uk-package-card h3 { margin:20px 0 7px; font-size:22px; letter-spacing:-.03em; }
.uk-package-intro { min-height:48px; margin:0; color:#6f7973; font-size:13px; line-height:1.6; }
.uk-package-price { margin:19px 0 17px; padding:13px 0; border-top:1px solid #edf0ee; border-bottom:1px solid #edf0ee; font-size:18px; font-weight:800; }
.uk-package-price small { display:block; margin-top:4px; color:#818a85; font-size:11px; font-weight:500; }
.uk-package-card ul { display:grid; gap:10px; flex:1; margin:0 0 22px; padding:0; list-style:none; color:#59655e; font-size:13px; line-height:1.5; }
.uk-package-card li { position:relative; padding-left:23px; }
.uk-package-card li::before { position:absolute; left:0; top:0; content:'✓'; color:#13a663; font-weight:900; }
.uk-package-card .uk-button { width:100%; }
.uk-package-disclaimer { max-width:860px; margin:22px auto 0; color:#77827c; font-size:12px; line-height:1.6; text-align:center; }
.uk-addons { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1.8fr) auto; align-items:center; gap:24px; margin-top:34px; padding:24px; border:1px solid #dfe7e2; border-radius:16px; background:#fff; }
.uk-addons h3 { margin:7px 0; font-size:20px; }
.uk-addons p { margin:0; font-size:13px; }
.uk-addon-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 18px; margin:0; padding:0; list-style:none; color:#59655e; font-size:12px; line-height:1.45; }
.uk-addon-list li { position:relative; padding-left:18px; }
.uk-addon-list li::before { position:absolute; left:0; color:#13a663; content:'✓'; font-weight:900; }
.uk-addons>.uk-button { white-space:nowrap; }
.uk-enquiry-grid { align-items:start; }
.uk-enquiry-note { display:flex; gap:11px; margin-top:24px; padding:15px; border:1px solid #f0dfb8; border-radius:12px; background:#fffaf0; color:#65562e; font-size:13px; line-height:1.6; }
.uk-enquiry-note i { flex:0 0 auto; font-size:20px; }
.uk-formation-form-card { padding:27px; border:1px solid #e0e5e2; border-radius:18px; background:#fff; box-shadow:0 12px 40px rgba(30,45,36,.055); }
.uk-formation-form { display:grid; gap:16px; }
.uk-form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.uk-form-row>div { min-width:0; }
.uk-formation-form textarea { min-height:105px; resize:vertical; }
.uk-terms-check { display:flex; align-items:flex-start; gap:9px; color:#68746d; font-size:12px; line-height:1.6; }
.uk-terms-check input { flex:0 0 17px; width:17px; min-height:17px; height:17px; margin:2px 0 0; accent-color:#17b874; }
.uk-terms-check a { color:#13794a; font-weight:700; }
.uk-submit-enquiry { width:100%; }
.uk-form-feedback { padding:12px 14px; border:1px solid #cde9d9; border-radius:10px; background:#f2fbf6; color:#286342; font-size:13px; line-height:1.5; }
.uk-form-feedback.is-error { border-color:#f0caca; background:#fff8f7; color:#853c37; }
.uk-form-feedback[hidden] { display:none; }
.uk-form-footnote { margin:0; color:#818a85; font-size:11px; line-height:1.55; text-align:center; }
.uk-faq-section { padding:72px 0 86px; background:#f7f9f8; }
.uk-faq-container { max-width:900px; }
.uk-faq-container .uk-section-heading { margin-bottom:24px; }
.uk-faq-container details { margin-top:10px; padding:17px 19px; border:1px solid #e1e6e3; border-radius:12px; background:#fff; }
.uk-faq-container summary { cursor:pointer; font-size:14px; font-weight:750; }
.uk-faq-container details p { margin:12px 0 0; color:#68746d; font-size:13px; line-height:1.7; }
.uk-name-container { max-width:980px; }
.uk-name-container .uk-section-heading { max-width:720px; margin-bottom:25px; }
.uk-name-card-centered { max-width:760px; margin:0 auto; padding:30px; }
.uk-name-card-centered .uk-name-form>label { font-size:15px; }
.uk-name-card-centered .uk-name-input-row input { min-height:56px; }
.uk-name-reassurance { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 24px; margin-top:20px; color:#6f7973; font-size:12px; }
.uk-name-reassurance span { display:inline-flex; align-items:center; gap:6px; }
.uk-name-reassurance i { color:#15965b; font-size:16px; }
.uk-package-select { margin-top:auto; }
.uk-application-page { min-height:70vh; padding:54px 18px 80px; background:linear-gradient(180deg,#f5faf7 0,#fff 340px); color:#222925; }
.uk-application-wrap { max-width:900px; margin:0 auto; }
.uk-application-back { display:inline-flex; align-items:center; gap:6px; color:#28754e; text-decoration:none; font-size:14px; font-weight:700; }
.uk-application-heading { max-width:720px; margin:28px auto 26px; text-align:center; }
.uk-application-heading h1 { margin:12px 0 10px; color:#202a26; font-size:clamp(32px,5vw,46px); line-height:1.12; letter-spacing:-.045em; }
.uk-application-heading p { margin:0; color:#68746d; font-size:15px; line-height:1.7; }
.uk-application-card { padding:clamp(20px,4vw,38px); border:1px solid #dfe8e2; border-radius:20px; background:#fff; box-shadow:0 18px 58px rgba(30,60,43,.08); }
.uk-application-package { display:flex; align-items:center; gap:14px; padding:15px 17px; border:1px solid #dceee3; border-radius:12px; background:#f5fbf7; }
.uk-application-package span { display:grid; gap:3px; flex:1; }
.uk-application-package small { color:#738078; font-size:11px; }
.uk-application-package strong { font-size:15px; }
.uk-application-package>b { color:#11804c; font-size:17px; }
.uk-application-package>a { color:#147447; font-size:12px; font-weight:700; }
.uk-wizard-progress { display:grid; grid-template-columns:repeat(4,1fr); margin:30px 0 34px; padding:0; list-style:none; }
.uk-wizard-progress li { position:relative; display:flex; align-items:center; gap:10px; color:#89938d; }
.uk-wizard-progress li:not(:last-child)::after { position:absolute; z-index:0; top:17px; left:42px; right:12px; height:2px; background:#e7ece9; content:""; }
.uk-wizard-progress li.is-complete:not(:last-child)::after { background:#20b875; }
.uk-wizard-progress li>span { position:relative; z-index:1; display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border:1px solid #d9e0dc; border-radius:50%; background:#fff; font-size:13px; font-weight:800; }
.uk-wizard-progress li.is-active,.uk-wizard-progress li.is-complete { color:#16764a; }
.uk-wizard-progress li.is-active>span,.uk-wizard-progress li.is-complete>span { border-color:#18b873; background:#eaf8f0; color:#16764a; }
.uk-wizard-progress li small { position:relative; z-index:1; padding-right:12px; background:#fff; font-size:12px; font-weight:700; }
.uk-wizard-step[hidden] { display:none; }
.uk-wizard-step h2 { margin:8px 0; color:#202a26; font-size:26px; letter-spacing:-.035em; }
.uk-wizard-step>p { margin:0 0 22px; color:#718078; font-size:13px; line-height:1.6; }
.uk-step-eyebrow { color:#168552; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.uk-wizard-step .uk-form-row,.uk-wizard-step>div { margin-top:17px; }
.uk-field-help { display:block; margin-top:7px; color:#78847d; font-size:11px; line-height:1.55; }
.uk-wizard-actions { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:28px; padding-top:20px; border-top:1px solid #edf0ee; }
.uk-wizard-actions .uk-form-footnote { text-align:left; }
.uk-review-summary { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; margin:20px 0; padding:4px 17px; border:1px solid #e5ebe7; border-radius:12px; background:#fbfcfb; }
.uk-review-summary>div { padding:12px 0; border-bottom:1px solid #edf0ee; }
.uk-review-summary small { color:#758078; font-size:11px; }
.uk-review-summary p { margin:4px 0 0; color:#2e3932; font-size:13px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
.uk-officer-card { min-width:0; margin:18px 0; padding:16px; border:1px solid #e3eae5; border-radius:12px; }
.uk-officer-card legend { padding:0 8px; color:#187b4d; font-size:14px; font-weight:800; }
.uk-fieldset { min-width:0; margin:18px 0; padding:16px; border:1px solid #e3eae5; border-radius:12px; }
.uk-fieldset legend { padding:0 8px; color:#187b4d; font-size:14px; font-weight:800; }
.uk-fieldset .uk-form-row { margin-top:12px; }
.uk-payment-disclaimer { padding:12px 14px; border-radius:10px; background:#f5f8f6; color:#68746d; font-size:12px; line-height:1.6; }
.uk-package-legal,.uk-payment-box { margin:18px 0; padding:18px; border:1px solid #e2e9e4; border-radius:12px; background:#fbfcfb; color:#46534b; font-size:13px; line-height:1.65; overflow-wrap:anywhere; }
.uk-package-legal h3,.uk-payment-box h3 { margin:0 0 8px; color:#202a26; font-size:15px; }
.uk-package-legal h3:not(:first-child) { margin-top:18px; }
.uk-payment-box p { margin:0 0 12px; }
.uk-bank-instructions { margin:10px 0 16px; padding:12px; border-radius:8px; background:#fff; white-space:pre-wrap; }
.uk-payment-box input { margin:7px 0; }
.uk-payment-box small { display:block; color:#68746d; }
.uk-own-address-fields { padding:15px; border:1px solid #e2e9e4; border-radius:10px; }
.uk-own-address-fields[hidden] { display:none; }
.uk-inline-name-result { margin-top:10px; }
.uk-inline-name-result p { margin:5px 0; }
.uk-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; }
@media(max-width:600px) { .uk-wizard-progress li { min-width:0; justify-items:center; text-align:center; } .uk-wizard-progress li { grid-template-columns:1fr!important; } .uk-wizard-progress li small { padding:0; overflow-wrap:anywhere; } .uk-wizard-progress li:not(:last-child)::after { left:65%; right:-35%; }  .uk-name-card-centered { padding:20px; } .uk-name-reassurance { justify-content:flex-start; } .uk-application-page { padding:35px 14px 55px; } .uk-application-card { padding:20px 16px; } .uk-application-package { flex-wrap:wrap; } .uk-wizard-progress li { display:grid; grid-template-columns:36px 1fr; gap:6px; } .uk-wizard-progress li:not(:last-child)::after { top:17px; left:40px; right:5px; } .uk-wizard-progress li small { padding-right:4px; font-size:10px; } .uk-review-summary { grid-template-columns:1fr; } .uk-wizard-actions { align-items:stretch; flex-wrap:wrap; } .uk-wizard-actions .uk-form-footnote { width:100%; } .uk-wizard-actions .uk-button { flex:1; } }
@media(max-width:900px) { .uk-package-grid { grid-template-columns:1fr 1fr; } .uk-addons { grid-template-columns:1fr; } }
@media(max-width:760px) { .uk-formation-hero { padding:54px 0 48px; } .uk-formation-hero-grid,.uk-name-grid,.uk-enquiry-grid { grid-template-columns:1fr; gap:30px; } .uk-formation-summary { max-width:540px; } .uk-section { padding:60px 0; } .uk-package-grid { grid-template-columns:1fr; max-width:520px; margin:0 auto; } .uk-section-heading { text-align:left; margin-left:0; } .uk-addon-list { grid-template-columns:1fr; } }
@media(max-width:520px) { .uk-formation-hero h1 { font-size:39px; } .uk-formation-hero-actions { display:grid; } .uk-formation-hero-actions .uk-button { width:100%; } .uk-name-card,.uk-formation-form-card { padding:20px; } .uk-name-input-row { flex-direction:column; } .uk-name-input-row .uk-button { width:100%; } .uk-form-row { grid-template-columns:1fr; gap:16px; } }
