/* Four primary pages share composition and enquiry controls; no legacy form CSS. */
.allied-primary #main-content { padding-top: var(--header-height,114px); }
.allied-primary .primary-hero { background: var(--brand-primary); padding: clamp(38px,5vw,72px) 0; }
.primary-hero-grid { display:grid; grid-template-columns:minmax(0,46fr) minmax(0,54fr); gap:52px; align-items:center; }
.primary-eyebrow { margin:0 0 22px; color:var(--brand-white); font-size:14px; font-weight:700; letter-spacing:.15em; }
.primary-hero-title { font:800 clamp(36px,3.8vw,56px)/1.1 'Nunito',sans-serif; letter-spacing:-.03em; color:var(--brand-white); margin:0 0 26px; }
.allied-primary .primary-hero-body .common_paragraph { color:var(--brand-white); font-size:16px; line-height:1.75; }
.primary-hero-picture img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:80px 14px 14px 14px; }
.allied-primary .brand-section { padding-block:clamp(52px,6vw,88px); }
.allied-primary .brand-split { grid-template-columns:minmax(0,54fr) minmax(0,46fr); gap:clamp(30px,5vw,70px); align-items:center; }
.allied-primary .brand-split--reverse { grid-template-columns:minmax(0,46fr) minmax(0,54fr); }
.allied-primary .brand-picture img { aspect-ratio:3/2; border-radius:14px 54px 14px 14px; }
.allied-primary .brand-split--reverse .brand-picture img { border-radius:54px 14px 14px 14px; }
.primary-services .brand-picture { position:sticky; top:calc(var(--header-height) + 32px); align-self:start; margin-top:8px; }
.primary-services #support-options .brand-list { columns:1; list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.primary-services #support-options .brand-list li { list-style:none; margin:0; padding:0; }
.primary-services #support-options .brand-list a { display:flex; align-items:center; padding:12px 14px; min-height:64px; height:100%; background:var(--brand-white); border:1px solid var(--brand-border); border-radius:10px; color:var(--brand-primary); font-size:14px; line-height:1.5; }
.primary-services #support-options .brand-list a:hover { border-color:var(--brand-primary); }
.primary-services .brand-copy > .common-btn1 { margin-top:14px; }
.primary-services .brand-cta .common-btn1 { background:var(--brand-white); color:var(--brand-primary); margin:14px 6px 0; }
.primary-contacts { padding:48px 0; background:var(--brand-pale); }
.primary-contact-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:20px; }
.primary-contact-grid > a { padding:24px 28px; background:var(--brand-white); border:1px solid var(--brand-border); border-radius:12px; color:var(--brand-primary); min-width:0; }
.primary-contact-grid > a:hover { border-color:var(--brand-primary); }
.primary-contact-label { display:block; font-size:14px; margin-bottom:8px; }
.primary-contact-grid strong { display:block; font-size:clamp(18px,2vw,25px); line-height:1.4; overflow-wrap:anywhere; }
.primary-enquiry { background:var(--brand-pale); }
.primary-enquiry-grid { display:grid; grid-template-columns:minmax(0,34fr) minmax(0,66fr); gap:52px; align-items:start; }
.enquiry-panel { padding:clamp(22px,3vw,40px); background:var(--brand-white); border:1px solid var(--brand-border); border-radius:18px; min-width:0; }
.enquiry-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
.enquiry-field { min-width:0; }
.enquiry-field label { display:block; color:var(--brand-ink); margin-bottom:9px; font-size:15px; line-height:1.5; font-weight:600; }
.enquiry-field :is(input,select,textarea) { display:block; width:100%; max-width:100%; min-height:48px; border:1px solid var(--brand-control-border); border-radius:7px; background:var(--brand-white); padding:12px; color:var(--brand-ink); font:400 16px/1.5 'Poppins',sans-serif; }
.enquiry-field textarea { resize:vertical; min-height:140px; }
.enquiry-field--wide,.enquiry-consent { grid-column:1/-1; }
.enquiry-consent { display:flex; align-items:flex-start; gap:12px; color:var(--brand-text); font-size:14px; line-height:1.6; cursor:pointer; }
.enquiry-consent input { width:20px; height:20px; flex:0 0 20px; margin-top:2px; accent-color:var(--brand-primary); }
.allied-primary .enquiry-hint { font-size:13px; line-height:1.65; color:var(--brand-text); margin:10px 0 18px; }
.enquiry-panel :is(button,a.common-btn1,a.common-btn2) { cursor:pointer; border:1px solid var(--brand-primary); font:600 14px/1.5 'Poppins',sans-serif; padding:13px 20px; border-radius:30px; min-height:48px; }
.enquiry-panel .common-btn1 { background:var(--brand-primary); color:var(--brand-white); }
.enquiry-panel .common-btn2 { background:var(--brand-white); color:var(--brand-primary); }
.enquiry-panel button:disabled { cursor:wait; }
.enquiry-review { border-top:2px solid var(--brand-lavender); margin-top:28px; padding-top:24px; }
.enquiry-review[hidden] { display:none !important; }
.enquiry-review h3 { font:800 26px/1.3 'Nunito',sans-serif; color:var(--brand-ink); }
.enquiry-review pre { white-space:pre-wrap; overflow-wrap:anywhere; font:400 14px/1.7 'Poppins',sans-serif; padding:18px; background:var(--brand-pale); color:var(--brand-text); border:0; }
.enquiry-review p { color:var(--brand-text); line-height:1.7; }
@media(max-width:1023px) {
 .primary-hero-grid,.primary-enquiry-grid { gap:30px; }
 .primary-hero-picture img { aspect-ratio:1; border-top-left-radius:60px; }
 .primary-enquiry-grid { grid-template-columns:1fr; }
}
@media(max-width:767px) {
 .primary-hero-grid,.allied-primary .brand-split,.allied-primary .brand-split--reverse,.primary-contact-grid { grid-template-columns:1fr; gap:28px; }
 .primary-hero-copy { display:contents; }
 .primary-hero-heading { order:0; }
 .primary-hero-picture { order:1; }
 .primary-hero-body { order:2; }
 .primary-hero-title { margin-bottom:0; }
 .primary-hero-picture img { aspect-ratio:3/2; border-radius:48px 12px 12px 12px; }
 .primary-services .brand-picture { position:static; margin-top:0; }
 .allied-primary .brand-split--reverse .brand-picture { order:0; }
 .primary-contact-grid > a { padding:22px; }
}
@media(max-width:479px) {
 .enquiry-fields { grid-template-columns:1fr; }
 .primary-services #support-options .brand-list { grid-template-columns:1fr; }
}
