/* Request forms share the Centre's editorial layout and linked brand mark. */
.request-section,.pt-enquiry{background:#edf3ee;padding-block:88px}
.request-layout,.pt-enquiry-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:0;align-items:stretch}
.request-intro,.pt-enquiry-grid>div:first-child{background:#244140;color:#f3f7f3;padding:48px 40px;display:flex;flex-direction:column;align-items:flex-start;border-radius:16px 0 0 16px}
.request-mark{width:66px;height:46px;color:#bffa97;margin:0 0 42px}
.request-intro .offer-kicker,.pt-enquiry .pt-context{color:#bed2c9;font-size:14px;font-weight:600;margin:0 0 18px}
.request-layout .request-intro h2,.pt-enquiry-grid>div:first-child h2{font-size:clamp(32px,3.1vw,44px);line-height:1.12;letter-spacing:-1.3px;white-space:pre-line;color:#f3f7f3;margin:0;max-width:13ch;text-wrap:balance}
.request-layout .request-intro>p:not(.offer-kicker),.pt-enquiry-grid>div:first-child>p:not(.pt-context){font-size:17px;line-height:1.65;color:#c4d7ce;margin:26px 0 0;max-width:32ch}
.request-next{border-top:1px solid #52716b;margin-top:auto;padding-top:26px;min-width:0;width:100%}
.request-intro>p+.request-next{margin-top:62px}
.request-next>span{font-size:14px;font-weight:600;color:#bffa97}
.request-next p{font-size:15px;line-height:1.65;margin:12px 0 28px;color:#c4d7ce}
.request-intro .text-link,.pt-enquiry .pt-email{color:#f3f7f3;font-size:14px;max-width:100%;overflow-wrap:anywhere;gap:10px}
.request-paper,.pt-form-region{background:#fff;padding:42px 44px;border-radius:0 16px 16px 0;min-width:0}
.request-form{gap:28px}
.request-form .b2b-form-context{padding-bottom:22px;border-bottom:1px solid #cfddd4;font-size:13px;line-height:1.5;margin:0}
.request-form .b2b-form-context strong{font-size:16px;font-weight:600;line-height:1.45;margin-top:3px}
.request-form .request-needs{display:block;margin:0;padding:0;border:0}
.request-form .request-needs legend,.request-group h3,.pt-enquiry-form>fieldset>legend{font-size:17px;font-weight:600;line-height:1.5;margin:0 0 18px;padding:0;color:#244140;display:block;letter-spacing:-.25px}
.request-number{display:inline-block;color:#526e65;font-size:12px;font-weight:600;letter-spacing:0;margin-right:12px;font-variant-numeric:tabular-nums}
.request-needs legend small{font-size:12px;font-weight:400;color:#526e65;margin-left:8px}
.request-choice-grid,.pt-enquiry .pt-route-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.request-choice-grid label,.pt-route-choice label{min-width:0;position:relative}
.request-form .request-choice-grid span,.pt-enquiry .pt-route-choice span{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;height:100%;padding:14px 16px;border:1px solid #cdded4;border-radius:10px;background:#fff;color:#244140;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .18s,box-shadow .18s}
.request-form .request-choice-grid input:checked+span,.pt-enquiry .pt-route-choice input:checked+span{background:#fff;color:#244140;border-color:#244140;box-shadow:inset 0 0 0 1px #244140}
.request-choice-grid input:focus-visible+span,.pt-route-choice input:focus-visible+span{outline:2px solid #087b65;outline-offset:3px}
.request-choice-grid i{display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px;border:1.5px solid #9cb5a8;border-radius:50%;background:#fff;position:relative}
.request-choice-grid input:checked+span i{border-color:#244140;background:#244140;box-shadow:none}
.request-choice-grid input:checked+span i::after{content:"";width:8px;height:8px;border-radius:50%;background:#c1f99b}
.request-choice-grid label:hover span,.pt-route-choice label:hover span{border-color:#9cb5a8}
.request-choice-grid label:hover input:checked+span,.pt-route-choice label:hover input:checked+span{border-color:#244140}
.request-form .b2b-form-grid,.pt-enquiry .pt-fields{gap:24px 26px}
.request-form .b2b-field label,.pt-enquiry-form .pt-fields label,.pt-enquiry-form>label{font-size:13px;color:#244140;font-weight:600;margin-bottom:7px;line-height:1.5}
.request-form .b2b-field input,.pt-enquiry-form .pt-fields input{border:0;border-bottom:1px solid #9cb5a8;border-radius:0;background:#f7f9f5;padding:12px;min-height:48px;font-size:16px;line-height:1.5;width:100%;color:#244140}
.request-form .b2b-field textarea,.pt-enquiry-form>textarea{border:1px solid #bdcfc4;background:#f7f9f5;border-radius:4px;padding:14px;min-height:112px;font-size:16px;line-height:1.6;width:100%;color:#244140;resize:vertical}
.request-form textarea::placeholder,.pt-enquiry-form textarea::placeholder{color:#657d72;opacity:1}
.request-form input:focus-visible,.request-form textarea:focus-visible,.pt-enquiry-form input:focus-visible,.pt-enquiry-form textarea:focus-visible{outline:2px solid #218b76;outline-offset:3px}
.request-form .b2b-form-planning{margin:20px 0 0;padding:14px 0;border-block:1px solid #d7e1da}
.request-form .b2b-form-planning summary{font-size:13px;line-height:1.6;cursor:pointer;list-style:none;padding-right:10px}
.request-form .b2b-form-planning summary span{white-space:nowrap}
.request-group h3{margin-bottom:18px}
.request-submit{border-top:1px solid #cfddd4;padding-top:22px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.request-submit .b2b-form-privacy{font-size:12px;line-height:1.6;margin:0;max-width:48ch}
.request-submit .btn,.pt-enquiry .pt-form-action .btn{display:flex;align-items:center;justify-content:space-between;gap:36px;width:100%;padding:17px 22px;min-height:56px;border-radius:6px;background:#244140;color:#fff;font-size:16px}
.request-submit .btn:hover,.pt-enquiry .pt-form-action .btn:hover{background:#173c35}
.request-submit .btn:disabled,.pt-form-action .btn:disabled{opacity:.65;cursor:wait}
.request-form [aria-invalid=true],.pt-enquiry-form [aria-invalid=true]{border-color:#a13f35!important;background:#fff7f4!important}
.b2b-form-error,.pt-form-errors{font-size:14px;line-height:1.6}
/* The confirmation takes the form's place in its white panel: a forest mark with a lime tick, where and when the reply
   comes, what was asked for, and the call (form redesign, owner, 23 October 2026). */
body[data-page] .request-confirmation{outline:none;color:#203432}
body[data-page] .request-confirmation-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#244140;color:#c1f99b}
body[data-page] .request-confirmation h3{margin:20px 0 10px;font-size:28px;line-height:1.2;letter-spacing:-.02em;font-weight:600;color:#203432}
body[data-page] .request-confirmation p{margin:0;max-width:46ch;font-size:16px;line-height:1.6;color:#526d64}
body[data-page] .request-confirmation p strong{font-weight:600;color:#203432;overflow-wrap:anywhere}
body[data-page] .request-confirmation-summary{margin-top:28px}
body[data-page] .request-confirmation-summary>p{margin:0 0 6px;font-size:13px;font-weight:600;line-height:1.5;color:#526d64}
body[data-page] .request-confirmation-summary dl{display:block;margin:0;font-size:inherit;border-top:1px solid #cdded4}
body[data-page] .request-confirmation-summary dl div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #cdded4}
body[data-page] .request-confirmation-summary dt{font-size:15px;font-weight:600;color:#244140}
body[data-page] .request-confirmation-summary dd{margin:0;font-size:15px;color:#203432;font-variant-numeric:tabular-nums;white-space:nowrap}
body[data-page] .request-confirmation-talk{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;align-items:center;margin-top:28px;padding:16px 18px;border-radius:12px;background:#f6f8f6}
body[data-page] .request-confirmation-talk img{grid-row:1/4;width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:center 18%}
body[data-page] .request-confirmation-talk p{margin:0;font-size:14px;line-height:1.4;color:#526d64}
body[data-page] .request-confirmation-talk a{justify-self:start;display:inline-flex;align-items:center;gap:8px;min-height:32px;font-size:16px;font-weight:600;color:#244140}
body[data-page] .request-confirmation-talk small{font-size:13px;line-height:1.4;color:#526d64}
body[data-page] .request-confirmation .request-confirmation-again{display:inline-flex;align-items:center;min-height:44px;margin-top:16px;padding:0;border:0;background:none;font:inherit;font-size:15px;font-weight:600;color:#244140;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
/* The call is in the confirmation now, so its other copies step aside. */
.request-confirmation~.request-after,.request-section:has(.request-confirmation) .request-intro .request-talk{display:none!important}
.pt-enquiry-form{display:flex;flex-direction:column;gap:24px}
.pt-enquiry-form>fieldset{margin:0;padding:0;border:0}
.pt-enquiry-form>[data-partner-submodel] .pt-route-choice{grid-template-columns:1fr}
.pt-enquiry-form [hidden]{display:none!important}
.pt-enquiry .pt-form-guidance{font-size:12px;margin:0;color:#657d72;border-top:1px solid #cfddd4;padding-top:20px}
.pt-enquiry .pt-form-privacy{font-size:12px;margin:0;line-height:1.6}
.pt-enquiry .pt-email{margin-top:30px}
.pt-enquiry .pt-enquiry-hint{border-top:1px solid #52716b;padding-top:28px}
@media(min-width:1000px){.request-intro{position:relative}.pt-enquiry-grid>div:first-child{position:static}}
@media(max-width:1000px){.request-layout,.pt-enquiry-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.request-intro,.pt-enquiry-grid>div:first-child{padding:32px 26px}.request-paper,.pt-form-region{padding:32px 26px}.request-choice-grid,.pt-enquiry .pt-route-choice{grid-template-columns:1fr}}
@media(max-width:720px){.request-section,.pt-enquiry{padding-block:48px}.request-layout,.pt-enquiry-grid{grid-template-columns:1fr;gap:0}.request-intro,.pt-enquiry-grid>div:first-child{border-radius:12px 12px 0 0;padding:28px}.request-mark{width:48px;height:34px;margin-bottom:24px}.request-layout .request-intro h2,.pt-enquiry-grid>div:first-child h2{font-size:var(--ds-font-section,32px);max-width:16ch}.request-layout .request-intro>p:not(.offer-kicker),.pt-enquiry-grid>div:first-child>p:not(.pt-context){font-size:16px;margin-top:18px;max-width:40ch}.request-intro>p+.request-next{margin-top:28px}.request-next{padding-top:20px}.request-next p{margin:8px 0 18px}.request-paper,.pt-form-region{border-radius:0 0 12px 12px;padding:28px 24px}.request-form .b2b-form-grid,.pt-enquiry .pt-fields{grid-template-columns:1fr;gap:20px}.request-choice-grid,.pt-enquiry .pt-route-choice{grid-template-columns:1fr 1fr}.request-form .request-choice-grid span,.pt-enquiry .pt-route-choice span{font-size:13px;padding:11px;gap:8px}.request-form{gap:26px}.request-number{margin-right:8px}.request-form .request-needs legend,.request-group h3{font-size:16px}.request-needs legend small{display:none}}
@media(max-width:370px){.request-paper,.pt-form-region,.request-intro,.pt-enquiry-grid>div:first-child{padding:24px 18px}.request-choice-grid,.pt-enquiry .pt-route-choice{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.request-section *,.pt-enquiry *{transition:none!important}}
/* Override earlier sector-specific form rules; this component is the shared owner. */
.org-sector-page .request-layout{gap:0;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}
.org-sector-page .request-layout .request-intro h2{margin:0;color:#f3f7f3;font-size:clamp(32px,3.1vw,44px)}
.org-sector-page .request-form .request-group h3{font-size:17px;letter-spacing:-.25px;line-height:1.5;margin:0 0 18px}
.org-sector-page .request-form .b2b-form-context{font-size:13px}
.org-sector-page .request-form .b2b-form-privacy{font-size:12px}
.org-sector-page .request-intro .text-link{font-size:14px}
.b2b-enquiry-form fieldset legend .request-number{display:inline-block;background:none;border:0;border-radius:0;padding:0;color:#526e65;font-size:12px;cursor:inherit;width:auto;margin-right:12px}
@media(max-width:1000px) and (min-width:721px){.org-sector-page .request-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
@media(max-width:720px){.org-sector-page .request-layout{grid-template-columns:1fr;gap:0}.org-sector-page .request-layout .request-intro h2{font-size:var(--ds-font-section,32px)}.org-sector-page .request-form .request-group h3{font-size:16px}}
@media(max-width:720px){.request-intro,.pt-enquiry-grid>div:first-child{position:relative}.request-mark{position:absolute;left:28px;top:27px;width:30px;height:22px;margin:0}.request-intro .offer-kicker,.pt-enquiry .pt-context{padding-left:42px;min-height:24px;display:flex;align-items:center;margin-bottom:20px}.request-intro .request-next{display:none}.request-intro .text-link{margin-top:20px}.pt-enquiry .pt-enquiry-hint{display:none}.pt-enquiry .pt-email{margin-top:20px}}

/* Keep the shared identity and disclosure clear of legacy page-specific rules. */
.request-section .request-intro .audit-full-logo,.pt-enquiry .audit-full-logo{height:auto!important;aspect-ratio:416/66;margin-bottom:28px;filter:none}
.request-section .request-intro .offer-kicker,.pt-enquiry .pt-context{display:block;padding:0;min-height:0;margin:0 0 12px;font-size:12px;line-height:1.5;font-weight:600;color:#bffa97;text-align:left;letter-spacing:0}
body[data-page] form details>summary.request-disclosure{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:16px;padding:16px 0;padding-inline-end:0!important;min-height:56px;list-style:none;text-align:left}
body[data-page] form details>summary.request-disclosure::before,body[data-page] form details>summary.request-disclosure::after{content:none!important;display:none!important}
body[data-page] form details>summary.request-disclosure::marker{content:""}
body[data-page] form details>summary.request-disclosure::-webkit-details-marker{display:none}
.request-form .b2b-form-planning summary .request-disclosure-label{white-space:normal;color:#244140;font-weight:600}
.request-form .request-disclosure-label>span{font-weight:400;color:#526e65}
.request-disclosure-icon{display:block;width:24px;height:24px;flex:none;color:#244140}
form details[open]>summary .request-disclosure-vertical{display:none}
@media(max-width:720px){
 .request-section .request-intro .audit-full-logo,.pt-enquiry .audit-full-logo{margin-bottom:24px}
 .request-section .request-layout .request-intro h2,.pt-enquiry .pt-enquiry-grid>div:first-child h2{font-size:var(--ds-font-section,32px);line-height:1.15;letter-spacing:-.8px;text-align:left;text-wrap:initial;max-width:18ch}
 .request-section .request-layout .request-intro>p:not(.offer-kicker),.pt-enquiry .pt-enquiry-grid>div:first-child>p:not(.pt-context){font-size:15px;line-height:1.6;margin-top:16px}
 .request-form .b2b-form-planning{padding-block:8px}
}

/* One selection treatment across enquiry, delivery and partnership choices. */
body[data-page] :is(.request-form,.pt-enquiry-form) fieldset input:checked+span{box-shadow:none;border-color:#168575;background:#edf7e6;color:#244140}
body[data-page] :is(.request-form,.pt-enquiry-form) fieldset input:focus-visible+span{outline:2px solid #168575;outline-offset:3px}
body[data-page] form [hidden]{display:none!important}
body[data-page] form details>summary.request-disclosure .request-disclosure-label{white-space:normal}
body[data-page] form details>summary.request-disclosure .request-disclosure-icon{position:static;width:22px;height:22px;justify-self:end;transform:none}
/* Certificate choices stay single-column so programme names can be scanned. */
body[data-page] .request-form .request-certificates{border:0;border-top:1px solid #cfddd4;padding:22px 0 0;margin:0;min-width:0}
body[data-page] .request-certificates>legend{float:left;width:100%;padding:0;margin:0 0 6px;font-size:16px;line-height:1.4;font-weight:600;color:#244140}
body[data-page] .request-certificate-hint{clear:both;font-size:13px;line-height:1.5;color:#526e65;margin:0 0 16px}
body[data-page] .request-certificate-list{display:grid;gap:8px;width:100%}
body[data-page] .request-certificate-row{border:1px solid #cdded4;border-radius:12px;background:#fff;overflow:visible;transition:border-color .18s,box-shadow .18s}
body[data-page] .request-certificate-row:hover{border-color:#9cb5a8}
body[data-page] .request-certificate-row:has(input[type="checkbox"]:checked){border-color:#244140;box-shadow:inset 0 0 0 1px #244140;background:#fff}
body[data-page] .request-certificate-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px 14px 18px;min-height:66px;position:relative;cursor:pointer;margin:0;-webkit-tap-highlight-color:transparent}
body[data-page] .request-certificate-choice input[type="checkbox"]{position:absolute;width:1px;height:1px;opacity:0;clip-path:inset(50%);margin:0}
body[data-page] .request-form .request-certificate-label{display:block;background:none!important;border:0!important;padding:0;border-radius:0;box-shadow:none!important;cursor:pointer;min-width:0;outline:none!important}
body[data-page] .request-certificate-label strong{display:block;font-size:15px;font-weight:600;line-height:1.4;color:#244140}
body[data-page] .request-certificate-label small{display:block;font-size:13px;font-weight:400;line-height:1.45;color:#526d64;margin-top:2px}
body[data-page] .request-certificate-check{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;padding:0;border:1.5px solid #9cb5a8;border-radius:7px;background:#fff;transition:background .18s,border-color .18s}
body[data-page] .request-certificate-choice input:checked~.request-certificate-check{background:#244140;border-color:#244140}
body[data-page] .request-certificate-choice input:checked~.request-certificate-check:after{content:"";width:10px;height:5px;border-left:2px solid #c1f99b;border-bottom:2px solid #c1f99b;transform:translateY(-1px) rotate(-45deg)}
body[data-page] .request-certificate-row:has(input[type="checkbox"]:focus-visible){outline:2px solid #087b65;outline-offset:3px}
/* Seats: a stepper from 1 up under a soft line inside the chosen card; typing a number still works. */
body[data-page] .request-certificate-seats{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin:0 16px 0 18px;padding:12px 0 14px;border-top:1px solid #e2ebe5}
body[data-page] .request-certificate-seats[hidden]{display:none}
body[data-page] .request-certificate-seats label{font-size:14px;font-weight:600;margin:0;color:#244140}
body[data-page] .request-certificate-stepper{flex:none;display:inline-grid;grid-template-columns:44px 56px 44px;height:44px;border:1px solid #b9ccc1;border-radius:10px;overflow:hidden;background:#fff;transition:border-color .18s,box-shadow .18s}
body[data-page] .request-certificate-stepper:focus-within{border-color:#244140;box-shadow:0 0 0 3px rgba(8,123,101,.16)}
body[data-page] .request-certificate-stepper:has(input[aria-invalid="true"]){border-color:#9a3e39}
body[data-page] .request-certificate-stepper button{display:grid;place-items:center;min-height:0;padding:0;border:0;border-radius:0;background:none;color:#244140;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s}
body[data-page] .request-certificate-stepper button:hover{background:#edf2e9}
body[data-page] .request-certificate-stepper button:active{background:#e1eadf}
body[data-page] .request-certificate-stepper button:disabled{color:#a9bdb2;background:none;cursor:default}
body[data-page] .request-certificate-seats input{position:static;opacity:1;clip:auto;clip-path:none;min-width:0;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;border-left:1px solid #e2ebe5;border-right:1px solid #e2ebe5;border-radius:0;background:#fff;color:#203432;font-size:16px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;text-align:center;appearance:textfield;-moz-appearance:textfield;outline:none}
body[data-page] .request-certificate-seats input::-webkit-outer-spin-button,body[data-page] .request-certificate-seats input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
body[data-page] .request-certificate-seats .b2b-field-error{flex-basis:100%;margin:0}

/* Organisations page: the dark introduction keeps its own height and stays in view beside the form, instead of
   stretching into an empty band as tall as the form (owner, 2 October 2026). Its form has no card of its own; the
   industry pages join the two into one split card, so they keep the stretch. Phones stack the two. */
@media(min-width:721px){main[data-org-plan] .request-layout .request-intro{align-self:start;position:sticky;top:112px;border-radius:16px}}
/* "Prefer to talk it over?" in the team quote panel (owner, 4 October 2026; src/content/enquiry-call.mjs): Vlad's
   photo beside three lines, the link in the panel's own link style with the third-party arrow. */
.request-intro .request-talk{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:16px;align-items:center;margin:34px 0 10px}
.request-intro .request-talk img{grid-row:1/4;width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:center 18%}
.request-intro .request-talk p{margin:0;font-size:15px;line-height:1.4;color:var(--ds-on-dark-muted)}
.request-intro .request-talk a{justify-self:start;min-height:32px}
.request-intro .request-talk small{font-size:13px;line-height:1.4;color:var(--ds-on-dark-muted)}

/* Tablets (design review, 19 October 2026): from 721 to 900px the introduction beside the form was too narrow, and the
   email address and the call link broke across lines. The two parts stack there as on phones, each at the full width,
   keeping the tablet's type and spacing; the organisations page's introduction stops following the form. */
@media(min-width:721px) and (max-width:900px){
 .request-layout,.org-sector-page .request-layout{grid-template-columns:minmax(0,1fr)}
 .request-intro{border-radius:16px 16px 0 0}
 .request-paper{border-radius:0 0 16px 16px}
 main[data-org-plan] .request-layout{row-gap:28px}
 main[data-org-plan] .request-layout .request-intro{position:static;border-radius:16px}
}
@media(max-width:720px){body[data-page] .request-confirmation h3{font-size:24px}body[data-page] .request-certificate-choice{padding:14px 14px 14px 16px}body[data-page] .request-certificate-seats{margin:0 14px 0 16px}}
