.quote-opening{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;padding:54px 0;align-items:start}.quote-opening h1{font-size:clamp(36px,4.4vw,60px);line-height:1.08;letter-spacing:-.035em}.quote-lead{font-size:19px;line-height:1.65;max-width:52ch}.quote-small{font-size:14px!important;line-height:1.6}.quote-promise{border:1px solid var(--line);padding:30px}.quote-promise ol{list-style:none;counter-reset:steps;padding:0;margin:0}.quote-promise li{counter-increment:steps;padding:22px 0;border-bottom:1px solid var(--line)}.quote-promise li:last-child{border:0;padding-bottom:0}.quote-promise strong{display:block;font-size:20px;margin-bottom:8px}.quote-promise strong:before{content:'0' counter(steps) ' / ';font-size:13px}.quote-promise span{display:block;font-size:16px;line-height:1.6}.quote-examples,.quote-faq{border-top:1px solid var(--line);padding:34px 0}.quote-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.quote-cards h3{font-size:22px}.quote-cards p{font-size:16px;line-height:1.65}.quote-enquiry{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;border-top:1px solid var(--line);padding:44px 0;scroll-margin-top:24px}.quote-guidance{max-width:42ch}.quote-guidance h2{font-size:32px}.quote-guidance p{font-size:16px;line-height:1.7}.help-quote .enquiry-form{border:1px solid var(--line);padding:30px}.help-quote .enquiry-form h2{font-size:26px}.help-quote .enquiry-form>p{font-size:16px}.help-quote form label{display:block;margin:16px 0 6px;font-size:15px}.help-quote input,.help-quote textarea{width:100%;box-sizing:border-box;font-size:16px;min-height:46px}.help-quote fieldset{min-width:0;border:0;padding:0;margin:0}.help-quote form details{margin:20px 0}.help-quote summary{cursor:pointer;padding:12px 0;min-height:44px}.help-quote [type=submit]{width:100%;min-height:52px;font-size:17px}.help-quote .note{font-size:13px;line-height:1.65}.help-quote .quote-faq h2{font-size:28px}.help-quote .quote-faq p{font-size:16px}.help-quote a:focus-visible,.help-quote summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:760px){.quote-opening,.quote-enquiry{grid-template-columns:1fr;gap:28px;padding:28px 0}.quote-opening h1{font-size:38px}.quote-lead{font-size:17px}.quote-promise{padding:22px}.quote-cards{grid-template-columns:1fr;gap:8px}.help-quote .enquiry-form{padding:22px 16px}.quote-guidance h2{font-size:28px}.help-quote .row2{grid-template-columns:1fr}.quote-opening .button{width:100%;justify-content:center}.quote-examples{padding:24px 0}}

@media(min-width:761px){.quote-enquiry>.enquiry-form{grid-column:2;grid-row:1}.quote-enquiry>.quote-guidance{grid-column:1;grid-row:1}}

/* One clear starting point, with optional guidance kept out of the way. */
.help-quote .quote-enquiry{display:flex;flex-direction:column;gap:12px;max-width:680px;scroll-margin-top:16px}
.help-quote .quote-enquiry>.enquiry-form{width:100%;box-sizing:border-box}
.help-quote .enquiry-form h2{margin:0 0 8px;font-size:26px;line-height:1.2}
.help-quote .enquiry-intro{margin:0 0 12px;font-size:14px}
.help-quote .enquiry-form fieldset{margin:0}
.help-quote .enquiry-form label[for="enquiry-brief"]{margin-top:0}
.help-quote .enquiry-form textarea{min-height:100px}
.help-quote .attachment-guidance{font-size:13px;margin:0}
.help-quote .attachment-guidance summary{padding:4px 0;min-height:32px}
.help-quote .attachment-guidance p{margin:6px 0;line-height:1.5}
.help-quote .quote-guidance{max-width:none;font-size:14px}
.help-quote .quote-guidance p{margin:0;font-size:14px}

.help-quote .enquiry-form details{border:0;padding:0;margin:10px 0}
.help-quote .enquiry-form details summary{font-size:14px;line-height:1.4;padding:8px 0;min-height:28px}
.help-quote .enquiry-form .attachment-guidance{margin:4px 0}
.help-quote .enquiry-form .attachment-guidance summary{font-size:12px}
.help-quote .enquiry-form #attachment-status{font-size:12px;margin:4px 0}
.help-quote .enquiry-form .attachment-picker{margin:8px 0}
.help-quote .enquiry-form .choose-attachments{margin-top:0;font-size:14px}


/* The mobile quote control stays below dialogs and never covers the form. */
#mobile-quote { display:none; }
@media (max-width:480px) {
  #mobile-quote:not([hidden]) { position:fixed; z-index:90; left:12px; right:12px; bottom:max(12px,env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:2px; padding:12px 18px; min-height:48px; box-sizing:border-box; color:#fff; background:#222; border:1px solid #fff8; box-shadow:0 3px 16px #0004; text-decoration:none; font:14px/1.3 system-ui; }
  #mobile-quote strong { display:flex; justify-content:space-between; font-size:17px; }
  #mobile-quote:focus-visible { outline:3px solid #ae8a55; outline-offset:3px; }
}

/* Start the request before the optional model and galleries. */
.help-quote .metal-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:32px max(22px,calc((100vw - 980px)/2)) 90px}
.help-quote .metal-hero-copy{width:100%;max-width:680px;margin:0 auto}
.help-quote .metal-hero h1{font-size:clamp(38px,5vw,58px);margin:12px 0;line-height:1.05}
.help-quote .metal-hero .kicker{margin:0;font-size:10px}
.help-quote .metal-intro{font-size:16px;line-height:1.5;margin:12px 0;max-width:52ch}
.help-quote .metal-hero .quote-enquiry{padding:8px 0;margin:0;width:100%;border:0;gap:6px}
.help-quote .metal-hero .enquiry-form{padding:0;border:0;color:inherit}
.help-quote .metal-hero .enquiry-intro{font-size:13px;margin:0 0 10px}
.help-quote .metal-hero .quote-guidance{font-size:12px}
.help-quote .metal-hero .quote-guidance p{font-size:12px}
.help-quote .metal-hero textarea{min-height:88px;background:#fff;color:#15191b;padding:12px;border:1px solid #9b9b9b;border-radius:3px}
.help-quote .quote-continue{width:100%;min-height:48px;margin-top:8px;background:#d6a06b;color:#171b1d;border:1px solid #d6a06b;font-size:16px}
.help-quote #quote-contact-step{scroll-margin-top:20px}
.help-quote #quote-contact-step[hidden],.help-quote .quote-continue[hidden]{display:none!important}
.help-quote .metal-reassurance{font-size:12px;margin:10px 0}
.help-quote .metal-hero .metal-stage-wrap{align-self:center;width:100%;max-width:780px;margin:26px 0 0}
@media(max-width:480px){.help-quote .metal-hero{padding-top:18px}.help-quote .metal-hero h1{font-size:38px}.help-quote .metal-intro{font-size:14px}.help-quote .metal-hero .metal-stage-wrap{width:calc(100% + 44px);margin-left:-22px;margin-right:-22px}}
.help-quote .metal-hero-copy{pointer-events:auto}
.help-quote .metal-hero textarea::placeholder{color:#666;opacity:1}

/* Contact first; optional attachments and specifications follow the request action. */
.help-quote #quote-contact-step .quote-step-label{margin:0 0 6px;color:#d6a06b;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.help-quote #quote-contact-title{font-size:clamp(23px,3.4vw,29px);line-height:1.15;margin:0 0 7px;font-weight:400}
.help-quote .quote-contact-intro{font-size:13px;margin:0 0 8px}
.help-quote .quote-edit-brief{display:inline-block;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;padding:4px 0;min-height:32px;margin:0 0 4px;font:inherit;font-size:12px;cursor:pointer}
.help-quote #quote-contact-step label{margin:10px 0 5px;font-size:14px}
.help-quote #quote-contact-step input:not([type=file]){min-height:44px}
.help-quote .quote-postcode-help{display:block;margin-top:5px;font-size:12px;line-height:1.35}
.help-quote #quote-contact-step [type=submit]{min-height:48px;margin:14px 0 0;font-size:16px;background:#d6a06b;color:#171b1d;border:1px solid #d6a06b}
.help-quote #quote-contact-step #data-use{font-size:12px;line-height:1.4;margin:9px 0 0}
.help-quote #quote-contact-step>.quote-optional{border-top:1px solid #777;margin:16px 0 0;padding-top:6px}
.help-quote .quote-edit-brief:focus-visible,.help-quote #quote-contact-title:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* Keep the first field and its action together on short mobile viewports. */
@media(min-width:701px) and (max-width:1100px){
  .help-quote .header{padding:12px 0}
  .help-quote .header .header-tools{display:none}
  .help-quote .metal-hero{padding-top:16px}
  .help-quote .metal-hero-copy>.kicker{display:none}
  .help-quote .metal-hero h1{font-size:38px;margin:8px 0}
  .help-quote .metal-intro{margin:8px 0}
}
@media(max-width:700px){
  .help-quote .header{padding:10px 0;gap:12px}
  .help-quote .header .brand img{width:160px}
  .help-quote .header .header-tools{display:none}
  .help-quote .metal-hero{padding-top:8px}
  .help-quote .metal-hero-copy>.kicker,
  .help-quote .metal-hero .enquiry-intro{display:none}
  .help-quote .metal-hero h1{font-size:28px;margin:6px 0}
  .help-quote .metal-intro{margin:6px 0;font-size:14px;line-height:1.35}
  .help-quote .metal-hero textarea{height:72px;min-height:72px}
  .help-quote .quote-continue{padding:10px 20px}
  .help-quote #quote-contact-title{font-size:23px}
}



/* Keep receipt and error text readable inside the dark enquiry hero. */
.help-quote .metal-hero .enquiry-status.status{background:#f4f1e8;color:#15191b}
.help-quote .metal-hero .enquiry-status.status :is(p,strong,button){color:#15191b}
.help-quote .metal-hero .enquiry-status.status button{background:#fff;border-color:#525a61}
